蜜罐和沙箱相互增强的恶意程序行为处理方法及系统与流程

文档序号:30431700发布日期:2022-06-15 17:26阅读:302来源:国知局
蜜罐和沙箱相互增强的恶意程序行为处理方法及系统与流程

1.本发明涉及恶意程序处理技术领域,特别是涉及蜜罐和沙箱相互增强的恶意程序行为处理方法及系统。


背景技术:

2.本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
3.在传统的概念中,蜜罐是一种用于捕获恶意样本的装置获程序,而沙箱则可以对恶意样本进行各种详尽的分析,这两个概念从原理上是彼此隔离的。但是在目前的蜜罐和沙箱布署情况来看,二者往往在进行彼此隔离的工作而仅有较少的交互行为。对于蜜罐来说,蜜罐捕获恶意代码后会将其送至沙箱子程序处进行分析,但在此过程中,蜜罐子程序会先于沙箱子程序与恶意代码进行通信,同时由于恶意代码通常存在于网络当中,所以蜜罐子程序也通常会先进性网络层面的交互,随后才会有其它行为。那么在此过程中,网络通信时如果蜜罐的模拟交互足够逼真,则可以尽可能多的使恶意代码暴露更多的行为,而这些行为往往会包含非常多且重要的信息,例如恶意代码使用何种协议通、过何种端口以何种形式进行何种行为等,这些信息恰好就是沙箱子程序分析恶意代码所需要的,如果能够将这些信息进行利用,则可以大大强化沙箱子程序前期准备的过程。同时对于沙箱而言,恶意代码在其中运行则可以暴露更加丰富的恶意行为,这些行为可以被收集起来用以帮助蜜罐强化捕获能力。此外,蜜罐在进行恶意样本捕获时,为了能够提升捕获安全性,也需要对恶意代码的一些网络行为进行无害化处理,而这种需求在沙箱中也是存在的,如果能够将相关的网络功能解耦出来,那么我们就能够更加灵活的相关网络功能进行开发和维护,从而尽可能提升蜜罐和沙箱对虚拟网络使用效率。但是上述考虑目前并未有相关技术实现。


技术实现要素:

