观成科技:基于深度学习技术的APT加密流量检测与分类检测方案

一、前言

近年来APT攻击的案例屡见不鲜,给国家、企业以及个人的利益造成极大威胁。随着流量加密技术的不断成熟,许多APT组织倾向于将流量加密后进行传输,从而保护传输内容。由于加密流量的实际载荷已被加密,故采用原始的流量检测方法,如深度包检测等方法,对于加密流量而言基本无效。业内尝试采用机器学习算法,通过专家经验手工提取特征的方法进行检测,但该方法存在耗时多、容易出现人为错误等问题,因此,转向深度学习技术,对流量自身进行表征学习,从而提取深度特征进行检测,具有比传统机器学习更优异的检测能力。首先,采用堆叠自编码器算法进行无监督学习,区分APT加密流量与正常流量。其次,对被检测出来的APT加密流量,采用卷积神经网络算法进行多分类任务,确定该流量属于何种APT组织。经过实验验证,该方案可以有效的检测APT加密流量,并且具有很强的APT组织分类能力。

二、问题描述

本方案主要解决两个问题:APT加密流量的识别和APT加密流量所属组织的分类。

  1. APT加密流量的识别

业内普遍的解决方案是采用有监督学习方法,即收集一定数量的正常流量与APT流量,并打上不同的标签,然后采用有监督算法(例如逻辑回归、随机森林等)进行训练,生成模型用于检测。但是在实际应用中,会出现一个问题:由于收集到的APT黑流量数量有限,故而当采集的白流量数量远多于黑流量时,则会由于数据不平衡问题而使检测能力明显下降;若采集与黑流量数量相近的白流量,则可能因为白流量缺乏代表性则造成模型过拟合,进而产生大量误报。

面对这一问题,本方案采用无监督学习的方法进行检测,无监督学习是指无需预先定义目标变量,而是通过算法从无标签的数据中发现隐藏的结构和模式。这里采用无监督学习仅对掌握的APT加密流量进行训练,学习到APT加密流量的特有模式,然后用于流量检测,能够有效的利用现有APT流量,识别现网中的APT流量,同时规避白流量的选择问题。

  1. APT加密流量所属组织的分类

目前针对APT流量分类的研究还处于初级阶段。为了达到精细化检测、将检测出的APT恶意流量所属组织进行分类的目的,本方案采用深度学习多分类技术深入挖掘不同APT组织流量的深层次特征,学习出各自APT组织的流量差异,最终达到利用模型进行精细化分类的目的。

三、原理解释

首先,采用堆叠自编码器算法进行APT加密流量识别。该算法是一种经典的无监督学习算法,它由多个自编码器连接而成,自编码器用于学习数据的低维表示,而堆叠自编码器通过连接多个自编码器从而学习到更高级别的数据特征表示。

自编码器(Auto Encoder,简称AE)的原理图如下:

自编码器主要由编码器(Encoder)、解码器(Decoder)组成,其工作流程为将输入(Input)首先通过编码器进行信息压缩,生成中间变量Code,然后将中间变量通过解码器转换成最终Output,而自编码器训练的过程就是使得输入和输出无限接近的过程。堆叠自编码器的原理如下图所示:

堆叠自动编码器由多个标准自动编码器层堆叠而成。每一层自动编码器包括编码器和解码器两个部分,编码器负责将输入数据映射到隐藏层(低维空间),解码器再将隐藏层的表示解码回原始数据的维度。在训练过程中,首先单独训练每一层自动编码器,待每一层训练完成后,将所有编码器层串联起来形成预训练的深度神经网络。相比于自编码器,堆叠自动编码器能够通过多层非线性变换将原始数据映射到抽象和紧凑的特征空间,进而实现更深层次的特征学习和表示学习。

其次采用卷积神经网络算法进行对APT流量进行分类。卷积神经网络(Convolutional Neural Network,CNN)是一种常用于图像识别、语音识别等领域的深度学习模型。CNN的核心思想是通过卷积操作来提取图像等数据的特征,从而实现对数据的分类、识别等任务。卷积神经网络的流程如下:

CNN基本结构由卷积层、池化层和全连接层组成。其中,卷积层是CNN的核心,它通过滑动一个卷积核在输入数据上进行卷积操作,从而提取出数据的局部特征。卷积操作可以看作是一种特殊的加权求和操作,其中卷积核中的权重参数是通过训练学习得到的。池化层用于对卷积层输出的特征图进行降维处理,从而减少模型参数和计算量。常用的池化方式有最大池化和平均池化两种。全连接层用于将池化层输出的特征向量映射到输出类别上,从而实现对输入数据的分类或识别。CNN的优点在于它能够自动学习和提取数据的特征,无需手动进行特征工程。此外,CNN还具有平移不变性、参数共享等特点,使得模型具有较好的泛化能力和鲁棒性。

四、检测流程

整个方案的检测流程如下图。

  1. 数据预处理:将原始流量的pcap包保留IP报头以及每个IP数据包的前1480字节,IP有效载荷小于1480字节的报文在报文末尾进行补零操作,将这些字节作为模型输入。然后将数据进行归一化,使得所有数据的输入值在[0,1]范围内。
  2. APT加密流量检测:将输入的向量代入训练好的堆叠自编码器模型进行预测,并留下模型预测为异常的疑似APT加密流量。

3)APT组织分类:将疑似APT加密流量代入卷积神经网络模型进行APT组织多分类任务,这里选取了四类主要的APT组织:蔓灵花、海莲花、白象以及蓝宝菇,除此以外,将其它APT组织的所有加密流量汇总成一个单独的类,共计5类。

五、实验结果

APT异常流量识别的实验验证中选择了正常流量1万条,以及APT加密流量2000条,实验结果如下:

准确率

精确率

召回率

F1分数

APT恶意流量识别

0.94

0.93

0.925

0.927

由实验结果可知,该检测三项指标均高于0.9,证明该方案能够有效检测APT加密流量。

APT组织多分类实验中选择了海莲花、蔓灵花、白象、蓝宝菇组织的加密流量各1000条,其他组织的加密流量总计1000条,实验结果如下:

对于多分类任务,一般使用Kappa系数来评判模型优劣,根据上述数据,计算Kappa系数KIA=0.872,根据业内经验,该系数在0.81到1之间说明模型性能极佳,因而该多分类任务具备一定的分类能力。

六、结语

针对传统的检测方式无法检测APT中的加密流量的问题,利用深度学习框架,提取加密流量本身的高级特征,分别完成对于APT加密流量的识别以及APT组织分类的任务,目前来看取得了不错的效果。随着深度学习技术的飞速发展,其提取特征的强大能力给流量安全检测提供很好的解决方案。观成科技团队将持续深入运用深度学习技术,争取在未来能够检测出更多的未知威胁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1451897.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

GO RACE 测试在低版本GCC上报错误 exit status 0xc0000139

windows机器环境,go程序使用race定位时一运行就报错,写了个example如: 能看到加了race之后就不行了, 搜了一下,git上有个issue: runtime: Race detector causes exit status 0xc0000139 on Windows 11 wi…

除了ps我们还可以使用什么方法来处理图片?

照片模糊了怎么办?当照片拍的不好时,容易出现模糊的状况,其实照片模糊了可以通过后期软件加工处理,但是ps操作很复杂,对我们有一定的技术基础要求,那么有没有别的图片处理工具呢? ps它的图片处理功能较为全…

俄罗斯Yandex推广投放如何开户?Yandex广告开户和代运营推广流程详解_俄罗斯_受众_搜索引擎

在俄罗斯进行Yandex广告推广是一种有效的在线营销方式,特别是针对俄罗斯市场。Yandex是俄罗斯最受欢迎的搜索引擎,类似于Google在全球范围内的地位。以下是通过Yandex广告推广的一般步骤,以及如何通过上海上弦进行广告开户和代运营。 1. Yan…

【计算机视觉】人脸算法之图像处理基础知识(一)

图像处理基础知识(一) 1.图像的构成 图像的构成可以包括以下几方面知识: 1.像素:图像的基本单位,是图像中的一个点。每个像素都有特定的位置和色彩值。在数字图像中,像素的颜色通常由红、绿、蓝&#xf…

基于QT5.12.7的VTK8.2下的VS2015 X64源码编译以及测试

有一段时间没更新博客了,最近在考虑使用VTK作为软件的后处理显示,相比于OSG,VTK在后处理上集成了很多优秀的算法,使用起来比较方便,而且后处理一般不需要太多的交互,所以VTK是一个不错的选择。 之前对VTK了…

彩色打印一般多少钱一张

彩色打印的价格因多种因素而异,包括打印设备的品牌、纸张质量、打印数量以及打印服务提供商的定价策略等。以下是根据参考文章提供的信息,对彩色打印价格的一般性归纳和描述: 设备品牌与型号: 不同品牌和型号的彩色激光打印机价…

