开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

KADD鲲鹏异常数据检测库

KADD(Kunpeng Anomaly Data Detector,鲲鹏异常数据检测库)是鲲鹏BoostKit智能数据分析解决方案下基于AI的异常数据检测库,具备SQLi(SQL injection, SQL注入)检测能力。

SQLi检测库

在WAF应用中,对常见的SQLi等攻击检测,通常有利用正则表达式或指纹描述攻击特征并进行文本匹配的检测方法,需要专家能力构建并维护规则库。实际部署中,基于规则的检测方法也更容易被攻击者利用规则漏洞绕过,解析文本生成指纹的匹配过程也存在检测吞吐量不高的问题。为降低规则集构建门槛,提升检测准确度和吞吐量,借助AI进行SQLi攻击检测的技术应运而生,通过对文本进行快速的SQL语法解析、SQLi特征提取和SQLi检测推理,实现低门槛、高准确率和高性能的SQLi攻击检测。

如上图所示,检测的第一步就是用词法分析器对待检测文本进行SQL语法解析,输出token序列。词法分析器运行期的核心是DFA引擎,它基于待检测文本内容和状态转移表进行查表跳转,在激活接受状态时输出对应的token。状态转移表中填有大量状态id,不便于直接书写、阅读和调试,为实现更友好的书写、阅读和调试,KADD提供一套描述DFA的语法即DFALang,相应的,SQL语法解析逻辑被描述为DFALang定义的格式。KADD也提供一个DFA编译器,将DFALang编译生成状态转移表。

如上图所示,检测的第二步是根据词法分析器输出的token序列进行SQLi特征提取计算。特征提取主要分两部分,首先用表征距离权重的滑动窗口作为卷积核对token序列做卷积计算,然后对卷积结果按token类型维度做直方图统计,将token序列变为固定维度的特征向量。

如上图所示,检测的第三步是推理引擎根据特征提取器输出的特征向量和模型进行推理检测。检测使用随机森林对特征向量做二分类,判断是否为SQLi攻击。推理引擎基于ONNX Runtime构建。

关键技术

词法分析器、特征提取器、推理引擎。

适用场景

SQLi检测等。