CN104239796B - 0day漏洞的识别方法以及装置 - Google Patents

0day漏洞的识别方法以及装置 Download PDF

Info

Publication number
CN104239796B
CN104239796B CN201410510398.3A CN201410510398A CN104239796B CN 104239796 B CN104239796 B CN 104239796B CN 201410510398 A CN201410510398 A CN 201410510398A CN 104239796 B CN104239796 B CN 104239796B
Authority
CN
China
Prior art keywords
file
leak
detected
module
type
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
CN201410510398.3A
Other languages
English (en)
Other versions
CN104239796A (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.)
360 Digital Security Technology Group Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410510398.3A priority Critical patent/CN104239796B/zh
Publication of CN104239796A publication Critical patent/CN104239796A/zh
Application granted granted Critical
Publication of CN104239796B publication Critical patent/CN104239796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种0day漏洞的识别方法以及装置,涉及信息安全领域,主要目的在于快速、精确地检测出0day漏洞,从而能够保护计算机系统的安全。本发明的主要技术方案为:根据待检测文件的类型确定所述待检测文件是否为恶意文件;若为恶意文件,则将待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,所述漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,所述漏洞编号和漏洞检测逻辑均唯一并且一一对应;若没有得到漏洞编号,则确定所述待检测文件中的漏洞为0day漏洞。本发明主要应用于识别0day漏洞的过程中。

Description