Uni-App中的u-datetime-picker时间选择器Demo

目录 前言Demo 前言 对于网页端的推荐阅读:【ElementUI】详细分析DatePicker 日期选择器 事情起因是两个时间选择器同步了,本身是从后端慢慢步入全栈,对此将这个知识点从实战进行提炼 通过Demo进行总结 Demo 用于选择日期和时间的组件&a…

TFT屏幕波形显示

REVIEW 关于TFT显示屏,之前已经做过彩条显示: TFT显示屏驱动_tft驱动-CSDN博客 关于ROM IP核,以及coe文件生成: FPGA寄存器 Vivado IP核_fpga寄存器资源-CSDN博客 1. TFT屏幕ROM显示正弦波 ①生成coe文件 %% sin-cos wave dat…

【C语言】14. qsort 的底层与模拟实现

一、回调函数 回调函数就是⼀个通过函数指针调用的函数。 把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是…

手把手教你入门vue+springboot开发(三)--登录功能后端

文章目录 前言一、redis安装二、后端代码1.修改application.yml文件2.增加utils文件3.增加Result类4.修改UserController类5.修改UserMapper类6.修改UserService和UserServiceImpl类7.增加LoginInterceptor类8.增加WebConfig类9.修改pom.xml文件 前言 前两篇我们用vuespringbo…

《站在2024年的十字路口:计算机专业是否仍是高考生的明智之选?》

文章目录 每日一句正能量前言行业竞争现状行业饱和度和竞争激烈程度[^3^]新兴技术的影响[^3^]人才需求的变化[^3^]行业创新动态如何保持竞争力 专业与个人的匹配度判断专业所需的技术能力专业核心课程对学生的要求个人兴趣和性格特点专业对口的职业发展要求实践和经验个人价值观…

从大型语言模型到大脑语言理解:探索话语理解的神经机制

随着科技的飞速发展,人工智能领域取得了令人瞩目的成就。在这其中,大型语言模型(LLMs)以其卓越的性能和广泛的应用前景,成为了当前研究的热点。然而,尽管LLMs在文本生成、语言翻译等领域展现出了惊人的能力…

怎么图片转excel表格?推荐三个方法

怎么图片转excel表格?在信息化高速发展的今天,图片转Excel表格的需求日益凸显,尤其是在职场办公中,这一需求更是显得尤为迫切。为了满足广大用户的需求,市面上涌现出了众多图片转Excel的软件。今天,就为大家…

依赖自动装配

黑马程序员SSM框架 文章目录 1、依赖自动装配2、依赖自动装配的特征 1、依赖自动装配 IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配自动装配方式 按类型(常用)按名称按构造方法不启用自动装配 配置中使用bean标签auto…

学会python——密码校验(python实例三)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 pycharm编译 3、纠正密码输入的格式问题 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可…

华为数据驱动的企业数字化转型之路

华为数据驱动的企业数字化转型之路 数据驱动的数字化转型是企业未来发展的关键。通过构建完善的数据治理体系,包括差异化的数据管理、面向业务的信息架构、数据底座建设和自助数据服务,企业可以提升数据的利用效率和决策能力。本文将根据华为数据治理相…

Spring Boot集成Timefold Solver实现课程表编排

1. 什么是Timefold Solver? 每个组织都面临规划问题:使用一组有限的资源(员工、资产、时间和金钱)提供产品或服务。Timefold Solver 优化了此类规划,以更少的资源开展更多业务。这被称为约束满足编程(属于…

QT QFileDialog文件选择对话框

QT QFileDialog文件选择对话框 选择txt或者cpp文件,读取内容并显示 参考: QT写入文件与读取文件内容_qt往一个文件写东西-CSDN博客 #include "QtFilePreview.h" #include "qfiledialog.h" #include "qfile.h" #includ…

怎样收集企业名单?

收集企业名单的方法按照不同维度有不同的方式, 通过人工一个个收集,通过技术手段收集,通过第三方进行购买。 按照来源渠道,可以分为官方和非官方网站,官方的有公示系统,年报等。此外一些相对于官方的平台…

redis+lua实现分布式限流

redislua实现分布式限流 文章目录 redislua实现分布式限流为什么使用redislua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现依赖lua脚本yaml代码实现 Jmeter压测 为什么使用redislua实现分布式限流 原子性:通过Lua脚本执行限流逻辑&am…