4.为了解决现有技术的不足,本发明提供了蜜罐和沙箱相互增强的恶意程序行为处理方法及系统;该系统能够使蜜罐先行接触样本并预收集基本的恶意样本运行信息,并将这些信息告知沙箱子程序;随后沙箱根据这些信息运行恶意样本,并将恶意样本产生的恶意流量重定向至蜜罐,以此帮助蜜罐充分了解恶意样本的其它交互过程,以帮助自身提升样本捕获能力。上述过程周而复始,最终使得蜜罐子程序与沙箱子程序互相强化,使蜜罐更高效的捕获恶意样本以及使沙箱更高效安全的分析恶意样本。
5.第一方面,本发明提供了蜜罐和沙箱相互增强的恶意程序行为处理方法;
6.蜜罐和沙箱相互增强的恶意程序行为处理方法,包括:
7.蜜罐系统和沙箱系统建立通信连接;
8.蜜罐系统对恶意代码进行诱导和捕获;
9.蜜罐系统将捕获的恶意代码、蜜罐系统与恶意代码交互的信息以及捕获过程中产生的信息发送给沙箱系统;沙箱系统根据蜜罐系统传递过来的信息,生成恶意代码的运行环境配置文件;
10.沙箱系统根据恶意代码的运行环境配置文件,生成恶意代码的运行环境;在恶意代码的运行环境中,沙箱系统触发恶意代码的运行,并分析恶意代码的运行过程;
11.沙箱系统对运行过程中的网络通信行为进行分析,并将网络通信行为发送给蜜罐系统和虚拟网络;
12.蜜罐系统接收网络通信行为后,对已知网络通信行为进行交互,对未知网络通信行为,通过记录沙箱系统与虚拟网络的交互过程进行学习,以提升蜜罐系统的捕获能力;
13.学习过后的蜜罐系统,重新对恶意代码进行诱导和捕获。
14.第二方面,本发明提供了蜜罐和沙箱相互增强的恶意程序行为处理系统;
15.蜜罐和沙箱相互增强的恶意程序行为处理系统,包括:
16.通信连接模块,其被配置为:蜜罐系统和沙箱系统建立通信连接;
17.诱导和捕获模块,其被配置为:蜜罐系统对恶意代码进行诱导和捕获;
18.配置文件生成模块,其被配置为:蜜罐系统将捕获的恶意代码、蜜罐系统与恶意代码交互的信息以及捕获过程中产生的信息发送给沙箱系统;沙箱系统根据蜜罐系统传递过来的信息,生成恶意代码的运行环境配置文件;
19.运行过程分析模块,其被配置为:沙箱系统根据恶意代码的运行环境配置文件,生成恶意代码的运行环境;在恶意代码的运行环境中,沙箱系统触发恶意代码的运行,并分析恶意代码的运行过程;
20.发送模块,其被配置为:沙箱系统对运行过程中的网络通信行为进行分析,并将网络通信行为发送给蜜罐系统和虚拟网络;
21.能力提升模块,其被配置为:蜜罐系统接收网络通信行为后,对已知网络通信行为进行交互,对未知网络通信行为,通过记录沙箱系统与虚拟网络的交互过程进行学习,以提升蜜罐系统的捕获能力;
22.返回模块,其被配置为:学习过后的蜜罐系统,重新对恶意代码进行诱导和捕获。
23.与现有技术相比,本发明的有益效果是:
24.(1)我们提出了一种蜜罐和沙箱相互增强的恶意程序行为处理方法及系统,在该系统中我们在软件和网络层面打通了蜜罐系统与沙箱系统的壁垒,使其成为一个能够综合处理恶意代码的系统。这个系统能够对从系统和网络两个方面使用一个样本同时为蜜罐系统和沙箱系统提供各自有用的数据。
25.(2)在我们提出的系统中,蜜罐系统能够利用先于沙箱系统与恶意代码交互的优势,获得能够支持恶意代码正确运行的先决条件和情报,帮助沙箱系统对分析环境进行仿真和复现,提升沙箱系统的综合性能。
26.(3)沙箱系统在运行的过程中,能够利用环境的隔离特性和沙箱分析能力尽可能多大触发恶意代码的行为,其中的网络通信行为就可以被用来进行闭环网络通信分析以降低恶意行为对外泄露的风险,同时因为暴露的更多的恶意行为和离线分析,蜜罐系统基本无需担心被恶意代码识别从而导致与蜜罐交互的风险,而且在交互过程中,对于未知的通信协议和通信方式,蜜罐系统能够对交互过程进行学习,从而提升自己对新协议的识别和兼容能力。
27.(4)捕获能力增强后的蜜罐系统能够捕获更多家族和类型的恶意代码,这些代码可以暴露更多的恶意行为,结合沙箱系统的闭环分析过程,蜜罐和沙箱相互增强的恶意程
序行为处理系统不断积极正向的增强。
附图说明
28.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
29.图1为本发明实施例一的整体流程图;
30.图2为本发明实施例一的蜜罐指导沙箱环境布署流程图;
31.图3为本发明实施例一的沙箱引导流量状态变化流程图;
32.图4为本发明实施例一的流量连接状态追踪流程图。
具体实施方式
33.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
34.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
36.本实施例所有数据的获取都在符合法律法规和用户同意的基础上,对数据的合法应用。
37.术语解释:
38.蜜罐系统,由一组针对不同通信协议蜜罐程序组成的组件,其在本发明中的主要功能为捕获恶意代码以及与沙箱系统交互。
39.蜜罐系统,是基于欺骗伪装技术,通过在攻击者入侵的关键路径上部署陷阱,探测攻击者在网络中发起的网络攻击,设置假目标,诱捕攻击者的攻击行为的安全服务。
40.沙箱系统,是沙箱程序的别名,本质为能够自动化分析多种硬件架构恶意代码行为的沙箱程序,其在本发明中的主要功能为分析蜜罐捕获的恶意代码并在分析过程中与蜜罐系统进行交互。
41.沙箱是一种按照安全策略限制程序行为的执行环境。早期主要用于测试可疑软件等,比如黑客们为了试用某种病毒或者不安全产品,往往可以将它们在沙箱环境中运行。
42.经典的沙箱系统的实现途径一般是通过拦截系统调用,监视程序行为,然后依据用户定义的策略来控制和限制程序对计算机资源的使用,比如改写注册表,读写磁盘等。
43.恶意代码,表示一类具有恶意行为或出于恶意目的计算机程序或脚本,英文为malicious code。
44.虚拟网络,是一组虚拟网络架构和虚拟网络服务所构成的集合,承担沙箱中被分析样本所有的网络传输和通信需求。能够对沙箱的传入传出数据包进行交换、路由,同时与
沙箱中被分析样本请求的网络服务进行交互,以欺骗被分析样本使其相信在真正的互联网上进行交互,从而在避免恶意从沙箱中逃逸的同时尽可能多的响应被分析样本的网络请求。
45.实施例一
46.本实施例提供了蜜罐和沙箱相互增强的恶意程序行为处理方法;
47.如图1所示,蜜罐和沙箱相互增强的恶意程序行为处理方法,包括:
48.s101:蜜罐系统和沙箱系统建立通信连接;
49.s102:蜜罐系统对恶意代码进行诱导和捕获;
50.s103:蜜罐系统将捕获的恶意代码、蜜罐系统与恶意代码交互的信息以及捕获过程中产生的信息发送给沙箱系统;沙箱系统根据蜜罐系统传递过来的信息,生成恶意代码的运行环境配置文件;
51.s104:沙箱系统根据恶意代码的运行环境配置文件,生成恶意代码的运行环境;在恶意代码的运行环境中,沙箱系统触发恶意代码的运行,并分析恶意代码的运行过程;
52.s105:沙箱系统对运行过程中的网络通信行为进行分析,并将网络通信行为发送给蜜罐系统和虚拟网络;
53.s106:蜜罐系统接收网络通信行为后,对已知网络通信行为进行交互,对未知网络通信行为,通过记录沙箱系统与虚拟网络的交互过程进行学习,以提升蜜罐系统的捕获能力;
54.s107:学习过后的蜜罐系统,重新对恶意代码进行诱导和捕获。
55.示例性地,s102:蜜罐系统对恶意代码进行诱导和捕获;在初始状态下,蜜罐系统凭借最基础的恶意代码捕获能力对功能对应的恶意代码进行诱导和捕获,捕获的过程中记录蜜罐系统与恶意代码的交互行为和过程,并且记录与恶意代码交互时的交互环境以及捕获样本过程中产生的行为。
56.示例性地,s103:将蜜罐系统捕获的恶意代码以及与样本交互和捕获样本过程中产生的信息传递给沙箱系统,沙箱系统根据蜜罐传递过来的信息,尝试对恶意代码运行环境进行准备,同时生成环境复现配置。
57.示例性地,s104:沙箱系统准备分析环境,并根据环境复现配置对沙箱分析环境进行准备,随后在此环境中触发恶意代码并分析恶意代码的软件和网络行为。
58.示例性地,s105:在沙箱系统分析恶意代码的过程中充分触发恶意代码的恶意行为获取尽可能多的通信(可能包含与蜜罐系统交互式没有出现的行为),对分析过程中产生的网络通信单独进行分析,并且根据策略将上述网络通信转发至蜜罐系统以及虚拟网络以获取恶意代码网络通信交互行为。
59.示例性地,s106:蜜罐系统响应转发自沙箱系统的网络通信,在进行交互的过程中对已知通信进行交互,对于未知的通信,通过记录与虚拟网络交互的过程并对其进行学习,以提升自己的协议识别和捕获能力。
60.示例性地,s107:蜜罐系统在经过学习后,具有比以往更广泛的协议识别与适配能力,进而能够捕获更多家族、类型的恶意代码,随后将捕获到的恶意代码送入沙箱系统从而实现蜜罐系统和沙箱系统相互增强的恶意程序行为处理系统在捕获能力和分析能力的正向激励效果。
61.进一步地,所述s101:蜜罐系统和沙箱系统建立通信连接;具体过程包括:
62.s1011:通过通信接口建立蜜罐系统和沙箱系统之间的第一传输通道;所述第一传输通道,用于传输蜜罐系统发送给沙箱系统的恶意代码软件层面交互数据;所述软件层面交互数据,包括:所使用通信协议、运行环境、基础依赖库、交互方式和认证信息;
63.s1012:通过虚拟网络建立蜜罐系统和沙箱系统之间的第二传输通道;所述第二传输通道,用于实现沙箱系统将恶意代码运行时交互通信行为发送给蜜罐系统,以及实现蜜罐系统与沙箱系统之间的交互响应通信。
64.进一步地,所述s102:蜜罐系统对恶意代码进行诱导和捕获;具体包括:
65.s1021:蜜罐系统与设定协议或设定交互方式的恶意代码进行交互;
66.在交互过程中,蜜罐系统记录恶意代码的登录方式、恶意代码的系统信息、恶意代码所调用网络功能、恶意代码的命令调用参数以及恶意代码的操作信息;
67.在交互过程中,蜜罐系统对写入操作和修改操作进行审计处理,记录写入数据或修改数据;记录写入操作和修改操作所涉及的文件路径和数据变量;记录写入操作和修改操作的执行顺序;
68.s1022:蜜罐系统对远端交互程序进行诱骗,捕获恶意代码的可执行文件。
69.进一步地,所述恶意代码的系统信息,包括:交互过程中所执行的命令、文件输入输出、系统功能调用和环境变量操作。
70.进一步地,所述恶意代码所调用网络功能,包括:ping、netstat、tcpdump。
71.示例性地,所述s102:蜜罐系统对恶意代码进行诱导和捕获;具体包括:
72.所布署的蜜罐在初始状态下能够对设定某种协议的恶意代码进行诱骗和捕获。首先使用蜜罐的基础功能对指定协议或指定交互方式恶意代码进行交互。
73.在交互的过程中记录恶意代码的登录方式,记录包括所使用的用户名,口令等;当能够与恶意代码进行交互后,对交互过程涉及的所执行命令、文件io、系统功能调用、环境变量操作等系统层面信息进行记录;同时对恶意代码所调用网络功能进行记录,例如ping、netstat、tcpdump等,记录命令的调用参数。在此过程中重点关注所调用系统的功能,所读取文件的名称以及所调用的依赖库等操作信息,并对这些信息进行整理。
74.交互过程中对写入和修改操作进行审计处理,明确写入的或修改的文件或者参数信息,将交互过程中涉及到的所有写入或修改操作精确到文件路径和变量,并对这些操作的执行顺序进行记录,结合前面的内容一并进行整理归档。
75.进一步地,如图2所示,所述s103:蜜罐系统将捕获的恶意代码、蜜罐系统与恶意代码交互的信息以及捕获过程中产生的信息发送给沙箱系统;沙箱系统根据蜜罐系统传递过来的信息,生成恶意代码的运行环境配置文件;具体包括:
76.s1031:蜜罐系统将捕获的恶意代码、蜜罐系统与恶意代码交互过程中获取的信息存储于共享存储数据库中,并且通过通信接口通知沙箱系统当前记录的基本信息,同时根据预先配置追加紧急程度标识;
77.s1032:沙箱系统监控与蜜罐系统的通信接口,并在内部维护一张任务列表,根据列表中的任务数量以及任务紧急程度决定将新任务加入到任务列表中的时间;
78.s1033:沙箱系统读取共享存储数据库的数据,根据共享存储数据库的数据进行分析处理生成沙箱的运行配置文件;
79.s1034:对沙箱的运行配置文件进行预处理,得到恶意代码的运行环境配置文件。
80.进一步地,s1032:所述根据列表中的任务数量以及任务紧急程度决定将新任务加入到任务列表中的时间;具体包括:
81.如果沙箱系统被配置为顺序执行且任务并不紧急,则沙箱忽略通信接口的当前新追加条目所产生的记录信息;
82.如果任务紧急,则根据紧急程度标识,调整新任务至任务队列的设定位置;
83.如果沙箱系统当前空闲或者被配置为蜜罐系统提交任务优先,则沙箱系统从与蜜罐系统的通信接口接收消息并且立刻开始任务(如果系统资源不足则加入任务列表)。
84.所述任务列表,是指沙箱用于记录恶意样本执行情况与缓存情况的列表。
85.进一步地,所述s1033:沙箱系统读取共享存储数据库的数据,根据共享存储数据库的数据进行分析处理生成沙箱的运行配置文件;具体包括:
86.沙箱系统读取共享存储数据库的数据,根据共享存储数据库中的信息,读取对应的文件(包括恶意代码本身),为分析任务创建工作目录作为独立工作环境,并将获取的文件存入工作环境;
87.使用静态分析工具提取待分析样本的架构信息、版本信息、依赖库信息、编译信息,并依据上述各项信息整理成静态分析输出;
88.将静态分析输出与从蜜罐获取的样本信息进行比对,对于不一致的项进行比对,如果不一致的项为互斥选项,则交由沙箱系统对样本信息进行核对;对于非互斥选项,则将双方信息进行汇总整理;
89.根据汇总后的信息生成沙箱最终运行的配置文件,成为运行配置文件。
90.所述共享存储数据库,是指:能够同时被蜜罐和沙箱读写的用于存放数据的区域,分为数据库和文件存储两个部分,文件存储部分用于存放恶意代码以及沙箱输出的文件内容;数据库部分用于存放除文件以外的其它信息,通过一定的数据组织形式,保存在数据库的特定数据库和数据表当中。数据库和文件存储中的数据存在对应关系,即需要以文件形式存储的数据,其文件存储路径和其它文件信息均存储与数据库中。
91.应理解地,运行配置文件直接决定了沙箱实例以及沙箱实例内部的各项参数配置,但这些信息需要被进一步处理才能够使用。
92.所述沙箱实例,是指:用于执行具体任务的沙箱执行部件,接受沙箱的分配、管理和监控。
93.进一步地,所述s1034:对沙箱的运行配置文件进行预处理,得到恶意代码的运行环境配置文件;具体包括:
94.将架构信息、网络硬件配置信息和硬件基本配置信息(cpu、内存、存储等)用于构建沙箱运行环境的配置信息作为运行配置文件内容;
95.将蜜罐系统命令执行顺序、文件操作现场、系统服务操作及调用现场和环境变量等系统层面信息作为运行环境配置文件;
96.对于涉及的待还原的系统软件包和文件操作均被存放在沙箱工作目录中以文件形式存放,将文件的作用以及使用过程记录在运行环境配置中。
97.最终,沙箱系统根据运行配置文件,生成并写入执行配置文件和运行环境配置文件。
98.所述运行配置文件,是指:涵盖用于运行一个沙箱实例并执行一项分析任务所有配置信息的配置文件,但此文件不能被直接使用,其以作为生成可使用配置文件的形式存在。
99.所述执行配置文件,是指:保存了所有用来启动沙箱实例的必要配置参数信息,为配置沙箱启动参数提供支持。
100.所述运行环境配置文件,是指:保存了所有用来布署沙箱实例内环境的必要配置参数信息,为沙箱实例内环境布署及复现提供支持。
101.进一步地,所述s104:沙箱系统根据恶意代码的运行环境配置文件,生成恶意代码的运行环境;在恶意代码的运行环境中,沙箱系统触发恶意代码的运行,并分析恶意代码的运行过程;具体包括:
102.s1041:沙箱系统读取执行配置文件,并根据内容选择对应的硬件架构进行模拟,启动沙箱实例;所述沙箱实例,是指分析一个沙箱任务的进程;
103.s1042:沙箱实例运行后,沙箱系统跟踪沙箱实例启动状态并与沙箱实例中的代理程序进行通信,沙箱系统读取运行环境配置文件,将运行环境配置文件涉及到的所有文件发送至沙箱实例内部,等待沙箱实例内代理程序读取配置文件以及完成所有布署工作;
104.s1043:沙箱实例内的代理程序接收所有文件后,读取运行环境配置文件,根据运行环境配置文件的配置安装所需要的文件;配置操作完成后,沙箱系统根据执行配置文件调整系统防火墙以及网络通信捕获策略,随后进行基本分析功能测试以检查各沙箱实例内部模块运行情况;沙箱系统开始对沙箱实例网络通信进行监听和捕获并且触发待分析样本;
105.s1044:沙箱实例内部持续监控样本的系统层面活动,沙箱实例外部的通信监听模块负责持续记录样本运行过程中产生的一切网络通信,并且实时监测其网络通信状况。
106.应理解地,沙箱任务指的是待分析的恶意代码样本,对于沙箱实例而言,一个沙箱实例处理一个恶意代码样本,这个被分析的恶意代码样本称为沙箱任务。
107.进一步地,所述s1041:沙箱系统读取执行配置文件,并根据内容选择对应的硬件架构进行模拟,启动沙箱实例;具体包括:
108.沙箱系统读取执行配置文件,并根据内容选择对应的硬件架构进行模拟,同时,为其创建独立虚拟网卡,调整网卡通信方式并根据配置文件调整各项参数,结合当前系统资源使用情况设置基本虚拟硬件(cpu、内存和存储等),随后启动沙箱实例。
109.示例性地,所述s1043具体过程包括:
110.沙箱实例内的代理程序接收所有文件后,读取运行环境配置文件,根据运行环境配置文件的配置安装所需依赖库文件、调整环境变量、网络相关参数配置、防火墙配置系统服务配置、配置文件修改、第三方程序加载、监控程序配置,并且恢复步骤s102中所述的蜜罐交互现场,还原交互现场过程中涉及系统服务运行状态和运行方式等方面的调整,使其基本与在蜜罐中的交互环境相似,随后将传入的文件或者文件操作步骤还原至系统对应路径。等一切配置操作完成后,告知沙箱系统。
111.沙箱系统根据执行配置文件调整系统防火墙以及网络通信捕获策略,随后进行基本分析功能测试以检查各沙箱实例内部模块运行情况;进行网络通信测试以检查通信是否正常,是否存在串扰以及是否能够正常捕获到网络通信等网络层面情况。当且仅当一切配
置和检查均通过后,开始对沙箱实例网络通信进行监听和捕获并且触发待分析样本。
112.进一步地,所述s105:沙箱系统对运行过程中的网络通信行为进行分析,并将网络通信行为发送给蜜罐系统和虚拟网络;具体包括:
113.s1051:沙箱系统从系统层面对运行过程中的网络通信行为进行分析;
114.s1052:沙箱系统从网络层面对运行过程中的网络通信行为进行分析;
115.s1053:根据实时分析结果,将所有的数据包进行记录并通过虚拟网络转发至蜜罐系统,基于监测状态维护端口协议映射并对所有传出流量进行转发或丢弃处理。
116.进一步地,所述s1051:沙箱系统从系统层面对运行过程中的网络通信行为进行分析;具体包括:
117.在系统层面,沙箱系统模拟真实设备的系统行为,响应恶意样本在系统所作出的所有操作,同时,针对恶意样本与系统交互的过程中,记录所有系统层面交互步骤和内容。针对蜜罐交互中出现的交互行为,直接根据运行环境配置文件中的内容进行处理,针对蜜罐交互中从未出现过的操作则记录,针对样本在沙箱环境中做出的所有默认情况下不进行干涉。
118.进一步地,所述s1052:沙箱系统从网络层面对运行过程中的网络通信行为进行分析;具体包括:
119.周期化统计单位时间内通过的数据包数量以及数据包大小,计算得到实时数据包产生速率以及实时网络通信速率;
120.周期化统计单位时间内广播域内arp请求次数,被请求主机ip,监测广播域内网络通信行为;
121.周期化统计单位时间内icmp发包数,icmp类型判断当前网络探测以及网络状况;
122.周期化统计单位时间内源ip地址,目的ip地址,源端口号,目的端口号监测端口扫描及通信情况;
123.周期化统计单位时间内包括但不限于tcp连接发起数,tcp握手过程中各状态机数量,当前监听的tcp通信数量、tcp头部标志位、tcp头长度以及tcp可选参数等tcp技术参数以了解传输层通信细节信息;
124.周期化统计单位时间内包括但不限于udp载荷大小,udp长度字段等udp技术参数探测尤其是dos行为发起状态在内的udp相关行为。
125.进一步地,如图3和图4所示,所述s1053:根据实时分析结果,将所有的数据包进行记录并通过虚拟网络转发至蜜罐系统,基于监测状态维护端口协议映射并对所有传出流量进行转发或丢弃处理;具体包括:
126.s10531:针对首次出现的通信或尚未正确建立连接的通信进行处理;
127.s10532:对端口协议映射被标记为“已转发”或“监听”状态的数据进行处理。
128.所述端口协议映射:由通信ip、端口号、协议号以及时间等描述网络通信信息的内容所构成的多个条目的集合。
129.进一步地,所述s10531:针对首次出现的通信或尚未正确建立连接的通信进行处理;具体包括:
130.若短时间内出现关于当前端口协议映射的通信数量超过设定阈值,则根据预设策略转发数据包,否则检查端口协议映射;
131.若当前端口协议映射从未出现,则直接进行转发,并标记为“已转发”状态;
132.若当前端口协议映射出现过,但是被标记为消极状态,则默认情况下在一个执行周期内按照预设值进行多次转发或按照策略进行转发并将端口协议映射标记为“已转发”;
133.若当前端口协议映射存在且被标记为积极状态,同时状态为“已完成”状态,则根据策略决定是否需要重分析,如需要则删除端口协议映射对应条目并发回重审,否则丢弃数据包;若状态不是“已完成”状态,则丢弃数据包。
134.所述消极状态:“超时等待”或“超时”状态。
135.所述积极状态:“已完成”、“已转发”、“可能已完成”或“监听”状态。
136.进一步地,所述s10532:对端口协议映射被标记为“已转发”或“监听”状态的数据进行处理;具体包括:
137.若经过上述步骤后端口协议映射被标记为“已转发”或“监听”状态,则在设定时间内跟踪当前记录状态:
138.若没有超过策略配置时间且成功建立连接,则持续监听该端口协议映射,并将其状态标记为“监听”;
139.若超过策略配置时间,则将其状态标记为“超时等待”,此时如果仍有后续数据包到达则按步骤s10531执行;
140.若超过协议最大等待时间,则将其状态标记为“超时”若连接正常结束,则将其状态标记为“已完成”;
141.若链接终端过程中出现异常但仍然关闭了连接,则将其状态标记为“可能已完成”并等待2倍报文最大生存时间msl(maximum segment lifetime)时间;
142.若中间二者发生后续通信则将其状态标记为“监听”,否则标记为“已完成”。
143.应理解地,报文最大生存时间,即报文在传输过程中的最长时间,超过该时间后表示报文失效。
144.进一步地,所述s106:蜜罐系统接收网络通信行为后,对已知网络通信行为进行交互,对未知网络通信行为,通过记录沙箱系统与虚拟网络的交互过程进行学习,以提升蜜罐系统的捕获能力;具体包括:
145.s1061:在沙箱系统对样本进行分析的过程中,蜜罐系统实时与转发自沙箱系统的通信进行交互,在交互过程中:
146.对能够识别的通信,蜜罐系统使用深度包解析dpi(deep packet inspection)方式获取应用层通信内容,并且逐个会话学习通信过程,尤其是无法识别的指令或者请求,使用机器学习方法中增强学习的方式扩充本地能够参与交互的指令数量;
147.对不能识别的通信,蜜罐系统将其转发至互联网,并接收来自真正对端的回复作为当前通信的回复发送至沙箱系统,同时针对这个通信同样使用增强学习的方式扩充本地对指令的识别能力;
148.s1062:当沙箱系统完成对样本的分析后,从沙箱系统中导出样本在执行过程中所有的系统层面行为,将系统层面行为发送至蜜罐系统后,蜜罐系统直接从系统层面行为中学习到样本的系统层面交互特性及方式,结合来自网络通信学习到的通信一并进行强化学习,得到样本执行行为路径。
149.使用该内容能够与之前未交互类型的样本进行交互,也可以对交互过的样本类型
使用更具欺骗性的交互过程,从而大大提升蜜罐的诱捕能力。
150.应理解地,深度包解析,即一种数据包分析技术,能够探查到数据包中的应用层内容。
151.应理解地,沙箱在分析过程中,为避免恶意代码的恶意行为扩散,使用虚拟网络和蜜罐系统辅助处理所有通信,此时虚拟网络和蜜罐系统充当虚拟对端。
152.应理解地,所述系统层面行为,是指恶意代码在运行过程中的各项行为以及和操作系统交互的相关的行为。
153.实施例二本实施例提供了蜜罐和沙箱相互增强的恶意程序行为处理系统;
154.蜜罐和沙箱相互增强的恶意程序行为处理系统,包括:
155.通信连接模块,其被配置为:蜜罐系统和沙箱系统建立通信连接;
156.诱导和捕获模块,其被配置为:蜜罐系统对恶意代码进行诱导和捕获;
157.配置文件生成模块,其被配置为:蜜罐系统将捕获的恶意代码、蜜罐系统与恶意代码交互的信息以及捕获过程中产生的信息发送给沙箱系统;沙箱系统根据蜜罐系统传递过来的信息,生成恶意代码的运行环境配置文件;
158.运行过程分析模块,其被配置为:沙箱系统根据恶意代码的运行环境配置文件,生成恶意代码的运行环境;在恶意代码的运行环境中,沙箱系统触发恶意代码的运行,并分析恶意代码的运行过程;
159.发送模块,其被配置为:沙箱系统对运行过程中的网络通信行为进行分析,并将网络通信行为发送给蜜罐系统和虚拟网络;
160.能力提升模块,其被配置为:蜜罐系统接收网络通信行为后,对已知网络通信行为进行交互,对未知网络通信行为,通过记录沙箱系统与虚拟网络的交互过程进行学习,以提升蜜罐系统的捕获能力;
161.返回模块,其被配置为:学习过后的蜜罐系统,重新对恶意代码进行诱导和捕获。
162.此处需要说明的是,上述通信连接模块、诱导和捕获模块、配置文件生成模块、运行过程分析模块、发送模块、能力提升模块和返回模块对应于实施例一中的步骤s101至s107,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
163.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1