0day漏洞的识别方法以及装置
技术领域
本发明涉及一种信息安全领域,特别是涉及一种0day漏洞的识别方法以及装置。
背景技术
随着社会信息化的不断发展,网络安全漏洞也在不断增加。当发现存在漏洞时,需要及时通过相关补丁对该漏洞进行修复。该类已经发现并且已经发布修复补丁的漏洞称为已知漏洞;而已经发现但是还没有给出相关补丁对该漏洞进行修复的漏洞称为0day漏洞。由于没有及时对0day漏洞进行修复,攻击者可通过0day漏洞获得计算机系统的额外权限,使攻击者能够在未授权的情况下访问或者破坏系统,从而危害计算机系统的安全。
目前0day漏洞的检测方法基本上依靠人的经验进行判断,该种判断方式不能快速、精确地检测出0day漏洞,同时人工匹配的方式增加了对0day漏洞的误判率,从而使计算机系统的安全受到威胁。
发明内容
有鉴于此,本发明提供一种0day漏洞的识别方法以及装置,主要目的在于快速、精确地检测出0day漏洞,从而能够保护计算机系统的安全。
依据本发明一个方面,提供了一种0day漏洞的识别方法,包括:
根据待检测文件的类型确定所述待检测文件是否为恶意文件;
若为恶意文件,则将待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,所述漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,所述漏洞编号和漏洞检测逻辑均唯一并且一一对应;
若没有得到漏洞编号,则确定所述待检测文件中的漏洞为0day漏洞。
根据本发明的另一个方面,提供了一种0day漏洞的识别装置,包括:
第一确定单元,用于根据待检测文件的类型确定所述待检测文件是否为恶意文件;
查看单元,用于当所述确定单元确定的所述待检测文件为恶意文件时,将所述待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,所述漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,所述漏洞编号和漏洞检测逻辑均唯一并且一一对应;
第二确定单元,用于当所述查看单元没有得到漏洞编号时,确定所述待检测文件中的漏洞为0day漏洞。
借由上述技术方案,本发明提供的一种0day漏洞的识别方法以及装置,当对漏洞进行识别的时候,先根据待检测文件的类型确定该文件为恶意文件,若为恶意文件,则表明待检测文件中一定有漏洞,再将有漏洞的文件过漏洞基础数据库,该漏洞基础数据库为已知漏洞数据库,该已知漏洞数据库中存储有现有的所有已知漏洞,并且漏洞数据库中的每一条漏洞信息都对应漏洞唯一的检测逻辑,将恶意文件通过漏洞数据库中的漏洞检测逻辑进行检测,若能够检测出漏洞,那么该检测出的漏洞一定是已知漏洞,若没有检测到漏洞,则该漏洞必定是0day漏洞,整个过程按照规则流程自动执行,与现有技术中人工检测0day漏洞的方式相比快速、准确。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种0day漏洞的识别方法的流程图;
图2示出了本发明实施例提供的一种文件的类型为html文件时的恶意文件的识别方法流程图;
图3示出了本发明实施例提供的一种文件的类型为文档文件时的恶意文件的识别方法流程图;
图4示出了本发明实施例提供的一种将待检测文件过漏洞基础数据库的流程图;
图5示出了本发明实施例提供的一种漏洞基础数据库的建立方法的流程图;
图6示出了本发明实施例提供的一种0day漏洞的识别装置的组成框图;
图7示出了本发明实施例提供的另一种0day漏洞的识别装置的组成框图;
图8示出了本发明实施例提供的另一种0day漏洞的识别装置的组成框图;
图9示出了本发明实施例提供的另一种0day漏洞的识别装置的组成框图;
图10示出了本发明实施例提供的另一种0day漏洞的识别装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供的一种0day漏洞的识别方法,如图1所示,该方法包括:
101、根据待检测文件的类型确定待检测文件是否为恶意文件。
一种类型的文件中往往存在多种漏洞,但是一种漏洞往往仅存在一种类型的文件中,文件类型的不同,其分析是否存在漏洞的方法不一样,因此,可根据待检测文件的类型确定待检测文件是否为恶意文件。
102、若为恶意文件,则将待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,漏洞编号和漏洞检测逻辑均唯一并且一一对应。
其中,漏洞基础数据库根据经验设定,该漏洞基础数据库中记录了所有已知漏洞的信息,漏洞编号为在建立漏洞基础数据库时设置的编号,其唯一的标识了一个漏洞;漏洞检测逻辑为检测并触发漏洞威胁的方法。
当根据待检测文件的类型确定待检测文件为恶意文件时,表明该待检测文件中一定有漏洞,但是该漏洞是0day漏洞,还是已知漏洞,需要将漏洞文件过漏洞基础数据库进行匹配处理才能确定。
103、若没有得到漏洞编号,则确定待检测文件中的漏洞为0day漏洞。
将有漏洞文件与漏洞基础数据库中的漏洞进行匹配,当有漏洞文件不能触发漏洞基础数据库中的漏洞时,确定有漏洞文件必定为0day漏洞。
本发明实施例中,当对漏洞进行识别的时候,先根据待检测文件的类型确定该文件为恶意文件,若为恶意文件,则表明待检测文件中一定有漏洞,再将有漏洞的文件过漏洞基础数据库,该漏洞基础数据库为已知漏洞数据库,该已知漏洞数据库中存储有现有的所有已知漏洞,并且漏洞数据库中的每一条漏洞信息都对应漏洞唯一的检测逻辑,将恶意文件通过漏洞数据库中的漏洞检测逻辑进行检测,若能够检测出漏洞,那么该检测出的漏洞一定是已知漏洞,若没有检测到漏洞,则该漏洞必定是0day漏洞,整个过程按照规则流程自动执行,与现有技术中人工检测0day漏洞的方式相比快速、准确。
本发明实施例的实施首先需要根据待检测文件的类型确定待检测文件是否为恶意文件,正如前面的,不同的文件确定文件是否为恶意文件的方法不一样,本发明实施例将对此进行具体的描述。
当获取的待检测文件的类型为html文件时,本发明实施例提供一种恶意文件的识别方法,如图2所示,该方法包括:
201、检测html文件中是否存在恶意特征,若存在恶意特征,则执行202;若不存在恶意特征,则执行203。
在检测html文件是否为恶意文件时,首先要检测html文件中是否存在恶意特征,恶意特征可以包括但不局限于栈溢出、异常。除此之外,恶意特征还可以包括堆喷射。当然,还可以包括任何一种恶意特征的种类,具体的本发明实施例对此不进行限制。
202、确定html文件为恶意文件。
确定html文件为恶意文件,即确定该文件中存在漏洞。该html文件中的漏洞可能是0day漏洞,也可能是已知漏洞,具体的还需对该html文件过漏洞基础数据库进行检测。
203、确定html文件为正常文件。
当获取的待检测文件的类型为文档文件时,本发明实施例提供一种恶意文件的识别方法,如图3所示,该方法包括:
301、构建指令虚拟机。
本发明实施例,文档文件确定是否为恶意文件,通过指令虚拟机,并在指令虚拟机上运行该文档文件实现。指令虚拟机的构建可以通过但不局限于以下的方法实现,该方法包括:
1)、设置用于按字节读取文档文件的指令读取模块;
2)、设置用于对指令读取模块读取的文档文件进行解释的解释模块;
3)、构建指令运行的模拟环境,模拟环境包括指令运行的线程、进程、栈、堆、系数数据和内置系统API模拟;内置系统API模拟包括文件、进程、注册表、网络API。
302、在指令虚拟机中按字节运行该文档文件,记录该文档文件运行的行为。
为了确保检测文档文件中的恶意指令没有遗漏,在将文档文件在指令虚拟机上运行时,采用按照字节将文档文件读入指令虚拟机进行指令的运行。例如,文档的指令从0到100条,第一次读取的时候从0开始读取,对读取的内容进行识别;第二次从1开始读取-----,确保任一种指令的组合都能够被运行。
303、将记录的行为与预定义的恶意行为规则库中的行为进行匹配,若匹配到对应的行为,执行304;若没有匹配到对应的行为,执行305。
恶意行为规则库根据经验设定,恶意行为规则中包括:下载文件、访问线程环境块以及进程环境块、试图加载动态库、试图获取系统函数地址。恶意行为规则库在实际应用中可能不仅仅只包括上述恶意行为,也可能包括现有技术中的任一种恶意行为,具体的本发明实施例对此不进行限制。
304、确定待检测文件为恶意文件。
确定文档文件为恶意文件,即确定该文件中存在漏洞。该文档文件中的漏洞可能是0day漏洞,也可能是已知漏洞,具体的还需对该文档文件过漏洞基础数据库进行检测。
305、确定待检测文件为正常文件。
本发明实施例提供的检测恶意文件的识别方法,通过构建指令虚拟机,将文档文件在指令虚拟机中按字节运行,并与预定义的恶意行为规则库中的行为进行匹配。与现有技术中通过在内存中强行搜索一段恶意特征码,若待检测文件中存在此恶意特征码,则为恶意文件相比,本发明实施例通过自动与恶意行为规则库进行匹配,实现快速、自动、精确地识别出恶意文件。
进一步的,在执行102将漏洞文件过漏洞基础数据库时,本发明实施例可以采用但不局限于以下的方法实现,如图4所示,该方法包括:
401、获取待检测文件的类型。
本发明实施例中,在将已经发现的漏洞进行标识存储时,往往会将漏洞存在的文件类型以及漏洞一起标识并存储,已便于后续漏洞的查询。因此,在检测文件中是否存在0day漏洞时,要先获取该漏洞文件的类型,基于文件的类型再去获取其他的相关信息。
在获取该漏洞文件的类型时,可以采用但不局限于根据该漏洞文件名的后缀信息获取该漏洞文件的类型。除此之外,还可以采用通过文件类型识别工具通过文件特征码来识别该漏洞文件的类型。当然,还可以采用任何一种能够获取该漏洞文件类型的方法,具体的本发明实施例在具体实施例对此不进行限定,可以根据用户的需求设置。
402、根据待检测文件的类型遍历漏洞基础数据库获取该类型文件对应的漏洞检测逻辑。
其中,漏洞基础数据库中包含有不同类型的文件,一种类型的文件中又包含有不同类型的漏洞信息,每条漏洞信息都是唯一确定的。例如,当所获取该漏洞文件的文件类型为html类型时,遍历漏洞基础数据库,获取文件类型为html的所有漏洞信息,并获取所有漏洞信息中的漏洞检测逻辑。
403、根据获取的漏洞检测逻辑对待检测文件进行检测。
漏洞检测逻辑为检测并触发漏洞威胁的方法,每一种类型的漏洞都有一个唯一能够触发其威胁的方法。根据该检测逻辑去检测文件,确定其是否存在触发漏洞的威胁,若能触发,则根据漏洞检测逻辑确定该漏洞检测逻辑对应的漏洞编号,从而识别出该漏洞文件的漏洞类型。
综上,本发明实施例的实施需要建立漏洞基础数据库。本发明实施例提供一种漏洞基础数据库的建立方法,如图5所示,包括:
501、获取已识别的漏洞以及该漏洞的属性信息,属性信息包括漏洞编号、漏洞存在的文件类型以及漏洞检测逻辑。
其中,在获取已识别的漏洞时,可以是根据预定算法自动获取漏洞,也可以是系统维护者在工作的过程中经验积累获取,具体的本发明实施例对此不进行限制。
502、将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。
本发明实施例,通过不断的向漏洞基础数据库中存储已识别的漏洞,使得漏洞基础库中的漏洞信息处于不断更新中,在与漏洞文件进行匹配时,能够快速、准确、全面的识别该漏洞的类型。
其中,将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库,可以通过但不局限于以下的方式实现。例如可以采用手动的方式将已识别到的漏洞信息分别对漏洞编号、漏洞存在的文件类型以及漏洞检测逻辑进行存储。也可以采用自动方式将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。具体的本发明实施例不进行限制。本发明实施例优选采用自动存储的方式,该方式的优点在于能够准确、快速、无遗漏的将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。
进一步的,当带漏洞的文件触发漏洞基础数据库中的漏洞时,根据漏洞检测逻辑唯一的确定该漏洞文件中的漏洞。由于本发明提供的漏洞编号和漏洞检测逻辑均唯一并且一一对应,因此能够精确检测出带漏洞文件的具体漏洞类型,因而能够快速的选择对应的修复方式,保护计算机系统的安全。
基于上述方法实施例,本发明实施例提供一种0day漏洞的识别装置,如图6所示,该装置包括:
第一确定单元61,用于根据待检测文件的类型确定待检测文件是否为恶意文件;
查看单元62,用于当确定单元确定待检测文件为恶意文件时,将待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,漏洞编号和漏洞检测逻辑均唯一并且一一对应;
第二确定单元63,用于当查看单元62没有得到漏洞编号时,确定待检测文件中的漏洞为0day漏洞。
进一步的,如图7所示,当待检测文件为html文件时,第一确定单元61包括:
检测模块611,用于检测html文件中是否存在恶意特征;
第一确定模块612,用于当检测模块611检测到html文件中存在恶意特征时,确定html文件为恶意文件;
第一确定模块612还用于,当检测模块611检测到html文件中不存在恶意特征时,确定html文件为正常文件。
进一步的,如图8所示,当待检测文件为文档文件时,第一确定单元61还包括:
构建模块613,用于构建指令虚拟机;构建模块613包括:设置用于按字节读取文档文件的指令读取模块;设置用于对指令读取模块读取的文档文件进行解释的解释模块;构建指令运行的模拟环境,模拟环境包括指令运行的线程、进程、栈、堆、系数数据和内置系统API模拟;内置系统API模拟包括文件、进程、注册表、网络API。
运行模块614,用于在构建模块613构建的指令虚拟机中按字节运行该文档文件;
记录模块615,用于记录运行模块614运行该文档文件运行的行为;
匹配模块616,用于将记录模块615记录的行为与预定义的恶意行为规则库中的行为进行匹配;
第二确定模块617,用于当匹配模块616匹配到对应的行为时,确定待检测文件为恶意文件;
第二确定模块617还用于,当匹配模块616没有匹配到对应的行为,确定待检测文件为正常文件。
进一步的,查看单元62将待检测文件过漏洞基础数据库时,可以采用如下的方式实现,具体包括:获取待检测文件的类型;根据该漏洞文件的类型遍历漏洞基础数据库获取该类型文件对应的漏洞检测逻辑;根据获取的漏洞检测逻辑对待检测文件进行检测。
进一步的,如图9所示,0day漏洞的识别装置还包括:
获取单元64,用于在将待检测文件过漏洞基础数据库之前,获取已识别的漏洞以及该漏洞的属性信息,属性信息包括漏洞编号、漏洞存在的文件类型以及漏洞检测逻辑;
数据库建立单元65,用于将获取单元64获取的每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。
进一步的,如图10所示,0day漏洞的识别装置还包括:
第三确定单元66,用于当查看单元62得到漏洞编号时,唯一的确定待检测文件中的漏洞。
本发明实施例在对漏洞进行识别的时候,先根据待检测文件的类型确定该文件为恶意文件,若为恶意文件,则表明待检测文件中一定有漏洞,再将有漏洞的文件过漏洞基础数据库,该漏洞基础数据库为已知漏洞数据库,该已知漏洞数据库中存储有现有的所有已知漏洞,并且漏洞数据库中的每一条漏洞信息都对应漏洞唯一的检测逻辑,将恶意文件通过漏洞数据库中的漏洞检测逻辑进行检测,若能够检测出漏洞,那么该检测出的漏洞一定是已知漏洞,若没有检测到漏洞,则该漏洞必定是0day漏洞,整个过程按照规则流程自动执行,与现有技术中人工检测0day漏洞的方式相比快速、准确。
进一步的,本发明实施例提供的检测恶意文件的识别方法,通过构建指令虚拟机,将文档文件在指令虚拟机中按字节运行,并与预定义的恶意行为规则库中的行为进行匹配。与现有技术中通过在内存中强行搜索一段恶意特征码,若待检测文件中存在此恶意特征码,则为恶意文件相比,本发明实施例通过自动与恶意行为规则库进行匹配,实现快速、自动、精确地识别出恶意文件。
本发明实施例采用自动方式将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库,该方式的优点在于能够准确、快速、无遗漏的将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。
进一步的,本发明提供的漏洞编号和漏洞检测逻辑均唯一并且一一对应,因此能够精确检测出该漏洞文件的漏洞类型,因而能够快速的选择对应的修复方式,保护计算机系统的安全。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的0day漏洞的识别方法以及装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (12)

