一种检测恶意命令的方法及装置制造方法及图纸

技术编号:20363906 阅读:22 留言:0更新日期:2019-02-16 16:59
本发明专利技术实施例提供一种检测恶意命令的方法及装置,所述方法包括:接收来自解释器的命令数据,其中,所述命令数据为用户在解释器所输入的命令或者解释器所运行的脚本文件中的命令;对所述命令数据进行预处理,获得所述命令数据的特征数据,其中,所述特征数据至少包括命令字、命令参数以及路径信息和统一资源定位符URL中的至少一个;基于所述特征数据,计算所述命令数据的特征向量;将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令。如此,通过预先训练的特征模型来进行检测恶意命令,提高了检测准确率。

【技术实现步骤摘要】
一种检测恶意命令的方法及装置
本专利技术涉及计算机安全领域,尤其涉及一种检测恶意命令的方法及装置。
技术介绍
互联网的发展为人们带来了极大的便利,但是,某些破坏者同时也可以利用互联网来攻击他人的用户端、服务器等电子设备。而服务器上往往会存储有大量的机密数据,如果被攻击的话,通常会给用户造成非常严重的损失。因此,为了保证服务器的正常工作,需要实时监控服务器上的操作命令,在检测出恶意操作命令时,以便及时发出告警,来提醒运维人员对该恶意操作命令进行安全审计和处理。目前,审计人员会在审计服务端预先设置多条正则规则,审计服务端为每个IP地址(InternetProtocolAddress,互联网协议地址)维护一个10分钟的滑动窗口,成功匹配规则的命令会放到对应的滑动窗口中,由Fisher分类器给每条成功匹配的命令提供对应的权值。接下来,当一个滑动窗口中全部命令的加权和超出预设阈值时,则确定当前滑动窗口内的命令为恶意命令。在执行上述基于权值和阈值的检测恶意命令的方法的过程中,专利技术人发现上述检测恶意命令的方法的检测准确率较低,导致进行告警时容易出现误报和漏报的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种检测恶意命令的方法及装置,主要目的在于通过预先训练的特征模型来进行恶意命令的检测,提高了检测准确率。为达到上述目的,本专利技术实施例主要提供如下技术方案:第一方面,本专利技术实施例提供一种检测恶意命令的方法,所述方法包括:接收来自解释器的命令数据,其中,所述命令数据为用户在解释器所输入的命令或者解释器所运行的脚本文件中的命令;对所述命令数据进行预处理,获得所述命令数据的特征数据,其中,所述特征数据至少包括命令字、命令参数以及路径信息和统一资源定位符URL中的至少一个;基于所述特征数据,计算所述命令数据的特征向量;将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令。第二方面,本专利技术实施例提供一种检测恶意命令的装置,所述装置包括:接收单元,用于接收来自解释器的命令数据,其中,所述命令数据为用户在解释器所输入的命令或者解释器所运行的脚本文件中的命令;预处理单元,用于对所述命令数据进行预处理,获得所述命令数据的特征数据,其中,所述特征数据至少包括命令字、命令参数以及路径信息和统一资源定位符URL中的至少一个;计算单元,用于基于所述特征数据,计算所述命令数据的特征向量;确定单元,用于将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令。第三方面,本专利技术实施例提供一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述检测恶意命令的方法的步骤。第四方面,本专利技术实施例提供一种检测恶意命令的设备,所述设备至少包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述检测恶意命令的方法的步骤。本专利技术实施例提供的检测恶意命令的方法及装置,在接收到来自解释器的命令数据后,其中,命令数据为用户在解释器所输入的操作命令或者解释器所运行的脚本文件中的操作命令,就会对该命令数据进行预处理,获得该命令数据的特征数据,其中,特征数据至少包括命令字、命令参数以及路径信息和统一资源定位符URL中的至少一个;接下来,就可以基于该特征数据,计算该命令数据的特征向量;最后,将所得到的特征向量输入到预先训练的特征模型中,就可以确定出命令数据是否存在恶意命令,如此,通过命令数据的特征向量和预先训练的特征模型,来检测恶意命令,能够提高检测的准确率,从而,将该方法应用到对恶意命令进行告警的场景时,还能够提高告警的准确率,减少漏报和误报。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术实施例一中的运维审计安全系统的示意图;图2为本专利技术实施例一中的检测恶意命令的方法的流程示意图;图3为本专利技术实施例二中的检测恶意命令的方法的流程示意图;图4为本专利技术实施例三中的检测恶意命令的装置的结构示意图;图5为本专利技术实施例四中的检测恶意命令的设备的结构示意图。具体实施方式下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。实施例一本专利技术实施例提供一种运维审计安全系统,图1为本专利技术实施例一中的运维审计安全系统的示意图,参见图1所示,该运维审计安全系统包括:一个运维服务器10和N个普通服务器,如普通服务器11、普通服务器12和普通服务器13等。其中,N取正整数,如1、2、3等,本专利技术实施例对N的取值不做具体限定。这里,相对而言,普通服务器为用户端设备,用户可以通过命令对系统资源进行操作;而运维服务器为服务器端设备,可以收集普通服务器上的用户行为,即收集用户在普通服务器的命令,以对普通服务器上的用户行为进行安全审计,确保普通服务器的安全。示例性地,当管理人员等在普通服务器对系统资源进行操作时,普通服务器会将所接收到的用户命令上传至运维服务器中,以便审计人员对用户行为进行安全审计。在实际应用中,普通服务器为多用户多任务的,其中,每个用户还可以以普通用户身份、root身份来进行操作使用系统资源。具体来说,用户在登录到系统之后,要启动一个进程,负责将用户的命令传给内核,这个进程是用户登录到系统后运行的命令解释器,也就是说,每个普通服务器上有解释器,用户可以通过该解释器来运行命令对服务器操作系统进行操作。这里,解释器,是一种计算机应用程序,是用户与操作系统之间的桥梁,能够接收、解释并运行用户的命令,将用户的命令传递给操作系统。其中,预先设定的能完成特定操作和任务的字符串,都可以称为“命令”。命令只代表了实现某一类功能的指令和程序的名称。在实际应用中,当所要运行的命令的类型为Linux命令时,该解释器可以为sh(BourneShell)、bash(BourneAgainShell)、csh(CShell)、ksh(KShell)等Shell解释器。当然,根据所要运行的命令类型的不同,还可以为其它类型的命令解释器,可由本领域技术人员根据具体实施情况来确定,这里,本专利技术实施例对解释器的类型不做具体限定。结合上述运维审计安全系统,本专利技术实施例提供一种检测恶意命令的方法,该检测恶意命令的方法的执行主体为运维服务器。该检测恶意命令的方法可以应用于各种需要审计命令数据的场合。那么,图2为本专利技术实施例一中的检测恶意命令的方法的流程示意图,参见图2所示,该检测恶意命令的方法包括:S201:接收来自解释器的命令数据;其中,命令数据为用户在解释器所输入的命令或者解释器所运行的脚本文件中的命令。在实际应用中,这里的命令是指广义的Linux命令,包括Shell命令和Linux命令。示例性地,以普通服务器上的解释器是bash为例,在用户在普通服务器上的bash中输入命令后,普通服务器可以将该本文档来自技高网...

