对Bringing a GAN to a Knife-fight Adapting Malware Communication to Avoid Detectio的简单理解

本文主要是介绍对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的简单理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/283756

相关文章

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核