一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种监听攻击端命令的方法、装置及可读存储介质与流程

2022-03-02 00:07:04 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,尤其涉及一种监听攻击端命令的方法、装置及可读存储介质。


背景技术:

2.沙箱作为虚拟系统程序,通常用以运行恶意软件,并记录恶意软件接收到c&c指令后所执行的行为,以及行为结果。目前,监听攻击端命令的方法是长期运行沙箱(虚拟机)来运行恶意软件,提取c&c地址(控制恶意软件的攻击端),并对c&c地址进行标记,通过持续的捕获样本和分析样本来确定c&c的活跃状态以及c&c和僵尸网络程序的通信过程。为了针对沙箱中的恶意软件在接收到c&c指令后所执行的行为进行有效阻断,每个沙箱每次只能运行一个恶意软件,这导致在长期运行沙箱进行监听时,需要耗费大量的资源用以满足多个沙箱运行。
3.因此,现有技术在监听攻击端命令时,存在大量资源消耗的问题。


技术实现要素:

4.本发申请提供了一种监听攻击端命令的方法、装置及可读存储介质,用以解决现有技术中监听攻击端命令导致大量资源消耗的问题。
5.第一方面,本技术提供一种监听攻击端命令的方法,所述方法包括:
6.在设定时间范围内使用沙箱运行恶意软件,获取攻击端和被攻击端之间的交互信息;
7.基于所述交互信息,提取通联特征;其中,所述通联特征指示攻击端向被攻击端发送的第一命令;
8.基于所述通联特征,构造第一程序;其中,所述第一程序模拟恶意软件向攻击端发送上线信息;
9.控制所述第一程序与所述攻击端交互获取并记录来自攻击端针对所述被攻击端第一程序的第二命令。
10.上述方法通过构造第一程序模拟恶意软件的上线及运行,使得攻击端主动向第一程序发送命令,避免了长期运行沙箱以满足恶意软件的配置需求,从而避免了运行沙箱所需要的大量资源消耗。
11.一种可能的实施方式,所述基于所述交互信息,提取通联特征,包括:
12.设置第一规则;其中,所述第一规则指示所述交互信息中需要识别并标记的通联特征;
13.基于所述第一规则识别并标记的结果在所述交互信息中提取通联特征;其中,所述通联特征包括攻击端的ip地址或者域名,攻击端的端口,与所述攻击端通信的通信格式,所述第一命令中针对被攻击端的攻击目的和攻击步骤。
14.一种可能的实施方式,所述基于所述第一规则识别并标记的结果在所述交互信息
中提取通联特征,包括:
15.基于所述第一规则中,所述需要识别的通联特征的开始位置和长度,在所述交互信息中提取所述通联特征。
16.一种可能的实施方式,所述在所述交互信息中提取所述通联特征之后,包括:
17.使用base64编码策略针对所述第一命令中针对被攻击端的攻击目的和攻击步骤,进行编码。
18.一种可能的实施方式,所述控制所述第一程序与所述攻击端交互获取并记录来自攻击端对所述被攻击端第一程序的第二命令,包括:
19.针对所述第一命令构建与对应所述交互信息相同通信格式的数据包;
20.将所述数据包作为所述上线信息保存在所述第一程序的缓冲区;
21.根据所述攻击端的ip地址或者域名,将所述上线信息从所述缓冲区发送至攻击端;
22.接收攻击端的所述第二命令,并记录。
23.上述方法构造的第一程序,不具备执行攻击端第一名命令的功能,因此不需要额外对第一命令的执行进行阻断,故可以通过一个程序监听多个攻击端,从而避免了大量资源消耗。
24.第二方面,本技术提供一种监听攻击端命令的装置,所述装置包括:
25.获取单元:用于在设定时间范围内使用沙箱运行恶意软件,获取攻击端和被攻击端之间的交互信息;
26.提取单元:用于基于所述交互信息,提取通联特征;其中,所述通联特征指示攻击端向被攻击端发送的第一命令;
27.构造单元:用于基于所述通联特征,构造第一程序;其中,所述第一程序模拟恶意软件向攻击端发送上线信息;
28.控制单元:用于控制所述第一程序与所述攻击端交互获取并记录来自攻击端针对所述被攻击端第一程序的第二命令。
29.一种可能的实施方式,所述提取单元具体用于设置第一规则;其中,所述第一规则指示所述交互信息中需要识别并标记的通联特征;基于所述第一规则识别并标记的结果在所述交互信息中提取通联特征;其中,所述通联特征包括攻击端的ip地址或者域名,攻击端的端口,与所述攻击端通信的通信格式,所述第一命令中针对被攻击端的攻击目的和攻击步骤。
30.一种可能的实施方式,所述提取单元还用于基于所述第一规则中,所述需要识别的通联特征的开始位置和长度,在所述交互信息中提取所述通联特征。
31.一种可能的实施方式,所述控制单元具体用于针对所述第一命令构建与对应所述交互信息相同通信格式的数据包;将所述数据包作为所述上线信息保存在所述第一程序的缓冲区;根据所述攻击端的ip地址或者域名,将所述上线信息从所述缓冲区发送至攻击端;接收攻击端的所述第二命令,并记录。
32.第三方面,本技术提供一种可读存储介质,其中,包括,
33.存储器,
34.所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储
介质的装置完成如第一方面及任一可能的实施方式所述的方法。
附图说明
35.图1为本技术提供的一种监听攻击端命令的方法的流程图;
36.图2为本技术提供的一种监听攻击端命令的装置的结构示意图。
具体实施方式
37.针对现有技术在监听攻击端命令时,大量资源消耗的问题。本技术实施例公开一种监听攻击端命令的方法:通过构造第一程序,模拟恶意软件的登陆信息,使得攻击端将第一程序判断为恶意软件,向第一程序发送命令,接收并记录该命令就可以达到监听攻击端命令的目的。使用本方法监听攻击端命令,避免搭建沙箱或“养马场”完成对攻击端的监听,从而解决监听攻击端时的大量资源消耗的问题。
38.以下针对本技术中所使用的技术术语进行解释。
39.命令控制程序(command and control,c&c):指由攻击端控制部署的中间服务器,用于攻击端发送命令给位于被攻击端的恶意软件,恶意软件在接收该命令后对被攻击端发送攻击。
40.域名系统(domain name system,dns):指由解析器和域名服务器组成的一种系统。
41.僵尸网络程序(bot):指示被恶意软件控制的程序,可以用于表示被攻击端的设备。
42.通联数据包(pcap包):一种用以保存捕获到的网络数据的文件。
43.通联特征:指僵尸网络程序和命名控制程序的交互信息中需要标记和识别,能够表示攻击端信息的信息。
44.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本技术技术方案做详细的说明,应当理解本技术实施例以及实施例中的具体特征是对本技术技术方案的详细的说明,而不是对本技术的技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
45.请参考图1,本技术实施例提供一种监听攻击端命令的方法,用以解决现有技术在监听攻击端命令时,大量资源消耗的问题。该方法的操作步骤如下:
46.步骤101:在设定时间范围内使用沙箱运行恶意软件,获取攻击端和被攻击端之间的交互信息。
47.具体地,通常只需要使用几分钟沙箱运行恶意文件就可以获取交互信息。本技术实施例中将设定时间范围设置为3分钟,在这3分钟使用沙箱运行恶意软件的过程中,捕捉(获取)被感染设备和c&c之间的交互信息,即为获取攻击端和被攻击端之间的交互信息。其中,捕获交互信息的工具可以根据沙箱中所使用的系统选择捕获工具。例如,当系统为windows系统时,使用wireshark捕获被感染设备和命名控制程序之间的交互信息。当系统为linux系统时,使用tcpdump捕获被感染设备和命名控制程序之间的交互信息。在将交互信息捕获后,可以保存到通联数据包中。
48.步骤102:基于所述交互信息,获取通联特征。
49.其中,通联特征指示攻击端向被攻击端发送的第一命令。
50.具体地,在获取通特征之前,需要先设置第一规则。
51.其中,所述第一规则指示交互信息中需要识别并标记的通联特征。
52.在本技术实施例中,该第一规则可以由检测引擎执行。则检测引擎基于第一规则从交互信息中提取通联特征并输出。
53.本技术实施例中第一规则是根据字符串匹配、正则匹配以及各规则间的逻辑运算(与运算,或非运算)的信息匹配规则。具体地,基于步骤101所述的“在设定时间范围内使用沙箱运行恶意软件,获取攻击端和被攻击端之间的交互信息”,针对该步骤运行设置次数,分别获取对应的交互信息,根据这些交互信息的共同特征设置第一规则。本技术实施例中设置第一规则包括需要识别的通联特征的开始位置和长度、规则名称,规则内容,需要提取的通联特征的表达式等。
54.检测引擎基于第一规则,具备以下两个功能:
55.(1)在交互信息中识别并标记通联特征。其中,通联特征包括攻击端的ip地址或域名,攻击端的端口,获取到的通联特征,获取到通联特征的时间。也就是针对交互信息进行匹配。若匹配到的通联特征中包括攻击端的域名,则检测引擎还需要针对攻击端的域名进行解析;若匹配到的通联特征中不包括域名,则检测引擎不再针对通联特征中的任一内容进行解析。检测引擎还需支持该表达式进行与或非逻辑运算,以满足各类匹配场景。根据第一规则设置的表达式可以是正则表达式,字符串,或者十六进制法表示的数字。
56.(2)根据第一规则中所定义的需要提取的通联特征的开始位置和长度,将(1)中所识别并标记出的通联特征在交互信息中提取。因为通联特征可以指示攻击端向被攻击端发送的第一命令,所以通联特征中需要包括ip地址或者域名,端口,以及第一命令所包括的具体内容,即攻击端命令恶意软件执行针对被攻击端的攻击目的,例如,监听,监视等;以及针对被攻击端的攻击步骤。上述针对被攻击端的攻击目的和攻击步骤这些内容因包含由c&c(攻击端)发送的自定义的字符,为避免直接读取通联特征会导致数据的中断或缺失,使用base64编码策略进行编码,达到将通联特征完整保存的目的。其中,base64是一种用64个字符来表示任意二进制数据的方法。
57.步骤103:基于所述通联特征,构造第一程序。
58.其中,所述第一程序模拟恶意软件向攻击端发送上线信息。
59.在第一程序中设置缓冲区,用于保存待发送的数据包。
60.步骤104:控制所述第一程序与所述攻击端交互获取并记录来自攻击端针对所述被攻击端第一程序的第二命令。
61.具体地,将通联特征中的通联特征具体内容作为待发送内容填充在第一程序的缓冲区中,在缓冲区构建对应交互信息的通信格式的数据包,该数据包和交互信息为同种协议。进一步地,根据通联特征中的ip地址,使用第一程序将数据包发送,使得攻击端判断第一程序为被攻击端,向第一程序发送第二命令,那么,第一程序就可以将第二命令接收并记录,基于此,持续接收并记录攻击端发送的第二命令,就可以完成对攻击端命令的监听。
62.特别的,当通联特征中不包括ip地址,只有域名时,则需要针对域名进行dns解析,获取ip地址。
63.以上操作中通过构造第一程序获取c&c针对恶意软件的第二命令并记录,达到监
听攻击端命令的目的,该第一程序可以同时针对多个攻击端进行监听。避免了在监听过程中,长期运行多个沙箱所导致的大量资源消耗,并且仅针对c&c发出的命令进行监听并记录,避免了沙箱中阻断恶意软件执行命令的步骤。另外,第一程序的构造还可以在c&c失活时(表示攻击端放弃攻击),主动切断连接。
64.基于同一发明构思,本技术实施例中提供一种监听攻击端的装置,该装置与前述图1所示监听攻击端命令的方法对应,该装置的具体实施方式可参见前述方法实施例部分的描述,重复之处不再赘述,参见图2,该装置包括:
65.获取单元201:用于在设定时间范围内使用沙箱运行恶意软件,获取攻击端和被攻击端之间的交互信息。
66.具体地,通常只需要使用几分钟沙箱运行恶意文件就可以获取交互信息。本技术实施例中将设定时间范围设置为3分钟,在这3分钟使用沙箱运行恶意软件的过程中,捕捉(获取)被感染设备和c&c之间的交互信息,即为获取攻击端和被攻击端之间的交互信息。
67.提取单元202:用于基于所述交互信息,提取通联特征;其中,所述通联特征指示攻击端向被攻击端发送的第一命令。
68.具体地,设置第一规则;其中,所述第一规则指示所述交互信息中需要识别并标记的通联特征;基于所述第一规则识别并标记的结果在所述交互信息中提取通联特征;其中,所述通联特征包括攻击端的ip地址或者域名,攻击端的端口,与所述攻击端通信的通信格式,所述第一命令中针对被攻击端的攻击目的和攻击步骤。
69.提取单元202还用于,基于所述第一规则中,所述需要识别的通联特征的开始位置和长度,在所述交互信息中提取所述通联特征。
70.构造单元203:用于基于所述通联特征,构造第一程序;其中,所述第一程序模拟恶意软件向攻击端发送上线信息。
71.具体地,在第一程序中设置缓冲区,用于保存待发送的数据包。
72.控制单元204:用于控制所述第一程序与所述攻击端交互获取并记录来自攻击端针对所述被攻击端第一程序的第二命令。
73.具体地,将通联特征中的通联特征具体内容作为待发送内容填充在第一程序的缓冲区中,在缓冲区构建对应交互信息的通信格式的数据包,该数据包和交互信息为同种协议。进一步地,根据通联特征中的ip地址,使用第一程序将数据包发送,使得攻击端判断第一程序为被攻击端,向第一程序发送第二命令,那么,第一程序就可以接收并记录第二命令,完成对攻击端命令的监听。
74.特别的,当通联特征中不包括ip地址,只有域名时,则需要针对域名进行dns解析,获取ip地址。
75.基于同一发明构思,本技术实施例还提供一种可读存储介质,包括:
76.存储器,
77.所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的监听攻击端命令的方法。
78.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功
能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
79.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
80.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
81.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
82.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash disk)、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
83.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献