面向HTTP请求载荷的SQL与NoSQL注入统一检测:基于BERT的持续学习与联合训练评估框架

《Array》:Detecting SQL and NoSQL injection in HTTP request payloads using BERT-based models: A unified detection framework with continual learning

【字体: 大 中 小 】 时间:2026年10月27日 来源:Array 5.3

编辑推荐:

  摘要要点翻译(原文未提供摘要正文): •提出一种基于BERT(Bidirectional Encoder Representations from Transformers)的统一框架,用于SQL注入(SQL injection,SQLi)与NoSQL注入(N

  
摘要要点翻译(原文未提供摘要正文):
•提出一种基于BERT(Bidirectional Encoder Representations from Transformers)的统一框架,用于SQL注入(SQL injection,SQLi)与NoSQL注入(NoSQL injection,NoSQLi)检测。
•可直接从HTTP请求载荷(HTTP request payloads)中检测SQLi与NoSQLi。
•评估任务特定学习(task-specific learning)、顺序持续学习(sequential continual learning)与联合学习策略(joint learning strategies)。
•揭示顺序适应过程中存在任务顺序依赖的灾难性遗忘(catastrophic forgetting)。
•联合训练(joint training)可提供更平衡的统一SQLi与NoSQLi检测。
研究背景与问题:现代Web应用和Web服务依赖HTTP/HTTPS完成客户端—服务器通信与数据交换,HTTP请求载荷中常包含用户可控参数。攻击者可将恶意载荷注入HTTP请求,危及Web应用的机密性、完整性和可用性。SQL注入(SQL injection,SQLi)仍是最普遍的Web攻击之一,可操纵数据库查询、绕过认证并获取敏感信息。随着Not Only SQL(NoSQL)数据库在可扩展性和灵活性方面的应用增加,NoSQL注入(NoSQL injection,NoSQLi)亦成为威胁,尤其文档型数据库中可利用逻辑运算符等绕过认证。传统基于正则表达式(Regular Expression,RegEx)的规则检测依赖预定义模式,难以覆盖多样且演化的注入攻击;通过REST API等接口可直接与后端交互,亦会削弱客户端验证和规则防御。已有机器学习(machine learning,ML)和深度学习(deep learning,DL)方法虽能自动学习恶意模式,但多依赖手工特征或语法表示,且常仅针对SQLi或NoSQLi单一攻击类型,或分析SQL/NoSQL查询语句而非应用层HTTP请求载荷。BERT(Bidirectional Encoder Representations from Transformers)在语义表示学习及网络安全任务中展现潜力,但基于BERT从HTTP请求载荷统一检测SQLi和NoSQLi,并考察持续学习(continual learning)下灾难性遗忘(catastrophic forgetting)的研究仍不足。因此,研究人员开展本项研究,提出统一BERT框架,在HTTP请求载荷层面检测SQLi和NoSQLi,并比较任务特定学习(task-specific learning)、顺序持续学习(sequential continual learning)和联合训练(joint training)策略。研究得出:三种策略提供不同权衡而非普遍最优;任务特定学习在单一攻击域内有效;顺序适应可将模型扩展至新增攻击域,但会改变类特定检测行为并出现任务顺序依赖的遗忘;联合SQLi–NoSQLi训练在统一检测上更平衡并避免顺序依赖,但训练成本更高。整体上BERT模型表现更强且更稳定,部分传统ML模型在特定攻击模式和配置下仍有竞争力。其重要意义在于建立统一HTTP请求载荷层面的评估框架,揭示顺序适应中的灾难性遗忘及模式级检测弱点,为统一注入检测的策略选择提供实证依据,但原文并未表明其已具备生产规模部署就绪性。

关键技术方法(≤250字):研究人员合成HTTP请求载荷训练集,覆盖HTTP GET、HTTP POST、cURL GET和cURL POST场景,SQLi与NoSQLi各1600例且恶意/良性平衡,按80:20划分训练与验证;采用公开GitHub来源的独立外部测试集HttpParamsDataset(400例SQL相关)和No-SQL_Gen(400例NoSQL相关)。比较BERT-base-uncased、CySecBERT、SecBERT、CodeBERT、UniXcoder与决策树、随机森林、梯度提升、ANN(MLP)、逻辑回归、线性SVM;设置D1任务特定、D2顺序持续、D3统一评估、D4联合训练,并测试SQLi→NoSQLi与NoSQLi→SQLi双向顺序;BERT使用三个随机种子,报告准确率、精确率、召回率、F1(F1 score)及遗忘度量。

研究结果:
4.1 D1:任务特定学习(Task-specific learning)。通过分别在SQLi和NoSQLi训练集上微调并在外部未见测试集评估,发现BERT类模型SQLi整体准确率为94.42%–98.25%,CySecBERT和SecBERT最高;传统树模型偏向良性样本,随机森林和梯度提升整体准确率仅50%,逻辑回归和线性SVM约89.75%和90.00%。NoSQLi中BERT-base-uncased整体最高93.92%,CySecBERT恶意检测最高94.67%但良性检测降至86.00%;传统ML中逻辑回归和MLP整体较高,分别为83.50%和81.50%。结论是BERT总体更强且较稳,传统ML存在明显类特定不均衡。
4.2 D2:顺序持续学习(Sequential continual learning)。通过SQLi→NoSQLi和NoSQLi→SQLi顺序适应后评估新域性能,发现SQLi→NoSQLi后BERT总体仍较高,部分模型整体准确率略升但恶意检测未必提升;传统ML显著退化。反向NoSQLi→SQLi中,BERT-base-uncased整体SQLi准确率由95.58%升至96.92%,其余BERT略降但总体仍高于92%;逻辑回归和线性SVM退化较小,但类特定检测行为改变。结论是顺序适应会引起类特定检测行为变化。
4.3 D3:统一评估(Unified evaluation)。通过将顺序适应模型同时评估于SQLi和NoSQLi样本并计算遗忘,发现SQLi→NoSQLi中CodeBERT SQLi整体略升,其余BERT遗忘1.00–9.58个百分点,SecBERT最大;反向中SecBERT NoSQLi遗忘2.67个百分点,其余BERT为负遗忘值?2.50至?0.58个百分点。BERT平均统一准确率在SQLi→NoSQLi和NoSQLi→SQLi分别约92.90%和92.59%,较不敏感于任务顺序;传统ML平均统一准确率分别约62.73%和66.23%,任务顺序影响更大。结论是灾难性遗忘具有任务顺序依赖性,整体准确率保持不代表类特定检测稳定。
4.4 D4:联合SQLi–NoSQLi学习(Joint SQLi–NoSQLi learning)。通过同时使用SQLi和NoSQLi数据联合训练,发现所有BERT模型在两个攻击域整体准确率均高于90%,CySecBERT统一检测最高97.71%;传统ML中逻辑回归和线性SVM统一准确率分别为84.38%和87.25%。BERT平均统一准确率94.75%,较D3两个方向提高约1.85和2.16个百分点;平均SQLi和NoSQLi准确率为95.70%和91.58%。结论是联合训练提供更平衡的统一检测并消除任务顺序依赖,但不意味着普遍优于任务特定学习。
4.5 总体性能分析(Overall performance analysis)。通过比较D1–D4不同学习配置,发现任务特定学习在单域检测中强;顺序适应可纳入新域但可能退化;联合训练在统一检测中更平衡;策略效果依赖攻击域和模型家族,安全导向BERT在SQLi中表现强,而NoSQLi趋势因模型类别而异。
4.6 模式级检测性能分析(Pattern-level detection performance analysis)。通过对外部恶意样本按SQLi和NoSQLi攻击模式聚合D1–D4结果,发现SQLi中General BERT、Security BERT、Code BERT总检测率分别为96.36%、94.43%、98.39%,传统树ML仅21.88%,MLP为97.45%,线性ML为90.47%;NoSQLi中General BERT、Security BERT、MLP总检测率分别为90.52%、92.16%、93.32%,但time-delay注入检测较难,General BERT、Code BERT、树ML、线性ML分别仅45.82%、27.09%、4.55%、52.00%。结论是聚合性能会掩盖模型在特定注入机制上的弱点,需同时考察聚合与模式级表现。

讨论部分总结:讨论指出学习策略需依据应用目标和资源选择。任务特定学习适合检测目标限于单一攻击域;顺序持续学习在评估设置下比联合训练计算成本低,可用于将现有BERT模型扩展至新增域,但须考虑灾难性遗忘;联合训练在同时具备SQLi和NoSQLi数据且需要统一检测时提供顺序无关的平衡方案,但训练成本更高。计算成本方面,传统ML平均训练时间为2.88–8.93 s,BERT为374.15–991.26 s;顺序适应374.15 s,任务特定422.72 s,联合训练991.26 s;BERT模型大小约319–482 MB,平均验证推理约6–12 ms/样本。原文强调验证推理时间不能解释为生产HTTP流量下的端到端延迟。局限包括:训练数据为合成数据,可能含重复词法或结构特征;虽使用独立外部数据和模式级分析,仍不能完全排除生成偏差;数据规模和多样性有限,不代表异构生产规模HTTP流量,因此结论应限定于所评估SQLi和NoSQLi场景而非生产部署就绪。未来工作包括评估更大更异构的HTTP流量、更广SQLi和NoSQLi攻击机制、replay或rehearsal类持续学习以缓解遗忘,以及考察推理延迟、吞吐和与实际HTTP请求过滤机制的集成。

研究结论翻译:本文研究了使用BERT类模型从HTTP请求载荷直接检测SQLi和NoSQLi的统一框架。研究评估了通用、面向网络安全和面向代码的BERT模型,并将其与基于TF-IDF的传统ML分类器在三种学习策略下比较:任务特定学习、顺序持续学习和联合SQLi–NoSQLi训练。评估还考虑SQLi→NoSQLi和NoSQLi→SQLi两种任务顺序,以考察知识迁移和任务顺序依赖的灾难性遗忘。实验结果表明,三种学习策略提供不同权衡,而非识别出普遍更优的配置。任务特定学习在目标限于单一攻击域时通常提供较强检测性能。顺序适应使现有模型能够纳入额外攻击域,但其对先前知识的影响随模型家族和任务顺序而变化,若干配置中观察到灾难性遗忘。联合SQLi–NoSQLi训练为统一检测提供更平衡的替代方案,并避免顺序适应固有的任务顺序依赖,但在评估设置下需要更高训练成本。总体上,BERT类模型在评估设置中通常提供更强且更稳定的检测性能,而若干传统ML模型在特定攻击模式和学习配置下仍具竞争力。模式级分析进一步表明,聚合检测性能可能掩盖模型在单个注入机制上的弱点;尽管若干模型家族取得较强总体检测率,其在不同SQLi和NoSQLi攻击模式上的表现存在差异,尤其NoSQLi机制的差异更明显。这些发现强调评估统一注入检测模型时需同时考虑聚合和模式级性能。研究亦指出局限:训练数据为合成生成,可能含影响学习表示的重复词法或结构特征;虽使用独立外部数据集评估并进行模式级分析,仍不能完全消除生成偏差;评估数据规模和多样性有限,不代表异构生产规模HTTP流量,因此应在本研究所评估SQLi和NoSQLi攻击场景内解释发现,而不能作为生产规模部署就绪的证据。未来工作将扩展至从多样应用和数据库环境收集的更大、更异构HTTP流量,研究更广SQLi和NoSQLi攻击机制,研究包括replay或rehearsal的持续学习技术以缓解顺序适应后的灾难性遗忘,并考察推理延迟、吞吐及与实际HTTP请求过滤机制的集成,以评估所提框架在运行部署条件下的可行性。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号