2023-05-10计算机应用,JournalofComputerApplications2023,43(5):1534-1542ISSN1001-9081CODENJYIIDUhttp://www.joca.cn基于ECA规则和动态污点分析的SQL注入攻击在线检测刘吉会,何成万*(武汉工程大学计算机科学与工程学院,武汉430205)(∗通信作者电子邮箱hechengwan@hotmail.com)摘要:SQL注入攻击是一种常见的针对Web应用程序漏洞的攻击形式。任何形式的SQL注入攻击最终都会改变原有SQL语句的逻辑结构,违背设计者的初衷。现有的SQL注入攻击检测方法存在检测代码不易被重用、不能被在线注入Web应用程序等不足。因此,提出一种基于ECA(EventConditionAction)规则和动态污点分析的在线检测SQL注入攻击的模型。首先,定义污点标记规则监视污点源函数以标记系统外部引入数据;然后,定义污点传播规则实时跟踪污点数据在应用内部的流向;接着,定义污点检查规则以拦截污点汇聚点函数的参数,并解析它可能携带的污点状态;最后,在原始的Web应用运行时加载ECA规则脚本达到在线检测SQL注入攻击的目的,Web应用无须重新编译、打包和部署。使用Byteman实现了所提模型。在两个不同的Web应用测试实验中,该模型可以识别绝大多数的SQL注入攻击样本,对于正常请求样本没有误报,检测准确率可达99.42%,优于基于支持向量机(SVM)和基于词频逆向文件频率(TF-IDF)的方法;与基于面向方面编程(AOP)的方法相比,该模型易于在Web应用启动后在线加载检测模块。实验结果表明所提模型能够在不修改应用程序执行引擎及源码的情况下,检测6种常见的SQL注入攻击类型,且具有在线检测的优点。关键词:SQL注入攻击;动态污点分析;ECA规则;Web应用;在线检测中图分类号:TP183文献标志码:AOnlinedetectionofSQLinjectionattacksbasedonECArulesanddynamictaintanalysisLIUJihui,HEChengwan*(SchoolofComputerScienceandEngineering,WuhanInstituteofTechnology,WuhanHubei430205,China)Abstract:SQLinjectionattackisacommontypeofattackagainstWebapplicationvulnerabilities.AnyformofSQLinjectionattackswilleventuallychangethelogicalstructureoftheoriginalSQLstatement,goingagainsttheoriginalintentionofthedesigner.TheexistingSQLinjectionattackdetectionmethodshavetheshortcomingsthatthedetectioncodeisnoteasilyreusableandcannotbeinjectedintoWebapplicationonline.Therefore,amodelforonlinedetectionofSQLinjectionattacksbasedon...