本发明涉及网络安全,特别是针对加密流量的机器学习特征工程加速方法。
背景技术:
1、机器学习作为一种核心的数据分析和决策工具,其性能和效率成为了企业和研究机构关注的焦点。然而,机器学习模型的成功很大程度上依赖于特征工程的质量和深度,这涉及到对数据的预处理、选择和转换等复杂过程。传统的特征工程方法常常集中于中央服务器或云计算平台上进行,这种中心化的处理模式可能面临数据传输延迟、带宽限制、隐私安全等多重挑战。在这一背景下,可编程交换机作为一种新兴的网络设备,展现出其在机器学习特征工程中的巨大潜力。其不仅具备强大的数据处理和流量管理能力,而且通过其灵活的编程接口,能够实现对数据流的实时、动态的调度和处理,为机器学习特征的实时提取、优化和传输提供了全新的解决方案。
2、在无法直接分析加密流量内容的情况下,目前主要通过提取流量的统计特征、行为特征以及其他可观察的特征来进行流量分类。
3、流量统计特征:这类特征包括数据包大小分布、时间间隔特征和流量方向变化等。例如,平均数据包大小、数据包到达时间的平均间隔,以及双向流量中的数据包和字节比例,这些统计特征能够反映出流量的基本传输特性。
4、流量行为特征:流的持续时间、总字节数、数据包总数以及特定协议端口的使用情况等特征,揭示了流量的行为模式。这些特征有助于区分不同类型的应用和服务,尤其是在它们具有明显不同的通信行为时。
5、加密流量的特定特征:即使在加密的条件下,某些协议特有的元数据,如tls握手过程中的加密套件、tls版本等,仍然是可见的。这些信息可以提供有关加密流量类型的线索。
6、但是目前上述特征的获取都是在cpu端完成,当一个数据包文件非常大时,需要消耗的时间也是非常多的。除此之外,随着加密技术的不断进步和网络流量模式的日益复杂,单一的特征提取方法可能不足以应对所有的分类挑战。
7、综上所述,为解决当前在服务器端提取加密流量特征的速度慢、效率低的问题,本发明将机器学习特征工程处理卸载到p4交换机上完成。
技术实现思路
1、本发明要解决的技术问题是,提高加密流量分类的效率和准确性,为网络安全领域提供一种新的解决方案。
2、本发明提出了一种基于可编程交换机的机器学习特征工程加速方法和系统。该系统利用p4交换机的可编程性,直接在数据平面内对流量进行初步分析和特征提取,显著降低了对中心处理单元,即cpu,的依赖,并减少了数据传输所需的时间。
3、为了实现上述目的,本发明采用了以下技术方案:
4、s1:初始化p4网络设备,并获取数据包;
5、s2:计算所述数据包的flowid和状态特征值,并以所述flowid为索引更新p4网络设备寄存器中的第一数据特征流表;
6、s3:封装后提取数据包的流统计特征,然后将所述流量统计特征存储在寄存器的第二数据特征流表中;
7、s4:读取寄存器中的第一数据特征和第二数据特征,对数据进行处理,存储进数据库中,用于建立流统计数据模型。
8、与现有技术相比,本发明的有益效果如下:
9、本发明的技术方案通过控制平面和数据平面的创新整合,显著加速加密流量分类的特征工程。
10、利用p4寄存器存储数据包的流统计特征,这些特征包括但不限于数据包大小、传输频率、流的持续时间等。允许系统在网络边缘实时地处理和分析数据流,提高了特征提取的效率。
11、通过基于数据包五元组字段的哈希值作为p4寄存器索引,正确区分并保存各条流的特征值,从而为加密流量分析提供必要的信息。实现流特征实时提取,允许系统快速地识别和处理网络流量。
12、数据平面的特征提取机制依赖寄存器和哈希函数,利用count-min sketch优化寄存器使用,实现流特征的实时提取,确保特征数据的时效性和准确性;优化寄存器的使用,减少内存空间的需求,提高了加密流量分类处理速度和准确性,它允许系统在网络攻击发生时迅速响应,系统在有限的资源下处理大量的网络流量。
13、控制平面通过一套精确机制定期采集关键网络指标,并确保数据安全与完整性,采集的数据经预处理后存于高效数据库,为机器学习模型训练和推理提供高质量的输入数据。确保机器学习模型能够高效运行的基础,允许模型在训练和推理过程中访问到准确和一致的数据。
14、特征提取覆盖多维网络流量特性,如数据包大小和传输频率。此策略通过高效数据处理和安全保障,支持机器学习的训练和推理,提高加密流量分类的效率和准确性。
1.一种加速机器学习特征工程的方法,包括如下步骤:
2.根据权利要求1中的一种加速学习机器特征工程的方法,其特征在于,所述s1中:由所述控制平面的下发模块下发控制信息到p4网络设备。
3.根据权利要求1中的一种加速学习机器特征工程的方法,其特征在于,所述s1中:所述数据包经入端口进入p4网络设备,p4网络设备将数据包正常转发至出端口,并在此过程完成特征计算过程。
4.根据权利要求1中的一种加速学习机器特征工程的方法,其特征在于,所述s2中:所述flowid为所述数据包的ip头部的源地址、目的地址、协议字段、源端口、目的端口字段使用crc算法计算的哈希值。
5.根据权利要求1中的一种加速学习机器特征工程的方法,其特征在于,所述s2中:判断所述数据包是否属于前一数据流,若不是前一数据流的数据包,则复制数据包并发送,若是前一数据流的数据包,计算所述数据包的flowid,用所述flowid读取寄存器中信息,若flowid存在,则更新当前流的特征值并且更新特征条目,判断flowid不存在的数据包和不属于前一数据流的数据包的当前临时存储模块中条目是否可用,若不可以,则丢弃数据包,若可用则初始化新的特征条目,然后以flowid作为索引值存储在临时存储模块中。
6.根据权利要求5中的一种加速学习机器特征工程的方法,其特征在于,所述s2中:通过比较当前数据包与前一数据包的基础特征的条目信息,判断当前数据包在临时存储模块中的条目是否可用,若当前数据包的条目信息与前数据包的条目信息一致,则当前条目不可用。
7.根据权利要求1中的一种加速学习机器特征工程的方法,其特征在于,所述s4中:控制平面每隔预设时间,读取一次寄存器中存储的第一数据特征流表和第二数据特征流表,然后将所述第一数据特征流表和第二数据特征流表生成流特征表发送到服务器存储。
8.根据权利要求1中的一种加速学习机器特征工程的方法,其特征在于,所述s4中:控制平面读取到的数据经过解压缩、格式化和基本清洗后,存储在可扩展的时间序列数据库中。
9.一种加速机器学习特征工程的系统,其特征在于,包括:
10.一种终端,其特征在于,包括处理器、输入设备、输出设备、控制器和存储器,所述处理器、输入设备、输出设备、控制器和存储器相互连接,其中,所述控制器用于存储p4网络设备程序,所述p4网络设备程序包括p4网络设备程序指令,用于配置所述处理器,所述控制器还用于下发、提取、存储相关数据,以及对数据进行预处理、建立数据模型,所述处理器用于调用所述程序指令,执行如权利要求1-8任一项所述的方法。
