一种远程命令检测方法、装置及电子设备与流程

文档序号:25349450发布日期:2021-06-08 13:03阅读:109来源:国知局
一种远程命令检测方法、装置及电子设备与流程

1.本发明涉及网络安全领域,特别涉及一种远程命令检测方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.远程命令是由若干用于远程控制的方法组成的命令工具,原先为网络管理人员和开发人员设置,每种远程命令均拥有丰富的远程控制功能。由于远程命令易于实现对计算机的远程控制,因此远程命令也常常被网络攻击人员用于内部网络攻击。网络攻击人员利用远程命令可轻松实现对内部网络计算机的远程控制,同时也可将恶意的远程命令隐藏于正常的内部网络管理中。因此在网络安全检测中,对远程命令的检测尤为重要。
3.目前,对恶意的远程命令检测主要针对于是否存在调用远程命令的方法,当远程命令的方法被调用时则执行相应的告警操作。由于在内网管理场景中也存在使用远程命令方法的情况,因此该方法难以区分正常的远程命令和恶意的远程命令,降低了恶意远程命令检测的准确度。


技术实现要素:

4.本发明的目的是提供一种远程命令检测方法、装置、电子设备及计算机可读存储介质,可以对远程命令方法调用信息中包含的参数信息进行检测,并利用参数信息的检测结果有效区分正常远程命令及恶意远程命令。
5.为解决上述技术问题,本发明提供一种远程命令检测方法,包括:
6.获取远程命令的方法调用信息;
7.对所述方法调用信息中的参数信息执行对应的参数检测操作,确定所述参数信息中是否包含恶意信息;
8.若所述参数信息中包含所述恶意信息,则判定所述远程命令为恶意远程命令。
9.可选地,在获取远程命令的方法调用信息之后,在对所述方法调用信息中的参数信息执行对应的参数检测操作之前,还包括:
10.利用预设风险方法类型判断所述方法调用信息使用的方法是否为风险方法;
11.若是,则执行所述对所述方法调用信息中的参数信息执行对应的参数检测操作的步骤。
12.可选地,所述获取远程命令的方法调用信息,包括:
13.根据管道类型获取不同远程命令的方法调用信息。
14.可选地,所述对所述方法调用信息中的参数信息执行对应的参数检测操作,确定所述参数信息中是否包含恶意信息,包括:
15.检测所述方法调用信息中的参数信息是否加密;
16.当所述参数信息加密时,对所述参数信息执行加密参数检测操作,确定所述参数信息中是否包含恶意信息;
17.当所述参数信息未加密时,对所述参数信息执行明文参数检测操作,确定所述参数信息中是否包含恶意信息。
18.可选地,所述对所述参数信息执行加密参数检测操作,以确定所述参数信息中是否包含恶意信息,包括:
19.利用异常操作模型对所述参数信息对应的函数操作码进行检测,确定所述参数信息中是否包含恶意信息。
20.可选地,所述利用异常操作模型对所述参数信息对应的函数操作码进行检测,包括:
21.利用所述参数信息中对应的函数操作码确定所述参数信息中包含的执行函数及函数执行顺序;
22.利用所述异常操作模型对所述执行函数及所述函数执行顺序进行检测;
23.当所述执行函数及所述函数执行顺序符合所述异常操作模型要求时,确定所述参数信息中包含恶意信息。
24.可选地,所述对所述参数信息执行明文参数检测操作,确定所述参数信息中是否包含恶意信息,包括:
25.利用特征字典对所述参数信息中的字段进行检测;
26.当所述特征字典中存在所述字段时,确定所述参数信息中包含恶意信息。
27.本发明还提供一种远程命令检测装置,包括:
28.获取模块,用于获取远程命令的方法调用信息;
29.参数检测模块,用于对所述方法调用信息中的参数信息执行对应的参数检测操作,确定所述参数信息中是否包含恶意信息;
30.恶意判定模块,用于判定所述远程命令为恶意远程命令。
31.本发明还提供一种电子设备,包括:
32.存储器,用于存储计算机程序;
33.处理器,用于执行所述计算机程序时实现如上述所述的远程命令检测方法。
34.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的远程命令检测方法。
35.本发明提供了一种远程命令检测方法,包括:获取远程命令的方法调用信息;对所述方法调用信息中的参数信息执行对应的参数检测操作,确定所述参数信息中是否包含恶意信息;若所述参数信息中包含所述恶意信息,则判定所述远程命令为恶意远程命令。
36.可见,本方法利用远程命令方法调用信息中的参数信息对正常远程命令和恶意远程命令进行区分。由于正常的内网管理场景及恶意的网络渗透场景均可能调用远程命令中的方法,但在恶意调用的方法会在参数信息中包含用于网络攻击的恶意信息,因此对远程命令方法调用信息中的参数信息进行检测,可有效区分正常的远程命令方法和恶意的远程命令方法。同时,考虑到参数信息可能具有多种类型,采用相同的参数检测操作可能无法覆盖各种类型的参数信息,因此本发明对参数信息执行对应的参数检测操作,可有效提取各种类型的参数信息中的恶意信息,并最终可有效地区分正常远程命令及恶意远程命令,提升恶意远程命令检测的准确度。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本发明实施例所提供的一种远程命令检测方法的流程图;
39.图2为本发明实施例所提供的另一种远程命令检测方法的流程图;
40.图3为本发明实施例所提供的一种远程命令检测装置的结构框图。
具体实施方式
41.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.远程过程调用(rpc,remote procedure call)是一种通过网络从远程计算机上请求服务的协议。由于利用远程过程调用协议对远程计算机进行远程操作时,可实现如同在本地计算机上进行操作的效果,因此远程过程调用协议常被用于各种远程控制场景,例如利用远程命令进行内部网络管理。远程命令是由若干用于远程控制的方法组成的命令工具,原先为网络管理人员和开发人员设置,每种远程命令均拥有丰富的远程控制功能,为网络管理人员和开发人员提供方便。由于远程命令的功能基于远程过程调用协议进行实现,便于实现对计算机的远程控制,因此远程命令也常常被网络攻击人员用于内部网络攻击。网络攻击人员利用远程命令可轻松实现对内部网络计算机的远程控制,同时也可将恶意的远程命令操作隐藏于正常的内部网络管理操作中。因此在网络安全检测中,对远程命令的检测尤为重要。
43.目前,远程命令检测采取的办法为对远程命令中的方法的使用情况进行检测,当检测到这些方法被使用时执行相应的告警操作。由于远程命令原先的应用场景之一为网络管理,在正常的内部网络管理场景中也可能会使用到这些方法,因此采取这种办法检测远程命令难以区分正常的远程命令及恶意的远程命令,进而可能产生大量的错误告警信息,增加了网络管理人员定位恶意远程命令的难度并降低了工作效率。有鉴于此,本发明采用对远程命令中的方法所携带的参数信息进行检测,可有效地区分正常的远程命令及恶意的远程命令,进而降低错误告警信息量,并提升网络管理人员定位恶意远程命令的效率。请参考图1,图1为本发明实施例所提供的一种远程命令检测方法的流程图,该方法可以包括:
44.s100、获取远程命令的方法调用信息。
45.方法调用信息是指调用方法所要提供的信息,包括方法的名称及参数信息。方法(method)是与对象相关联的、通过对象进行调用的函数,在调用方法时需要同时包含方法名称及该方法对应的参数信息,由于远程命令包含了大量用于远程控制的方法,而这些方法均有被恶意使用的可能性,因此在本发明实施例中首先需要获取调用方法的方法调用信息,并对该信息进行检测;参数信息(parameter),是指调用方法时为该方法提供的输入值,参数信息中包含的数据可以是常量、变量、表达式或是多种数据的组合,也可以是一小段可
执行的脚本代码。各种参数信息的长短不一,包含的内容也不同。由于参数信息的可编辑程度较高,因此网络攻击人员会使用在参数信息中添加恶意信息的方式进行网络攻击,其中恶意信息指用于网络攻击的代码信息。本发明实施例针对方法调用信息中的参数信息进行检测,可有效检测出包含恶意信息的方法调用信息,进而有效区分正常的远程命令及恶意的远程命令。
46.需要说明的是,本发明实施例并不限定具体的远程命令,例如可以为wmi、psexec、dcom或其他种类的远程命令,其中wmi(windows mangement instrumentation)是windows操作系统中管理数据和操作的基础模块,可通过wmi脚本或应用程序管理远程计算机上的资源,psexec是一个轻量的telnet替代工具,无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性,dcom(distributed component object model)是一系列微软的概念和程序接口,利用这些接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。本发明实施例也不限定需要检测的远程命令的种类,当对一个远程命令进行检测可有效避免恶意的远程命令时,可以只对一种远程命令进行检测,当对一种远程命令进行检测无法有效实现恶意远程命令检测时,也可以对多种远程命令进行检测。由于远程命令的数量较多,且每种远程命令都存在被恶意使用的可能性,因此在本发明实施例中,可以对多种远程命令进行检测。
47.本发明实施例并不限定获取远程命令的方法调用信息的方式,例如可以通过读取管道数据流的方式获取,或者通过读取日志获取,也可以通过其他方式获取,其中,管道(pipeline)是一系列将标准输入输出链接起来的进程,其中每一个进程被直接作为下一个进程的输入。由于管道用于传输数据流,通过管道获取可有效在方法调用信息对应操作被执行之前对该方法调用信息进行检查,以确保计算机不被恶意远程命令破坏,因此在本发明实施例中,可以采用读取管道数据流的方式获取远程命令的方法调用信息。进一步,本发明实施例并不限定是否只通过一种管道获取远程命令的方法调用信息,当各种远程命令均利用同一种管道进行数据传输时,可以只通过一种管道获取方法调用信息,当各种远程命令通过多种管道进行数据传输时,也可以通过多种管道获取不同远程命令的调用信息。由于各种远程命令利用不同的管道实现远程控制功能,例如peexec利用svcctl管道实现远程控制功能,wmi利用iwbemservices管道实现远程控制功能,dcom利用idispatch管道实现远程控制功能,因此在本发明实施例中,可以通过多种管道获取不同远程命令的调用信息,其中,svcctl、iwbemservices和idispatch均为dce/rpc协议提供的管道,dce/rpc(distributed computing environment/remote procedure calls)是一种用于分布式架构的远程调用过程协议。
48.进一步,本发明实施例并不限定是否需要对多种远程命令的方法调用信息根据远程命令类型进行区分。当可以统一对所有方法调用信息执行相同检测时,可以不需要将方法调用信息根据远程命令的类型进行区分,当每种远程命令包含的方法存在较大差异,需要对不同远程命令的方法调用信息进行不同检测时,也可以将方法调用信息根据远程命令的类型进行区分。本发明实施例也不限定根据远程命令类型区分方法调用信息的具体方式,例如根据远程命令对应的方法名单筛选方法调用信息,也可以根据远程命令使用的管道的类型进行区分。由于根据管道类型区分远程命令的方法调用信息易于实现且效果较好,因此在本发明实施例中可以利用管道类型区分远程命令的方法调用信息。
49.在一种可能的情况中,获取远程命令的方法调用信息可以包括:
50.步骤10:根据管道类型获取不同远程命令的方法调用信息。
51.进一步,本发明实施例并不限定方法调用信息的具体形式,方法调用信息的具体实现形式与对应的远程方法相关,用户可参考远程方法的相关技术。可以理解的是,这些方法调用信息均包含参数信息,因此本发明实施例对参数信息检测可有效覆盖各种类型的方法调用信息。
52.本发明实施例也不限定是否需要对方法调用信息进行筛选以进行针对性检测,当对所有方法的方法调用信息进行检测可保证检测效率时,可以不进行筛选;当需要提升效率并进行针对性检测时,也可以对方法调用信息进行筛选。由于远程命令包含的方法较多,同时一些方法常被用于恶意远程控制,针对性检测可有效提升恶意远程命令检测的效率,因此在本发明实施例中,可对方法调用信息进行筛选。本发明实施例也不限定筛选方法调用信息的方式,本发明实施例也不限定对风险方法的方法调用信息进行筛选的具体方法,例如可以利用预设风险方法类型对方法调用信息对应的方法类型进行判断,当该方法类型符合预设风险方法类型的要求时对该方法调用信息进行保留;也可以是利用预设方法白名单对方法调用信息对应的方法类型进行判断,当该方法类型不符合预设方法白名单的要求时对该方法调用信息进行保留。由于采用预设风险方法类型进行判断易于实现和管理,因此在本发明实施例中可以利用预设风险方法类型对方法调用信息对应的方法类型进行判断。
53.s101、对方法调用信息中的参数信息执行对应的参数检测操作,确定参数信息中是否包含恶意信息。
54.目前,对恶意远程命令的检测方式为检测远程命令中包含的方法是否被使用,当这些方法被使用时则执行告警操作。这种方式难以区分正常的远程命令和恶意的远程命令,这是由于在正常的内网管理场景中这些方法也可能被用到,单纯根据是否使用这些方法进行检测难以实现正常远程命令和恶意远程命令的区分。经研究后发现,由于每种方法调用信息均包含参数信息,同时恶意的远程命令将会在参数信息中携带恶意信息,因此本发明针对方法调用信息中的参数信息进行检测,当检测到恶意信息时判定方法调用信息对应的远程命令为恶意远程命令,可有效地区分正常的远程命令和恶意的远程命令。
55.可以理解的是,由于参数信息中包含的数据可以是常量、变量、表达式或是多种数据的组合,也可以是一小段可执行的脚本代码,因此参数信息的形式并不固定,可自由变化。同时,由于在调用远程命令中的不同方法时使用的参数信息并不相同,在每次调用远程命令中的相同方法时使用的参数信息也可能不相同,因此参数信息的内容也不固定,可自由变化。
56.需要说明的是,本发明实施例并不限定恶意信息的形式及具体内容,用户可根据实际应用需求进行设定,只要恶意信息的内容可以表示对计算机进行攻击的操作即可,例如调用powershell进行命令执行的操作,或利用cmd进行命令执行的操作,其中powershell是一种命令行外壳程序和脚本环境,cmd称为命令提示符,是在操作系统中提示进行命令输入的一种工作提示符。由于参数信息可自由变化形式及内容,因此在参数信息中包含的恶意信息也应当具有可自由变化的形式及内容。
57.进一步,本发明实施例并不限定是否需要对各种参数信息执行相同的参数检测操
作。当对各种类型的参数执行相同的参数检测操作可以满足检测需求时,可以对各种参数信息执行相同的参数检测操作;当执行相同的参数检测操作难以覆盖各种类型的参数信息时,也可以对各种参数信息执行不同的参数检测操作。考虑到参数信息具有自由的形式及内容,同时不同方法调用信息中可能包含不同的参数信息,因此在本发明实施例中可以对各种参数信息执行不同的参数检测操作。本发明实施例也不限定根据参数信息的哪种信息执行不同的参数检测操作,例如可以根据参数信息对应的远程命令的类型执行不同的参数检测操作,也可以根据参数信息的形式是否为脚本代码执行不同的参数检测操作;当参数信息支持加密时,也可以根据参数信息是否加密执行不同的参数检测操作。本发明实施例也不限定每种参数检测操作的具体过程,该过程与执行不同参数检测操作的依据有关,用户可根据实际应用情况进行设置。
58.s102、若参数信息中包含恶意信息,则判定远程命令为恶意远程命令。
59.需要说明的是,本发明实施例并不限定判定远程命令为恶意远程命令之后的操作,例如可以禁止该参数信息对应的远程命令,也可以为生成提示存在恶意远程命令的告警信息,也可以为其他操作,当然,判定远程命令为恶意远程命令后的操作也可以为多种操作的组合。
60.基于上述实施例,本方法利用远程命令方法调用信息中的参数信息对正常远程命令和恶意远程命令进行区分。由于正常的内网管理场景及恶意的网络渗透场景均可能调用远程命令中的方法,但在恶意调用的方法会在参数信息中包含用于网络攻击的恶意信息,因此对远程命令方法调用信息中的参数信息进行检测可有效区分正常的远程命令方法和恶意的远程命令方法。同时,考虑到参数信息可能具有多种类型,采用相同的参数检测操作可能无法覆盖各种类型的参数信息,因此本发明对参数信息执行对应的参数检测操作,可有效提取各种类型的参数信息中的恶意信息,并最终可有效地区分正常远程命令及恶意远程命令,提升恶意远程命令检测的准确度。
61.基于上述实施例,由于远程命令支持参数信息加密,若对明文参数信息和加密参数信息执行相同的参数检测操作难以完全覆盖这两种参数信息,因此在本实施例中,可以根据参数信息是否加密执行不同的参数检测操作。在一种可能的情况中,对方法调用信息中的参数信息执行对应的参数检测操作,确定参数信息中是否包含恶意信息,可以包括:
62.s200、检测方法调用信息中的参数信息是否加密。
63.由于远程命令支持参数信息加密,例如wmi支持payload加密,而对明文参数信息和加密参数信息执行相同的参数检测操作难以实现同时对两种参数信息有效检测,因此在本发明实施例中首先对参数信息是否加密进行判定,若参数信息已加密,则执行检测加密参数信息的加密参数检测操作,若参数信息未加密,则执行检测明文参数信息的明文参数检测操作。其中,payload表示有效数据负载,在wmi中payload的形式为脚本代码。
64.需要说明的是,本发明实施例并不限定为参数信息进行加密的加密方法,用户可参考参数信息加密的相关技术,本发明实施例也不限定检测参数信息是否加密的具体方法,用户可参考检测参数信息是否加密的具体方法,例如对参数信息中的字段进行检测,或者利用内部网络管理中已有的密钥进行检测等,只要能够有效区分明文参数信息和加密参数信息即可。
65.s201、当参数信息加密时,对参数信息执行加密参数检测操作,确定参数信息中是
否包含恶意信息。
66.需要说明的是,本发明实施例并不限定加密参数检测操作的检测对象,例如可以为加密参数信息所使用的密钥信息,也可以为加密参数信息对应的代表函数信息的函数操作码,也可以为其他检测对象,其中,函数(function)是指一段可以直接被另一端程序或代码引用的程序或代码。本发明实施例也不限定加密参数检测操作的具体过程,该过程与加密参数检测的检测对象有关,用户可根据具体选择的检测对象进行设置,例如当检测对象为密钥信息时,可以检测参数信息所使用的密钥信息是否为已有的内网密钥信息,若否则可判定参数信息中包含恶意信息,当检测对象为代表函数信息的函数操作码时,也可通过检测函数操作码的方式确定加密信息使用了哪些函数,并根据函数类型确定参数信息中是否包含恶意信息。考虑到对函数操作码进行检测可有效对各种加密类型的参数信息进行检测,可提升加密参数检测操作的准确性和可靠性,因此在本发明实施例中可对参数信息中包含的代表函数信息的函数操作码进行检测。
67.在一种可能的情况中,对参数信息执行加密参数检测操作,以确定参数信息中是否包含恶意信息,可以包括:
68.步骤20:利用异常操作模型对参数信息对应的函数操作码进行检测,确定参数信息中是否包含恶意信息。
69.由于利用参数信息执行函数操作时,函数的调用是通过函数操作码(opnum)表示的,因此对加密的参数信息对应的函数操作码进行检测,可有效确定参数信息中执行了哪些类型的函数,并可进一步利用函数信息确定参数信息中是否包含恶意信息。
70.需要说明的是,本发明实施例并不限定异常操作模型对函数操作码进行检测的具体检测方式,例如可以是对函数操作码对应的函数类型进行检测,可以是对函数操作码对应的函数执行顺序进行检测,也可以是其他检测方式,当然也可以是多种检测方式的组合。本发明实施例也不限定异常操作检测模型的具体检测过程,该过程与异常检测模型的具体检测方式有关,用户可根据具体选择的检测方式进行设置。由于在利用加密的参数信息执行内部网络计算机攻击时,网络攻击人员会按照一定的顺序执行函数操作,因此在本发明实施例中,可以检测函数操作码对应的函数类型及函数执行顺序,以此确定加密的参数信息中是否包含恶意信息。
71.本发明实施例也不限定异常操作模型的实现形式,例如异常操作模型可以为利用数学建模实现的数学模型,也可以为基于机器学习模型的检测模型,也可以为其他形式,只要异常操作模型能够有效利用函数操作码确定加密的参数信息中是否包含有恶意信息即可。
72.在一种可能的情况中,利用异常操作模型对参数信息对应的函数操作码进行检测,可以包括:
73.步骤30:利用参数信息中对应的函数操作码确定参数信息中包含的执行函数及函数执行顺序;
74.步骤31:利用异常操作模型对执行函数及函数执行顺序进行检测;
75.步骤32:当执行函数及函数执行顺序符合异常操作模型要求时,确定参数信息中包含恶意信息。
76.需要说明的是,本发明实施例并不限定函数操作码的获取方式,用户可参考执行
函数操作的相关技术。
77.s202、当参数信息未加密时,对参数信息执行明文参数检测操作,确定参数信息中是否包含恶意信息。
78.需要说明的是,本发明实施例并不限定明文参数检测操作的检测对象,例如可以为参数信息中的字段信息,也可以为参数信息中使用的函数信息,也可以为其他检测对象。由于对字段信息的检测可快速判定未加密的参数信息中是否包含恶意信息,因此在本发明实施例中明文参数检测操作的检测对象可以为参数信息中的字段信息。本发明实施例也不限定明文参数检测操作的具体过程,例如可以使用包含恶意信息的特征字典对参数信息中的字段进行检测,也可以采用其他字段信息检测方式。
79.对参数信息执行明文参数检测操作,确定所述参数信息中是否包含恶意信息的过程可以包括:
80.步骤40:利用特征字典对参数信息中的字段进行检测;
81.步骤41:当特征字典中存在字段时,确定参数信息中包含恶意信息。
82.需要说明的是,本发明实施例并不限定特征字典的具体形式和具体内容,只要特征字典中可以包含各种恶意信息的内容即可,用户可根据实际应用需求进行设置。
83.基于上述实施例,本方法根据参数信息的加密情况执行不同的参数检测操作。由于远程命令支持参数信息加密,若对加密的参数信息和未加密的参数信息执行相同的参数检测操作将难以完全覆盖这两种参数信息,进而难以确定参数信息中是否包含恶意信息。因此在本发明实施例中根据参数信息是否加密对参数信息执行不同的参数检测操作,可确保无论参数信息加密与否都能得到有效可靠的检测,并能有效提取参数信息中可能包含的恶意信息。
84.基于上述实施例,当需要提升方法调用信息的检测效率时,可以对方法调用信息进行筛选以进行针对性检测。本发明实施例将介绍筛选方法调用信息的过程。在一种可能的情况中,在获取远程命令的方法调用信息之后,在对方法调用信息中的参数信息执行对应的参数检测操作之前,还可以包括:
85.s500、利用预设风险方法类型判断方法调用信息使用的方法是否为风险方法;若是,则进入步骤s501;若否,则进入步骤s502。
86.由于远程命令包含的方法较多,同时一些方法常被用于执行恶意远程控制,因此可利用预设风险方法类型对方法调用信息进行筛选,当方法调用信息对应的方法的类型符合预设风险方法类型时,便可判定该方法为风险方法,并对该方法对应的方法调用信息执行有针对性的检测。
87.需要说明的是,本发明实施例并不限定预设风险方法类型的具体内容,该内容与远程命令包含的方法有关,用户可参考远程命令的相关技术,并根据实际需求进行设置。本发明实施例也不限定预设风险方法类型的具体实现形式,只要该形式可以包含预设风险方法类型中的内容即可。
88.s501、执行对方法调用信息中的参数信息执行对应的参数检测操作的步骤。
89.对步骤s501和步骤s502的限定描述与上述实施例相同,可参见上述实施例,此处不再赘述。
90.s502、不执行对方法调用信息中的参数信息执行对应的参数检测操作的步骤。
91.基于上述实施例,本方法可以对方法调用信息进行筛选以提取出具有被恶意使用风险的方法调用信息,并对这些方法调用信息执行有针对性的参数检测操作。由于远程命令包含的方法较多,同时一些方法常被用于恶意远程控制,因此本发明实施例可有效提升恶意远程命令检测的效率。
92.下面基于一个具体的流程图解释上述远程命令检测方法。请参考图2,图2为本发明实施例提供所提供的另一种远程命令检测方法的流程图。
93.1、根据管道类型获取不同的远程命令的方法调用信息。
94.由于不同的远程命令使用不同类型的管道实现数据传输,因此可根据管道类型获取不同的远程命令的方法调用信息,例如peexec远程命令可通过svcctl管道获取,wmi远程命令可通过iwbemservices管道获取,dcom远程命令可通过idispatch获取。
95.2、利用预设风险方法类型判断方法调用信息使用的方法是否为风险方法,若是,则执行步骤3,若否则退出流程。
96.该步骤旨在对方法调用信息进行筛选,提取风险方法对应的方法调用信息,并对风险方法的方法调用信息进行检测,以提升恶意远程命令检测的效率。
97.3、检测方法调用信息中的参数信息是否加密,若是,则执行步骤4,若否则执行步骤7。
98.该步骤旨在根据参数信息的加密情况执行不同的参数检测操作。
99.4、利用参数信息中对应的函数操作码确定参数信息中包含的执行函数及函数执行顺序。
100.5、利用异常操作模型对执行函数及所述函数执行顺序进行检测。
101.6、当执行函数及函数执行顺序符合所述异常操作模型要求时,确定参数信息中包含恶意信息,并结束流程。
102.7、利用特征字典对参数信息中的字段进行检测。
103.8、当特征字典中存在该字段时,确定参数信息中包含恶意信息,并结束流程。
104.下面对本发明实施例提供的一种远程命令检测装置、电子设备及计算机可读存储介质进行介绍,下文描述的远程命令检测装置、电子设备及计算机可读存储介质与上文描述的远程命令检测方法可相互对应参照。
105.请参考图3,图3为本发明实施例所提供的一种远程命令检测装置的结构框图,该装置可以包括:
106.获取模块400,用于获取远程命令的方法调用信息;
107.参数检测模块401,用于对方法调用信息中的参数信息执行对应的参数检测操作,确定参数信息中是否包含恶意信息;
108.恶意判定模块402,用于判定远程命令为恶意远程命令。
109.基于上述实施例,本装置利用远程命令方法调用信息中的参数信息对正常远程命令和恶意远程命令进行区分。由于正常的内网管理场景及恶意的网络渗透场景均可能调用远程命令中的方法,但在恶意调用的方法会在参数信息中包含用于网络攻击的恶意信息,因此对远程命令方法调用信息中的参数信息进行检测可有效区分正常的远程命令方法和恶意的远程命令方法。同时,考虑到参数信息可能具有多种类型,采用相同的参数检测操作可能无法覆盖各种类型的参数信息,因此本发明对参数信息执行对应的参数检测操作,可
有效提取各种类型的参数信息中的恶意信息,并最终可有效地区分正常远程命令及恶意远程命令,提升恶意远程命令检测的准确度。
110.优选地,该装置还可以包括:
111.风险判定模块,用于利用预设风险方法类型判断方法调用信息使用的方法是否为风险方法;
112.优选地,获取模块400可以包括:
113.获取子模块,用于根据管道类型获取不同远程命令的方法调用信息。
114.优选地,参数检测模块401可以包括:
115.加密检测子模块,用于检测方法调用信息中的参数信息是否加密;
116.加密参数检测子模块,用于当参数信息加密时,对参数信息执行加密参数检测操作,确定参数信息中是否包含恶意信息;
117.明文参数检测子模块,用于当参数信息未加密时,对参数信息执行明文参数检测操作,确定参数信息中是否包含恶意信息。
118.优选地,加密参数检测子模块可以包括:
119.异常检测单元,用于利用异常操作模型对参数信息对应的函数操作码进行检测,确定参数信息中是否包含恶意信息。
120.优选地,函数操作码检测单元可以包括:
121.执行函数确定子单元,用于利用参数信息中对应的函数操作码确定参数信息中包含的执行函数及函数执行顺序;
122.异常检测子单元,用于利用异常操作模型对执行函数及函数执行顺序进行检测。
123.优选地,明文参数检测子模块可以包括:
124.特征检测单元,用于利用特征字典对参数信息中的字段进行检测。
125.本发明实施例还提供了一种电子设备,该电子设备可以包括:
126.存储器,用于存储计算机程序;
127.处理器,用于执行计算机程序时实现上述方法实施例的远程命令检测方法。
128.本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的远程命令检测方法的步骤。
129.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
130.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
131.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本发明的范围。
132.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
133.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
134.以上对本发明所提供的一种远程命令检测方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1