CN104462986A - Pdf中触发漏洞威胁的检测方法及装置 - Google Patents

Pdf中触发漏洞威胁的检测方法及装置 Download PDF

Info

Publication number
CN104462986A
CN104462986A CN201410714515.8A CN201410714515A CN104462986A CN 104462986 A CN104462986 A CN 104462986A CN 201410714515 A CN201410714515 A CN 201410714515A CN 104462986 A CN104462986 A CN 104462986A
Authority
CN
China
Prior art keywords
file
predetermined file
pdf
attribute
preset label
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.)
Granted
Application number
CN201410714515.8A
Other languages
English (en)
Other versions
CN104462986B (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 CN201410714515.8A priority Critical patent/CN104462986B/zh
Publication of CN104462986A publication Critical patent/CN104462986A/zh
Application granted granted Critical
Publication of CN104462986B publication Critical patent/CN104462986B/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/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 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)
  • Storage Device Security (AREA)
  • Character Input (AREA)

Abstract

本发明公开了一种PDF中触发漏洞威胁的检测方法及装置,涉及信息安全领域,通过对PDF文件的解析以及检测,及时发现漏洞可能被触发的威胁,并对该文件进行报警提示。本发明主要的技术方案为:解析PDF文件查看是否有第一预定文件或者第二预定文件嵌套;若有所述第一预定文件或者第二预定文件嵌套,则获取预定标签的属性;查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出;若会造成栈溢出,则发出报警信息,提示所述PDF文件存在触发漏洞的威胁。本发明主要用于检测PDF中的漏洞。

Description

PDF中触发漏洞威胁的检测方法及装置
技术领域
本发明涉及信息安全领域,特别是涉及一种PDF中触发漏洞威胁的检测方法及装置。
背景技术
随着信息技术的发展,软件功能的强大,随之产生的庞大的源代码数量导致了要消除源代码中存在的设计漏洞或实现漏洞越来越困难,从而黑客可以利用漏洞对系统进行破坏甚至入侵系统。
漏洞是存在于一个系统内的弱点或缺陷,这些弱点或缺陷导致系统对某一特定的威胁攻击或危险事件具有敏感性,或具有进行攻击威胁的可能性。漏洞一般分为功能性逻辑漏洞和安全性逻辑漏洞,功能性逻辑漏洞影响软件的正常功能,如执行结果错误、执行流程错误等,而安全性逻辑漏洞一般情况下不影响软件的正常功能,但如果漏洞被攻击者成功利用后,有可能造成软件运行错误甚至执行恶意代码,如网站中的跨站脚本漏洞、SQL注入漏洞等。
由于信息系统已被广泛应用到国家的各个领域,加之近年来漏洞的数量呈明显上升趋势,信息系统的安全显得尤为重要,因此发现信息系统的漏洞检测技术也成为了当前的重点研究方向。目前常用的检测方法是通过对源代码依据一定规则分析来实现检测目的,因此这种方法需要建立源代码的特征库和规则库,然而随着漏洞数量的增加,特征库也随之不断扩大,使得检测效率不断降低,同时,由于特征库的内容需要不断更新,常会出现更新不及时带来的误报及漏报情况。
发明内容
有鉴于此,本发明提供的一种PDF中触发漏洞威胁的检测方法及装置,通过对PDF文件的解析以及检测,及时发现cve-2010-0188的系统漏洞可能被触发的威胁,并对该文件进行报警提示。
依据本发明一个方面,提出了一种PDF中触发漏洞威胁的检测方法,该方法包括:
解析PDF文件查看是否有第一预定文件或者直接第二预定文件嵌套;
若有所述第一预定文件或者直接第二预定文件嵌套,则获取预定标签的属性;
查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出;
若会造成栈溢出,则发出报警信息,提示所述PDF文件存在触发漏洞的威胁。
依据本发明另一个方面,提出了一种PDF中触发漏洞威胁的检测装置,该装置包括:
解析识别单元,用于解析PDF文件查看是否有第一预定文件或者直接的直接第二预定文件嵌套;
获取单元,用于在解析识别单元查找到有所述第一预定文件或者直接的直接第二预定文件嵌套时,获取预定标签的属性;
判断单元,用于查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出;
输出单元,用于在判断单元确定会造成栈溢出时,发出报警信息,提示所述PDF文件存在触发漏洞的威胁。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明所采用的一种PDF中触发漏洞威胁的检测方法及装置,能够在通过对PDF文件进行解析后,查找到预定文件,并对所查找到的预定文件进行解析,得到其中的特定文件,再对特定文件依据字节序问题解析出预定标签的属性,在依据解析出的预定标签的属性确定PDF阅读器在读取PDF文件时会造成栈溢出,就认为该PDF文件存在触发漏洞的威胁,并且进行程序报警。相对于依靠特征库与规则库进行对比的检测方法,本发明所采用的检测方法及装置中所使用的上述检测逻辑,仅针对该一种类型的漏洞,对该种类型漏洞的检测非常有针对性,不需要建立庞大的特征库与规则库,从而减少了建立和使用特征库与规则库的时间,提高了检测的效率,同时,也避免了由于特征库与规则库没有及时更新所导致的误报和漏报的情况,进而提高了检测的准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种PDF中触发漏洞威胁的检测方法流程图;
图2示出了本发明实施例提供的另一种PDF中触发漏洞威胁的检测方法流程图;
图3示出了本发明实施例提供的一种PDF中触发漏洞威胁的检测装置结构示意图;
图4示出了本发明实施例提供的另一种PDF中触发漏洞威胁的检测装置结构示意图;
图5示出了本发明实施例提供的另一种PDF中触发漏洞威胁的检测装置结构示意图;
图6示出了本发明实施例提供的另一种PDF中触发漏洞威胁的检测装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供一种PDF中触发漏洞威胁的检测方法,如图1所示,该方法包括:
101、解析PDF文件查看是否有第一预定文件或者直接第二预定文件嵌套。
结构化的文档格式可移植文档格式(Portable Document Format,PDF)是由美国排版与图像处理软件公司Adobe于1993年首次提出的,是一种电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的。这一性能使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。
PDF的结构可以从文件结构和逻辑结构两个方面来理解,PDF的文件结构指的是其文件物理组织方式,逻辑结构则指的是其内容的逻辑组织方式。其中,PDF的文件结构(即物理结构)包括四个部分:文件头(Header)、文件体(Body)、交叉引用表(Cross-reference Table)和文件尾(Trailer):
文件头(Header)指明了该文件所遵从PDF规范的版本号,它出现在PDF文件的第一行。如%PDF-1.6表示该文件格式符合PDF1.6规范。文件体(Body)由一系列的PDF间接对象组成。这些间接对象构成了PDF文件的具体内容如字体、页面、图像等等。交叉引用表(Cross-reference Table)则是为了能对间接对象进行随机存取而设立的一个间接对象地址索引表。文件尾(Trailer)声明了交叉引用表的地址,指明文件体的根对象(Catalog),还保存了加密等安全信息。根据文件尾提供的信息,PDF的应用程序可以找到交叉引用表和整个PDF文件的根对象,从而控制整个PDF文件。
PDF文件的基本元素是PDF对象(PDF Object),PDF对象包括直接对象(Direct Object)和间接对象(Indirect Object);其中直接对象如下几种基本类型:布尔型(Boolean)、数值型(Number)、字符串型(String)、名字型(Name)、数组型(Array)、字典型(Dictionary)、流对象(Stream)以及空对象(Null);间接对象是一种标识了的PDF对象,这个标识称为间接对象的ID。标识的目的是为了让别的PDF对象引用。任何PDF对象标识后都变成了间接对象。
一个PDF文件是由一个由基本数据类型组成的数据结构,而解析PDF文件是通过以PDF文件为输入,以flex和bison的词法语法分析为原理,然后填充一个大的PDF文件格式数据结构为结果来实现的。
通过以flex和bison的词法语法按照PDF格式文档的说明解析一个PDF文件,可以识别出文件头、文件体和文件尾信息,这些信息中又包含了众多的PDF对象信息,即PDF文件的文件格式信息,将这些解析出来的PDF对象信息再填充到一个PDF的文件格式数据结构中,就完成了对PDF文件的解析工作。
其中,解析PDF文件查看是否有第一预定文件或者直接第二预定文件嵌套可以采用但不局限于以下的方法实现,该方法包括:
解析PDF文件获取所述PDF文件的文件格式信息。
从所述文件格式信息中查找所述第一预定文件或者直接第二预定文件嵌套。
102、若有所述第一预定文件或者直接第二预定文件嵌套,则获取预定标签的属性。
其中,获取预定标签的属性可以通过但不局限于以下的方法显示,该方法包括:
若在PDF文件中有所述第一预定文件,则对所述第一预定文件中的第三预定文件或者第四预定文件进行解析,根据是否存在字节序问题解析出预定标签的属性。
若在PDF文件中有所述直接第二预定文件嵌套,则对所述第二预定文件中的四预定文件进行解析,根据是否存在字节序问题解析出预定标签的属性。
103、查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出。
其中,在查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出时,可以采用但不局限于以下的方法实现,该方法包括:
查看所述预定标签的属性,确定所述预定标签的属性各字段的设置是否都符合预定的文件格式要求。若符合要求,则查看所述预定标签的属性的长度值是否超过预定值;若所述长度值超过预定值,则确定PDF阅读器读取PDF文件时会造成栈溢出。
104、若会造成栈溢出,则发出报警信息,提示所述PDF文件存在触发漏洞的威胁。
本发明实施,能够在通过对PDF文件进行解析后,查找到预定文件,并对所查找到的预定文件进行解析,得到其中的特定文件,再对特定文件依据字节序问题解析出预定标签的属性,在依据解析出的预定标签的属性确定PDF阅读器在读取PDF文件时会造成栈溢出,就认为该PDF文件存在触发漏洞的威胁,并且进行程序报警。相对于依靠特征库与规则库进行对比的检测方法,本发明所采用的检测方法及装置中所使用的上述检测逻辑,仅针对该一种类型的漏洞,对该种类型漏洞的检测非常有针对性,不需要建立庞大的特征库与规则库,从而减少了建立和使用特征库与规则库的时间,提高了检测的效率,同时,也避免了由于特征库与规则库没有及时更新所导致的误报和漏报的情况,进而提高了检测的准确率。
以下将以检测PDF中是否存在cve-2010-0188漏洞的威胁为例,进行具体阐述,当检测PDF中是否存在cve-2010-0188漏洞的威胁时,所述第一预定文件为XFA文件;所述第二预定文件为tiff文件;所述第三预定文件为img文件;所述第四预定文件为tif文件,所述预定标签为DotRange。,具体的,如图2所示,该方法包括:
201、解析PDF文件查看是否有XFA文件或者直接的tiff文件嵌套。
XFA文件在PDF文件中属于交互式PDF表单中的一种表单,是嵌入动态XML的XML Forms Architecture(XFA)表单。XFA提供了基于模板的语法和处理规则集,并允许用户构建交互式表单。基于模板的语法将定义用户在其中提供数据的字段。XFA的开放特性将提供描述交互式表单的通用XML语法,这是在表单处理应用程序之间执行与表单相关的交互操作的通用基础。
标签图像文件格式(Tagged Image File Format,简写为TIFF)是一种主要用来存储包括照片和艺术图在内的图像的文件格式。TIFF是一个灵活适应性强的文件格式,通过在文件头中包含“标签”它能够在一个文件中处理多幅图像和数据。标签能够标明图像的如图像大小这样的基本几何尺寸或者定义图像数据是如何排列的并且是否使用了各种各样的图像压缩选项。例如,TIFF可以包含JPEG和行程长度编码压缩的图像。TIFF文件也可以包含基于矢量的裁剪区域(剪切或者构成主体图像的轮廓)。使用无损格式存储图像的能力使TIFF文件成为图像存档的有效方法。与JPEG不同,TIFF文件可以编辑然后重新存储而不会有压缩损失。
TIFF文件以.GIF,.GIFf为扩展名。其数据格式是一种3级体系结构,从高到低依次为:
文件头(IFH),在每一个TIFF文件中第一个数据结构称为图像文件头或IFH,它是图像文件体系结构的最高层。这个结构在一个TIFF文件中是惟一的,有固定的位置。它位于文件的开始部分,包含了正确解释TIFF文件的其他部分所需的必要信息。
一个或多个称为IFD的包含标记指针的目录(IFD),IFD是TIFF文件中第2个数据结构,它是一个名为标记(tag)的用于区分一个或多个可变长度数据块的表,标记中包含了有关于图像的所有信息。IFD提供了一系列的指针(索引),这些指针告诉我们各种有关的数据字段在文件中的开始位置,并给出每个字段的数据类型及长度。这种方法允许数据字段定位在文件的任何地方,且可以是任意长度,因此文件格式十分灵活。
数据,根据IFD所指向的地址.存储相关的图像信息。
TIFF文件格式适用于在应用程序之间和计算机平台之间的交换文件,它的出现使得图像数据交换变得简单。
在解析PDF文件查看是否有XFA文件或者直接的tiff文件嵌套时包括:解析PDF文件获取所述PDF文件的文件格式信息;从所述文件格式信息中查找XFA文件或者直接的tiff文件嵌套。
202、若有XFA文件或者直接的tiff文件嵌套,则获取DotRange属性。
PDF文件经过上述步骤101的解析,并查找到相关的PDF对象信息,包括有XFA文件或者直接的tiff文件嵌套,当PDF对象信息为XFA文件时,就对该XFA文件中的img/tif文件进行解析,根据是否存在字节序问题解析出DotRange属性;当PDF对象信息为直接的tiff文件嵌套时,就对该tiff文件嵌套中的tif文件进行解析,根据是否存在字节序问题解析出DotRange属性。
其中,每个tif文件的解析都是从指示字节顺序的两个字节开始的。用“II”表示小字节在先、“MM”表示大字节在先字节顺序。后面的两个字节表示数字42。数字42是“为了其深刻的哲学意义"而选择的。42的读法取决于头两个字节所表示的字节顺序。整个文件根据所指出的字节顺序进行读取。
字节序问题就是字节顺序在Apple Macintosh和微软视窗程序之间可能产生的兼容性问题,它们通常为tif文件使用不同的字节顺序。一些程序提供了保存为Mac或者是Windows字节顺序的选项以使文件能在交叉平台使用。
DotRange是tif文件格式中定义的一个标签,一般为两个值:DotRange[0]和DotRange[1]。DotRange的标签为12个字节的tag(标签值)、type(数据类型)、length(数据长度)、value/offset(数据偏移)值组成。
203、查看所述DotRange属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出。
查看DotRange属性,是查看DotRange标签中各字段的设置是否符合文件格式要求,即查看tag、type、length、value/offset值的格式是否符合文件格式的要求。
在DotRange标签中各字段的格式都符合文件要求时,还需要进一步判断length值是否超过2,如果该值超过2,Adobe Reader(PDF阅读器)在解析该PDF文件时就会根据offset的值读取文件内容,如果在该文件内容中的特殊位置存在恶意代码,那么读入的多余数据将覆盖Libtiff的栈结构,引起缓冲区溢出,最终导致shellcode的执行。其中,Libtiff是一个用来读写标签图像文件格式(简写为TIFF)的库。这个库还包含一些命令行工具用来处理TIFF文件。它以源代码方式分发,并且可以在多种平台上以二进制构建的方式出现。而shellcode是指能完成特殊任务的自包含的二进制代码,根据不同的任务可能是发出一条系统调用或建立一个高权限的Shell,Shellcode的最终目的是取得目标机器的控制权,所以一般被攻击者利用系统的漏洞送入系统中执行,从而获取特殊权限的执行环境,或给自己设立有特权的帐户。
204、若造成栈溢出,则发出报警信息,提示所述PDF文件存在构造触发cve-2010-0188漏洞的威胁。
基于栈的缓冲区溢出在一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。但是,如果输入的数据是经过“黑客”精心设计的,覆盖堆栈的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权,最终可以导致上述的shellcode的执行。
cve-2010-0188漏洞本质上是开源库Libtiff的安全漏洞,由于PDF文件中可以去嵌套tiff图像,因此通过构建特制的tiff图像嵌入到PDF文件中并诱使用户点击可导致以应用程序权限执行任意指令。
因此在上述103中确认PDF文件由PDF阅读器读取时会造成基于栈的缓冲区溢出时,系统就认为该PDF文件存在构造触发cve-2010-0188漏洞的威胁,同时发出报警提示信息。该报警提示信息的内容可以为该PDF文件的文件名或该PDF文件的存储路径,也可以是该PDF文件所构成威胁的等级提示;而该提示信息的形式可以是弹提示框的形式,也可以是图标或者文本页面的形式提示,本发明实施例对该报警信息的具体内容及形式不进行具体限定。
基于上述的PDF中触发漏洞威胁的检测方法,本发明实施例还提供一种PDF中触发漏洞威胁的检测装置,如图3所示,该装置包括:
解析识别单元31,用于解析PDF文件查看是否有第一预定文件或者直接的直接第二预定文件嵌套。
获取单元32,用于在解析识别单元31查找到有所述第一预定文件或者直接的直接第二预定文件嵌套时,获取预定标签的属性。
判断单元33,用于查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出。
输出单元34,用于在判断单元33确定会造成栈溢出时,发出报警信息,提示所述PDF文件存在触发漏洞的威胁。
进一步的,所述PDF中触发漏洞威胁的检测装置中,如图4所示,所述解析识别单元31包括:
获取模块311,用于解析PDF文件获取所述PDF文件的文件格式信息。
查询模块312,用于从获取模块311所获取的文件格式信息中查找所述第一预定文件或者直接的直接第二预定文件嵌套。
进一步的,所述PDF中触发漏洞威胁的检测装置中,如图5所示,所述获取单元32包括:
第一解析模块321,用于在PDF文件中有所述第一预定文件时,则对所述第一预定文件中的第三预定文件或者第四预定文件进行解析,根据是否存在字节序问题解析出预定标签的属性。
第二解析模块322,用于在PDF文件中有所述直接第二预定文件嵌套时,则对所述第二预定文件中的四预定文件进行解析,根据是否存在字节序问题解析出预定标签的属性。
进一步的,所述PDF中触发漏洞威胁的检测装置中,如图6所示,所述判断单元33包括:
第一判断模块331,用于查看所述预定标签的属性,确定所述预定标签的属性各字段的设置是否都符合预定的文件格式要求。
识别模块332,用于在第一判断模块331确定所述预定标签的属性各字段的设置都符合预定的文件格式要求时,查看所述预定标签的属性的长度值是否超过预定值。
第二判断模块333,用于当识别模块332确认所述预定标签的属性的长度值超过预定值时,确定PDF阅读器读取PDF文件时会造成栈溢出。
综上所述,本发明实施例所采用的一种PDF中触发漏洞威胁的检测方法及装置,能够在通过对PDF文件进行解析后,查找到预定文件,并对所查找到的文件进行解析,得到其中的特定文件,再对特定文件依据字节序问题解析出预定标签的属性,在依据解析出的预定标签的属性确定PDF阅读器在读取PDF文件时会造成栈溢出,就认为该PDF文件存在触发漏洞的威胁,并且进行程序报警。相对于依靠特征库与规则库进行对比的检测方法,本发明所采用的检测方法及装置中所使用的上述检测逻辑,仅针对该一种类型的漏洞,对该种类型漏洞的检测非常有针对性,不需要建立庞大的特征库与规则库,从而减少了建立和使用特征库与规则库的时间,提高了检测的效率,同时,也避免了由于特征库与规则库没有及时更新所导致的误报和漏报的情况,进而提高了检测的准确率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种PDF中触发漏洞威胁的检测方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种PDF中触发漏洞威胁的检测方法,其特征在于,包括:
解析PDF文件查看是否有第一预定文件或者直接第二预定文件嵌套;
若有所述第一预定文件或者直接第二预定文件嵌套,则获取预定标签的属性;
查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出;
若会造成栈溢出,则发出报警信息,提示所述PDF文件存在触发漏洞的威胁。
2.根据权利要求1所述的方法,其特征在于,解析PDF文件查看是否有第一预定文件或者直接第二预定文件嵌套包括:
解析PDF文件获取所述PDF文件的文件格式信息;
从所述文件格式信息中查找所述第一预定文件或者直接第二预定文件嵌套。
3.根据权利要求2所述的方法,其特征在于,所述获取预定标签的属性包括:
若在PDF文件中有所述第一预定文件,则对所述第一预定文件中的第三预定文件或者第四预定文件进行解析,根据是否存在字节序问题解析出所述预定标签的属性;
若在PDF文件中有所述直接第二预定文件嵌套,则对所述第二预定文件中的四预定文件进行解析,根据是否存在字节序问题解析出所述预定标签的属性。
4.根据权利要求1-3中任一项所述的方法,其特征在于,查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出包括:
查看所述预定标签的属性,确定所述预定标签的属性各字段的设置是否都符合预定的文件格式要求;
若符合要求,则查看所述预定标签的属性的长度值是否超过预定值;
若所述长度值超过预定值,则确定PDF阅读器读取PDF文件时会造成栈溢出。
5.根据权利要求3所述的方法,其特征在于,所述第一预定文件为XFA文件;所述第二预定文件为tiff文件;所述第三预定文件为img文件;所述第四预定文件为tif文件,所述预定标签为DotRange。
6.一种PDF中触发漏洞威胁的检测装置,其特征在于,包括:
解析识别单元,用于解析PDF文件查看是否有第一预定文件或者直接的直接第二预定文件嵌套;
获取单元,用于在解析识别单元查找到有所述第一预定文件或者直接的直接第二预定文件嵌套时,获取预定标签的属性;
判断单元,用于查看所述预定标签的属性,确定PDF阅读器读取PDF文件时是否会造成栈溢出;
输出单元,用于在判断单元确定会造成栈溢出时,发出报警信息,提示所述PDF文件存在触发漏洞的威胁。
7.根据权利要求6所述的检测装置,其特征在于,所述解析识别单元包括:
获取模块,用于解析PDF文件获取所述PDF文件的文件格式信息;
查询模块,用于从获取模块所获取的所述文件格式信息中查找所述第一预定文件或者直接的直接第二预定文件嵌套。
8.根据权利要求7所述的检测装置,其特征在于,所述获取单元包括:
第一解析模块,用于在PDF文件中有所述第一预定文件时,则对所述第一预定文件中的第三预定文件或者第四预定文件进行解析,根据是否存在字节序问题解析出所述预定标签的属性;
第二解析模块,用于在PDF文件中有所述直接第二预定文件嵌套时,则对所述第二预定文件中的四预定文件进行解析,根据是否存在字节序问题解析出所述预定标签的属性。
9.根据权利要求6-8中任一项所述的检测装置,其特征在于,所述判断单元包括:
第一判断模块,用于查看所述预定标签的属性,确定所述预定标签的属性各字段的设置是否都符合预定的文件格式要求;
识别模块,用于在第一判断模块确定所述预定标签的属性各字段的设置都符合预定的文件格式要求时,查看所述预定标签的属性的长度值是否超过预定值;
第二判断模块,用于当识别模块确认所述预定标签的属性的长度值超过预定值时,确定PDF阅读器读取PDF文件时会造成栈溢出。
10.根据权利要求8所述的检测装置,其特征在于,所述第一预定文件为XFA文件;所述第二预定文件为tiff文件;所述第三预定文件为img文件;所述第四预定文件为tif文件,所述预定标签为DotRange。
CN201410714515.8A 2014-11-28 2014-11-28 Pdf中触发漏洞威胁的检测方法及装置 Active CN104462986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410714515.8A CN104462986B (zh) 2014-11-28 2014-11-28 Pdf中触发漏洞威胁的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410714515.8A CN104462986B (zh) 2014-11-28 2014-11-28 Pdf中触发漏洞威胁的检测方法及装置