【技术保护点】
1.一种检测恶意命令的方法,其特征在于,所述方法包括:接收来自解释器的命令数据,其中,所述命令数据为用户在解释器所输入的命令或者解释器所运行的脚本文件中的命令;对所述命令数据进行预处理,获得所述命令数据的特征数据,其中,所述特征数据至少包括命令字、命令参数以及路径信息和统一资源定位符URL中的至少一个;基于所述特征数据,计算所述命令数据的特征向量;将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令。

【技术特征摘要】
1.一种检测恶意命令的方法,其特征在于,所述方法包括:接收来自解释器的命令数据,其中,所述命令数据为用户在解释器所输入的命令或者解释器所运行的脚本文件中的命令;对所述命令数据进行预处理,获得所述命令数据的特征数据,其中,所述特征数据至少包括命令字、命令参数以及路径信息和统一资源定位符URL中的至少一个;基于所述特征数据,计算所述命令数据的特征向量;将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令。2.根据权利要求1所述的方法,其特征在于,在所述将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令之后,所述方法还包括:如果所述命令数据中存在恶意命令,则基于所述恶意命令,生成并输出告警信息。3.根据权利要求1或2所述的方法,其特征在于,所述对所述命令数据进行预处理,获得所述命令数据的特征数据,包括:基于预设字段对所述命令数据进行切分,获得至少两个第一数据片段,其中,所述预设字段至少包括主机字段、解释器的进程编号字段、用户字段和命令字段;将所述至少两个第一数据片段中满足预设条件的第一数据片段组成第二数据片段,获得至少一个第二数据片段;分别将每一个第二数据片段与预设的正则表达式进行匹配,获得每一个第二数据片段的特征数据。4.根据权利要求3所述的方法,其特征在于,所述基于所述特征数据,计算所述命令数据的特征向量,包括:针对所述每一个第二数据片段的特征数据,按照预设策略,生成所述每一个第二数据片段对应的词库;至少基于所述词库,按照预设的向量化算法,分别将所述每一个第二数据片段向量化,获得所述每一个第二数据片段的特征向量。5.根据权利要求4所述的方法,其特征在于,所述将所述特征向量输入到预先训练的特征模型中,确定所述命令数据是否存在恶意命令,包括:分别将所述每一个第二数据片段的特征向量输入到所述预先训练的特征模型中,获得每一个第二数据片段的输出值;如果所述至少一个第二数据片段中存在输出值为预设第一值的第二数据片段,则确定所述命令数据中存在恶意命令;否...

【专利技术属性】
技术研发人员:焦煦然
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1