本文主要是介绍对Bringing a GAN to a Knife-fight Adapting Malware Communication to Avoid Detectio的简单理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主要技术:
提出利用GANS生成网络流量,以模拟其他类型的流量。
:即修改了恶意软件的网络行为,从而去模仿合法的申请行为,然后避免了堵截,或者检测。
这里设想了自适应恶意软件和自适应IPS的可能性。
(IPS: 入侵防御系统(Intrusion-prevention system)是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为)
eg.通过修改恶意软件的源代码从GAN接收参数,通过参数的反馈,可以调整其命令和控制通道的行为,以模拟Facebook聊天网络的行为。这种方法可以让恶意软件避免检测成为可能。
(GAN使用真实的Facebook聊天网络流量参数来训练预定的时间。经过训练的GAN生成器将其输出参数与恶意软件通信。恶意软件根据这些参数调整其通信量,并继续其工作。恶意软件的流量在网络中从不停止,它只是改变而已。恶意软件检测它是否在最后一次窗口中被阻止,并使用这些信息向GAN发出需要额外培训和数据的信号.)
两个约束:
1.首先,恶意软件应该是真实的,并在网络中执行真正的恶意操作,这是知道修改了恶意软件而没有影响其操作的唯一方法。
2.第二个限制是恶意软件的拦截也应该是真实的,因为这可能会扰乱其操作。
(其:指的应该是对GAN生成器参数的修改,还有对恶意软件修改动作)
贡献contributions:
1.使用GAN模拟给定流量配置文件的网络流量行为。(即使给了正常的文件网络流量)
2.基于GAN给的参数让恶意软件模拟正常的流量行为。
3.在实验中用了IPS做阻塞实验。 (即是对修改了行为的恶意软件检测其效果)
4.提出了一种新的基于恶意软件被IPS阻塞之后用GAN进行回馈调整的机制。
背景工作:
A.生成对抗性网络(GAN)
主要部分:生成器G与辨别器D
先对G输入一个随意的值,然后放入D中,让G利用D对其的反馈值完善G生成的样本,使G生成D无法辨认其真假的样本。
B.隐秘恶意软件通信Stealthy Malware Communication
恶意软件通常隐藏其C2通道以保持未被检测到。一类规避方法并不试图模仿其他通信量,而是使用各种不同的、可信的和难以找到的基础设施去实现这个避规功能。另外一类则通过描述其网络协议将流量转化为另外一个应用协议。
(C2通道:在数据传输中的一个通道)
C.红队工具Red Team Tools
在渗透测试期间,红色团队通常依赖于利用后开发框架来模拟网络和主机环境中的恶意软件行为。
(红队:即是开发者吧)
以下对核心方法的图像化:
GAN是独立实现的,并通过Web服务与恶意软件进行通信。恶意软件获取参数并实时修改其通信量。维护C2通道并应投入运作,IPS阻止所有看起来不像正常软件的流量。
生成方法:
A.风险模型(我的理解:决定整个过程效果的部分)
风险模型的三个主要部分:检测器,恶意软件,C2服务器。
检测器检查受感染主机与Internet之间的所有网络流量,并决定是否允许每个IP地址的流量通过。若是恶意软件的流量并不与正常软件流量相似,则会被封锁流量。
B.GAN
web服务器用来促进GAN与恶意软件之间的交流。Web有两个API调用get params 和 feedback.
Get params API调用加载保存的生成器模型并生成新的流量参数,然后将这些参数作为JSON对象发送回恶意软件。生成的参数也保存到本地文件中。
Feedback反馈API调用加载已保存的生成器和鉴别器模型,并基于收到的反馈(阻塞的流量),将上一次窗口的参数添加到当前数据集。随后,使用增强数据集执行五次另一训练循环。
C.恶意软件
为了评估此方法,使用了名为流感的开源远程访问特洛伊木马RAT(流感病毒)。对流感病毒进行了修改,以接收来自GAN发生器的输入,并调整其网络行为。
客户端与服务器之间的通信是通过HTTP建立的。流感客户端依次执行以下操作:
1)检查服务器是否联机。
2)发送心跳消息 唯一标识符。
3)从预先配置的URL路径中检索XML文件。XML文件包含一个命令id和客户端执行所需的命令列表。(即是在文件有着GAN回馈回来的信息)
3)执行任何“新”命令 在xml文件中。(修改了恶意软件的网络行为,如影响每个流的时间、持续时间和请求大小)
步骤之间按顺序执行,每个步骤之间间隔5秒,所以是可以预测的。
D.入侵预防系统Intrusion Prevention System
使用Stratosphere Linux IPS (slips) system(平流层Linux IPS系统),因为它对网络中的行为进行建模,并使用机器学习算法检测网络中的行为。
该方法的核心是读取从流量到模型的网络流,并为每个流提取三个特征:持续时间、大小和周期性(最后三个流动之间的时间差之比),每个流的每个特征组合都被分配一个状态。由于流是顺序的,状态是顺序的,所以从中建立了一种模型(Markov模型,被存储在磁盘上)。在检测过程中,未知流量被转换为状态序列,然后,计算每个未知状态序列与生成的存储模型(正常软件的状态模型)匹配的概率,并且阻止不匹配普通模型或与恶意软件模型匹配的ip地址。
OK,以上。
这篇关于对Bringing a GAN to a Knife-fight Adapting Malware Communication to Avoid Detectio的简单理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!