Publications (2)

Publication Number Publication Date
CN104462986A true CN104462986A (zh) 2015-03-25
CN104462986B CN104462986B (zh) 2019-02-01

Family

ID=52909011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410714515.8A Active CN104462986B (zh) 2014-11-28 2014-11-28 Pdf中触发漏洞威胁的检测方法及装置

Country Status (1)

Country Link
CN (1) CN104462986B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132999A (zh) * 2017-12-21 2018-06-08 恒宝股份有限公司 一种元素名的处理方法及系统
CN108229168A (zh) * 2017-12-29 2018-06-29 哈尔滨安天科技股份有限公司 一种嵌套类文件的启发式检测方法、系统及存储介质
CN109948123A (zh) * 2018-11-27 2019-06-28 阿里巴巴集团控股有限公司 一种图像合并方法及装置
CN112711432A (zh) * 2020-12-31 2021-04-27 北京安博通科技股份有限公司 用于网络安全设备的特征库升级方法及装置
CN115952783A (zh) * 2023-03-09 2023-04-11 深圳市金大智能创新科技有限公司 一种文档解析方法及系统
CN117290851A (zh) * 2023-09-21 2023-12-26 广州市动易网络科技有限公司 基于漏洞识别的阅读安全增强方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103221960A (zh) * 2012-12-10 2013-07-24 华为技术有限公司 恶意代码的检测方法及装置
CN103310150A (zh) * 2012-03-13 2013-09-18 百度在线网络技术(北京)有限公司 一种检测pdf漏洞的方法和装置
US20140181980A1 (en) * 2012-12-21 2014-06-26 International Business Machines Corporation System and method for protection from buffer overflow vulnerability due to placement new constructs in c++

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310150A (zh) * 2012-03-13 2013-09-18 百度在线网络技术(北京)有限公司 一种检测pdf漏洞的方法和装置
CN103221960A (zh) * 2012-12-10 2013-07-24 华为技术有限公司 恶意代码的检测方法及装置
US20140181980A1 (en) * 2012-12-21 2014-06-26 International Business Machines Corporation System and method for protection from buffer overflow vulnerability due to placement new constructs in c++

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132999A (zh) * 2017-12-21 2018-06-08 恒宝股份有限公司 一种元素名的处理方法及系统
CN108132999B (zh) * 2017-12-21 2019-06-04 恒宝股份有限公司 一种元素名的处理方法及系统
CN108229168A (zh) * 2017-12-29 2018-06-29 哈尔滨安天科技股份有限公司 一种嵌套类文件的启发式检测方法、系统及存储介质
CN108229168B (zh) * 2017-12-29 2021-07-20 哈尔滨安天科技集团股份有限公司 一种嵌套类文件的启发式检测方法、系统及存储介质
CN109948123A (zh) * 2018-11-27 2019-06-28 阿里巴巴集团控股有限公司 一种图像合并方法及装置
CN112711432A (zh) * 2020-12-31 2021-04-27 北京安博通科技股份有限公司 用于网络安全设备的特征库升级方法及装置
CN115952783A (zh) * 2023-03-09 2023-04-11 深圳市金大智能创新科技有限公司 一种文档解析方法及系统
CN117290851A (zh) * 2023-09-21 2023-12-26 广州市动易网络科技有限公司 基于漏洞识别的阅读安全增强方法及系统
CN117290851B (zh) * 2023-09-21 2024-02-20 广州市动易网络科技有限公司 基于漏洞识别的阅读安全增强方法及系统

