安全智能分析技术白皮书

7,263 阅读5分钟

思路方案 在安全领域的研究中我们发现,很多数据预处理的步骤,在不同的场景下中都可以相互 借鉴,甚至可以进行直接复用。例如,对于加密流量相关的数据,当算法工程师 获取到一批加密流量的 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部分:通用计算机