CN114640529B - 攻击防护方法、装置、设备、存储介质和计算机程序产品 - Google Patents

攻击防护方法、装置、设备、存储介质和计算机程序产品 Download PDF

Info

Publication number
CN114640529B
CN114640529B CN202210292607.6A CN202210292607A CN114640529B CN 114640529 B CN114640529 B CN 114640529B CN 202210292607 A CN202210292607 A CN 202210292607A CN 114640529 B CN114640529 B CN 114640529B
Authority
CN
China
Prior art keywords
target
instruction
abnormal
normal
program
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.)
Active
Application number
CN202210292607.6A
Other languages
English (en)
Other versions
CN114640529A (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210292607.6A priority Critical patent/CN114640529B/zh
Publication of CN114640529A publication Critical patent/CN114640529A/zh
Application granted granted Critical
Publication of CN114640529B publication Critical patent/CN114640529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种攻击防护方法、装置、设备、存储介质和计算机程序产品。所述方法包括:获取目标程序运行过程中执行的目标指令序列;根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。采用本方法能够实时进行攻击防护。

Description

攻击防护方法、装置、设备、存储介质和计算机程序产品
技术领域
本申请涉及信息安全技术领域,特别是涉及一种攻击防护方法、装置、设备、存储介质和计算机程序产品。
背景技术
程序中漏洞的存在为恶意攻击程序提供了条件,对计算机设备中的程序进行攻击防护是当前网络安全中最基础的手段。在程序的动态攻防过程中,只有匹配攻击防护技术才能及时有效的阻止程序中的漏洞被恶意利用。
传统技术中,通过网络流量层、文件、行为以及进程权限层进行安全检查以实现攻击检测。然而,传统技术中,针对文件、进程、行为以及进程权限的表层检测主要在攻击完成后进行,无法在攻击发生的当下提供有效的防护手段,往往造成较大损失。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实时进行攻击防护的攻击防护方法、装置、设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种攻击防护方法。该方法包括:
获取目标程序运行过程中执行的目标指令序列;根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
在其中一个实施例中,该根据异常指令清单确定该目标指令序列对应的目标攻击行为,包括:若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
在其中一个实施例中,该方法还包括:若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
在其中一个实施例中,该根据正常指令清单判断该目标指令序列是否异常之前,该方法还包括:获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息;根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;对应地,该根据正常指令清单判断该目标指令序列是否异常,包括:根据该查询范围内的内容判断该目标指令序列是否异常。
在其中一个实施例中,该正常指令清单的构建过程包括:确定多个正常程序,各正常程序与不同的程序信息相对应;对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列;根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
在其中一个实施例中,该异常指令清单中还包含各攻击行为对应的危害信息,该方法还包括:在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
第二方面,本申请还提供了一种攻击防护装置。该装置包括:
第一获取模块,用于获取目标程序运行过程中执行的目标指令序列;第一确定模块,用于根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;第二确定模块,用于若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
在其中一个实施例中,该第二确定模块,具体用于:若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
在其中一个实施例中,该装置还包括:
第一上报模块,用于若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
在其中一个实施例中,该装置还包括:
第二获取模块,用于获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息;第三确定模块,用于根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;对应地,该第一确定模块,具体用于:根据该查询范围内的内容判断该目标指令序列是否异常。
在其中一个实施例中,该正常指令清单的构建过程包括:确定多个正常程序,各正常程序与不同的程序信息相对应;对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列;根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
在其中一个实施例中,该异常指令清单中还包含各攻击行为对应的危害信息,该装置还包括:第二上报模块,用于在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
上述攻击防护方法、装置、设备、存储介质和计算机程序产品,通过获取目标程序运行过程中执行的目标指令序列并根据包含多个正常指令序列的正常指令清单判断该目标指令序列是否异常,当该目标指令序列异常,则终止该目标程序运行,实现对目标程序的攻击行为的全流程跟踪监测,及时阻止异常指令序列对目标程序的攻击,可在异常指令序列执行的当下,实现对目标程序的攻击防护,提供有效的防护手段。进一步地,根据包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为的异常指令清单确定该目标指令序列对应的目标攻击行为,使得用户可明确当前的攻击行为,以及时实施对应的防护措施。
附图说明
图1为一个实施例中攻击防护方法的流程示意图;
图2为一个实施例中处理目标指令序列的流程示意图;
图3为一个实施例中构建正常指令清单的流程示意图;
图4为一个实施例中正常指令清单的存储结构示意图;
图5为一个实施例中判断目标指令序列是否异常的流程示意图;
图6为一个实施例中漏洞防护装置的结构示意图;
图7为一个实施例中漏洞防护装置的处理流程示意图;
图8为一个实施例中正常行为指令采集模块处理流程示意图;
图9为一个实施例中污染检测模块的处理流程示意图;
图10为一个实施例中攻击类型判断模块的处理流程示意图;
图11为一个实施例中一种攻击防护装置的结构框图;
图12为一个实施例中第二种攻击防护装置的结构框图;
图13为一个实施例中第三种攻击防护装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
程序中漏洞的存在为恶意攻击程序提供了条件,漏洞防护是网络安全中最基础的手段。在动态攻防过程中,只有匹配的防护技术才能及时有效的阻止代码缺陷被恶意利用。
0Day漏洞,即“未公开漏洞”,是指那些没有公开过,没有官方补丁的漏洞,也就是说,除了漏洞发现者,没有其他的人知道这个漏洞的存在,并且可以有效地加以利用,发起的攻击往往具有很大的突发性与破坏性。
现有的攻击防护方式主要是在网络流量层、文件、行为、进程权限层进行安全检测。如杀毒软件通过提取病毒特征,匹配特征来查杀文件中的病毒,通过检测可疑程序的行为来保护网络访问等。
然而,针对“文件、进程、行为、权限”的表层检测多用于攻击完成后,是对攻击最后释放的工作载荷进行安全检测,却未能深入检测“内存指令层”对攻击代码及指令,其无法在0day漏洞攻击发生、攻击指令执行当下,提供有效的防护手段。
在一个实施例中,如图1所示,提供了一种攻击防护方法,本申请实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。本实施例中,其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑或服务器等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群。该方法包括以下步骤:
步骤101,获取目标程序运行过程中执行的目标指令序列。
其中,终端中可以安装各种程序软件或直接运行各种程序,用于执行相关操作,例如,个人计算机中通常安装的办公软件、即时通信软件或杀毒软件等。对终端使用过程中正在运行的程序进行监控,将正在运行的程序作为目标程序,对该目标程序所执行的操作进行监控。在终端的内存中,存储有多个指令序列,目标程序执行某一操作需要调用相应的一个或多个指令序列实现。例如,办公软件中,“打字”的操作,通过调用多个指令序列,实现打字功能。因此,在终端中的目标程序运行的过程中,可直接获取目标程序运行过程中所执行的各个操作对应的指令序列,并将当前时刻正在执行的指令序列作为目标指令序列。通过对目标指令序列进行是否异常的检测,确定当前时刻是否存在攻击行为。
步骤102,根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列。
其中,正常指令清单中包含多个正常指令序列,具体地,正常指令序列指终端中各个程序在正常运行时执行各个操作所调用的指令序列,由各个程序执行各个操作所对应的正常指令序列形成该正常指令清单。由于该正常指令清单中包含的均为正常指令清单,因此,可通过该正常指令清单判断目标程序当前正在运行的该目标指令序列是否异常,若异常,则意味可能存在攻击行为。可选的,该正常指令清单可存储于正常指令序列数据库中。
步骤103,若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
其中,可预先收集终端中各个程序已经被发现的异常指令序列,即已知异常指令序列,该已知异常指令序列指使得对应程序的相关操作不能正常执行或者使得终端无法正常使用的指令序列。同时,收集各个已知异常指令序列存在于终端中被执行后所产生的对应的已知的攻击行为,将各个已知异常指令序列及其对应的攻击行为进行存储,形成该异常指令清单。可选的,该异常指令清单可存储于异常指令数据库中。
在目标程序运行过程中,当判断目标指令序列异常后,立即终止目标程序的运行,也即阻止目标程序执行所有操作,实现对攻击行为发生的当下进行有效防护。同时,根据异常指令清单判断该目标指令序列对应的目标攻击行为,当判断出目标攻击行为后,可使得用户对产生该目标攻击行为的代码漏洞进行修复,以避免再次出现,提升目标程序的安全性。
上述攻击防护方法,通过获取目标程序运行过程中执行的目标指令序列并根据包含多个正常指令序列的正常指令清单判断该目标指令序列是否异常,当该目标指令序列异常,则终止该目标程序运行,实现对目标程序的攻击行为的全流程跟踪监测,及时阻止异常指令序列对目标程序的攻击,可在异常指令序列执行的当下,实现对目标程序的攻击防护,提供有效的防护手段。进一步地,根据包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为的异常指令清单确定该目标指令序列对应的目标攻击行为,使得用户可明确当前的攻击行为,以及时实施对应的防护措施。
在一个实施例中,如图2所示,其示出了本申请实施例提供的一种处理目标指令序列的流程示意图。步骤103中,根据异常指令清单确定该目标指令序列对应的目标攻击行为,具体包括:
步骤201,若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
该异常指令清单中还包含各攻击行为对应的危害信息。在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
其中,异常指令清单中存储有各个程序对应的多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。因此,当判断目标指令序列异常后,判断目标指令序列是否存储于该异常指令清单中,以确定该目标指令序列对应的攻击行为。具体地,例如,可判断该目标指令序列是否与异常指令清单中包含的已知异常指令序列一致,若一致,则确定该目标指令序列存储于该异常指令清单中,同时,将与其一致的已知异常指令序列对应的攻击行为作为目标指令序列对应的目标攻击行为。
可选的,在预先收集各已知异常序列对应的已知的攻击行为时,也同步确定各已知的攻击行为所产生的危害,得到各已知的攻击行为对应的危害信息,并将该危害信息在该异常指令清单中存储。其中,危害信息例如可以为中毒或盗取信息等,本申请实施例对此不做限定。
因此,当确定目标攻击行为后,获取异常指令清单中与目标攻击行为对应的攻击行为相关联的危害信息,并上报该危害信息,使得用户了解当前目标程序被攻击所产生的危害。其中,上报指将危害信息在终端界面中显示,或者将危害信息发送至用户指定账号等,本申请实施例对此不做具体限定,只要实现通知用户的目的即可。
步骤202,若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
其中,若判断目标指令序列异常且目标指令序列并不存储于该异常指令清单中,即与异常指令清单中包含的各已知异常指令序列均不一致,则确定目标指令序列为此前并未发生过的或未发现的异常指令序列,属于0Day漏洞的存在从而产生的异常指令序列,其对应产生的攻击行为未知。因此,可上报未知攻击信息,该未知攻击信息用于指示发现0Day漏洞或发现新型的攻击行为,以警醒用户。可选的,事后可明确该目标指令序列,即未知的异常指令序列对应产生的攻击行为以及危害,并将其存储于异常指令清单中,以更新该异常指令清单。可选的,也可周期性更新该异常指令清单,以提升目标程序安全性的判断准确性。
本申请实施例中,通过指令序列检测技术来实时防护,解决0day漏洞攻击问题,满足重要***对安全性的要求,可提供0day漏洞的检测、拦截与报告三大功能。同时,对攻击行为进行全流程跟踪,能在攻击行为执行当下,而非事后,提供有效的防护手段。
在一个实施例中,如图3所示,其示出了本申请实施例提供的一种构建正常指令清单的流程示意图。正常指令清单的构建过程包括:
步骤301,确定多个正常程序,各正常程序与不同的程序信息相对应。
其中,终端可以为计算机设备,计算机设备通常运行在不同的操作***下,同时,同一程序,开发过程中会存在不同版本,计算机设备通常可安装不同版本的程序,例如,办公软件可存在2.1.1版本、2.1.3版本或3.1.1版本等不同版本。可预先确定终端可以安装且可正常运行的程序,即正常程序;同时获取各正常程序所分别对应的程序信息,其中,程序信息包括程序的名称、版本以及运行环境等基本信息。
步骤302,对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列。
其中,各正常程序可运行于不同的操作***的终端中,在不同操作***中各正常程序调用的指令可能有所不同,因此,需要获取各正常程序在现有的所有不同操作***中运行不同操作所对应调用的指令序列。其中,终端的操作***例如可以为Windows***历代版本、Linux***不同发行版本、Android(安卓)、IOS***或麒麟***等。其中,不同操作***也有不同型号,例如,Windows***有32位或64位等型号,Linux***也有不同内核版本。
因此,可预先分别在各个型号的各个操作***中运行各种不同版本的各种正常程序,并获取各正常程序在所安装运行环境中所有不同的操作对应的指令序列,其中各操作为合法操作,例如,Notepad++(轻量级代码编辑器)的操作有打开Notepad++、编辑文本或关闭Notepad++等。通常,执行一个操作对应多个指令序列。可选的,在获取各操作对应的指令序列时,获取各操作对应的多个指令序列以及各指令序列的执行顺序和各指令序列跳转的相对位置,其中,跳转的相对位置指每次跳转到新地址的字节数。根据确定的执行顺序形成各操作对应的指令序列集合,将各指令序列集合进行存储。
步骤303,根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
其中,将各正常程序运行不同操作对应的指令序列在正常指令清单中存储,得到包含多个正常指令序列的正常指令清单。
具体地,可根据操作***、操作***型号、程序名称、操作名称以及指令序列,将各正常指令序列在正常指令清单中逐级深入,分门别类的存储,以便于索引。请参考图4,其示出了本申请实施例提供的一种正常指令清单的存储结构示意图,将各操作对应的指令序列根据操作***、操作***型号、程序名称、操作名称以及指令序列集合进行存储,指令序列集合中包含确定执行顺序的多个指令序列以及各指令序列跳转的相对位置,N代表指令序列标识。
可选的,可周期性更新该正常指令清单,例如,当正常程序有大版本更新时,获取更新版本的正常程序执行不同操作对应的指令序列并将其存储于该正常指令清单中。
可选的,异常指令清单的结构可与该正常指令清单类似,在异常指令清单中将各已知异常指令根据操作***、操作***型号、程序名称、操作名称以及已知异常指令序列进行存储,同时对应存储各已知异常指令序列对应的攻击行为。
通过采集不同运行环境下的各正常程序执行不同操作对应的指令序列并构建正常指令清单,从而可将各正常指令序列进行分门别类的存储,便于对正常指令序列的索引以及对正常指令清单的更新。
在一个实施例中,如图5所示,其示出了本申请实施例提供的一种判断目标指令序列是否异常的流程示意图。在根据正常指令清单判断该目标指令序列是否异常之前,该方法还包括如下步骤:
步骤501,获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息。
相应的,在获取目标指令序列时,同时可获取目标指令序列所运行的操作***、操作***型号、目标程序的名称、操作名称等基本信息,其中,目标程序信息即目标程序的程序名称、操作名称以及程序版本等信息。目标***信息即目标程序运行的操作***、操作***型号等信息。根据基本信息,在正常指令清单中查询是否有与目标指令序列一致的正常指令序列。
步骤502,根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列。
其中,不同操作对应多个指令序列并在正常指令清单中将各指令序列按照执行顺序存储。正常指令清单中将各指令序列根据程序信息各***信息进行存储,具体可参考图4。当根据获取到的目标指令序列的目标***信息以及目标程序信息,确定目标指令序列所需对比的正常指令序列的范围,以提升对目标指令序列是否异常的判断效率。例如,以图4为例,当目标***信息为32位Windows***,目标程序信息为程序1、操作1,则目标指令序列所需对比的正常指令序列为指令序列1至指令序列N。
步骤503,根据该查询范围内的内容判断该目标指令序列是否异常。
根据确定的查询范围,将目标指令序列与之进行对比,以判断目标指令序列是否异常,若判断目标指令序列存在于该正常指令清单中,则确定目标指令序列正常,若不存在,则判断目标指令序列异常,需终止目标程序的运行。
在一个实施例中,如图6所示,其示出了本申请实施例提供的一种漏洞防护装置的结构示意图。该漏洞防护装置600包括正常行为指令采集模块601、正常指令清单602、污染检测模块603、攻击类型判断模块604以及攻击行为指令清单605。其中正常指令清单602和攻击行为指令清单605为数据库。其中,该漏洞防护装置600可通过代码实现,安装于终端中,对终端中的各种程序在运行时进行监测,以判断是否因存在漏洞而受到攻击。如图7所示,该漏洞防护装置600的处理流程包括:
步骤701:污染检测模块介入用户操作过程,对***中实际执行的指令进行监控。
步骤702:污染检测模块根据正常指令清单判断是否存在攻击行为。
步骤703:存在攻击行为,终止当前运行的程序。
步骤704:攻击类型判断模块对存在攻击行为的指令进行类型归属,判断具体实施的攻击方式,并提出对该攻击方式的应对方法等建议。
步骤705:不存在攻击行为,***将继续当前运行的程序,不做任何处理。
步骤706:进行下一轮的检测。
具体地,正常行为指令采集模块601负责在遭遇攻击前,采集可信程序在正常运行时各个操作执行的指令序列。指令序列的搜集包括执行的指令组合、其前后顺序以及跳转的相对位置,即每次跳转到新地址的字节数。程序执行的操作比如打开程序、编辑、关闭程序等。在采集指令集时,根据不同的操作***及其内核版本、各个***下不同的程序分门别类进行采集。正常行为指令采集模块具体执行流程如图8所示,包括:
步骤801,开始运行***中某一个程序。
步骤802:对程序运行中每一个操作进行正常指令序列采集。
步骤803:把采集完毕的某个程序中各个操作的正常指令序列发送至正常指令清单中。
步骤804:准备新一轮次的指令采集。
正常行为指令采集模块与正常指令清单602相连,做存储。正常指令清单602负责存储接收到的正常指令序列。具体地,是按照颗粒度从大到小的方法进行细致分类的,从不同操作***开始、到操作***的位数或发行版、***中的某个程序、程序中的某个操作依次深入分门别类记录指令序列。
正常指令清单602与污染检测模块603相连,传送正常指令清单供污染检测模块603进行比对,从而判断是否存在攻击,污染检测模块603负责扫描与检测程序运行时的指令序列详情,判断是否存在攻击。如果发现异常指令,即检测出非原生指令,该模块将终止程序运行并判断为一次攻击。如果未发现异常,则继续程序的运行并做下一步检测。如图9所示,污染检测模块603的处理流程包括:
步骤901:在目标程序运行的过程中,采集内存实际执行的指令序列。
步骤902:从正常指令清单中调用正常指令清单与采集的指令序列进行比对。
步骤903:判断并处理指令序列比对结果,若正在运行的指令与正常指令清单中的正常指令序列不同,则判断为存在攻击,终止目标程序运行,将采集到的指令序列作为异常指令序列。反之,则判断为正常运行,继续目标程序运行。
步骤904:若终止目标程序的运行,将包括异常指令、被攻击的程序特征等本次检测捕捉到全部信息传送到攻击类型判断模块。
其中,被攻击的程序特征包括目标程序的名称、版本号、运行环境等信息。
步骤905:不对目标程序运行进行干预。
步骤906:下一轮次的污染检测。
攻击类型判断模块604负责判断具有攻击嫌疑的指令序列所实施的具体攻击类型,并报告攻击名称及其危害;如若异常指令无法匹配到现有的攻击类型,即报告为0day漏洞。攻击类型判断模块604与攻击行为指令清单605相连,接收现有收录的所有攻击类型所对应的指令序列集合,并把异常指令与攻击行为指令清单605提供的指令序列进行比对,从而做出下一步判断。
攻击行为指令清单605存储目前已知的所有攻击类型对应的异常指令集合,提供信息供攻击类型判断模块604中当前捕获到的攻击方式所使用的指令序列做比对。如图10所示,攻击类型判断模块604的处理流程包括:
步骤1001:接收污染检测模块发送的异常指令序列、被攻击的程序特征等信息。
步骤1002:调用攻击行为指令清单,并根据异常指令序列和被攻击的程序特征,将异常指令序列与攻击行为指令清单进行比对。
步骤1003:处理指令序列比对结果并判断具体攻击类型。若攻击类型与名称已存在在清单中,报告对应攻击的名称及其危害;若清单中查无此攻击类型,则判断为0day漏洞,并报告为发现新型攻击方式。
步骤1004:报告对应攻击的名称及其危害。
步骤1005:报告发现新型攻击方式,即0day漏洞。
本申请实施例提供的漏洞防护装置600,可提供0day漏洞的检测、拦截与报告三大功能。同时可对漏洞攻击进行全流程跟踪,能在攻击指令执行当下,而非事后,提供有效的防护手段。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的攻击防护方法的攻击防护装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个攻击防护装置实施例中的具体限定可以参见上文中对于攻击防护方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种攻击防护装置,该攻击防护装置1100包括:第一获取模块1101、第一确定模块1102和第二确定模块1103,其中:
第一获取模块1101,用于获取目标程序运行过程中执行的目标指令序列;第一确定模块1102,用于根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;第二确定模块1103,用于若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
在一个实施例中,该第二确定模块1103,具体用于:若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
在一个实施例中,如图12所示,其示出了本申请实施例提供的第二种攻击防护装置的结构示意图,该攻击防护装置1200还包括:
第一上报模块1104,用于若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
第二获取模块1105,用于获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息。
第三确定模块1106,用于根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;对应地,该第一确定模块1102,具体用于:根据该查询范围内的内容判断该目标指令序列是否异常。
在一个实施例中,该正常指令清单的构建过程包括:确定多个正常程序,各正常程序与不同的程序信息相对应;对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列;根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
在一个实施例中,如图13所示,其示出了本申请实施例提供的第三种攻击防护装置的结构示意图,该攻击防护装置1300还包括:
第二上报模块1107,用于在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
上述攻击防护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储攻击防护数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种攻击防护方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取目标程序运行过程中执行的目标指令序列;根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息;根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;对应地,该根据正常指令清单判断该目标指令序列是否异常,包括:根据该查询范围内的内容判断该目标指令序列是否异常。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:确定多个正常程序,各正常程序与不同的程序信息相对应;对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列;根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标程序运行过程中执行的目标指令序列;根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息;根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;对应地,该根据正常指令清单判断该目标指令序列是否异常,包括:根据该查询范围内的内容判断该目标指令序列是否异常。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定多个正常程序,各正常程序与不同的程序信息相对应;对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列;根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取目标程序运行过程中执行的目标指令序列;根据正常指令清单判断该目标指令序列是否异常,其中,该正常指令清单中包含多个正常指令序列;若该目标指令序列异常,则终止该目标程序运行,并根据异常指令清单确定该目标指令序列对应的目标攻击行为,其中,该异常指令清单中包含多个已知异常指令序列以及各已知异常指令序列对应的攻击行为。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该目标指令序列存储于该异常指令清单中,则将该异常指令清单中与该目标指令序列对应的攻击行为确定为该目标攻击行为。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该目标指令序列未存储于该异常指令清单中,则根据该目标指令序列上报未知攻击信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取该目标程序的目标程序信息以及运行该目标程序的操作***的目标***信息;根据该目标程序信息以及该目标***信息在该正常指令清单中确定查询范围,该正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;对应地,该根据正常指令清单判断该目标指令序列是否异常,包括:根据该查询范围内的内容判断该目标指令序列是否异常。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定多个正常程序,各正常程序与不同的程序信息相对应;对于各正常程序,获取该正常程序在不同操作***中运行不同操作对应的指令序列;根据各正常程序在不同操作***中运行不同操作对应的指令序列构建该正常指令清单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在确定该目标指令序列对应的目标攻击行为后,将该异常指令清单中与该目标攻击行为对应的危害信息上报。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种攻击防护方法,其特征在于,所述方法包括:
获取目标程序运行过程中执行的目标指令序列;
根据正常指令清单判断所述目标指令序列是否异常,其中,所述正常指令清单中包含多个正常指令序列;
若所述目标指令序列异常,则终止所述目标程序运行,并根据异常指令清单确定所述目标指令序列对应的目标攻击行为,其中,所述异常指令清单中包含多个已知异常指令序列以及各所述已知异常指令序列对应的攻击行为。
2.根据权利要求1所述的方法,其特征在于,所述根据异常指令清单确定所述目标指令序列对应的目标攻击行为,包括:
若所述目标指令序列存储于所述异常指令清单中,则将所述异常指令清单中与所述目标指令序列对应的攻击行为确定为所述目标攻击行为。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述目标指令序列未存储于所述异常指令清单中,则根据所述目标指令序列上报未知攻击信息。
4.根据权利要求1所述的方法,其特征在于,所述根据正常指令清单判断所述目标指令序列是否异常之前,所述方法还包括:
获取所述目标程序的目标程序信息以及运行所述目标程序的操作***的目标***信息;
根据所述目标程序信息以及所述目标***信息在所述正常指令清单中确定查询范围,所述正常指令清单包括与不同的程序信息以及不同的***信息所对应的正常指令序列;
对应地,所述根据正常指令清单判断所述目标指令序列是否异常,包括:
根据所述查询范围内的内容判断所述目标指令序列是否异常。
5.根据权利要求4所述的方法,其特征在于,所述正常指令清单的构建过程包括:
确定多个正常程序,各所述正常程序与不同的程序信息相对应;
对于各所述正常程序,获取所述正常程序在不同操作***中运行不同操作对应的指令序列;
根据各所述正常程序在不同操作***中运行不同操作对应的指令序列构建所述正常指令清单。
6.根据权利要求2所述的方法,其特征在于,所述异常指令清单中还包含各所述攻击行为对应的危害信息,所述方法还包括:
在确定所述目标指令序列对应的目标攻击行为后,将所述异常指令清单中与所述目标攻击行为对应的危害信息上报。
7.一种攻击防护装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标程序运行过程中执行的目标指令序列;
第一确定模块,用于根据正常指令清单判断所述目标指令序列是否异常,其中,所述正常指令清单中包含多个正常指令序列;
第二确定模块,用于若所述目标指令序列异常,则终止所述目标程序运行,并根据异常指令清单确定所述目标指令序列对应的目标攻击行为,其中,所述异常指令清单中包含多个已知异常指令序列以及各所述已知异常指令序列对应的攻击行为。
8.根据权利要求7所述的装置,其特征在于,所述第二确定模块,具体用于:
若所述目标指令序列存储于所述异常指令清单中,则将所述异常指令清单中与所述目标指令序列对应的攻击行为确定为所述目标攻击行为。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210292607.6A 2022-03-24 2022-03-24 攻击防护方法、装置、设备、存储介质和计算机程序产品 Active CN114640529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210292607.6A CN114640529B (zh) 2022-03-24 2022-03-24 攻击防护方法、装置、设备、存储介质和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210292607.6A CN114640529B (zh) 2022-03-24 2022-03-24 攻击防护方法、装置、设备、存储介质和计算机程序产品

Publications (2)

Publication Number Publication Date
CN114640529A CN114640529A (zh) 2022-06-17
CN114640529B true CN114640529B (zh) 2024-02-02

Family

ID=81950449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210292607.6A Active CN114640529B (zh) 2022-03-24 2022-03-24 攻击防护方法、装置、设备、存储介质和计算机程序产品

Country Status (1)

Country Link
CN (1) CN114640529B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558726A (zh) * 2018-09-29 2019-04-02 四川大学 一种基于动态分析的控制流劫持攻击检测技术与***
CN113632432A (zh) * 2019-09-12 2021-11-09 奇安信安全技术(珠海)有限公司 一种攻击行为的判定方法、装置及计算机存储介质
CN113965394A (zh) * 2021-10-27 2022-01-21 北京天融信网络安全技术有限公司 网络攻击信息获取方法、装置、计算机设备和介质
CN114139154A (zh) * 2021-11-20 2022-03-04 杭州安恒信息技术股份有限公司 一种恶意代码检测方法、装置、计算机和可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503902B2 (en) * 2017-03-08 2019-12-10 Intel Corporation System, apparatus and method for detecting a data-oriented programming attack
US10521585B2 (en) * 2017-10-02 2019-12-31 Baidu Usa Llc Method and apparatus for detecting side-channel attack

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558726A (zh) * 2018-09-29 2019-04-02 四川大学 一种基于动态分析的控制流劫持攻击检测技术与***
CN113632432A (zh) * 2019-09-12 2021-11-09 奇安信安全技术(珠海)有限公司 一种攻击行为的判定方法、装置及计算机存储介质
CN113965394A (zh) * 2021-10-27 2022-01-21 北京天融信网络安全技术有限公司 网络攻击信息获取方法、装置、计算机设备和介质
CN114139154A (zh) * 2021-11-20 2022-03-04 杭州安恒信息技术股份有限公司 一种恶意代码检测方法、装置、计算机和可读存储介质

Also Published As

Publication number Publication date
CN114640529A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
Milajerdi et al. Holmes: real-time apt detection through correlation of suspicious information flows
US9838405B1 (en) Systems and methods for determining types of malware infections on computing devices
US9424426B2 (en) Detection of malicious code insertion in trusted environments
JP6703616B2 (ja) セキュリティ脅威を検出するためのシステム及び方法
EP2939173B1 (en) Real-time representation of security-relevant system state
CN107851155A (zh) 用于跨越多个软件实体跟踪恶意行为的***及方法
CN104484599A (zh) 一种基于应用程序的行为处理方法和装置
JP2018522359A (ja) コンピューティングプロセス内の未知の脆弱性を検出するためのシステム及び方法
CN114679315B (zh) 攻击检测方法、装置、计算机设备、存储介质和程序产品
WO2021121382A1 (en) Security management of an autonomous vehicle
US9456001B2 (en) Attack notification
US20230087309A1 (en) Cyberattack identification in a network environment
KR102045772B1 (ko) 악성 코드를 탐지하기 위한 전자 시스템 및 방법
CN111104670B (zh) 一种apt攻击的识别和防护方法
CN117370701A (zh) 浏览器风险检测方法、装置、计算机设备和存储介质
CN114640529B (zh) 攻击防护方法、装置、设备、存储介质和计算机程序产品
WO2020027956A1 (en) Listen mode for application operation whitelisting mechanisms
CN116204876A (zh) 异常检测方法、设备以及存储介质
Iffländer et al. Hands off my database: Ransomware detection in databases through dynamic analysis of query sequences
WO2021144978A1 (ja) 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム
Li et al. LogKernel: A threat hunting approach based on behaviour provenance graph and graph kernel clustering
US11763004B1 (en) System and method for bootkit detection
CN113518055A (zh) 数据安全防护的处理方法及装置、存储介质、终端
US9665715B1 (en) Systems and methods for detecting malware-induced crashes
Hassan et al. Extraction of malware iocs and ttps mapping with coas

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
GR01 Patent grant
GR01 Patent grant