CN117009832A - 异常命令的检测方法、装置、电子设备及存储介质 - Google Patents

异常命令的检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117009832A
CN117009832A CN202211162933.1A CN202211162933A CN117009832A CN 117009832 A CN117009832 A CN 117009832A CN 202211162933 A CN202211162933 A CN 202211162933A CN 117009832 A CN117009832 A CN 117009832A
Authority
CN
China
Prior art keywords
command information
target
command
abnormal
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211162933.1A
Other languages
English (en)
Inventor
韩孟玲
杨琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211162933.1A priority Critical patent/CN117009832A/zh
Publication of CN117009832A publication Critical patent/CN117009832A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种异常命令的检测方法、装置、电子设备及存储介质。该方法检测目标命令信息是否符合执行设备的历史使用习惯,当二者存在不匹配的情况时,确定目标命令信息存在行为异常。并且还在全局命令信息库中,对目标命令信息进行聚类,确定目标命令信息所属的目标聚类簇,基于聚类结果可以确定命令信息在全局的执行分布情况,有助于判断目标命令信息是否存在类别异常。当确定出目标命令信息同时存在行为异常和类别异常时,可以确定其为异常命令。本申请可以提高异常命令检测的效率,降低检测的成本,减少误判、漏判的情况发生,可提高异常命令的检测准确度,有利于改善设备的使用体验。本申请的技术方案可广泛应用于安全检测技术领域。

Description

