基于TADK的应用分类
Traffic Analytics Development Kit (TADK) 是Intel 推出的针对IA平台高度优化的流量分析开发套件。其核心模块流特征提取库Flow Feature Extraction Library (FFEL) 和 基于机器学习的模型 (Model) 可以为用户提供精确的应用分类能力。基于机器学习的应用分类较传统基于深度报文检测的方法有着更广泛的适用性,并且对于加密报文也有一定的检测能力。
FFEL 可以从离线pcap文件或者在线网口获得流量并提取其特征输出到指定文件。其主要提取的特征包括: 包的上下行数目, 包头长度及其分布, 载荷长度及其分布, 包的持续时间等包级别的特征; 协议类型及字符串信息等流级别的特征。对于包头及包载荷分布的计算 (本质上是直方图计算),利用AVX512进行优化,其性能(吞吐量)较传统C实现的方法有着1.33~11. 73倍的提升。对于字符串信息(从tls 的sni及http的url等提取),采用词袋(BOW)模型将其转化成数值特征。统计学特征加上BOW特征构成最终的特征向量,两者结合也能有效提升模型推理的精确度。另外,FFEL也提供了用户增加自己所需特征的接口,方便用户对特征进行定制化。特征提取的流程见图1。
图1. 特征提取流程
模型选用的是Intel oneDAL (数据分析加速库)提供的随机森林(Random Forest, RF)算法。RF算法因其具有较高的推理精度及较快的推理速度在分类问题上应用