1.一种0day漏洞的识别方法,其特征在于,包括:
根据待检测文件的类型确定所述待检测文件是否为恶意文件;
若为恶意文件,则将待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,所述漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,所述漏洞编号和漏洞检测逻辑均唯一并且一一对应;
若没有得到漏洞编号,则确定所述待检测文件中的漏洞为0day漏洞;
将待检测文件过漏洞基础数据库包括:
获取所述待检测文件的类型;
根据所述待检测文件的类型遍历漏洞基础数据库获取该类型文件对应的漏洞检测逻辑;
根据获取的所述漏洞检测逻辑对所述待检测文件进行检测。
2.根据权利要求1所述的方法,其特征在于,当所述待检测文件为html文件时,根据所述待检测文件的类型确定所述待检测文件是否为恶意文件包括:
检测所述html文件中是否存在恶意特征;
若存在恶意特征,则确定所述html文件为恶意文件;
若不存在恶意特征,则确定所述html文件为正常文件。
3.根据权利要求1所述的方法,其特征在于,当所述待检测文件为文档文件时;根据所述待检测文件的类型确定所述待检测文件是否为恶意文件包括:
构建指令虚拟机;
在所述指令虚拟机中按字节运行该文档文件,记录该文档文件运行的行为;
将记录的行为与预定义的恶意行为规则库中的行为进行匹配;
若匹配到对应的行为,则确定所述待检测文件为恶意文件;
若没有匹配到对应的行为,则确定所述待检测文件为正常文件。
4.根据权利要求3所述的方法,其特征在于,所述构建指令虚拟机包括:
设置用于按字节读取文档文件的指令读取模块;
设置用于对指令读取模块读取的文档文件进行解释的解释模块;
构建指令运行的模拟环境,所述模拟环境包括指令运行的线程、进程、栈、堆、系数数据和内置系统API模拟;所述内置系统API模拟包括文件、进程、注册表、网络API。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在将待检测文件过漏洞基础数据库之前还包括:
获取已识别的漏洞以及该漏洞的属性信息,所述属性信息包括漏洞编号、漏洞存在的文件类型以及漏洞检测逻辑;
将每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。
6.根据权利要求1所述的方法,其特征在于,还包括:
若得到漏洞编号,则唯一的确定待检测文件中的漏洞。
7.一种0day漏洞的识别装置,其特征在于,包括:
第一确定单元,用于根据待检测文件的类型确定所述待检测文件是否为恶意文件;
查看单元,用于当所述确定单元确定所述待检测文件为恶意文件时,将所述待检测文件过漏洞基础数据库,查看是否能够得到漏洞编号,所述漏洞基础数据库为已知漏洞数据库,数据库中每条漏洞信息包括漏洞所在文件的文件类型、漏洞编号以及漏洞检测逻辑,所述漏洞编号和漏洞检测逻辑均唯一并且一一对应;
第二确定单元,用于当所述查看单元没有得到漏洞编号时,确定所述待检测文件中的漏洞为0day漏洞;
所述查看单元将待检测文件过漏洞基础数据库包括:
获取所述待检测文件的类型;
根据所述待检测文件的类型遍历漏洞基础数据库获取该类型文件对应的漏洞检测逻辑;
根据获取的所述漏洞检测逻辑对所述待检测文件进行检测。
8.根据权利要求7所述的装置,其特征在于,当所述待检测文件为html文件时,所述第一确定单元包括:
检测模块,用于检测所述html文件中是否存在恶意特征;
第一确定模块,用于当检测模块检测到所述html文件中存在恶意特征时,确定所述html文件为恶意文件;
所述第一确定模块还用于,当检测模块检测到所述html文件中不存在恶意特征时,确定所述html文件为正常文件。
9.根据权利要求7所述的装置,其特征在于,当所述待检测文件为文档文件时,所述第一确定单元还包括:
构建模块,用于构建指令虚拟机;
运行模块,用于在所述构建模块构建的指令虚拟机中按字节运行该文档文件;
记录模块,用于记录该文档文件运行的行为;
匹配模块,用于将记录模块记录的行为与预定义的恶意行为规则库中的行为进行匹配;
第二确定模块,用于当所述匹配模块匹配到对应的行为时,确定所述待检测文件为恶意文件;
所述第二确定模块还用于,当所述匹配模块没有匹配到对应的行为,确定所述待检测文件为正常文件。
10.根据权利要求9所述的装置,其特征在于,所述构建模块包括:
设置用于按字节读取文档文件的指令读取模块;
设置用于对指令读取模块读取的文档文件进行解释的解释模块;
构建指令运行的模拟环境,所述模拟环境包括指令运行的线程、进程、栈、堆、系数数据和内置系统API模拟;所述内置系统API模拟包括文件、进程、注册表、网络API。
11.根据权利要求7-10中任一项所述的装置,其特征在于,还包括:
获取单元,用于在将待检测文件过漏洞基础数据库之前,获取已识别的漏洞以及该漏洞的属性信息,所述属性信息包括漏洞编号、漏洞存在的文件类型以及漏洞检测逻辑;
数据库建立单元,用于将所述获取单元获取的每个已识别漏洞的属性信息以一条记录的形式存储在数据库中建立漏洞基础数据库。
12.根据权利要求7所述的装置,其特征在于,还包括:
第三确定单元,用于当所述查看单元得到漏洞编号时,唯一的确定待检测文件中的漏洞。
CN201410510398.3A 2014-09-28 2014-09-28 0day漏洞的识别方法以及装置 Active CN104239796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410510398.3A CN104239796B (zh) 2014-09-28 2014-09-28 0day漏洞的识别方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410510398.3A CN104239796B (zh) 2014-09-28 2014-09-28 0day漏洞的识别方法以及装置