异常命令的检测方法、装置、电子设备及存储介质
技术领域
本申请涉及安全检测技术领域,特别是涉及一种异常命令的检测方法、装置、电子设备及存储介质。
背景技术
当下,计算机技术的高速发展,给人们的工作、生活以及娱乐带来了丰富多彩的体验。一般来说,终端或者服务器等设备,可以通过接收使用者触发的命令,执行对应的业务流程,从而满足正常的使用需求。然而,在实际运行中,设备往往会存在接收到异常命令的情况,比如说黑客渗透服务器后恶意下发异常命令,或者终端的账号信息被攻击者盗用,攻击者登录后触发异常命令等。若设备执行异常命令,可能会给使用者带来损失,或者影响设备的正常运行。
相关技术中,为了实现对异常命令的检测和拦截,一般采用的方式是预先设定相应的匹配规则,例如设定哪些命令的类型属于敏感操作类型,哪些文件属于敏感文件等,形成异常命令规则库。然后在接收到命令后,在设定好的异常命令规则库中遍历查找是否有匹配的结果,从而判断出当前的命令是否为异常命令。但是,这种实现方式设定的匹配规则依赖大量的经验总结,缺乏灵活性,在面临复杂的应用环境时经常存在有误判、漏判的情况,准确度偏低。
发明内容
本申请实施例提供了一种异常命令的检测方法、装置、电子设备及存储介质,能够提高异常命令的检测准确度,有利于改善设备的使用体验。
一方面,本申请实施例提供了一种异常命令的检测方法,包括:
获取待检测的目标命令信息;
对所述目标命令信息和历史命令信息进行匹配,确定所述目标命令信息是否存在行为异常;其中,所述历史命令信息为所述目标命令信息的执行设备在历史时间段执行过的命令信息;
在全局命令信息库中对所述目标命令信息进行聚类,确定所述目标命令信息所属的目标聚类簇;
根据所述目标聚类簇,确定所述目标命令信息是否存在类别异常;
当所述目标命令信息存在行为异常和类别异常,确定所述目标命令信息为异常命令。
另一方面,本申请实施例还提供了一种异常命令的检测装置,包括:
获取单元,用于获取待检测的目标命令信息;
匹配单元,用于对所述目标命令信息和历史命令信息进行匹配,确定所述目标命令信息是否存在行为异常;其中,所述历史命令信息为所述目标命令信息的执行设备在历史时间段执行过的命令信息;
聚类单元,用于在全局命令信息库中对所述目标命令信息进行聚类,确定所述目标命令信息所属的目标聚类簇;
处理单元,用于根据所述目标聚类簇,确定所述目标命令信息是否存在类别异常;
识别单元,用于当所述目标命令信息存在行为异常和类别异常,确定所述目标命令信息为异常命令。
进一步,上述异常命令的检测装置还包括预处理单元,所述预处理单元用于:
将所述目标命令信息中的参数替换为预设的字符串;
或者,删除所述目标命令信息中的符号内容。
进一步,上述匹配单元具体用于:
根据各个所述历史命令信息,确定与所述目标命令信息匹配的相似命令集合;
若所述相似命令集合中的历史命令信息的个数小于第一预设个数阈值,确定所述目标命令信息存在行为异常;或者,若所述相似命令集合中的历史命令信息所分布的历史时间段小于预设周期阈值,确定所述目标命令信息存在行为异常。
进一步,上述匹配单元具体用于:
计算各个所述历史命令信息和所述目标命令信息之间的第一相似度;
选取所述第一相似度大于第一预设阈值的历史命令信息,得到所述相似命令集合。
进一步,上述匹配单元具体用于:
提取所述目标命令信息的第一行为特征,对所述第一行为特征和第二行为特征进行匹配;其中,所述第二行为特征通过历史命令信息提取得到;
若所述第一行为特征和所述第二行为特征匹配失败,确定所述目标命令信息存在行为异常。
进一步,所述全局命令信息库中包括多个第一命令信息;上述异常命令的检测装置还包括信息库建立单元,所述信息库建立单元用于:
获取多个执行设备接收到的第一命令信息;
提取各个所述第一命令信息的第一特征向量;
根据所述第一特征向量对各个所述第一命令信息进行聚类,得到至少一个参照聚类簇,并计算所述参照聚类簇的簇心坐标;
记录各个所述第一命令信息所属的参照聚类簇以及各个所述参照聚类簇的簇心坐标,得到所述全局信息库。
进一步,上述信息库建立单元具体用于:
对所述第一命令信息进行分词处理,得到命令序列;所述命令序列中包括多个字符元素;
确定各个所述字符元素的子特征向量;
对所述子特征向量进行融合处理,得到所述第一命令信息的第一特征向量。
进一步,上述信息库建立单元具体用于:
对各个所述子特征向量进行哈希处理,得到多个哈希值;所述哈希值中包括多个数值元素;
对各个所述哈希值的对应位置的每个数值元素进行加权求和,得到哈希序列;
将所述哈希序列中属于正数的数值元素置1,将所述哈希序列中不属于正数的数值元素置0,得到第一命令信息的第一特征向量。
进一步,上述信息库建立单元具体用于:
选取至少一个所述第一命令信息的第一特征向量作为初始簇心,建立若干初始聚类簇;
计算待聚类特征向量和所述初始簇心之间的第二相似度;所述待聚类特征向量为未加入初始聚类簇的第一命令信息的第一特征向量;
当所述待聚类特征向量和所述初始簇心之间的第二相似度大于或者等于第二预设阈值,将所述待聚类特征向量对应的第一命令信息添加到所述初始簇心对应的初始聚类簇中,并更新所述初始聚类簇的簇心坐标;或者,当所述待聚类特征向量和任意所述初始簇心之间的第二相似度均小于所述第二预设阈值,以所述待聚类特征向量作为初始簇心,额外建立新的初始聚类簇。
进一步,上述处理单元具体用于:
检测所述目标聚类簇中是否包括已被认定为异常命令的第一命令信息;
若所述目标聚类簇中包括已被认定为异常命令的第一命令信息,确定所述目标命令信息存在类别异常。
进一步,上述处理单元具体用于:
检测所述目标聚类簇中的命令信息个数;
若所述命令信息个数小于第二预设个数阈值,确定所述目标命令信息存在类别异常。
另一方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的异常命令的检测方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现上述的异常命令的检测方法。
另一方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的异常命令的检测方法。
本申请实施例至少包括以下有益效果:本申请提供一种异常命令的检测方法,在获取得到待检测的目标命令信息后,将其和负责执行该目标命令信息的执行设备在历史时间段执行过的历史命令信息进行匹配,从而检测目标命令信息是否符合执行设备的历史使用习惯,当二者存在不匹配的情况时,确定目标命令信息存在行为异常。并且,该方法还在全局命令信息库中,对目标命令信息进行聚类,确定目标命令信息所属的目标聚类簇,基于聚类结果可以确定命令信息在全局的执行分布情况,有助于判断目标命令信息是否存在类别异常。当确定出目标命令信息同时存在行为异常和类别异常时,可以确定其为异常命令。本申请提供的方法,从信息分析的角度检测异常命令,无需针对具体的异常问题设置匹配规则,可以提高检测的效率,降低检测的成本;并且,该方法结合本地历史使用习惯以及全局命令分布情况进行综合判断,能够减少误判、漏判的情况发生,可提高异常命令的检测准确度,有利于改善设备的使用体验。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种相关技术中异常命令的检测方法的流程示意图;
图2为本申请实施例提供的一种实施环境的示意图;
图3为本申请实施例提供的另一种实施环境的示意图;
图4为本申请实施例提供的一种异常命令的检测方法的流程示意图;
图5为本申请实施例提供的一种simhash签名的计算流程示意图;
图6为本申请实施例提供的另一种simhash签名的计算流程示意图;
图7为本申请实施例提供的一种对命令信息进行聚类的流程示意图;
图8为本申请实施例提供的一种异常命令的检测方法的具体流程示意图;
图9为本申请实施例提供的一种对命令信息进行行为异常检测的流程示意图;
图10为本申请实施例提供的一种异常命令的检测装置的结构框图;
图11为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在对本申请实施例进行详细说明之前,首先对本申请实施例中涉及的部分名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,机器学习(深度学习)通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
自然语言处理(Nature Language processing,NLP),是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,自然语言处理是一门融语言学、计算机科学、数学于一体的科学。这一领域涉及的自然语言即人们日常使用的语言,所以它与语言学的研究也有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
区块链(Blockchain),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链可以包括公有链、联盟链以及私有链,其中,公有链是指任何人均可以随时进入到区块链网络中读取数据、发送数据或竞争记账的区块链;联盟链是指若干组织或机构共同参与管理的区块链;私有链是指存在一定的中心化控制的区块链,私有链的账本的写入权由某个组织或机构控制,数据的访问和使用有严格的权限管理。
本申请实施例中所提供的异常命令的检测方法涉及人工智能技术,其中,主要涉及人工智能技术领域内的自然语言处理技术和机器学习/深度学习等技术。具体地,本申请实施例中提供的方法,可以采用自然语言处理技术对异常命令进行处理,通过确定待检测的目标命令信息和历史命令信息之间的相似度,可以方便确定目标命令信息是否存在行为异常;还可以通过自然语言处理技术、机器学习/深度学习技术提取目标命令信息的特征,从而对其进行聚类,方便高效分析目标命令信息是否属于异常命令。
本申请实施例中提供的方法,可以在服务器、终端等设备中被执行:例如,服务器的租户在不知情的情况下,可能会被诱导执行部分恶意的异常命令,导致自身的业务受到攻击,基于本申请实施例中提供的异常命令的检测方法,可以在服务器接收到新的命令信息时,对其进行检测,当发现新的命令信息可能属于异常命令时,及时向租户告警或者拦截命令信息,从而提高服务器的使用体验。该方法具体可以应用于终端或服务器中的软件,用于实现一部分的软件功能。该软件可以是独立的应用程序或者依赖宿主程序的小程序等,但并不局限于以上形式。
当然,需要说明的是,以上的应用场景仅起到示例性的作用,并不意味着对本申请实施例中方法的实际应用形成限制。本领域技术人员可以理解,在不同应用场景中,都可以利用本申请实施例中提供的方法执行指定的任务。
并且,需要补充说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象的信息、目标对象的行为数据、目标对象的历史数据以及目标对象的位置信息等与目标对象身份或特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取目标对象的敏感信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
当下,计算机技术的高速发展,给人们的工作、生活以及娱乐带来了丰富多彩的体验。一般来说,终端或者服务器等设备,可以通过接收使用者触发的命令,执行对应的业务流程,从而满足正常的使用需求。然而,在实际运行中,设备往往会存在接收到异常命令的情况,比如说黑客渗透服务器后恶意下发异常命令,或者终端的账号信息被攻击者盗用,攻击者登录后触发异常命令等。若设备执行异常命令,可能会给使用者带来损失,或者影响设备的正常运行。
参照图1,相关技术中,为了实现对异常命令的检测和拦截,一般采用的方式是预先设定相应的匹配规则,例如设定哪些命令的类型属于敏感操作类型,哪些文件属于敏感文件等,形成异常命令规则库。然后实时检测设备要执行的命令,当设备接收到命令后,在设定好的异常命令规则库中遍历查找是否有匹配的结果,即提取命令名称,以及命令对应的操作对象,基于规则库和规则匹配算法对其进行检测,从而判断出当前的命令是否为异常命令。但是,这种实现方式设定的匹配规则依赖大量的经验总结,缺乏灵活性,在面临复杂的应用环境时经常存在有误判、漏判的情况,准确度偏低。
基于此,本申请实施例提供了一种异常命令的检测方法、装置、电子设备及存储介质,其中,该检测方法在获取得到待检测的目标命令信息后,将其和负责执行该目标命令信息的执行设备在历史时间段执行过的历史命令信息进行匹配,从而检测目标命令信息是否符合执行设备的历史使用习惯,当二者存在不匹配的情况时,确定目标命令信息存在行为异常。并且,该方法还在全局命令信息库中,对目标命令信息进行聚类,确定目标命令信息所属的目标聚类簇,基于聚类结果可以确定命令信息在全局的执行分布情况,有助于判断目标命令信息是否存在类别异常。当确定出目标命令信息同时存在行为异常和类别异常时,可以确定其为异常命令。本申请提供的方法,从信息分析的角度检测异常命令,无需针对具体的异常问题设置匹配规则,可以提高检测的效率,降低检测的成本;并且,该方法结合本地历史使用习惯以及全局命令分布情况进行综合判断,能够减少误判、漏判的情况发生,可提高异常命令的检测准确度,有利于改善设备的使用体验。
下面结合附图,对本申请实施例的具体实施方式进行详细说明。
参照图2,图2示出了本申请实施例中提供的异常命令的检测方法一种实施环境的示意图。在该实施环境中,主要涉及的软硬件主体包括第一终端110。
具体地,第一终端110中可以安装有系统安全相关的防护应用程序,该防护应用程序可以基于第一终端110获取到的命令信息,执行本申请实施例中提供的检测方法,从而得到对应的检测结果,并显示在应用程序界面上供浏览。并且,当防护应用程序识别到某个命令信息属于异常命令时,可以自动对其进行拦截或者告警,以提高设备的使用安全性。
另外,参照图3,图3为本申请实施例提供的异常命令的检测方法另一种实施环境的示意图,该实施环境主要涉及的软硬件主体包括第二终端210和服务器220,其中,第二终端210和服务器220之间通信连接。
具体地,服务器220中可以安装有系统安全相关的防护应用程序,该防护应用程序可以获取第二终端210接收到的命令信息,基于这些命令信息执行本申请实施例中提供的检测方法,从而得到对应的检测结果,并可以将检测结果发送给第二终端210显示供浏览。并且,当服务器220侧的防护应用程序识别到某个命令信息属于异常命令时,可以自动触发第二终端210对其进行拦截或者告警,以提高设备的使用安全性。
其中,以上实施例的第一终端110和第二终端210可以包括智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表以及车载终端等,但并不局限于此。
服务器220可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,服务器220还可以是区块链网络中的一个节点服务器。
第二终端210与服务器220之间可以通过无线网络或有线网络建立通信连接。该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(MetropolitanArea Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
当然,可以理解的是,图2和图3中的实施环境只是本申请实施例中提供的异常命令的检测方法一些可选的应用场景,实际的应用并不固定为图2和图3所示出的软硬件环境,比如说在一些实施例中,图2和图3中的终端也可以替换为服务器。本申请实施例提供的方法可应用于各种技术领域,包括但不限于游戏、多媒体、图像处理、云计算等技术领域。
参照图4,图4为本申请实施例提供的异常命令的检测方法的流程示意图,该异常命令的检测方法可以由终端单独执行,也可以由终端与服务器配合执行,该异常命令的检测方法包括但不限于以下步骤410至步骤450。
步骤410、获取待检测的目标命令信息。
本步骤中,在执行本申请实施例中提供的异常命令的检测方法时,可以获取待检测的命令信息,本申请中将其记为目标命令信息。目标命令信息是可供终端或者服务器等设备执行对应的业务流程的程序指令,其具体的获取方式可以根据需要灵活设定。在本步骤中,目标命令信息可以从本地获取,也可以从云端获取,本申请实施例对此不做限定。
在一些实施例中,目标命令信息可以是设备的操作者直接输入的内容,此时可以通过接收、读取该内容得到目标命令信息。
在另一些实施例中,目标命令信息也可以是基于设备与操作者之间的交互,由设备侧的处理器生成的内容。具体地,比如说,以终端设备为例,操作者可以和终端设备进行交互,下发针对某些应用程序的指令,终端设备可以响应于这些指令,触发执行运行该应用程序的业务逻辑的命令信息。此处,操作者可以是应用程序的使用者,对于操作者和终端设备进行交互,下发指令的具体实现形式,本申请不作限制。例如,终端设备可以接收操作者对相关组件的交互指令,将该交互指令作为针对应用程序的指令。此处,相关组件既可以是终端设备的底层系统配置的组件,也可以是应用程序中配置的组件,并且,其实现形式可以根据需要灵活设定。例如,在一些实施例中,该组件可以是终端设备中具有语音交互功能的组件,其可以通过语音识别技术识别操作者的语音数据,操作者可以通过和终端设备进行语音交互,如对终端设备说“开启地图导航功能”,从而下发针对某一地图应用程序的指令。在一些实施例中,该组件也可以是触控组件,此时,操作者点击终端设备屏幕上相应应用程序的图标的操作,即可以视为发起针对该应用程序的指令。当然,可以理解的是,在一些实施例中,还可以将接收到的操作者在终端设备指定屏幕区域的触摸、滑动等操作,作为针对应用程序的指令,本申请对此不作具体限制。终端设备接收到上述的指令后,可以根据指令自动生成对应的命令信息,本申请实施例中,可以获取这些生成的命令信息作为目标命令信息。
需要说明的是,本申请实施例中,对待检测的目标命令信息的执行状态不作限定。例如,在一些实施例中,待检测的目标命令信息可以是未执行的命令信息,即在执行该目标命令信息前,可以通过执行本申请实施例中的检测方法,对目标命令信息是否存在异常进行检测识别,如果确定该目标命令信息不属于异常命令,则可以正常执行;反之,如果确定该目标命令信息属于异常命令,则可以拦截该目标命令信息不执行,从而提高设备的运行安全性、稳定性。在另一些实施例中,待检测的目标命令信息可以是执行过的命令信息,例如,对于某个设备,希望分析其在一定时间段的受攻击情况,可以获取该设备在一定时间段内执行过的命令信息作为目标命令信息,通过执行本申请实施例中的检测方法,对各个目标命令信息是否存在异常进行检测识别,从而根据识别到的属于异常命令的目标命令信息个数,确定设备在一定时间段内的受攻击次数,便于供后续的安全运营分析等作业。
需要说明的是,本申请实施例中,对于目标命令信息对应的具体业务逻辑不作限定。例如,在一些实施例中,目标命令信息可以是一条程序指令,仅用于执行一个业务操作;在另一些实施例中,目标命令信息可以包括一系列程序指令,用于执行一个完整的业务流程。
步骤420、对目标命令信息和历史命令信息进行匹配,确定目标命令信息是否存在行为异常;其中,历史命令信息为目标命令信息的执行设备在历史时间段执行过的命令信息;
本步骤中,在获取得到目标命令信息后,可以将目标命令信息和历史命令信息进行匹配。此处,历史命令信息指的是本次获取的目标命令信息的执行设备在历史时间段执行过的命令信息,也即执行目标命令信息的设备,在当前进行检测的时间节点之前所执行过的命令信息。需要说明的是,本申请实施例中,历史时间段的长短可以根据需要灵活设定,比如说可以设定为当前时间节点之前的一周或者30天等,本申请对此不作具体限制。
需要说明的是,本申请实施例中,历史命令信息可以从目标命令信息的执行设备的缓存中获取,例如,可以设定各个设备自动存储一定时间内执行过的命令信息到预定的存储空间中,当存储空间中的存储容量用尽时,可以删除最早存储的命令信息,如此,预定的存储空间中,将会自动存储距离当前时间节点最近的一段历史时间段执行过的命令信息。在执行本申请实施例中的检测方法时,可以直接从预定的存储空间中获取得到历史命令信息。
本步骤中,对目标命令信息和历史命令信息进行匹配,即以同样的执行设备为主体,基于该执行设备上历史命令信息的执行习惯,对目标命令信息进行匹配来检测其是否存在行为异常,如果目标命令信息和历史命令信息的匹配度较高,则说明目标命令信息比较符合该执行设备的命令信息执行习惯,大概率不属于异常命令;反之,如果目标命令信息和历史命令信息的匹配度较低,则说明目标命令信息不符合该执行设备的命令信息执行习惯,大概率属于异常命令。
具体地,比如说,在一些实施例中,可以基于命令信息的内容特征来进行匹配,首先从历史命令信息中确定和目标命令信息相似的命令信息,然后确定这些相似的命令信息的出现次数,即历史时间段内执行过多少次和目标命令信息相似的命令信息,如果这些相似的命令信息的出现次数较少,则说明目标命令信息存在异常的可能性较高。在另一些实施例中,也可以基于命令信息的时间特征来进行匹配,比如说可以基于历史命令信息,确定出执行设备的常用时段,然后匹配目标命令信息的执行时段,如果目标命令信息的执行时段不处于执行设备的常用时段内,则说明目标命令信息存在异常的可能性较高。
当然,可以理解的是,以上对目标命令信息和历史命令信息进行匹配的实现方式,仅用于示例性的说明,本领域技术人员可以根据具体的需要进行灵活扩展,本申请对此不作限制。并且,上述的多种匹配方式,既可以单独实施,也可以组合实施。如果匹配后的结果为目标命令信息存在异常的可能性较高,则可以确定目标命令信息存在行为异常;反之,如果匹配后的结果为目标命令信息存在异常的可能性较低,则可以确定目标命令信息不存在行为异常。对于不存在行为异常的目标命令信息,可以结束检测流程,将其确定为正常命令。
步骤430、在全局命令信息库中对目标命令信息进行聚类,确定目标命令信息所属的目标聚类簇;
本步骤中,除了通过在负责执行该目标命令信息的执行设备处采集的历史命令信息对目标命令信息进行匹配检测,确定其是否存在行为异常,还基于全局命令信息库对目标命令信息的异常情况进行检测识别。此处,全局命令信息库中可以包括大量的命令信息,即除了负责执行该目标命令信息的执行设备处采集的命令信息外,还可以包括其他执行设备上采集的命令信息。可以理解的是,本申请实施例中,全局命令信息库能够反映出命令信息整体的执行分布情况,如果一个或者一类命令信息在整体的设备上均较少执行,说明这些命令信息产生的概率很小,非常可能属于异常命令。
本申请实施例中,在全局命令信息库中对目标命令信息进行聚类,从而确定目标命令信息所属的目标聚类簇,和目标命令信息属于一个目标聚类簇的其他命令信息,在信息内容上相对来说比较接近。此处可以选择的聚类算法有多种,如k-means算法、DBSCAN算法以及OPTICS算法等,本申请对此不作具体限制。
步骤440、根据目标聚类簇,确定目标命令信息是否存在类别异常;
本步骤中,在确定出目标命令信息所属的目标聚类簇后,可以根据目标聚类簇来确定目标命令信息是否存在类别异常。如前所述的,如果一个或者一类命令信息在整体的设备上均较少执行,说明这些命令信息产生的概率很小,非常可能属于异常命令。故而,在一些实施例中,可以根据目标聚类簇中所包含的命令信息的个数,确定目标命令信息所属的命令类别是否比较常见,如果属于比较常见的类别,则可以确定目标命令信息不存在类别异常。反之,如果属于出现概率很小的类别,则可以确定目标命令信息存在类别异常。
具体地,本申请实施例中,可以事先设置用于比较的个数阈值,记为第二预设个数阈值,比如说第二预设个数阈值的大小可以是5,如果目标聚类簇中的命令信息个数小于5个,则说明全局维度上和目标命令信息比较相似的命令信息数量很少,故而此时可以确定目标命令信息存在类别异常。
需要说明的是,本申请实施例中,第二预设个数阈值的大小可以根据需要灵活设定,本申请对此不作限制。
步骤450、当目标命令信息存在行为异常和类别异常,确定目标命令信息为异常命令。
本步骤中,对于目标命令信息来说,行为异常和类别异常两个维度均能够在一定程度上反映出目标命令信息是否可能属于异常命令。但是,需要说明的是,如果目标命令信息单一存在行为异常或者类别异常,即将目标命令信息确定为异常命令,可能存在较高的误判几率。比如说,在一些情况下,目标命令信息存在行为异常,但不存在类别异常,这种情况可能是目标命令信息的执行设备更换了常用的业务流程,而该业务流程本身是属于比较常规且多见的,故而虽然此时从执行设备的历史使用习惯上来看,目标命令信息存在行为异常,但是从命令信息的全局角度看却是正常的,因此应当将目标命令信息确定为正常命令。在另一些情况下,目标命令信息不存在行为异常,但却存在类别异常,这种情况可能是目标命令信息的执行设备本身是用于处理较为罕见的业务流程的,因此,从命令信息的全局角度看,该执行设备的目标命令信息在其他执行设备侧较少执行,经常会出现类别异常,但是由于其不存在行为异常,即符合执行设备的历史使用习惯,说明该执行设备并不存在较高的被入侵风险,属于正常执行命令的业务范畴,因此应当将目标命令信息确定为正常命令。
因此,本申请实施例中,当目标命令信息同时存在行为异常和类别异常时,将其确定为异常命令。可以理解的是,本申请实施例中提供的异常命令的检测方法,从信息分析的角度检测异常命令,无需针对具体的异常问题设置匹配规则,可以提高检测的效率,降低检测的成本;并且,该方法结合本地历史使用习惯以及全局命令分布情况进行综合判断,能够减少误判、漏判的情况发生,可提高异常命令的检测准确度,有利于改善设备的使用体验。
具体地,在一种可能的实现方式中,对目标命令信息和历史命令信息进行匹配,确定目标命令信息是否存在行为异常,包括:
根据各个历史命令信息,确定与目标命令信息匹配的相似命令集合;
若相似命令集合中的历史命令信息的个数小于第一预设个数阈值,确定目标命令信息存在行为异常;或者,若相似命令集合中的历史命令信息所分布的历史时间段小于预设周期阈值,确定目标命令信息存在行为异常。
如前述的,在一些实施例中,在对目标命令信息和历史命令信息进行匹配,以确定目标命令信息是否存在行为异常时,可以基于命令信息的内容特征来进行匹配。本申请实施例中,提供一种基于内容特征对命令信息进行匹配的具体实现方式。具体地,在对目标命令信息进行匹配时,可以根据各个历史命令信息,确定和目标命令信息匹配的相似命令集合。此处,相似命令集合用于囊括和目标命令信息相似的历史命令信息,其中的历史命令信息的个数可以是任意整数个。特别地,当相似命令集合中的历史命令信息的个数是零个时,说明没有和目标命令信息相似的历史命令信息。
可以理解的是,本申请实施例中,相似命令集合中的历史命令信息的个数越多,说明目标命令信息的执行设备执行过和目标命令信息类似的命令信息的次数越多,目标命令信息大概率属于正常命令。反之,相似命令集合中的历史命令信息的个数越少,说明目标命令信息的执行设备执行过和目标命令信息类似的命令信息的次数越少,目标命令信息大概率属于异常命令。故而,本申请实施例中,可以事先设定一个次数比较阈值,记为第一预设个数阈值。如果相似命令集合中的历史命令信息的个数小于第一预设个数阈值,可以确定目标命令信息存在行为异常。此处,需要说明的是,第一预设个数阈值的大小可以根据需要灵活设定,例如可以是5或者10等,第一预设个数阈值的大小设置的越大,则检测相对越为严格,本申请对其具体的数值不作限制。
本申请实施例中,除了较多的执行次数能够反映命令信息属于正常命令外,较为广泛的执行时间分布也能大致反映出命令信息属于正常命令。换句话说,在历史时间段内,一类相似的正常命令,往往被执行的天数会较多,在历史时间段内的分布范围较广,而属于攻击类型的异常命令,则往往单一集中在某个较小的时间段中,例如设备在某天受到攻击时,只会在当天接收到较多的异常命令;因此,异常命令一般在历史时间段内的分布范围较窄。故而,本申请实施例中,可以事先设定一个周期比较阈值,记为预设周期阈值。如果相似命令集合中的历史命令信息所分布的历史时间段小于预设周期阈值,可以确定目标命令信息存在行为异常。类似地,本申请实施例中,预设周期阈值的大小可以根据需要灵活设定,例如可以是5天或者10天等,本申请对此不作限制。在确定相似命令集合中的历史命令信息所分布的历史时间段和预设周期阈值的关系时,可以先查找确定相似命令集合中最早出现的历史命令信息和最晚出现的历史命令信息,计算两者在时间维度的差值,得到相似命令集合中的历史命令信息所分布的历史时间段。比如说,相似命令集合中最早出现的历史命令信息对应的时间为3月7号,相似命令集合中最晚出现的历史命令信息对应的时间为3月19号,预设周期阈值为10天,则此时相似命令集合中的历史命令信息所分布的历史时间段为13天,大于预设周期阈值。故而这种情况下,可以确定相似命令集合对应的目标命令信息不存在行为异常。
具体地,在一种可能的实现方式中,根据各个历史命令信息,确定与目标命令信息匹配的相似命令集合,包括:
计算各个历史命令信息和目标命令信息之间的第一相似度;
选取第一相似度大于第一预设阈值的历史命令信息,得到相似命令集合。
本申请实施例中,在确定与目标命令信息匹配的相似命令集合时,可以计算各个历史命令信息和目标命令信息之间的相似度,将此处的相似度记为第一相似度。然后,对于历史命令信息和目标命令信息是否属于相似的命令信息,即是否需要将历史命令信息放入和目标命令信息匹配的相似命令集合,可以预先设定一个相似度的阈值,记为第一预设阈值。当历史命令信息和目标命令信息之间的第一相似度小于或者等于第一预设阈值时,认为历史命令信息和目标命令信息的相似程度较低,两者属于不同的命令信息;反之,当历史命令信息和目标命令信息之间的第一相似度大于第一预设阈值时,认为历史命令信息和目标命令信息的相似程度较高,两者属于相似的命令信息,此时,可以将历史命令信息放入和目标命令信息匹配的相似命令集合。因此,本申请实施例中,选取第一相似度大于第一预设阈值的历史命令信息,便可得到相似命令集合。
需要说明的是,本申请实施例中,第一相似度用于表征历史命令信息和目标命令信息的相似程度,历史命令信息和目标命令信息的内容越接近,则它们之间的相似度越大,历史命令信息和目标命令信息的内容差异越大,则它们之前的相似度越小。第一相似度的具体数据形式,可以以百分比的方式来表征,例如当第一相似度的数值为100%时,可以认为历史命令信息和目标命令信息的内容完全相同。本申请实施例中,对于相似度的计算方式将在下文详细描述,在此不作赘述。
具体地,在一种可能的实现方式中,对目标命令信息和历史命令信息进行匹配,确定目标命令信息是否存在行为异常,包括:
提取目标命令信息的第一行为特征,对第一行为特征和第二行为特征进行匹配;其中,第二行为特征通过历史命令信息提取得到;
若第一行为特征和第二行为特征匹配失败,确定目标命令信息存在行为异常。
本申请实施例中,在对目标命令信息和历史命令信息进行匹配,以确定目标命令信息是否存在行为异常时,还可以基于命令信息的行为特征来进行匹配。此处的行为特征可以是执行时间特征、执行次数特征等。例如,可以根据历史命令信息的执行时间,确定执行设备的常用时段,比如历史命令信息经常在上午被执行,说明执行设备一般是在上午使用,如果某次在下午或者晚上收到了目标命令信息,则该目标命令信息可疑程度会比较高,属于行为异常。具体地,本申请实施例中,可以将基于目标命令信息提取得到的特征记为第一行为特征,将通过历史命令信息提取得到特征记为第二行为特征,然后对第一行为特征和第二行为特征进行匹配,如果两者匹配失败,则可以确定目标命令信息存在行为异常。
具体地,在一种可能的实现方式中,全局命令信息库中包括多个第一命令信息;全局命令信息库通过以下步骤建立:
获取多个执行设备接收到的第一命令信息;
提取各个第一命令信息的第一特征向量;
根据第一特征向量对各个第一命令信息进行聚类,得到至少一个参照聚类簇,并计算参照聚类簇的簇心坐标;
记录各个第一命令信息所属的参照聚类簇以及各个参照聚类簇的簇心坐标,得到全局信息库。
本申请实施例中,全局信息库中可以包括有多个执行设备侧的第一命令信息。并且,在建立全局信息库的过程中,为了方便后续基于全局信息库对目标命令信息进行聚类,可以先在全局信息库中对第一命令信息进行聚类。
具体地,本申请实施例中,首先可以获取多个执行设备接收到的命令信息,记为第一命令信息,并且,在一些实施例中,此处的第一命令信息可以选择已经执行过的命令信息。在得到较大批量的第一命令信息后,可以提取各个第一命令信息的特征向量,记为第一特征向量,然后根据第一特征向量,可以对各个第一命令信息进行聚类,得到至少一个聚类簇。本申请实施例中,将对第一命令信息进行聚类得到的聚类簇记为参考聚类簇,在得到参考聚类簇后,可以计算参考聚类簇中各个第一命令信息对应的第一特征向量的均值,得到该参考聚类簇的簇心坐标。记录各个第一命令信息所属的参考聚类簇,以及各个参考聚类簇的簇心坐标,即可得到建立好的全局信息库。
需要说明的是,本申请实施例中,对多个执行设备的具体数量不作限定。当然,可以理解的是,为了提高检测精度和全面性,全局信息库中的第一命令信息需要尽可能多,所涉及的执行设备的数量也应当较多,本申请中,可以根据具体的应用需求和数据处理能力来搭建全局信息库。
本申请实施例中,一般来说,第一命令信息是由单词以及字符等构成的文本数据,因此,提取第一命令信息的第一特征向量,可以采用自然语言处理技术。具体地,在一些实施例中,可以采用相关的语言模型来对第一命令信息进行特征提取,得到第一特征向量。例如,该语言模型可以是序列到序列(Sequence to Sequence)模型,即Seq2seq模型。序列到序列模型是现今序列任务上较常使用的模型之一,其擅长处理语音数据、文本数据、视频数据等一系列具有连续关系的数据。具体地,序列到序列模型的模型框架一般包括两部分,编码器(encoder)部分和解码器(decoder)部分。
具体地,对于本申请实施例中的特征提取任务来说,所采用的序列到序列模型中的编码器和解码器,可以采用递归神经网络(Recurrent Neural Network,RNN)的架构来实现,比如说常用的长短期记忆网络(Long-Short Term Memory,LSTM)、BERT(BidirectionalEncoder Representation from Transformers)模型等。当然,可以理解的是,上述的编码器和解码器可以根据需要灵活调整,本申请对此不作限制。本申请实施例中,选取BERT模型作为编码器和解码器。BERT模型采用了双向的自注意机制,能够更好地捕获语句中上下文之间的联系,当前已被广泛应用于文本处理领域中。
具体地,在一种可能的实现方式中,提取各个第一命令信息的第一特征向量,包括:
对第一命令信息进行分词处理,得到命令序列;命令序列中包括多个字符元素;
确定各个字符元素的子特征向量;
对子特征向量进行融合处理,得到第一命令信息的第一特征向量。
本申请实施例中,除了上述采用语言模型对第一命令信息进行特征提取得到第一特征向量的处理方式外,还可以对其进行编码转换,以得到对应的第一特征向量。
具体地,本申请实施例中,由于第一命令信息的数据格式一般是文本格式,为方便后续的相似度计算以及聚类处理,需要将非结构化的文本数据转换为易于处理的结构化数据。此处,可以对第一命令信息进行分词处理,得到组成该信息的命令序列,命令序列中包括有多个字符元素。此处,可以采用的分词算法有多种,例如,在一些实施例中,可以采用基于词典的分词算法,先把第一命令信息按照词典切分成词,再寻找词的最佳组合方式;在一些实施例中,也可以采用基于字的分词算法,先把第一命令信息分成一个个字,再将字组合成词,寻找最优的组合方式,得到切分后的各个字符元素。
对第一命令信息进行分词处理后,可以通过预先建立的词典来确定其中每个字符元素对应的嵌入向量,本申请中将其记为子特征向量。在一些实施例中,这些字符元素对应的嵌入向量,可以通过将字符元素映射到一个具有统一的较低维度的向量空间中得到,生成这种映射的策略包括神经网络、单词共生矩阵的降维、概率模型以及可解释的知识库方法等。在得到第一命令信息中每个字符元素对应的子特征向量后,可以对这些子特征向量进行融合处理,从而得到第一命令信息对应的第一特征向量。此处,常用的特征融合处理方式包括但不限于加权处理、拼接处理等,本申请对此不作具体限制。
具体地,在一种可能的实现方式中,对子特征向量进行融合处理,得到第一命令信息的第一特征向量,包括:
对各个子特征向量进行哈希处理,得到多个哈希值;哈希值中包括多个数值元素;
对各个哈希值的对应位置的每个数值元素进行加权求和,得到哈希序列;
将哈希序列中属于正数的数值元素置1,将哈希序列中不属于正数的数值元素置0,得到第一命令信息的第一特征向量。
本申请实施例中,在确定第一命令信息的第一特征向量时,可以采用simhash签名作为第一特征向量。具体地,simhash签名常用于进行海量数据的高效去重,它可以将原始的文本数据映射为多位的二进制数字串,在得到simhash签名后,可以通过比较二进制数字串的差异,来表示原始文本数据的差异,比较方便用于计算文本数据的相似度。
参照图5,本申请实施例中,例如对于内容为“set+0history”的命令信息来说,首先可以对命令信息进行切分,生成命令序列。本申请实施例中,具体使用了2-gram算法对命令信息进行切分,即每前后两个字符切分一次作为序列的一个字符元素。在得到各个字符元素后,可以通过对其进行编码得到字符元素对应的子特征向量,并且确定每个字符元素对应的权重值。权重值越大,说明该字符元素在命令信息中的重要性越高。然后,可以对每个子特征向量进行哈希处理,得到各个字符元素对应的哈希值,每个哈希值中包括多个数值元素。当然,本申请实施例中,也可以直接对字符元素进行哈希处理,得到其对应的哈希值。
在对命令信息“set+0history”中切分得到的字符元素均进行哈希处理后,可以得到各个字符元素对应的哈希值。比如说,参照图6,本申请实施例中,对字符元素“se”进行哈希处理后,得到的哈希值为100101,对字符元素“et”进行哈希处理后,得到的哈希值为101011。接着,可以对每个哈希值进行加权操作,在加权操作中,对应数值为0的元素将被赋值为-1和权重之积;对应数值为1的元素将被赋值为1和权重之积。此时,对于值为100101的原始哈希值,假设对应的权重为4,那么其加权后对应的哈希值变为“4-4-44-44”。接着,对各个哈希值对应位置的每个元素进行求和,得到哈希序列,然后可以对哈希序列进行降维,即将其中属于正数的数值元素置1,将哈希序列中不属于正数的数值元素置0,从而得到第一命令信息的第一特征向量。
本申请实施例中,通过将文本数据转换为simhash签名,接着转换为long类型数据进行存储,所消耗的存储空间将大大减少。而后续在计算命令信息之间的相似度时,可以通过计算命令信息对应的simhash签名的汉明距离来实现,从而可以高效快捷地判断多个命令信息是否相似。
具体地,在一种可能的实现方式中,根据第一特征向量对各个第一命令信息进行聚类,包括:
选取至少一个第一命令信息的第一特征向量作为初始簇心,建立若干初始聚类簇;
计算待聚类特征向量和初始簇心之间的第二相似度;待聚类特征向量为未加入初始聚类簇的第一命令信息的第一特征向量;
当待聚类特征向量和初始簇心之间的第二相似度小于或者等于第二预设阈值,将待聚类特征向量对应的第一命令信息添加到初始簇心对应的初始聚类簇中,并更新初始聚类簇的簇心坐标;或者,当待聚类特征向量和任意初始簇心之间的第二相似度均大于第二预设阈值,以待聚类特征向量作为初始簇心,建立新的初始聚类簇。
本申请实施例中,参照图7,在建立全局命令信息库过程中,对于参考聚类簇,其可以采用Single-Pass的流式聚类算法实现。具体地,本申请实施例中,首先,可以选取至少一个第一命令信息对应的第一特征向量作为初始簇心,建立若干初始聚类簇。然后,对于每个未确定聚类类别的第一命令信息,将其对应的第一特征向量记为待聚类特征向量。待聚类特征向量的可以参照前述图6的方式,以simhash签名的数据格式来构造得到。根据待聚类特征向量,可以确定待聚类特征向量和初始簇心之间的相似度,本申请实施例中,将其记为第二相似度。可以理解的是,待聚类特征向量和初始簇心之间的第二相似度,可以反映两个第一命令信息之间的相似度,第二相似度越大,说明待聚类的第一命令信息和该初始聚类簇越接近。因此,本申请实施例中,可以预先设定一个相似度阈值,记为第二预设阈值。如果待聚类特征向量和某个初始簇心之间的第二相似度大于或者等于第二预设阈值,说明待聚类特征向量对应的第一命令信息和初始簇心对应的初始聚类簇中的第一命令信息足够相似,因此,此时可以将待聚类特征向量对应的第一命令信息添加到初始簇心对应的初始聚类簇中,并且更新一次该初始聚类簇的簇心坐标。反之,如果待聚类特征向量和所有已经建立的初始簇心之间的第二相似度均小于第二预设阈值,说明待聚类特征向量对应的第一命令信息和各个初始簇心对应的初始聚类簇中的第一命令信息都不相似,此时,需要将待聚类特征向量对应的第一命令信息额外分为一类,即以待聚类特征向量作为初始簇心,额外建立新的初始聚类簇。如此循环往复,直至所有的第一命令信息均被划分到初始聚类簇后,即可将得到的初始聚类簇作为参考聚类簇。
具体地,在一种可能的实现方式中,根据目标聚类簇,确定目标命令信息是否存在类别异常,包括:
检测目标聚类簇中是否包括已被认定为异常命令的第一命令信息;
若目标聚类簇中包括已被认定为异常命令的第一命令信息,确定目标命令信息存在类别异常。
本申请实施例中,在基于目标聚类簇确定目标命令信息是否存在类别异常时,还可以根据以往的检测结果来辅助判断。具体地,在确定到目标命令信息所属的目标聚类簇后,可以检测目标聚类簇中是否包括之前已被认定为属于异常命令的第一命令信息。可以理解的是,由于目标命令信息和目标聚类簇中的其他命令信息同属于一个聚类簇,因此目标命令信息在内容上和目标聚类簇中的其他命令信息均有较高的相关性,如果目标聚类簇中包括之前已被认定为属于异常命令的第一命令信息,那么很可能目标命令信息本身也存在异常,故而此时可以确定目标命令信息存在类别异常。如此,能够更好地利用已有的检测结果,大大提高异常命令的检测效率,减少不必要的计算资源消耗。
下面,结合一些更为具体的实施例,对本申请中提供的异常命令的检测方法进行详细说明。
参照图8,图8示出了一种异常命令的检测方法的具体实施例的流程示意图。本申请实施例中,在对异常命令进行检测时,首先,可以获取待检测的目标命令信息作为输入,在对待检测的目标命令信息进行检测前,可以对其进行数据预处理。数据预处理的目的是对命令信息进行抽象处理,将命令信息处理成一种更为通用的模式,例如head-10和head-100其实是同一种类型的命令,本申请实施例中,可以将其中的参数替换为预设的字符串,比如说可以将head-10和head-100替换成为head-N。如此,后续处理的时候就不会将这两条命令认为是两种命令,可大大减轻数据处理压力。当然,本申请实施例中,预处理流程并不局限于此,例如在一些情况下,也可以过滤掉命令信息中的反斜杠、引号等符号内容,避免后续计算的时候产生干扰,具体的实施情况可以根据需要灵活调整,本申请对此不作限制。
在对数据进行预处理后,可以以设备为主体,记录设备对应的唯一标识符,再关联该设备上的命令信息,从而便于在每个设备的维度上进行分析。参照图9,在对目标命令信息进行行为异常检测时,首先可以统计记录在目标命令信息对应的执行设备的历史数据中(如30天内),历史命令信息出现的次数、天数、执行时段等,同时可以统计该设备执行命令信息的常用时段等。通过统计执行设备命令信息的历史数据,可以得到反映命令信息在执行设备上的行为习惯特征,例如可以包括次数特征、执行天数特征、执行时间特征、设备常用时段等,根据上述这些特征,可以生成设备的行为习惯数据库。当设备接收到新的、待检测的目标命令信息时,可以基于行为习惯数据库来对目标命令信息是否存在行为异常进行检测,从而得到对应的是否存在行为异常的检测结果。
本申请实施例中,除了在目标命令信息的执行设备上进行命令行为的统计分析,还对目标命令信息在全局的执行情况进行分析,例如,可以检测其是否属于“小概率事件”,即对预处理后的目标命令信息进行聚类统计,计算目标命令信息和类似命令信息在全局的分布情况,根据聚类结果判断目标命令信息的执行是否属于小概率事件。如果目标命令信息既存在行为异常,又属于小概率事件,即同时存在类别异常,则可以输出结果为目标命令信息为异常命令。
需要说明的是,在一些实施例中,上述异常命令的检测方法可以在多端执行。例如,在设备本地侧,可以获取待检测的目标命令信息,对其和历史命令信息进行匹配,检测目标命令信息是否存在行为异常。而在后台端,可以获取到设备本地侧发送的待检测的目标命令信息,在建立好的全局命令信息库中,对目标命令信息是否存在类别异常进行检测,并将类别异常的检测结果返回到设备本地侧,从而使得设备本地侧可以得到最终的检测结果。如此,一方面,将涉及隐私部分的历史数据限定在设备本地侧处理,可以有效保护隐私,减少信息的泄露;而对于包括大批量数据的全局命令信息库的建立和数据处理,则由后台端执行,这样可以有效减轻设备侧的数据处理负担,有利于提高检测的处理效率。
参照图10,图10为本申请实施例提供的异常命令的检测装置的结构示意图,该异常命令的检测装置包括:
获取单元1010,用于获取待检测的目标命令信息;
匹配单元1020,用于对目标命令信息和历史命令信息进行匹配,确定目标命令信息是否存在行为异常;其中,历史命令信息为目标命令信息的执行设备在历史时间段执行过的命令信息;
聚类单元1030,用于在全局命令信息库中对目标命令信息进行聚类,确定目标命令信息所属的目标聚类簇;
处理单元1040,用于根据目标聚类簇,确定目标命令信息是否存在类别异常;
识别单元1050,用于当目标命令信息存在行为异常和类别异常,确定目标命令信息为异常命令。
进一步,上述异常命令的检测装置还包括预处理单元,预处理单元用于:
将目标命令信息中的参数替换为预设的字符串;
或者,删除目标命令信息中的符号内容。
进一步,上述匹配单元具体用于:
根据各个历史命令信息,确定与目标命令信息匹配的相似命令集合;
若相似命令集合中的历史命令信息的个数小于第一预设个数阈值,确定目标命令信息存在行为异常;或者,若相似命令集合中的历史命令信息所分布的历史时间段小于预设周期阈值,确定目标命令信息存在行为异常。
进一步,上述匹配单元具体用于:
计算各个历史命令信息和目标命令信息之间的第一相似度;
选取第一相似度大于第一预设阈值的历史命令信息,得到相似命令集合。
进一步,上述匹配单元具体用于:
提取目标命令信息的第一行为特征,对第一行为特征和第二行为特征进行匹配;其中,第二行为特征通过历史命令信息提取得到;
若第一行为特征和第二行为特征匹配失败,确定目标命令信息存在行为异常。
进一步,全局命令信息库中包括多个第一命令信息;上述异常命令的检测装置还包括信息库建立单元,信息库建立单元用于:
获取多个执行设备接收到的第一命令信息;
提取各个第一命令信息的第一特征向量;
根据第一特征向量对各个第一命令信息进行聚类,得到至少一个参照聚类簇,并计算参照聚类簇的簇心坐标;
记录各个第一命令信息所属的参照聚类簇以及各个参照聚类簇的簇心坐标,得到全局信息库。
进一步,上述信息库建立单元具体用于:
对第一命令信息进行分词处理,得到命令序列;命令序列中包括多个字符元素;
确定各个字符元素的子特征向量;
对子特征向量进行融合处理,得到第一命令信息的第一特征向量。
进一步,上述信息库建立单元具体用于:
对各个子特征向量进行哈希处理,得到多个哈希值;哈希值中包括多个数值元素;
对各个哈希值的对应位置的每个数值元素进行加权求和,得到哈希序列;
将哈希序列中属于正数的数值元素置1,将哈希序列中不属于正数的数值元素置0,得到第一命令信息的第一特征向量。
进一步,上述信息库建立单元具体用于:
选取至少一个第一命令信息的第一特征向量作为初始簇心,建立若干初始聚类簇;
计算待聚类特征向量和初始簇心之间的第二相似度;待聚类特征向量为未加入初始聚类簇的第一命令信息的第一特征向量;
当待聚类特征向量和初始簇心之间的第二相似度大于或者等于第二预设阈值,将待聚类特征向量对应的第一命令信息添加到初始簇心对应的初始聚类簇中,并更新初始聚类簇的簇心坐标;或者,当待聚类特征向量和任意初始簇心之间的第二相似度均小于第二预设阈值,以待聚类特征向量作为初始簇心,额外建立新的初始聚类簇。
进一步,上述处理单元具体用于:
检测目标聚类簇中是否包括已被认定为异常命令的第一命令信息;
若目标聚类簇中包括已被认定为异常命令的第一命令信息,确定目标命令信息存在类别异常。
进一步,上述处理单元具体用于:
检测目标聚类簇中的命令信息个数;
若命令信息个数小于第二预设个数阈值,确定目标命令信息存在类别异常。
可以理解的是,如图4所示的异常命令的检测方法实施例中的内容均适用于本异常命令的检测装置实施例中,本异常命令的检测装置实施例所具体实现的功能与如图4所示的异常命令的检测方法实施例相同,并且达到的有益效果与如图4所示的异常命令的检测方法实施例所达到的有益效果也相同。
参照图11,本申请实施例还公开了一种电子设备,包括:
至少一个处理器1110;
至少一个存储器1120,用于存储至少一个程序;
当至少一个程序被至少一个处理器1110执行,使得至少一个处理器1110实现如图4所示的异常命令的检测方法实施例。
可以理解的是,如图4所示的异常命令的检测方法实施例中的内容均适用于本计算机设备实施例中,本计算机设备实施例所具体实现的功能与如图4所示的异常命令的检测方法实施例相同,并且达到的有益效果与如图4所示的异常命令的检测方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如图4所示的异常命令的检测方法实施例。
可以理解的是,图4所示的异常命令的检测方法实施例中的内容均适用于本计算机可读存储介质实施例中,本计算机可读存储介质实施例所具体实现的功能与图4所示的异常命令的检测方法实施例相同,并且达到的有益效果与图4所示的异常命令的检测方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在上述的计算机可读存储介质中;图11所示的电子设备的处理器可以从上述的计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图4所示的异常命令的检测方法实施例。
可以理解的是,图4所示的异常命令的检测方法实施例中的内容均适用于本计算机程序产品或计算机程序实施例中,本计算机程序产品或计算机程序实施例所具体实现的功能与图4所示的异常命令的检测方法实施例相同,并且达到的有益效果与图4所示的异常命令的检测方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (15)

1.一种异常命令的检测方法,其特征在于,包括:
获取待检测的目标命令信息;
对所述目标命令信息和历史命令信息进行匹配,确定所述目标命令信息是否存在行为异常;其中,所述历史命令信息为所述目标命令信息的执行设备在历史时间段执行过的命令信息;
在全局命令信息库中对所述目标命令信息进行聚类,确定所述目标命令信息所属的目标聚类簇;
根据所述目标聚类簇,确定所述目标命令信息是否存在类别异常;
当所述目标命令信息存在行为异常和类别异常,确定所述目标命令信息为异常命令。
2.根据权利要求1所述的异常命令的检测方法,其特征在于,所述获取待检测的目标命令信息的步骤之后,所述方法还包括以下步骤至少之一:
将所述目标命令信息中的参数替换为预设的字符串;
或者,删除所述目标命令信息中的符号内容。
3.根据权利要求1所述的异常命令的检测方法,其特征在于,所述对所述目标命令信息和历史命令信息进行匹配,确定所述目标命令信息是否存在行为异常,包括:
根据各个所述历史命令信息,确定与所述目标命令信息匹配的相似命令集合;
若所述相似命令集合中的历史命令信息的个数小于第一预设个数阈值,确定所述目标命令信息存在行为异常;或者,若所述相似命令集合中的历史命令信息所分布的历史时间段小于预设周期阈值,确定所述目标命令信息存在行为异常。
4.根据权利要求3所述的异常命令的检测方法,其特征在于,所述根据各个所述历史命令信息,确定与所述目标命令信息匹配的相似命令集合,包括:
计算各个所述历史命令信息和所述目标命令信息之间的第一相似度;
选取所述第一相似度大于第一预设阈值的历史命令信息,得到所述相似命令集合。
5.根据权利要求1所述的异常命令的检测方法,其特征在于,所述对所述目标命令信息和历史命令信息进行匹配,确定所述目标命令信息是否存在行为异常,包括:
提取所述目标命令信息的第一行为特征,对所述第一行为特征和第二行为特征进行匹配;其中,所述第二行为特征通过历史命令信息提取得到;
若所述第一行为特征和所述第二行为特征匹配失败,确定所述目标命令信息存在行为异常。
6.根据权利要求1-5中任一项所述的异常命令的检测方法,其特征在于,所述全局命令信息库中包括多个第一命令信息;所述全局命令信息库通过以下步骤建立:
获取多个执行设备接收到的第一命令信息;
提取各个所述第一命令信息的第一特征向量;
根据所述第一特征向量对各个所述第一命令信息进行聚类,得到至少一个参照聚类簇,并计算所述参照聚类簇的簇心坐标;
记录各个所述第一命令信息所属的参照聚类簇以及各个所述参照聚类簇的簇心坐标,得到所述全局信息库。
7.根据权利要求6所述的异常命令的检测方法,其特征在于,所述提取各个所述第一命令信息的第一特征向量,包括:
对所述第一命令信息进行分词处理,得到命令序列;所述命令序列中包括多个字符元素;
确定各个所述字符元素的子特征向量;
对所述子特征向量进行融合处理,得到所述第一命令信息的第一特征向量。
8.根据权利要求7所述的异常命令的检测方法,其特征在于,对所述子特征向量进行融合处理,得到所述第一命令信息的第一特征向量,包括:
对各个所述子特征向量进行哈希处理,得到多个哈希值;所述哈希值中包括多个数值元素;
对各个所述哈希值的对应位置的每个数值元素进行加权求和,得到哈希序列;
将所述哈希序列中属于正数的数值元素置1,将所述哈希序列中不属于正数的数值元素置0,得到第一命令信息的第一特征向量。
9.根据权利要求6所述的异常命令的检测方法,其特征在于,所述根据所述第一特征向量对各个所述第一命令信息进行聚类,包括:
选取至少一个所述第一命令信息的第一特征向量作为初始簇心,建立若干初始聚类簇;
计算待聚类特征向量和所述初始簇心之间的第二相似度;所述待聚类特征向量为未加入初始聚类簇的第一命令信息的第一特征向量;
当所述待聚类特征向量和所述初始簇心之间的第二相似度大于或者等于第二预设阈值,将所述待聚类特征向量对应的第一命令信息添加到所述初始簇心对应的初始聚类簇中,并更新所述初始聚类簇的簇心坐标;或者,当所述待聚类特征向量和任意所述初始簇心之间的第二相似度均小于所述第二预设阈值,以所述待聚类特征向量作为初始簇心,建立新的初始聚类簇。
10.根据权利要求1所述的异常命令的检测方法,其特征在于,所述根据所述目标聚类簇,确定所述目标命令信息是否存在类别异常,包括:
检测所述目标聚类簇中是否包括已被认定为异常命令的第一命令信息;
若所述目标聚类簇中包括已被认定为异常命令的第一命令信息,确定所述目标命令信息存在类别异常。
11.根据权利要求1所述的异常命令的检测方法,其特征在于,所述根据所述目标聚类簇,确定所述目标命令信息是否存在类别异常,包括:
检测所述目标聚类簇中的命令信息个数;
若所述命令信息个数小于第二预设个数阈值,确定所述目标命令信息存在类别异常。
12.一种异常命令的检测装置,其特征在于,应用于终端设备,所述装置包括:
获取单元,用于获取待检测的目标命令信息;
匹配单元,用于对所述目标命令信息和历史命令信息进行匹配,确定所述目标命令信息是否存在行为异常;其中,所述历史命令信息为所述目标命令信息的执行设备在历史时间段执行过的命令信息;
聚类单元,用于在全局命令信息库中对所述目标命令信息进行聚类,确定所述目标命令信息所属的目标聚类簇;
处理单元,用于根据所述目标聚类簇,确定所述目标命令信息是否存在类别异常;
识别单元,用于当所述目标命令信息存在行为异常和类别异常,确定所述目标命令信息为异常命令。
13.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11任意一项所述的异常命令的检测方法。
14.一种计算机可读存储介质,所述存储介质存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1至11任意一项所述的异常命令的检测方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任意一项所述的异常命令的检测方法。
CN202211162933.1A 2022-09-23 2022-09-23 异常命令的检测方法、装置、电子设备及存储介质 Pending CN117009832A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211162933.1A CN117009832A (zh) 2022-09-23 2022-09-23 异常命令的检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211162933.1A CN117009832A (zh) 2022-09-23 2022-09-23 异常命令的检测方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117009832A true CN117009832A (zh) 2023-11-07

Family

ID=88574993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211162933.1A Pending CN117009832A (zh) 2022-09-23 2022-09-23 异常命令的检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117009832A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117424755A (zh) * 2023-12-18 2024-01-19 泓诚实业(深圳)有限公司 一种物联网设备数据处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117424755A (zh) * 2023-12-18 2024-01-19 泓诚实业(深圳)有限公司 一种物联网设备数据处理方法及系统
CN117424755B (zh) * 2023-12-18 2024-04-19 泓诚实业(深圳)有限公司 一种物联网设备数据处理方法及系统

Similar Documents

Publication Publication Date Title
US11544273B2 (en) Constructing event distributions via a streaming scoring operation
US11190562B2 (en) Generic event stream processing for machine learning
US11258814B2 (en) Methods and systems for using embedding from Natural Language Processing (NLP) for enhanced network analytics
US10438297B2 (en) Anti-money laundering platform for mining and analyzing data to identify money launderers
US11755585B2 (en) Generating enriched events using enriched data and extracted features
CN110442712B (zh) 风险的确定方法、装置、服务器和文本审理系统
US20200019891A1 (en) Generating Extracted Features from an Event
US11847111B2 (en) Anomaly detection systems and methods
KR102523160B1 (ko) 딥러닝 기반의 문서 유사도 측정 모델을 이용한 중복 문서 탐지 방법 및 시스템
Levshun et al. A survey on artificial intelligence techniques for security event correlation: models, challenges, and opportunities
CN114417405B (zh) 一种基于人工智能的隐私业务数据分析方法及服务器
Hara et al. Machine-learning approach using solidity bytecode for smart-contract honeypot detection in the ethereum
CN117009832A (zh) 异常命令的检测方法、装置、电子设备及存储介质
CN111988327B (zh) 威胁行为检测和模型建立方法、装置、电子设备及存储介质
US11601339B2 (en) Methods and systems for creating multi-dimensional baselines from network conversations using sequence prediction models
CN113918936A (zh) Sql注入攻击检测的方法以及装置
Zhong et al. FLP: a feature‐based method for log parsing
Canelón et al. Unstructured data for cybersecurity and internal control
US20200019874A1 (en) Identifying Event Distributions Using Interrelated Events
Mandal et al. Exploiting aspect-classified sentiments for cyber-crime analysis and hack prediction
Sun et al. Padetective: A systematic approach to automate detection of promotional attackers in mobile app store
Sun et al. Add-BiGAN: An Add-Based Bidirectional Generative Adversarial Networks for Intrusion Detection
Chudasma Network intrusion detection system using classification techniques in machine learning
Batiuk et al. Ontology Model and Ontological Graph for Development of Decision Support System of Personal Socialization by Common Relevant Interests.
Zheng et al. A New Mining and Protection Method Based on Sensitive Data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination