TADK 23.03 release note

主要功能概述:

  • 基于深度学习的应用分类:在原有的基于机器学习的应用分类(AppID)能力基础上,扩展出新的深度学习参考模型和推理引擎。

  • FFEL的raw byte特征提取:增加了流特征提取库(FFEL)对数据包中的raw byte特征提取能力,用以训练深度学习模型以及推理。

  • FFEL的内存优化:优化了流特征结构的内存布局,从而减少FFEL的全局内存消耗。

  • 应用分类应用程序的增强:为示例程序”tadk_probe”加入了对深度学习模型的支持。

  • 多线程支持的完善:完善并简化了示例程序”tadk_probe”的多线程架构,从而在应用分类场景中获得了更好的多核扩展能力。

  • C2检测应用程序:新增了使用深度学习模型进行基于网络流的C2(Command & Control)威胁检测的示例程序”c2_probe”。

  • 异常检测应用程序:新增了使用机器学习和深度学习模型进行基于内容的SQLi, XSS和C2检测的示例程序”anomaly_detection”。

  • 混淆矩阵工具:新增了通过混淆矩阵来表达应用分类和异常检测结果的评估工具。

问题修复概述:

FFEL中IPv6包头结构的命名冲突。

  • 问题:在DPDK应用程序中集成TADK时,由于IPv6包头结构命名冲突导致编译失败。

  • 修复:重命名FFEL中的IPv6包头结构。

FFEL中的TCP连接状态错误。

  • 问题:连接关闭时无法正常更新FFEL中的TCP连接状态。

  • 修复:将状态管理移至双向流级别。

应用程序tadk_probe的线程数计算错误。

  • 问题:tadk_probe在仍有可用线程资源时非正常退出。

  • 修复:更正线程数计算。

应用程序tadk_probe的统计信息错误。

  • 问题:tadk_probe在处理实时网络流量时不显示统计信息。

  • 修复:修正在线模式下的流完结处理逻辑。

TADK概述及能力增长

TADK从最初做基于机器学习的应用分类开始,不断扩展着自身的能力。从上一个版本v22.09开始,TADK加入了对深度学习的支持,并通过基于内容检测的应用程序对外展现。目前TADK所具备的能力已颇具规模,图1从TADK的应用场景、数据来源、工作模式、应用程序、核心库、依赖的第三方AI及模式匹配库、处理结果等角度描述了TADK v22.09的大致工作流程及各组件之间的联系,图2从同样的角度概括了TADK最新版本v23.03的工作流、组件以及能力增长点。

简单来说,从工作模式角度,TADK支持基于内容和基于网络流的两种检测模式。根据需求的不同,TADK具备深度学习、机器学习以及模式匹配三种检测方法。应用场景上,TADK能够用来做异常检测和应用分类。

c500359bf7c4313524976ec603efd543.png

图1. TADK v22.09能力概述

在上一个版本v22.09中,TADK的深度学习检测能力只通过零散的基于文本检测的应用程序对外展现,且只应用于异常检测领域,基于网络流的检测和应用分类领域依然只使用了机器学习。新版本v23.03在应用程序层面做了新的扩展和整理,能够更全面、更友好的展现TADK的深度学习检测能力,如图2中的红字部分所示。新版本中,应用分类领域也加入了深度学习支持,基于网络流的C2检测也使得深度学习对异常检测领域的支持不仅仅停留在文本检测层面。另外,对于众多零散的基于文本检测的应用程序,新版本将它们整合在了一起,简化了对外接口。

5e1d7a61b5073f8fc3bbf2a1311aa021.png

图2. TADK v23.03能力概述及增长点

混淆矩阵工具

TADK v23.03提供了新的推理结果评估工具,对应用分类和异常检测的结果用混淆矩阵的方式进行展示以方便评估。该工具位于源码中的tools/evatools/ 目录。通过混淆矩阵,可以直观的看出每一个类型的误报和漏报情况。

图3展示了一个例子,它是对9个应用进行分类的结果,用混淆矩阵来表达。矩阵的每行代表一类实际测试样本,每列代表一类预测结果。那么第i行第j列的单元格统计的就是第i类实际样本被预测为第j类的流的数量,颜色越深代表数量越多。比如第0行第0列,有515条"头条"的流被正确识别为"头条"类。第1行第0列,有3条"快手"的流被错误识别为"头条"类。

矩阵的主对角线表达了被正确分类的流的数量,主对角线颜色越深代表分类结果越准确。游离在主对角线之外的数字都对应误报和漏报情况。对某一类型而言,其对应列的结果表达了准确率,同时展示了把其他类型预测为它的误报情况。其对应行的结果表达了召回率,同时展示了将它预测为其他类型的漏报情况。

用户在确保其评估数据的每条流有正确标签的情况下,可以使用该工具来评估自己的模型,并作出对应的调整,在自己的应用场景中逐步提高模型的推理精度。

621f47635bae613d0f218aa954769fd2.png

图3. 混淆矩阵展示推理结果示例

温馨小提示:

本周即将举行的线上Intel网络技术研讨会,将有TADK的主题演讲 “安全有型 - AI如何助力云安全”,欢迎参加并与演讲嘉宾互动。了解更多峰会信息请注册查看!

扫描下方二维码,即可报名注册!

99584eccaab7f7b6357b9365e292c65f.png

转载须知

DPDK与SPDK开源社区

公众号文章转载声明

推荐阅读

基于TADK的SQLI检测

基于TADK的应用分类

341f7bd92ec594f5b0b4757b23638f9a.jpeg

6e269f1c25718b3990e5d744f2cc7c03.gif

点点“赞”“在看”,给我充点儿电吧~