Also Published As

Publication number Publication date
CN104462986B (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
CN104462986A (zh) Pdf中触发漏洞威胁的检测方法及装置
AU2010263263B2 (en) Fuzzy hash algorithm
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US20140082729A1 (en) System and method for analyzing repackaged application through risk calculation
EP2182460A2 (en) Structural recognition of malicious code patterns
US8209599B2 (en) Method and system for handling references in markup language documents
CN103473506A (zh) 用于识别恶意apk文件的方法和装置
KR20150038738A (ko) 비밀 정보의 검출
CN104168293A (zh) 结合本地内容规则库识别可疑钓鱼网页的方法及系统
CN111931935B (zh) 基于One-shot 学习的网络安全知识抽取方法和装置
US20140244234A1 (en) Chinese name transliteration
CN108563629B (zh) 一种日志解析规则自动生成方法和装置
CN103559447A (zh) 一种基于病毒样本特征的检测方法、检测装置及检测系统
CN113486350A (zh) 恶意软件的识别方法、装置、设备及存储介质
CN113971398A (zh) 一种面向网络安全领域实体快速识别的词典构造方法
US8495733B1 (en) Content fingerprinting using context offset sequences
US9645816B2 (en) Multi-language code search index
CN114091118A (zh) 网页防篡改方法、装置、设备及存储介质
US20140309984A1 (en) Generating a regular expression for entity extraction
CN111104674A (zh) 一种电力固件同源二进制文件关联方法及系统
KR102499555B1 (ko) PDF 또는 HWP에서 Link의 무해화를 위한 방법 및 장치
CN113114679B (zh) 报文的识别方法、装置、电子设备及介质
Nadeem et al. A method for recommending computer-security training for software developers: Leveraging the power of static analysis techniques and vulnerability repositories
CN104462966B (zh) Pdf中触发漏洞威胁的检测方法及装置
CN109218284B (zh) Xss漏洞检测方法及装置、计算机设备及可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
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
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.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210622

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.

CP01 Change in the name or title of a patent holder
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.