Publications (2)

Publication Number Publication Date
CN104239796A CN104239796A (zh) 2014-12-24
CN104239796B true CN104239796B (zh) 2017-04-19

Family

ID=52227838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410510398.3A Active CN104239796B (zh) 2014-09-28 2014-09-28 0day漏洞的识别方法以及装置

Country Status (1)

Country Link
CN (1) CN104239796B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688743B (zh) * 2017-08-14 2021-01-29 北京奇虎科技有限公司 一种恶意程序的检测分析方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043919A (zh) * 2010-12-27 2011-05-04 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
CN102521542A (zh) * 2011-12-19 2012-06-27 北京大学 一种计算机软件漏洞利用的捕获方法及系统
CN103310150A (zh) * 2012-03-13 2013-09-18 百度在线网络技术(北京)有限公司 一种检测pdf漏洞的方法和装置
CN103902914A (zh) * 2013-09-17 2014-07-02 北京安天电子设备有限公司 一种针对高级可持续威胁的溢出漏洞检测方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064722A1 (en) * 2002-10-01 2004-04-01 Dinesh Neelay System and method for propagating patches to address vulnerabilities in computers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043919A (zh) * 2010-12-27 2011-05-04 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
CN102521542A (zh) * 2011-12-19 2012-06-27 北京大学 一种计算机软件漏洞利用的捕获方法及系统
CN103310150A (zh) * 2012-03-13 2013-09-18 百度在线网络技术(北京)有限公司 一种检测pdf漏洞的方法和装置
CN103902914A (zh) * 2013-09-17 2014-07-02 北京安天电子设备有限公司 一种针对高级可持续威胁的溢出漏洞检测方法及系统

