朴素二进制表示法

思路方案
在安全领域的研究中我们发现,很多数据预处理的步骤,在不同的场景下中都可以相互
借鉴,甚至可以进行直接复用。例如,对于加密流量相关的数据,当算法工程师
获取到一批加密流量的 pcap 包之后,不论他们面临的任务是加密流量的精确识别、异常检测,还是恶
意软件的检测,对 pcap 包最原始的数据预处理思想是大同小异的,例如采集流级特征、包
级特征等并将其转化成 csv 文件。SecXOps 对在安全领域中一些常见的通用数据预处理方式
进行了模块化
封装,从简单的数据去重、文件合并、数据清洗,到高级的特征提取,如 pcap文件转 csv 文件,数据降维等,支持用户通过手动设置相关参数,对当前数据进行处理。
以 pcap 文件转 csv 文件为例,传统基于机器学习的网络流量分析严重依赖人工,在实践
中,获得特征、模型和参数的最优组合通常是一个迭代的过程,这个过程有一些弊端。首先,
数据的合适表示和特征选择对于流量分析任务是十分重要的,但即便有专业领域知识,特征
工程仍然是一个脆弱且不完善的过程,人工分析时可能会忽略不够明显的或包含复杂关系的特征;其次,网络环境复杂多变,流量模式的变化带来特征的失效;最后,对于每一个新的
流量检测或分类任务,都需要重新设计新的特征,选择合适的模型,并重新调整参数。为了
避免这些问题,本节中展示一种使用 SecXOps 实现的加密流量分析方法。
对于许多分类问题,数据表示与模型选择同等重要,所以在应用机器学习方法时,如何
对数据进行表示和编码是非常重要的。对于网络流量数据的编码需要满足以下几个要求:
(1)完整的表示。该方法的目标不是选择特定的特征,而是一种统一的数据编码,以避
免依赖专家知识,所以需要保留包含包头在内的所有数据包信息;
(2)固定的大小。许多机器学习模型的输入总是保持相同的大小,所以每个数据包表示
都必须是常量大小;
(3)固有的规范化。当特征被归一化后,机器学习模型通常会表现得更好,也能减少训
练时间并增加模型的稳定性,所以如果数据的初始表示本身就是规范化的,将会非常方便;
(4)一致的表示。数据表示的每个位置都应该对应于所有数据包包头的相同部分,也就
是说,即使协议和报文长度不同,特定的特征总是在数据包中具有相同的偏移量,对齐后的
数据都能让模型基于这样的前提来学习特征表示。在这里插入图片描述如上图所示,网络流量表示的主要方式包括语义表示法和朴素二进制表示法。
(1)语义表示法:每个报头都有各自的语义字段,但它不保留具有区分度的可选字段的
顺序,同时需要领域专业知识来解析每个协议的语义结构,另外,尽管拥有这些知识,后续
还是不可避免地要进行繁琐的特征工程;

(2)朴素二进制表示法:使用数据包的原始位图表示来保持顺序,但是忽略了不同的大
小和协议,导致两个数据包的特征向量对同一特征具有不同的含义,这种不对齐可能会在重
要特征的地方引入噪声而降低模型性能,同时也因为无法将每一位都映射到语义上而导致结
果的不可解释
在这里插入图片描述
以上两种表示方法都无法满足统一化数据表示的需求,如上图所示,SecXOps 内置的数
据预处理模块 nPrint,解决了单一表示方法无法统一化表示数据的问题。首先,它会保证任
何数据包都可以被完整表示而不丢失任何信息;然后,使用内部填充确保每个数据包以相同
数量的特征表示,并且每个特征具有相同含义,这种在位级上可解释的表示使我们能够更好
地理解模型;其次,直接使用数据包的位,区分于某个位被设置为 0,将不存在的包头用 -1
填充;最后,每个数据包都用相同数量的特征表示,对于给定的网络流量分析任务,将载荷
设置为可选的字节数。此外,nPrint 具有模块化和可扩展的特性,不仅可以将其他协议添加
到表示中,也可以将一组数据包表示串联起来构建多包的 nPrint 指纹 [14]。
经过 nPrint 处理之后,即可将 pcap 包转成 csv 文件,随后可以进行进一步的特征处理
或直接进行算法训练。
除了上述提到的几种数据处理方式之外,SecXOps 还支持用户将个人编辑的数据预处理
模块进行封装并重复使用,实现定制化的数据清洗、数据增强等功能

参考资料

绿盟SecXOps安全智能分析技术白皮书

友情链接

GB-T 36630.5-2018 信息安全技术 信息技术产品安全可控评价指标 第5部分:通用计算机

你可能感兴趣的:(网络)