TADK v22.09 Release
本次发布引入了优化的深度学习(Deep Learning)框架,以支持嵌入式实时网络环境。
本次发布除提供源码包外,还提供了docker镜像以方便客户进行评估,可通过Docker hub链接下载:https://hub.docker.com/r/intel/tadk-waf。
本次发布周期内有1篇论文被IEEE ICUFN会议接受:TADK: Enable Real-Time AI Inference in Networking Apps。【可点击文末左下角“阅读原文”查看,或复制链接到网页:http://export.arxiv.org/pdf/2208.07558】
主要功能概述:
基于深度学习的WAF检测:
扩展了对SQLi和XSS威胁的检测能力,提供了新的深度学习参考模型和推理引擎。
基于深度学习的C2(Command & Control)检测:
新增了对C2威胁的检测能力,以及对应的深度学习参考模型和推理引擎。
深度学习脚本:
新增了用于深度学习模型训练和测试的新Python模块和脚本。
DNS映射:
新增了对DNS缓存的维护,流特征提取模块可通过查找DNS缓存将IP地址映射到主机名,以增强相关流的字符串特征。
异常检测模块:
提供了新的异常检测库,整合SQLi/XSS和C2检测能力并为其提供高阶API。
多线程支持:为示例程序”tadk_probe”加入了多线程模式支持。
C2检测应用程序:
新增了使用深度学习模型进行C2威胁检测的示例应用程序”c2_detection”。
WAF检测应用的增强:
增强了ModSecurity补丁以及sqli_detection/xss_detection示例应用程序,使其支持使用深度学习模型。
优化硬件架构自动检测机制:
一次编译即可实现随处运行。TADK库在运行时可以根据不同的硬件平台选择最合适的SIMD优化,无需重新编译。
优化时间轮:
优化了短时间内流量爆发的极端情况下的流老化处理,减轻其对性能的冲击。
优化HEX解码:增强了针对异常输入格式的HEX解码处理。
问题修复概述:
工具ffel_bench统计错误。
问题:ffel_bench有时会在统计信息中报告负数。
修复:优化统计方法,避免向下溢出。
用户自定义流特征扩展库ffel_ext编译失败。
问题:扩展库ffel_ext编译时报告找不到DNS映射相关头文件。
修复:在扩展库Makefile中使用正确的核心库路径依赖。
应用程序sqli_detection有时异常终止。
问题:当sqli_detection遇到一些格式错误的输入数据时会立即退出运行。
修复:改进对格式错误输入的处理,将其识别为恶意流量。
应用程序tadk_probe在随机测试中有时无响应。
问题:当tadk_probe在遇到某些包含错误时间戳的随机流量输入时可能进入长时间自旋。
修复:在驱动时间轮之前添加合理性检查。
聚类辅助脚本运行中消耗巨量内存。
问题:脚本tc_clustering.py运行中消耗巨量内存并被服务器强制终止。
修复:在执行复杂算法之后添加主动垃圾回收动作。
基于卷积神经网络(CNN)的异常检测
TADK基于深度学习的SQLi/XSS/C2等异常检测中,使用卷积神经网络学习文本中字符和单词两个级别的结构信息。以检测潜藏于HTTP URL中的C2攻击为例,TADK使用的神经网络大致如图1所示。
图1. 基于深度学习的C2检测的卷积神经网络配置概述
该网络包含以下层级:
1.嵌入层
将输入URL中的每个字符和单词扩展编码为特征向量,最终输入的URL文本被分别表达为字符特征向量和单词特征向量的序列。
2.卷积层
使用卷积滤波器从字符和单词的特征向量序列中提取高维特征,并使用最大池化对高维特征进行压缩。
3.全连接层
从高维特征中学习并以非线性函数进行整流。
4.归一化指数函数(Softmax)层
以概率形式输出最终分类结果。
离线训练阶段,针对不同的应用场景使用对应的数据集训练模型,以调整确定其中的各项权重。在线推理阶段则部署预训练好的专用模型进行推理。
TADK的Docker镜像
TADK提供了Docker镜像,可通过Docker hub链接下载:https://hub.docker.com/r/intel/tadk-waf。
该镜像将NGINX、ModSecurity和TADK构建为基于AI的WAF服务,提供基于机器学习和深度学习的两套AI模型,用于检测HTTP报文中的SQLi和XSS威胁。如图2所示。
图2. TADK的Docker镜像提供基于AI的WAF服务
转载须知
DPDK与SPDK开源社区
公众号文章转载声明
推荐阅读
向量化方式优化Bihash searching研究报告
Secure Access Service Edge Experience Kit 22.05 版本发布
点击“阅读原文”查看相关论文