Also Published As

Publication number Publication date
CN104239796A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104298923B (zh) 漏洞类型识别方法以及装置
KR101568224B1 (ko) 소프트웨어 취약점 분석방법 및 분석장치
CN105320883B (zh) 文件安全加载实现方法及装置
CN102902915B (zh) 对文件行为特征进行检测的系统
CN104537308B (zh) 提供应用安全审计功能的系统及方法
CN102902924B (zh) 对文件行为特征进行检测的方法及装置
Musa Shuaibu et al. Systematic review of web application security development model
CN101950338A (zh) 一种基于层次化漏洞威胁评估的漏洞修复方法
CN102622435A (zh) 一种检测黑链的方法和装置
CN104239801B (zh) 0day漏洞的识别方法以及装置
CN104462985A (zh) bat漏洞的检测方法以及装置
Alenezi et al. Open source web application security: A static analysis approach
Yuan et al. Retrieving relevant CAPEC attack patterns for secure software development
CN114386032A (zh) 电力物联网设备的固件检测系统及方法
CN109388946A (zh) 恶意进程检测方法、装置、电子设备及存储介质
Li et al. Large-scale third-party library detection in android markets
CN113158197A (zh) 一种基于主动iast的sql注入漏洞检测方法、系统
CN105791250B (zh) 应用程序检测方法及装置
Yan et al. Detection method of the second-order SQL injection in Web applications
CN104579819A (zh) 网络安全检测方法以及装置
KR20160090566A (ko) 유효마켓 데이터를 이용한 apk 악성코드 검사 장치 및 방법
CN104239796B (zh) 0day漏洞的识别方法以及装置
CN106529287A (zh) 应用漏洞自动加固的方法及装置
CN106650439A (zh) 检测可疑应用程序的方法及装置
CN106407815A (zh) 漏洞检测方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee after: Beijing Qizhi Business Consulting Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20210616

Address after: 100016 1773, 15 / F, 17 / F, building 3, No.10, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee after: Beijing Hongteng Intelligent Technology Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Beijing Qizhi Business Consulting Co.,Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100016 1773, 15 / F, 17 / F, building 3, No.10, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee after: Sanliu0 Digital Security Technology Group Co.,Ltd.

Address before: 100016 1773, 15 / F, 17 / F, building 3, No.10, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee before: Beijing Hongteng Intelligent Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder