CN111859405A - 一种威胁免疫框架、方法、设备及可读存储介质 - Google Patents
一种威胁免疫框架、方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111859405A CN111859405A CN202010760519.5A CN202010760519A CN111859405A CN 111859405 A CN111859405 A CN 111859405A CN 202010760519 A CN202010760519 A CN 202010760519A CN 111859405 A CN111859405 A CN 111859405A
- Authority
- CN
- China
- Prior art keywords
- patch
- patching
- vulnerability
- rule
- threat
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种威胁免疫框架、方法、设备及可读存储介质,该框架包括:漏洞监测模块和驱动模块:漏洞监测模块用于读取补丁规则,并利用补丁规则判断当前系统是否存在目标漏洞;若存在目标漏洞,则下发打补丁命令至驱动模块,其中,打补丁命令包括补丁位置及补丁;驱动模块用于根据接收到的打补丁命令在补丁位置打补丁。该框架能够实现漏洞的检测,以及自动进行打补丁操作。由于补丁规则本身可以被更新,因此该框架可以防御更多更新的漏洞,能够更好地保障系统安全。
Description
技术领域
本发明涉及计算机安全技术领域,特别是涉及一种威胁免疫框架、方法、设备及可读存储介质。
背景技术
在发布的软件存在缺陷发现之后,另外编制一个小程序使其完善,这种小程序俗称补丁。
目前,网络侧的虚拟补丁和补丁工具均可实现对有缺陷软件进行完善。但是,网络侧虚拟补丁只能通过网络流量防御远程漏洞,而无法防御加密的数据流量以及本地的漏洞。补丁工具针对某个特殊的漏洞进行打补丁,无法防御其他漏洞或打其他补丁。可见,基于网络层的虚拟补丁和补丁工具均具有其局限性,无法全面有效地防御威胁。
综上所述,如何有效地解决安全防御中威胁免疫等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种威胁免疫框架、方法、设备及可读存储介质,能够进行有效的打补丁操作。
为解决上述技术问题,本发明提供如下技术方案:
一种威胁免疫框架,包括漏洞监测模块和驱动模块:
所述漏洞监测模块用于读取补丁规则,并利用所述补丁规则判断当前系统是否存在目标漏洞;若存在所述目标漏洞,则下发打补丁命令至所述驱动模块,其中,所述打补丁命令包括补丁位置及补丁;
所述驱动模块用于根据接收到的所述打补丁命令在所述补丁位置打补丁。
优选地,所述驱动模块还接收所述补丁规则:
所述驱动模块在接收到所述打补丁命令的情况下,还利用所述补丁规则,核实当前系统是否存在所述目标漏洞;若存在所述目标漏洞,则执行根据接收到的所述打补丁命令在所述补丁位置打补丁的操作。
优选地,包括:
所述补丁包括热补丁,相应地,所述驱动模块在接收到所述打补丁命令后,挂起当前系统的CPU,对内核驱动中所述补丁位置进行挂钩处理,并打上所述热补丁。
优选地,还包括:
规则更新模块,用于对新发现的漏洞进行分析,得到分析结果;利用所述分析结果得到新补丁规则;利用所述新补丁规则,对所述补丁规则进行更新。
优选地,所述分析结果包括所述漏洞支持的系统版本号、驱动模块名、驱动时间戳和解决所述漏洞的补丁信息中的至少一项。
优选地,利用所述补丁规则判断当前系统是否存在目标漏洞,包括:
所述漏洞监测模块,在所述补丁规则中,检索与所述当前系统的系统版本号、驱动模块名和驱动时间戳中至少一项匹配的规则记录;
若检索到所述规则记录,则确定所述当前系统中存在与所述规则记录对应的所述目标漏洞;
若未检索到所述规则记录,则确定所述当前系统无所述目标漏洞。
优选地,包括:
所述驱动模块在接收到所述打补丁命令的情况下,利用所述当前系统中内存的漏洞数据判断所述目标漏洞是否已经打上补丁;
若所述目标漏洞未打补丁,则执行根据接收到的所述打补丁命令在所述补丁位置打补丁的操作。
优选地,还包括:
所述驱动模块利用内存中记录的漏洞数据卸载补丁。
一种威胁免疫方法,应用于威胁免疫框架,包括:
利用驱动模块读取补丁规则,并利用所述补丁规则判断当前系统是否存在目标漏洞;若存在所述目标漏洞,则下发打补丁命令至所述驱动模块,其中,所述打补丁命令包括补丁位置及补丁;
利用所述驱动模块,根据接收到的所述打补丁命令在所述补丁位置打补丁。
一种威胁免疫设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述威胁免疫方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述威胁免疫方法的步骤。
应用本发明实施例所提供的威胁免疫框架,该框架包括:漏洞监测模块和驱动模块:漏洞监测模块用于读取补丁规则,并利用补丁规则判断当前系统是否存在目标漏洞;若存在目标漏洞,则下发打补丁命令至驱动模块,其中,打补丁命令包括补丁位置及补丁;驱动模块用于根据接收到的打补丁命令在补丁位置打补丁。
在该框架中,漏洞监测模块可读取补丁规则,并基于补丁规则判断当前系统是否存在漏洞,若存在目标漏洞,则下发打补丁命令给驱动模块。其中,打补丁目录包括补丁位置和补丁。驱动模块便可基于打补丁命令中的补丁位置以及该补丁,进行打补丁操作。由此可见,该框架能够实现漏洞的检测,以及自动进行打补丁操作。由于补丁规则本身可以被更新,因此该框架可以防御更多更新的漏洞,能够更好地保障系统安全。
相应地,本发明实施例还提供了与上述威胁免疫框架相对应的威胁免疫方法、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种威胁免疫框架的示意图;
图2为本发明实施例中一种威胁免疫方法的实施流程图;
图3为本发明实施例中一种威胁免疫框架的具体示意图;
图4为本发明实施例中一种威胁免疫方法的具体实施示意图;
图5为本发明实施例中一种威胁免疫设备的结构示意图;
图6为本发明实施例中一种威胁免疫设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种威胁免疫框架的示意图,该框架包括:
漏洞监测模块101和驱动模块102:
漏洞监测模块用于读取补丁规则,并利用补丁规则判断当前系统是否存在目标漏洞;若存在目标漏洞,则下发打补丁命令至驱动模块,其中,打补丁命令包括补丁位置及补丁;
驱动模块用于根据接收到的打补丁命令在补丁位置打补丁。
其中,补丁规则可以具体存放在补丁规则库中,且该补丁规则可以被更新。
需要说明的是,补丁规则中可具体包括用于判断是否存在某漏洞的判断参数(特征),例如漏洞对应的系统名称、系统版本号。当然,补丁规则中还可具体包括补丁位置和补丁;其中补丁位置也可称之为漏洞偏移。其中,漏洞偏移,在本文中简称偏移(offset),即需要打补丁的详细地址。
漏洞监测模块可以周期性的读取补丁规则,然后依据补丁规则判断当前系统是否存在目标漏洞。其中,目标漏洞即基于补丁规则能够监测出的任意漏洞。在检测存在目标漏洞,则可下发打补丁命令。打补丁命令具体包括补丁位置和补丁。
驱动模块接收到打补丁命令之后,便可在打补丁位置,用该打补丁命令中的补丁进行打补丁。
在本实施例中,并不限定检索一次补丁规则所确定出的目标漏洞的数量,即所确定的目标漏洞可以为1个也可以为多个。
应用本发明实施例所提供的威胁免疫框架,该框架包括:漏洞监测模块和驱动模块:漏洞监测模块用于读取补丁规则,并利用补丁规则判断当前系统是否存在目标漏洞;若存在目标漏洞,则下发打补丁命令至驱动模块,其中,打补丁命令包括补丁位置及补丁;驱动模块用于根据接收到的打补丁命令在补丁位置打补丁。
在该框架中,漏洞监测模块可读取补丁规则,并基于补丁规则判断当前系统是否存在漏洞,若存在目标漏洞,则下发打补丁命令给驱动模块。其中,打补丁目录包括补丁位置和补丁。驱动模块便可基于打补丁命令中的补丁位置以及该补丁,进行打补丁操作。由此可见,该框架能够实现漏洞的检测,以及自动进行打补丁操作。由于补丁规则本身可以被更新,因此该框架可以防御更多更新的漏洞,能够更好地保障系统安全。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
优选地,为了避免出现误打补丁,驱动模块还可在接收到打补丁命令的情况下,对是否存在目标漏洞进行核实。即驱动模块还接收补丁规则;在接收到打补丁命令的情况下,还利用补丁规则,核实当前系统是否存在目标漏洞;若存在目标漏洞,则执行根据接收到的打补丁命令在补丁位置打补丁的操作。具体的,驱动模块核实当前系统是否存在目标漏洞的方式可以与漏洞监测模块检测当前系统是否存在目标漏洞的方式相同,即借助于补丁规则进行漏洞检测。当然,驱动模块核实当前系统是否存在目标漏洞的方式,也可以与漏洞监测模块检测当前是否存在目标漏洞方式不同。这里的不同,可以是指驱动模块判断目标漏洞是否存在的依据与漏洞监测模块的判断目标漏洞是否存在的依据不同。例如,若漏洞监测模块仅在监测到满足A、B和C三个条件时,确定存在目标漏洞;而对于驱动模块,可以在监测到满足A、B和C中的任意一个条件时,即确定目标漏洞存在。
优选地,为避免因打补丁操作,导致系统服务中断,在本发明的一种实施例中,还可采用热补丁技术进行打补丁。具体的,漏洞监测模块向驱动模块发送的打补丁命令中的补丁包括热补丁,相应地,驱动模块在接收到打补丁命令后,挂起当前系统的CPU,对内核驱动中补丁位置进行挂钩处理,并打上热补丁。其中,热补丁(hotpatch),即不使用微软补丁安装方式,直接在系统内存里把漏洞修补上的一种补丁技术;“热”即实时,热补丁即实时对系统打补丁,防御漏洞,提高系统安全性。
优选地,考虑到,漏洞的发现是随机,漏洞之间是存在差异性的,为了有效地解决新发现的漏洞,如0day或厂商被爆出新的漏洞,而来不及更新微软补丁;以及处理更多的漏洞。在本发明的一种具体实施例中,威胁免疫框架还可包括规则更新模块,用于对新发现的漏洞进行分析,得到分析结果;利用分析结果得到新补丁规则;利用新补丁规则,对补丁规则进行更新。
其中,基于最新发现的威胁,规则更新模块更新补丁规则的具体实现过程,包括:
步骤一、获取新的漏洞;
步骤二、对该漏洞进行分析,得到分析结果;
步骤三、利用分析结果更新补丁规则。
为便于描述,下面将上述三个步骤结合起来进行说明。
对于新的目标漏洞可以具体为恶意软件,也可以为应用中存在的威胁。目标漏洞获取的方式可直接接收安全检测平台反馈的检测结果的方式获取,也可以通过接收用户录入信息的方式获取。
规则更新模块得到新的漏洞之后,可采用威胁分析工具对该漏洞进行分析,得到分析结果。当然,为了避免出现分析错误,技术人员还可对分析结果进行修订纠正。举例说明:在实际应用中,可在利用神经网络对新漏洞进行分析,得到分析结果,然后再将分析结果发送给相关技术人员进行人员核对;也可以技术人员先分析得到相关信息,然后由计算机对相关信息进行整理,如归一化,得到最终的分析结果。
然后,基于分析结果对热补丁规则进行更新。即在补丁规则中补充与新的漏洞对应的信息内容,以便基于该信息内容实现对该新漏洞进行检测和打补丁。
具体的,该分析结果包括漏洞支持的系统版本号、驱动模块名、驱动时间戳和解决漏洞的补丁信息中的至少一项。
步骤二可具体包括:
步骤2.1、对新漏洞进行分析,得到该漏洞支持的系统版本号、驱动模块名、驱动时间戳和解决目标漏洞的补丁信息;其中,补丁信息包括目标漏洞对应的打补丁位置和补丁;
步骤2.2、将系统版本号、驱动模块名、驱动时间戳和补丁信息作为分析结果。
也就是说,对新漏洞进行分析,即得到该漏洞所支持的系统版本号、、驱动模块名、驱动时间戳和解决目标漏洞的补丁信息。当然,分析过程中,也可对漏洞原理和漏洞特征进行分析,以得到打补丁位置和补丁。
需要说明的是,若该漏洞可支持多个系统,则可针对每一个系统单独设置一条关于该漏洞的补丁规则记录,以便更好地面对不同的系统打补丁的需求,可提升兼容性。
相应的,利用补丁规则判断当前系统是否存在目标漏洞,包括:
漏洞监测模块,在补丁规则中,检索与当前系统的系统版本号、驱动模块名和驱动时间戳至少一项匹配的规则记录;若检索到规则记录,则确定当前系统中存在与规则记录对应的目标漏洞;若未检索到规则记录,则确定当前系统无目标漏洞。
也就是说,以当前系统的系统版本号、驱动模块名和驱动时间戳中的至少一项与补丁规则中的规则记录进行比对,找出与系统版本号、驱动模块名和驱动时间戳中的至少一项匹配的规则记录。若存在该规则记录,即确定当前系统存在与该规则记录对应的目标漏洞。当未检测到该规则记录,则可确定当前系统没有目标漏洞。
优选地,为了避免重复打补丁,在本发明的一种具体实施例中,该威胁免疫框架中的驱动模块还可对目标漏洞是否已打补丁进行判断,进而仅针对未打补丁的情况下进行打补丁。即驱动模块在接收到打补丁命令的情况下,利用当前系统中内存的漏洞数据判断目标漏洞是否已经打上补丁;若目标漏洞未打补丁,则执行根据接收到的打补丁命令在补丁位置打补丁的操作。其中,漏洞数据可具体为驱动模块在每一次完成打补丁操作之后,所记录的本次打补丁的相关数据。具体的,该漏洞数据可以为本次打补丁的打补丁位置、补丁、目标漏洞名称等能够用于判断某漏洞是否已打的数据信息。
优选地,考虑到,在实际应用中,可能会遇到应用升级或卸载,服务关闭等不再需要补丁的情况。为了避免补丁对系统造成影响,如占用资源,补丁导致数据更改从而使得系统崩溃等情况。在本发明的一种具体方式中,该威胁免疫系统还包括驱动模块利用内存中记录的漏洞数据卸载补丁。其中,漏洞数据可以具体为打补丁的具体位置。例如,在挂住CPU后,对内核驱动中漏洞偏移进行挂钩处理,并打上热补丁之后,还可以利用漏洞数据卸载热补丁。即,基于漏洞偏移删除热补丁。
相应于上面的威胁免疫框架实施例,本发明实施例还提供了一种威胁免疫方法,下文描述的一种威胁免疫方法与上文描述的一种威胁免疫框架可相互对应参照。
请参考图2,为本发明实施例中一种威胁免疫方法的流程图,该方法可应用于如上述实施例所描述的任意一种威胁免疫框架,该方法包括:
步骤S100、利用驱动模块读取补丁规则,并利用补丁规则判断当前系统是否存在目标漏洞;若存在目标漏洞,则下发打补丁命令至驱动模块,其中,打补丁命令包括补丁位置及补丁;
步骤S200、利用驱动模块,根据接收到的打补丁命令在补丁位置打补丁。
其中,威胁免疫框架的具体架构和各个模块的具体功能实现可参照上述实施例,在此不再一一赘述。
其中,补丁规则可具体为记载了每一个补丁对应可解决的漏洞,漏洞所支持的系统,漏洞原理,漏洞特征、漏洞偏移以及热补丁数据等信息的文件。该文件可具体为文本文件(txt),其内记载的信息可以字符串形式存在。
其中,打补丁命令中的补丁可以具体为热补丁,热补丁数据即补丁数据(patchcode),打补丁需要的特定代码。
该补丁规则,即为基于当前最新威胁检测对应的补丁规则。
具体的,可直接通过读取或接收其他数据传输的方式得到最新的补丁规则,也可以通过对最新发现的威胁进行分析后,对已有的补丁规则进行更新而获得。
对于基于最新发现的威胁,得到新的补丁规则的具体实现过程,包括:
步骤一、获取新的漏洞;
步骤二、对该漏洞进行分析,得到分析结果;
步骤三、利用分析结果更新补丁规则。
为便于描述,下面将上述三个步骤结合起来进行说明。
对于新的漏洞可以具体为恶意软件,也可以为应用中存在的威胁。漏洞获取的方式可直接接收安全检测平台反馈的检测结果的方式获取,也可以通过接收用户录入信息的方式获取。
得到新的漏洞之后,可采用威胁分析工具对目标漏洞进行分析,得到分析结果。当然,为了避免出现分析错误,技术人员还可对分析结果进行修订纠正。举例说明:在实际应用中,可在利用神经网络对目标漏洞进行分析,得到分析结果,然后再将分析结果发送给相关技术人员进行人员核对;也可以技术人员先分析得到相关信息,然后由计算机对相关信息进行整理,如归一化,得到最终的分析结果。
然后,基于分析结果对补丁规则进行更新。即在补丁规则中补充与新的漏洞对应的信息内容,以便基于该信息内容实现新漏洞的检测和打补丁。
在一种具有实施方式中,上述步骤二可具体包括:
步骤2.1、对新的漏洞进行分析,得到该漏洞支持的系统版本号、漏洞原理和漏洞特征,解决目标漏洞的热补丁信息;其中,热补丁信息包括目标漏洞对应的偏移和补丁;
步骤2.2、将系统版本号、漏洞原理、漏洞特征和热补丁信息作为分析结果。
也就是说,对目标漏洞进行分析,即得到该目标漏洞所支持的系统版本号、漏洞原理和漏洞特征,以及解决目标漏洞的热补丁数据。
需要说明的是,当目标漏洞可支持多个系统时,可针对每一个系统单独设置一条关于目标漏洞的热补丁规则记录,以便更好地面对不同的系统打补丁的需求,可提升兼容性。
得到补丁规则之后,便可基于该补丁规则判断出当前系统是否存在目标漏洞。
具体来说,即确定当前系统中是否存在与补丁规则对应的目标漏洞。具体确定过程,包括:
步骤一、在补丁规则中,检索与当前系统的系统版本号、驱动模块名和驱动时间戳中的至少一项相匹配的规则记录;
步骤二、在检索到规则记录后,确定当前系统中存在与规则记录对应的目标漏洞;
步骤三、在未检索到规则记录,则确定当前系统无目标漏洞。
也就是说,在确定当前系统是否存在目标漏洞时,可直接在补丁规则中检索与当前系统的系统版本号、驱动模块名和驱动时间戳中至少一项相匹配(当然,匹配项数越多,则有可能有漏洞,可有选三者均匹配)的规则记录。若存在匹配的规则记录,即表明当前系统中存能够基于补丁规则打补丁的目标漏洞。
优选地,为了避免重复打补丁,在检索到规则记录后,即确定存在目标漏洞的情况下,还可进一步确定目标漏洞是否已打上补丁,对目标漏洞是否存在的情况进行修正。即上述步骤二,在检索到规则记录后,确定当前系统中存在与规则记录对应的目标漏洞,可具体包括:
步骤2.1、在检索到规则记录后,利用当前系统的内存状态判断目标漏洞是否已经打上补丁;
步骤2.2、如果是,则确定当前系统无目标漏洞;
步骤2.3、如果否,则确定当前系统存在目标漏洞。
在本实施例中,可以在内存中存储与漏洞相关的数据信息(称之为漏洞数据)。例如,上一次给漏洞打补丁的时间、所打漏洞的特征信息(如漏洞偏移、漏洞攻击方式等),所用的热补丁数据的版本以及热补丁数据本身。
如此,便可通过内存中存储的漏洞数据排除掉已经打上补丁的漏洞,可避免出现重复打补丁的情况。
若确定当前系统存在需打补丁的目标漏洞,则漏洞监测模块下发打补丁命令给驱动模块;如果确定当前系统中不存在需要打补丁的目标漏洞,则可无操作。
在一种具体实施方式中,基于补丁规则中记录了漏洞偏移(打补丁位置)和热补丁,则漏洞监测模块可直接确定出该目标漏洞对应的漏洞偏移和补丁。举例说明,若补丁规则中记录了10个漏洞对应的补丁规则记录,则可从这10个漏洞对应的补丁规则记录中找出当前系统所具有的一个或多个补丁规则记录,通过解析补丁规则记录,得到用于打补丁的漏洞偏移和补丁。
在补丁规则中,可直接记录补丁,也可以记录对应补丁的存储位置、编码或名称等能够唯一确定或获取到该补丁的信息(即补丁信息)。
驱动模块接收到打补丁命令后,进行打补丁操作时,可挂住当前系统的CPU。其中,挂住CPU,即CPU hang,使得CPU处于类似待机的状态,没有参与到实际运算中,若挂住虚拟机中的CPU,即指CPU的工作因为某些软件硬件错误而被强制打断。挂住CPU之后,便可对内核驱动中的漏洞偏移进行挂钩处理,并打上补丁。其中,挂钩即hook。打完补丁之后,即hook后,恢复CPU。如此,便可基于已打上的补丁对目标漏洞进行防御。
优选地,为了便于后续追溯打补丁的记录,避免重复打补丁,在挂住CPU后,对内核驱动中漏洞偏移进行挂钩处理,并打上补丁之后,还可保存目标漏洞对应的漏洞数据至内存中。例如,漏洞数据为打漏洞的时间戳,漏洞偏移、热补丁以及便于追溯打补丁记录的其他信息。
考虑到,在实际应用中,可能会遇到应用升级或卸载,服务关闭等不再需要补丁的情况。为了避免补丁对系统造成影响,如占用资源,补丁导致数据更改从而使得系统崩溃等情况。在本实施例中,在挂住CPU后,对内核驱动中漏洞偏移进行挂钩处理,并打上补丁之后,还可以利用漏洞数据卸载补丁。即,基于漏洞偏移删除补丁。
本发明实施例所提供的方法,具有与威胁免疫框架对应的技术效果。
为了便于本领域技术人员更好地理解本发明实施例所提供的威胁免疫方法和威胁免疫框架,下面结合具体的采用热补丁技术进行打补丁的应用场景为例,对威胁免疫方法进行详细说明。
需要说明的是,在具体实现过程中,漏洞监测模块的具体功能可由应用层实现,请参考图3,驱动模块由驱动层实现,对于威胁免疫方法而言,应用层和应用层模块对应上文中的漏洞监测模块,内核层和驱动层模块对应上文中的驱动模块。
打热补丁的过程:应用层模块通过读取规则数据(包括补丁规则),便可获取所有已发现漏洞对应的热补丁规则。基于热补丁规则,可确认当前系统是否存在的漏洞;如果存在漏洞则将热补丁规则下发至内核层,内核层驱动收到热补丁规则后,可再次判断当前系统是否存在相应漏洞,如果确定存在相应漏洞,则可挂住所有CPU,保存数据,对内核关键位置(即漏洞偏移对应位置)进行hook,打上热补丁来防御漏洞。
卸载热补丁的过程:应用层模块下发命令至驱动层模块,驱动层模块根据已经保存的数据去除已经打上的补丁,实现补丁卸载。
扩展补丁的过程:可分析威胁检测的发现的新漏洞,在热补丁规则中增该新漏洞对应的规则记录,从而基于新的热补丁规则防御更多更新的漏洞。
可见,应用层模块即为读取热补丁规则信息和判断当前系统是否存在有漏洞的模块。具体的,应用层模块具体用于读取热补丁规则数据,根据系统版本号、系统buildnum(构建编号)、驱动模块名、驱动时间戳判断当前系统是否是存在有漏洞的系统模块,若存在漏洞,则下发热补丁规则中对应的offset和patchcode至驱动层模块进行打补丁。
驱动层模块即为系统模块进行打补丁的模块。具体的,驱动层模块收到应用层模块发的offset和patchcode后,驱动层模块可通过内存状态判断该漏洞是否已经打上;如果基于内存状态确定漏洞没有打上,则根据系统版本号和有漏洞驱动模块名及时间戳再次判断当前系统是否存在漏洞,如果存在,则挂住CPU,对存在漏洞模块的指定偏移进行hook,hook后恢复CPU,并保存相关漏洞数据至内存,方便状态查询和避免后续重复打补丁。
请参考图4,图4为本发明实施例中一种威胁免疫方法的具体实施示意图。可见,在本实施例中,当发现0day或厂商被爆出新的漏洞来不及更新时,可通过分析威胁或漏洞形成最新的热补丁规则,并更新热补丁规则至热补丁框架下,从而防御新威胁,能够达到快速提供威胁免疫的目的。
相应于上面的方法实施例,本发明实施例还提供了一种威胁免疫设备,下文描述的一种威胁免疫设备与上文描述的一种威胁免疫方法可相互对应参照。
参见图5所示,该威胁免疫设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的威胁免疫方法的步骤。
具体的,请参考图6,图6为本实施例提供的一种威胁免疫设备的具体结构示意图,该威胁免疫设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在威胁免疫设备301上执行存储器332中的一系列指令操作。
威胁免疫设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的威胁免疫方法中的步骤可以由威胁免疫设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种威胁免疫方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的威胁免疫方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (11)
1.一种威胁免疫框架,其特征在于,包括漏洞监测模块和驱动模块:
所述漏洞监测模块用于读取补丁规则,并利用所述补丁规则判断当前系统是否存在目标漏洞;若存在所述目标漏洞,则下发打补丁命令至所述驱动模块,其中,所述打补丁命令包括补丁位置及补丁;
所述驱动模块用于根据接收到的所述打补丁命令在所述补丁位置打补丁。
2.根据权利要求1所述的威胁免疫框架,其特征在于,所述驱动模块还接收所述补丁规则;
所述驱动模块在接收到所述打补丁命令的情况下,还利用所述补丁规则,核实当前系统是否存在所述目标漏洞;若存在所述目标漏洞,则执行根据接收到的所述打补丁命令在所述补丁位置打补丁的操作。
3.根据权利要求1所述的威胁免疫框架,其特征在于,包括:
所述补丁包括热补丁,相应地,所述驱动模块在接收到所述打补丁命令后,挂起当前系统的CPU,对内核驱动中所述补丁位置进行挂钩处理,并打上所述热补丁。
4.根据权利要求1所述的威胁免疫框架,其特征在于,还包括:
规则更新模块,用于对新发现的漏洞进行分析,得到分析结果;利用所述分析结果得到新补丁规则;利用所述新补丁规则,对所述补丁规则进行更新。
5.根据权利要求4所述的威胁免疫框架,其特征在于,所述分析结果包括所述漏洞支持的系统版本号、驱动模块名、驱动时间戳和解决所述漏洞的补丁信息中的至少一项。
6.根据权利要求5所述的威胁免疫框架,其特征在于,利用所述补丁规则判断当前系统是否存在目标漏洞,包括:
所述漏洞监测模块,在所述补丁规则中,检索与所述当前系统的系统版本号、驱动模块名和驱动时间戳中至少一项匹配的规则记录;
若检索到所述规则记录,则确定所述当前系统中存在与所述规则记录对应的所述目标漏洞;
若未检索到所述规则记录,则确定所述当前系统无所述目标漏洞。
7.根据权利要求6所述的威胁免疫框架,其特征在于,包括:
所述驱动模块在接收到所述打补丁命令的情况下,利用所述当前系统中内存的漏洞数据判断所述目标漏洞是否已经打上补丁;
若所述目标漏洞未打补丁,则执行根据接收到的所述打补丁命令在所述补丁位置打补丁的操作。
8.根据权利要求1所述的威胁免疫框架,其特征在于,还包括:
所述驱动模块利用内存中记录的漏洞数据卸载补丁。
9.一种威胁免疫方法,其特征在于,应用于威胁免疫框架,包括:
利用驱动模块读取补丁规则,并利用所述补丁规则判断当前系统是否存在目标漏洞;若存在所述目标漏洞,则下发打补丁命令至所述驱动模块,其中,所述打补丁命令包括补丁位置及补丁;
利用所述驱动模块,根据接收到的所述打补丁命令在所述补丁位置打补丁。
10.一种威胁免疫设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求9所述威胁免疫方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求9所述威胁免疫方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760519.5A CN111859405A (zh) | 2020-07-31 | 2020-07-31 | 一种威胁免疫框架、方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760519.5A CN111859405A (zh) | 2020-07-31 | 2020-07-31 | 一种威胁免疫框架、方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111859405A true CN111859405A (zh) | 2020-10-30 |
Family
ID=72954013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760519.5A Pending CN111859405A (zh) | 2020-07-31 | 2020-07-31 | 一种威胁免疫框架、方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859405A (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940805A (zh) * | 2005-09-30 | 2007-04-04 | 联想(北京)有限公司 | 计算机系统及其安全加固方法 |
CN101339516A (zh) * | 2004-05-11 | 2009-01-07 | 微软公司 | 有效地打补丁 |
CN101800754A (zh) * | 2010-03-25 | 2010-08-11 | 中国科学院计算技术研究所 | 一种补丁分发方法 |
CN104077531A (zh) * | 2014-06-05 | 2014-10-01 | 中标软件有限公司 | 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统 |
CN104125197A (zh) * | 2013-04-24 | 2014-10-29 | 阿里巴巴集团控股有限公司 | 一种安全基线系统及其实现安全检查的方法 |
CN104915595A (zh) * | 2015-06-30 | 2015-09-16 | 北京奇虎科技有限公司 | 云平台虚拟化漏洞修复的方法及装置 |
CN105103452A (zh) * | 2013-05-30 | 2015-11-25 | 日本电气株式会社 | 数据压缩系统 |
CN105610630A (zh) * | 2016-01-29 | 2016-05-25 | 博雅网信(北京)科技有限公司 | 一种云计算环境下的补丁安装系统及方法 |
CN106293762A (zh) * | 2016-08-17 | 2017-01-04 | 杭州迪普科技有限公司 | 一种实时更新虚拟补丁的方法和装置 |
CN106815229A (zh) * | 2015-11-30 | 2017-06-09 | 北京计算机技术及应用研究所 | 数据库虚拟补丁防护方法 |
CN107408184A (zh) * | 2015-02-06 | 2017-11-28 | 霍尼韦尔国际公司 | 补丁监测和分析 |
CN107562485A (zh) * | 2017-07-31 | 2018-01-09 | 北京北信源软件股份有限公司 | 一种自动采集补丁数据的方法及装置 |
CN107992319A (zh) * | 2017-12-11 | 2018-05-04 | 北京奇虎科技有限公司 | 补丁数据更新方法及装置 |
CN108830087A (zh) * | 2018-07-06 | 2018-11-16 | 北京知道创宇信息技术有限公司 | 安全补丁管理方法以及装置 |
CN108846287A (zh) * | 2018-06-26 | 2018-11-20 | 北京奇安信科技有限公司 | 一种检测漏洞攻击的方法及装置 |
CN109067709A (zh) * | 2018-07-06 | 2018-12-21 | 北京知道创宇信息技术有限公司 | 一种漏洞管理方法、装置、电子设备及存储介质 |
CN109690545A (zh) * | 2016-06-24 | 2019-04-26 | 西门子股份公司 | Plc虚拟补丁和安全上下文的自动分发 |
-
2020
- 2020-07-31 CN CN202010760519.5A patent/CN111859405A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339516A (zh) * | 2004-05-11 | 2009-01-07 | 微软公司 | 有效地打补丁 |
CN1940805A (zh) * | 2005-09-30 | 2007-04-04 | 联想(北京)有限公司 | 计算机系统及其安全加固方法 |
CN101800754A (zh) * | 2010-03-25 | 2010-08-11 | 中国科学院计算技术研究所 | 一种补丁分发方法 |
CN104125197A (zh) * | 2013-04-24 | 2014-10-29 | 阿里巴巴集团控股有限公司 | 一种安全基线系统及其实现安全检查的方法 |
CN105103452A (zh) * | 2013-05-30 | 2015-11-25 | 日本电气株式会社 | 数据压缩系统 |
CN104077531A (zh) * | 2014-06-05 | 2014-10-01 | 中标软件有限公司 | 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统 |
CN107408184A (zh) * | 2015-02-06 | 2017-11-28 | 霍尼韦尔国际公司 | 补丁监测和分析 |
CN104915595A (zh) * | 2015-06-30 | 2015-09-16 | 北京奇虎科技有限公司 | 云平台虚拟化漏洞修复的方法及装置 |
CN106815229A (zh) * | 2015-11-30 | 2017-06-09 | 北京计算机技术及应用研究所 | 数据库虚拟补丁防护方法 |
CN105610630A (zh) * | 2016-01-29 | 2016-05-25 | 博雅网信(北京)科技有限公司 | 一种云计算环境下的补丁安装系统及方法 |
CN109690545A (zh) * | 2016-06-24 | 2019-04-26 | 西门子股份公司 | Plc虚拟补丁和安全上下文的自动分发 |
CN106293762A (zh) * | 2016-08-17 | 2017-01-04 | 杭州迪普科技有限公司 | 一种实时更新虚拟补丁的方法和装置 |
CN107562485A (zh) * | 2017-07-31 | 2018-01-09 | 北京北信源软件股份有限公司 | 一种自动采集补丁数据的方法及装置 |
CN107992319A (zh) * | 2017-12-11 | 2018-05-04 | 北京奇虎科技有限公司 | 补丁数据更新方法及装置 |
CN108846287A (zh) * | 2018-06-26 | 2018-11-20 | 北京奇安信科技有限公司 | 一种检测漏洞攻击的方法及装置 |
CN108830087A (zh) * | 2018-07-06 | 2018-11-16 | 北京知道创宇信息技术有限公司 | 安全补丁管理方法以及装置 |
CN109067709A (zh) * | 2018-07-06 | 2018-12-21 | 北京知道创宇信息技术有限公司 | 一种漏洞管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9910743B2 (en) | Method, system and device for validating repair files and repairing corrupt software | |
CN102736978B (zh) | 一种检测应用程序的安装状态的方法及装置 | |
US9652632B2 (en) | Method and system for repairing file at user terminal | |
US8612398B2 (en) | Clean store for operating system and software recovery | |
US10417416B1 (en) | Methods and systems for detecting computer security threats | |
US20120102569A1 (en) | Computer system analysis method and apparatus | |
US20130239214A1 (en) | Method for detecting and removing malware | |
NO337222B1 (no) | Automatisk deteksjon og utbedring av sårbare filer | |
EP3451221B1 (en) | Binary suppression and modification for software upgrades | |
US20090132999A1 (en) | Secure and fault-tolerant system and method for testing a software patch | |
KR101649909B1 (ko) | 가상 머신 취약점 점검과 복구 방법 및 장치 | |
CN109120584B (zh) | 基于UEFI和WinPE的终端安全防范方法及系统 | |
EP2754079B1 (en) | Malware risk scanner | |
CN113642004A (zh) | 一种容器镜像安全扫描与修复的方法、装置及设备 | |
JP6918269B2 (ja) | 攻撃推定装置、攻撃制御方法、および攻撃推定プログラム | |
CN113656809A (zh) | 镜像的安全检测方法、装置、设备及介质 | |
CN112579330B (zh) | 操作系统异常数据的处理方法、装置及设备 | |
US11762650B1 (en) | Method and apparatus for secure offline software update | |
CN110555308B (zh) | 一种终端应用行为跟踪和威胁风险评估方法及系统 | |
CN111859405A (zh) | 一种威胁免疫框架、方法、设备及可读存储介质 | |
TWI730415B (zh) | 偵測系統、偵測方法、及藉由使用偵測方法所執行的更新驗證方法 | |
CN114237665A (zh) | 补丁更新方法、装置、计算设备及存储介质 | |
CN110807198B (zh) | 一种修复漏洞的信息的获取方法及补丁处理系统 | |
CN106911678B (zh) | 一种病毒检测方法及装置 | |
KR101606273B1 (ko) | 전자 장치가 수행하는 언인스톨러 제어 방법 및 언인스톨러 업데이트 방법 |
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 |