总第245期
2010年第3期
计算机与数字工程
Computer&DigitalEngineeringVol.38No.3
92
基于Fuzzing的PNG漏洞挖掘技术
夏建军 孙乐昌 吴志勇 王红川 刘京菊
(解放军电子工程学院 合肥 230037)
3
摘 要 Fuzzing是一种利用黑盒测试思想的自动化漏洞挖掘技术。文章基于Fuzzing的漏洞挖掘思想,设计并实现了一个针对PNG文件查看软件的fuzz工具2PNGFuzzer,可以实现对PNG文件的漏洞测试,最后给出了该工具测试的实例。
关键词 漏洞;漏洞挖掘;Fuzzing技术;PNG中图分类号 TP391
PNGVulnerabilityExploitingXiaJianjun SunLechang WuJingju
(ElectronicEngineeringof230037)
Abstract Fuzzingistechniquebasedonblack_boxtest.Thispaperspecifically
designsandatoPNGviewersbasedonfuzzing.TakingCVE2200420599asanexample,theus2ageofthePNinthispaper.
KeyWords ,vulnerabilityexploiting,fuzzing,PNGClassNumber TP391
1 引言
(Vulnerability)是计算机系统在硬件、“漏洞”软
PNG软件的安全问题,通过分析文件的结构归纳
总结可能出现的漏洞类型,及早找出隐藏的漏洞,消除安全隐患,对于增强个人电脑以及网站服务器的安全性都有重要的意义。
论文研究如何运用Fuzzing技术来挖掘基于Windows平台的PNG软件的漏洞。
件、协议的具体实现或系统安全策略上存在安全方面的缺陷[1]。漏洞一旦被发现,攻击者就可使用这个漏洞获得计算机系统的额外权限,使在未授权的情况下访问或破坏系统,从而导致危害计算机系统安全。为了降低漏洞带来的危害,安全工作人员要抢在攻击者之前尽可能多地发现软件中的漏洞并及时修补。目前常用的漏洞挖掘技术主要有Fuzz2
ing[2~3]技术、静态分析技术(StaticAnalysis)、动态调试技术(RuntimeAnalysis)、补丁比较技术等。
流式网络图形格式(PortableNetworkGraph2icFormat,PNG)是一种现在应用较多的位图文件(bitmapfile)存储格式,由于被广泛地使用,因此,PNG相关软件漏洞的危害性较为严重。系统研究
2 Fuzzing技术
2.1 一种漏洞挖掘思路
传统的漏洞测试主要由测试人员手工进行,费力费时,并且主要依赖于测试人员的个人经验,难以进行推广应用。而现阶段的漏洞自动挖掘还处在起步阶段,自动化程度不高,效率低下。将手工测试和Fuzzing技术相结合,同时借助于Debugger(IDAPro,Ollydbg等)则是一种很好的漏洞挖掘
思路。通过人工分析,能够了解目标软件的一些基
3
收稿日期:2009年10月23日,修回日期:2009年11月17日
基金项目:电子工程学院博士创新基金资助。
作者简介:夏建军,男,硕士研究生,研究方向:计算机信息安全。
2010年第3期计算机与数字工程
表1 PNG文件数据块的结构
域的名称Length
93
本信息,找出该软件可能出现脆弱点的线索,从而有针对性地利用Fuzzing技术设计并实现具体的fuzzer工具。使用fuzzer对目标软件的某些脆弱
点进行测试出现异常错误时,需要借助于Debug2ger具体调试目标软件。2.2 Fuzzing技术介绍
Fuzzing是一种利用黑盒测试思想的自动化漏
说明
指定数据块中数据域的长度,其长度不超过(231-1)字节
ChunkType4字节数据块类型码由ASCII字母(A~ZCode和a~z)组成
ChunkData可变长度存储按照ChunkTypeCode指定的
数据
CRC4字节循环冗余码
字节数
4字节
洞挖掘技术[4~5]。它以一个正常的文件模板为基础,按照一定规则产生一批带有攻击性的畸形文件作为目标软件的输入,并监视软件是否正常,记录软件的错误信息,以程序是否出现异常为标志来发现应用程序中可能存在安全漏洞的疑点。所谓畸形文件是指文件的必要标识部分和大部分数据都是有效的,但是同时该文件的其余部分是无效的,这样应用程序仍然会认为这是一个有效的文件。因此,应用程序在解析处理该文件时就可能发生溢出等异常。可以把Fuzzing行“roughattack”尝试的工具,因为,Exploit, 在表1中,CRC(cyclicredundancycheck)域中的值是根据对ChunkTypeCode域和ChunkData域中的数据产生的。3.1.3 关键数据块
关键数据块中的4个标准数据块是:
1)文件头数据块IHDR(chunk):包含有PNG,并要,而且一个。文件,它的格式如表2所示。
表2 PNG文件头数据块的结构
域的名称WidthHeightBitdepth
ColorTypeFiltermethodInterlacemethod
,正的可利用漏洞[。Fuzzing技术应用领域目前主要包括文件格式、网络协议、Web程序、环境变量和COM对象等。国内对Fuzzing技术有了初步的研究和简单的应用[7~9]。
字节数
4bytes4bytes1byte说明
图像宽度,以像素为单位图像高度,以像素为单位图像深度
1byte颜色类型1byte滤波器方法1byte隔行扫描方法
Compressionmethod1byte压缩方法(LZ77派生算法)
3 文件格式分析
3.1 PNG文件分析[10]
PNG图像格式文件由一个8字节的PNG文
2)调色板数据块PLTE(palettechunk):包含有
与索引彩色图像(indexed2colorimage)相关的彩色变换数据。PLTE实际是一个彩色索引查找表,其表项数目可以是1~256中的一个数,每个表项有3字节,因此调色板数据块所包含的最大字节数为768。
3)图像数据块IDAT(imagedatachunk):存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。
4)图像结束数据IEND(imagetrailerchunk):标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。
3.2 PNG文件中可能的脆弱点
Fuzz文件格式需要对文件格式有比较透彻地
件署名(PNGfilesignature)域和按照特定结构组织的数据块(chunk)组成。PNG定义了两种类型的数据块,一种是称为关键数据块(criticalchunk),这是标准的数据块,另一种叫做辅助数据块(ancillarychunks),亦称可选数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。
3.1.1 PNG文件署名域
8字节的PNG文件署名域用来标识该文件是
认识,找出其中可能的脆弱点。由3.1节可知PNG文件由很多段构成,段里面又由标记、参数、
否为PNG文件。该域的值是:
十进制数[**************]10十六进制数89504e470d0a1a0a3.1.2 数据块的结构
数据块构成,在程序解析PNG文件格式的时候会依据“标记”来确认段,并读取“参数”进行一定的运算,再依据这些参数来处理随后紧跟的“数据”,因此,大量的长度、大小相关的参数可能出现漏洞。
每个数据块都由表1所示的的4个域组成。
94夏建军等:基于Fuzzing的PNG漏洞挖掘技术第38卷
4 PNGFuzzer的设计实现
设计的PNGFuzzer要分为两部分,首先需要在分析文件结构并找出文件脆弱点的基础上,自动生成畸形文件,然后调用需要测试的软件打开畸形文件,如果软件能够正常运行,则构造新的畸形文件再重新用软件打开,一直到测试完毕或者软件出
现异常退出为止。如果软件打开畸形文件出现异常,就可以利用Ollydbg等工具进行调试,然后进一步分析和利用。
PNGFuzzer是针对Windows平台下PNG查
图1 PNGFuzzer漏洞
挖掘流程图
(图3)。PNGFuzzer中的异常判断部分是采用读
取进程的方法实现的,每次VisualPNG打开一个畸形PNG文件后,读取一个进程快照,看是否存在dwwin.exe进程,这个进程是Windows下每个程
序异常退出系统调用的进程,因此对于每个PNG查看软件都可以采用这种方法判断是否异常。需要注意的是,运行PNGFuzzer时最好关闭其它的应用程序,以避免出现人为干扰。
5 测试结果
互联网上的PNG查看软件种类繁多,应用较多的有MSNpng,Mediaplayerpng,RealPlayer,VisualPNG,PGviewer,hic,ImageEye,Inzomia等,源的VisualPN,。
PNG文件时调
看软件进行漏洞自动挖掘的工具,其漏洞挖掘流程如图1所示。
4.1 构造畸形PNG文件
,ngrutil.c文件中png_handle_
)函数在处理文件头数据块IHDR中的Height参数进行内存分配时存在整数溢出漏洞,
,G以一个正常的PN,,由此生成测试用的数据文件。,CRC值是对ChunkTypeCode域和ChunkData域中的数据进行计算得
漏洞编号为CVE2200420599,远程攻击者可以利用这个漏洞对应用程序进行拒绝服务攻击[11~12]。攻击者可以构造Height值很大的恶意PNG文件,诱使用户解析,从而导致应用程序崩溃。
到的。对于部分位置数据的修改会引起CRC值的变化,因此需要计算修改相应的CRC值。4.2 自动测试
在确定了畸形PNG文件的构造方法后便可实现自动测试。这里选择测试VisualPNG打开畸形PNG文件时是否存在漏洞。首先,PNGFuzzer利用一个正常的PNG文件(图2)为模板生成一个畸形PNG文件3.png,然后调用VisualPNG打开3.png,如果没有异常,3秒后VisualPNG自动关闭,PNGFuzzer重新生成一个新的畸形PNG文件,重复上面的过程,直到测试完所有的脆弱点或者发现漏洞。
图4
如图4所示,正常的模板PNG文件和畸形PNG文件相比,只有两处不同(划线处),畸形PNG文件先将IHDR中的Height值由0x00000020修改为0x02AAAAB2,进而引起IHDR中的CRC值相应地由0x5B014759变为0xFD0FAFF3。
6 结语
如果VisualPNG打开畸形PNG文件时出现异常,程序停止运行,并显示“Detectedafault!”
Fuzzing测试的思想直观,容易理解,目前正广
(下转第122页)
122
669
牛轶峰等:像素级图像优化融合客观评价指标分析第38卷
[10]TsagarisV,AnastassopoulosV.AGlobalMeasure
forAssessingImageFusionMethods[J].OpticalEn2gineering,2006,45(2):1~8
[11]李弼程,魏俊,彭天强.遥感影象融合效果的客观分析
[6]李树涛,王耀南,张昌凡.多传感器图像融合的客观评
价与分析[J].仪器仪表学报,2002,23(6):651~654
[7]QuGH,ZhangDL,YanPF.InformationMeasure
forPerformanceofImageFusion[J].ElectronicsLet2ters,2002,38(7):313~315
[8]RameshC,RanjithT.FusionPerformanceMeasures
andaLiftingWaveletTransformBasedAlgorithmforImageFusion[C]//ProceedingsofofFUSION2002,Annapolis,US,2002,1:317~320
[9]WangQ,ShenY,ZhangY,etal.FastQuantitative
CorrelationAnalysisandInformationDeviationAnaly2sisforEvaluatingthePerformancesofImageFusionTechniques[J].IEEETransactionsonInstmmMeas,2004,53(5):1441~1447
与评价[J].计算机工程与科学,2004,26(1):42~46
[12]WangZ,BovikAC,SheikhHR,etal.ImageQuali2
tyAssessment:fromErrorVisibilitytoStructuralSimilarity[J].IEEETransactionsonImageProcess2ing,2004,13(4):600~612
[13]张尧庭,方开泰.多元统计分析[M].北京:科学出版
社,1997
[14]刘丽莉.评价指标选取方法研究[J].河北建筑工程学
院学报,2004,22(1):23~25
[15]徐祥发,肖人彬.[J].系统工程理论与实践(11):1~5
(上接第94页)
泛应用于文件格式、网络协议、变量和COM想,行漏洞挖掘的PNGFuzzer。实验证明了Fuzzing是挖掘漏洞的有效方法,同时反映了目前Windows平台下PNG软件存在着的一定的安全问题。如何进一步提高测试效率和异常判断的智能化程度将是Fuzzing测试需要解决的重要课题。
参考文献
[1]王雨晨.系统漏洞原理与常见攻击方法[J].计算机工
tilitiesandServices[R].Technicalreport,UniversityofWisconsinMadison,1995,4
[5]J.E.Forrester,B.P.Miller.AnEmpiricalStudyof
theRobustnessofWindowsNTApplicationsUsingRandomTesting[C]//Proceedingsofthe4thUSENIXWindowsSystemSymposium,Seattle,2000,8
[6]王清.0day安全:软件漏洞分析技术[M].北京:电子工
业出版社,2007
[7]邵林,张小松,苏恩标.一种基于Fuzzing技术的漏洞发
掘新思路[J].计算机应用研究,2009,26(3):1086~
1088
[8]吴毓书,周安民,吴少华,等.基于Fuzzing的ActiveX
控件漏洞发掘技术[J].计算机应用,2008,28(9):2252~2254
[9]魏瑜豪,张玉清.基于Fuzzing的MP3播放软件漏洞发
程与应用,2001,38(8):62~64
[2]M.Sutton,A.Greene,P.Amini.Fuzzing:Brute
VulnerabilityDiscovery[M].1sted.PearsonEduca2tion,Inc,2007:16
[3]B.P.Miller,L.Fredrikson,B.So.AnEmpirical
StudyoftheReliablityofUNIXUtilities[C]//Comm.OftheACM,1990,33(12):32
[4]B.P.Miller,D.Koski,C.P.Lee,etal.FuzzingRe2
visted:AReexaminationoftheReliabilityofUNIXU2
掘技术[J].计算机工程,2007,33(24):158~160,167
[10]RFC20832PNG(PortableNetworkGraphics)Specifi2
cationVersion
[11]http://www.CVE.mitre.org/cgi2bin/cvename.cgi?
name=CVE2200420599
[12]http://web.nvd.nist.gov/view/vuln/search?execu2
tion=els2
总第245期
2010年第3期
计算机与数字工程
Computer&DigitalEngineeringVol.38No.3
92
基于Fuzzing的PNG漏洞挖掘技术
夏建军 孙乐昌 吴志勇 王红川 刘京菊
(解放军电子工程学院 合肥 230037)
3
摘 要 Fuzzing是一种利用黑盒测试思想的自动化漏洞挖掘技术。文章基于Fuzzing的漏洞挖掘思想,设计并实现了一个针对PNG文件查看软件的fuzz工具2PNGFuzzer,可以实现对PNG文件的漏洞测试,最后给出了该工具测试的实例。
关键词 漏洞;漏洞挖掘;Fuzzing技术;PNG中图分类号 TP391
PNGVulnerabilityExploitingXiaJianjun SunLechang WuJingju
(ElectronicEngineeringof230037)
Abstract Fuzzingistechniquebasedonblack_boxtest.Thispaperspecifically
designsandatoPNGviewersbasedonfuzzing.TakingCVE2200420599asanexample,theus2ageofthePNinthispaper.
KeyWords ,vulnerabilityexploiting,fuzzing,PNGClassNumber TP391
1 引言
(Vulnerability)是计算机系统在硬件、“漏洞”软
PNG软件的安全问题,通过分析文件的结构归纳
总结可能出现的漏洞类型,及早找出隐藏的漏洞,消除安全隐患,对于增强个人电脑以及网站服务器的安全性都有重要的意义。
论文研究如何运用Fuzzing技术来挖掘基于Windows平台的PNG软件的漏洞。
件、协议的具体实现或系统安全策略上存在安全方面的缺陷[1]。漏洞一旦被发现,攻击者就可使用这个漏洞获得计算机系统的额外权限,使在未授权的情况下访问或破坏系统,从而导致危害计算机系统安全。为了降低漏洞带来的危害,安全工作人员要抢在攻击者之前尽可能多地发现软件中的漏洞并及时修补。目前常用的漏洞挖掘技术主要有Fuzz2
ing[2~3]技术、静态分析技术(StaticAnalysis)、动态调试技术(RuntimeAnalysis)、补丁比较技术等。
流式网络图形格式(PortableNetworkGraph2icFormat,PNG)是一种现在应用较多的位图文件(bitmapfile)存储格式,由于被广泛地使用,因此,PNG相关软件漏洞的危害性较为严重。系统研究
2 Fuzzing技术
2.1 一种漏洞挖掘思路
传统的漏洞测试主要由测试人员手工进行,费力费时,并且主要依赖于测试人员的个人经验,难以进行推广应用。而现阶段的漏洞自动挖掘还处在起步阶段,自动化程度不高,效率低下。将手工测试和Fuzzing技术相结合,同时借助于Debugger(IDAPro,Ollydbg等)则是一种很好的漏洞挖掘
思路。通过人工分析,能够了解目标软件的一些基
3
收稿日期:2009年10月23日,修回日期:2009年11月17日
基金项目:电子工程学院博士创新基金资助。
作者简介:夏建军,男,硕士研究生,研究方向:计算机信息安全。
2010年第3期计算机与数字工程
表1 PNG文件数据块的结构
域的名称Length
93
本信息,找出该软件可能出现脆弱点的线索,从而有针对性地利用Fuzzing技术设计并实现具体的fuzzer工具。使用fuzzer对目标软件的某些脆弱
点进行测试出现异常错误时,需要借助于Debug2ger具体调试目标软件。2.2 Fuzzing技术介绍
Fuzzing是一种利用黑盒测试思想的自动化漏
说明
指定数据块中数据域的长度,其长度不超过(231-1)字节
ChunkType4字节数据块类型码由ASCII字母(A~ZCode和a~z)组成
ChunkData可变长度存储按照ChunkTypeCode指定的
数据
CRC4字节循环冗余码
字节数
4字节
洞挖掘技术[4~5]。它以一个正常的文件模板为基础,按照一定规则产生一批带有攻击性的畸形文件作为目标软件的输入,并监视软件是否正常,记录软件的错误信息,以程序是否出现异常为标志来发现应用程序中可能存在安全漏洞的疑点。所谓畸形文件是指文件的必要标识部分和大部分数据都是有效的,但是同时该文件的其余部分是无效的,这样应用程序仍然会认为这是一个有效的文件。因此,应用程序在解析处理该文件时就可能发生溢出等异常。可以把Fuzzing行“roughattack”尝试的工具,因为,Exploit, 在表1中,CRC(cyclicredundancycheck)域中的值是根据对ChunkTypeCode域和ChunkData域中的数据产生的。3.1.3 关键数据块
关键数据块中的4个标准数据块是:
1)文件头数据块IHDR(chunk):包含有PNG,并要,而且一个。文件,它的格式如表2所示。
表2 PNG文件头数据块的结构
域的名称WidthHeightBitdepth
ColorTypeFiltermethodInterlacemethod
,正的可利用漏洞[。Fuzzing技术应用领域目前主要包括文件格式、网络协议、Web程序、环境变量和COM对象等。国内对Fuzzing技术有了初步的研究和简单的应用[7~9]。
字节数
4bytes4bytes1byte说明
图像宽度,以像素为单位图像高度,以像素为单位图像深度
1byte颜色类型1byte滤波器方法1byte隔行扫描方法
Compressionmethod1byte压缩方法(LZ77派生算法)
3 文件格式分析
3.1 PNG文件分析[10]
PNG图像格式文件由一个8字节的PNG文
2)调色板数据块PLTE(palettechunk):包含有
与索引彩色图像(indexed2colorimage)相关的彩色变换数据。PLTE实际是一个彩色索引查找表,其表项数目可以是1~256中的一个数,每个表项有3字节,因此调色板数据块所包含的最大字节数为768。
3)图像数据块IDAT(imagedatachunk):存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。
4)图像结束数据IEND(imagetrailerchunk):标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。
3.2 PNG文件中可能的脆弱点
Fuzz文件格式需要对文件格式有比较透彻地
件署名(PNGfilesignature)域和按照特定结构组织的数据块(chunk)组成。PNG定义了两种类型的数据块,一种是称为关键数据块(criticalchunk),这是标准的数据块,另一种叫做辅助数据块(ancillarychunks),亦称可选数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。
3.1.1 PNG文件署名域
8字节的PNG文件署名域用来标识该文件是
认识,找出其中可能的脆弱点。由3.1节可知PNG文件由很多段构成,段里面又由标记、参数、
否为PNG文件。该域的值是:
十进制数[**************]10十六进制数89504e470d0a1a0a3.1.2 数据块的结构
数据块构成,在程序解析PNG文件格式的时候会依据“标记”来确认段,并读取“参数”进行一定的运算,再依据这些参数来处理随后紧跟的“数据”,因此,大量的长度、大小相关的参数可能出现漏洞。
每个数据块都由表1所示的的4个域组成。
94夏建军等:基于Fuzzing的PNG漏洞挖掘技术第38卷
4 PNGFuzzer的设计实现
设计的PNGFuzzer要分为两部分,首先需要在分析文件结构并找出文件脆弱点的基础上,自动生成畸形文件,然后调用需要测试的软件打开畸形文件,如果软件能够正常运行,则构造新的畸形文件再重新用软件打开,一直到测试完毕或者软件出
现异常退出为止。如果软件打开畸形文件出现异常,就可以利用Ollydbg等工具进行调试,然后进一步分析和利用。
PNGFuzzer是针对Windows平台下PNG查
图1 PNGFuzzer漏洞
挖掘流程图
(图3)。PNGFuzzer中的异常判断部分是采用读
取进程的方法实现的,每次VisualPNG打开一个畸形PNG文件后,读取一个进程快照,看是否存在dwwin.exe进程,这个进程是Windows下每个程
序异常退出系统调用的进程,因此对于每个PNG查看软件都可以采用这种方法判断是否异常。需要注意的是,运行PNGFuzzer时最好关闭其它的应用程序,以避免出现人为干扰。
5 测试结果
互联网上的PNG查看软件种类繁多,应用较多的有MSNpng,Mediaplayerpng,RealPlayer,VisualPNG,PGviewer,hic,ImageEye,Inzomia等,源的VisualPN,。
PNG文件时调
看软件进行漏洞自动挖掘的工具,其漏洞挖掘流程如图1所示。
4.1 构造畸形PNG文件
,ngrutil.c文件中png_handle_
)函数在处理文件头数据块IHDR中的Height参数进行内存分配时存在整数溢出漏洞,
,G以一个正常的PN,,由此生成测试用的数据文件。,CRC值是对ChunkTypeCode域和ChunkData域中的数据进行计算得
漏洞编号为CVE2200420599,远程攻击者可以利用这个漏洞对应用程序进行拒绝服务攻击[11~12]。攻击者可以构造Height值很大的恶意PNG文件,诱使用户解析,从而导致应用程序崩溃。
到的。对于部分位置数据的修改会引起CRC值的变化,因此需要计算修改相应的CRC值。4.2 自动测试
在确定了畸形PNG文件的构造方法后便可实现自动测试。这里选择测试VisualPNG打开畸形PNG文件时是否存在漏洞。首先,PNGFuzzer利用一个正常的PNG文件(图2)为模板生成一个畸形PNG文件3.png,然后调用VisualPNG打开3.png,如果没有异常,3秒后VisualPNG自动关闭,PNGFuzzer重新生成一个新的畸形PNG文件,重复上面的过程,直到测试完所有的脆弱点或者发现漏洞。
图4
如图4所示,正常的模板PNG文件和畸形PNG文件相比,只有两处不同(划线处),畸形PNG文件先将IHDR中的Height值由0x00000020修改为0x02AAAAB2,进而引起IHDR中的CRC值相应地由0x5B014759变为0xFD0FAFF3。
6 结语
如果VisualPNG打开畸形PNG文件时出现异常,程序停止运行,并显示“Detectedafault!”
Fuzzing测试的思想直观,容易理解,目前正广
(下转第122页)
122
669
牛轶峰等:像素级图像优化融合客观评价指标分析第38卷
[10]TsagarisV,AnastassopoulosV.AGlobalMeasure
forAssessingImageFusionMethods[J].OpticalEn2gineering,2006,45(2):1~8
[11]李弼程,魏俊,彭天强.遥感影象融合效果的客观分析
[6]李树涛,王耀南,张昌凡.多传感器图像融合的客观评
价与分析[J].仪器仪表学报,2002,23(6):651~654
[7]QuGH,ZhangDL,YanPF.InformationMeasure
forPerformanceofImageFusion[J].ElectronicsLet2ters,2002,38(7):313~315
[8]RameshC,RanjithT.FusionPerformanceMeasures
andaLiftingWaveletTransformBasedAlgorithmforImageFusion[C]//ProceedingsofofFUSION2002,Annapolis,US,2002,1:317~320
[9]WangQ,ShenY,ZhangY,etal.FastQuantitative
CorrelationAnalysisandInformationDeviationAnaly2sisforEvaluatingthePerformancesofImageFusionTechniques[J].IEEETransactionsonInstmmMeas,2004,53(5):1441~1447
与评价[J].计算机工程与科学,2004,26(1):42~46
[12]WangZ,BovikAC,SheikhHR,etal.ImageQuali2
tyAssessment:fromErrorVisibilitytoStructuralSimilarity[J].IEEETransactionsonImageProcess2ing,2004,13(4):600~612
[13]张尧庭,方开泰.多元统计分析[M].北京:科学出版
社,1997
[14]刘丽莉.评价指标选取方法研究[J].河北建筑工程学
院学报,2004,22(1):23~25
[15]徐祥发,肖人彬.[J].系统工程理论与实践(11):1~5
(上接第94页)
泛应用于文件格式、网络协议、变量和COM想,行漏洞挖掘的PNGFuzzer。实验证明了Fuzzing是挖掘漏洞的有效方法,同时反映了目前Windows平台下PNG软件存在着的一定的安全问题。如何进一步提高测试效率和异常判断的智能化程度将是Fuzzing测试需要解决的重要课题。
参考文献
[1]王雨晨.系统漏洞原理与常见攻击方法[J].计算机工
tilitiesandServices[R].Technicalreport,UniversityofWisconsinMadison,1995,4
[5]J.E.Forrester,B.P.Miller.AnEmpiricalStudyof
theRobustnessofWindowsNTApplicationsUsingRandomTesting[C]//Proceedingsofthe4thUSENIXWindowsSystemSymposium,Seattle,2000,8
[6]王清.0day安全:软件漏洞分析技术[M].北京:电子工
业出版社,2007
[7]邵林,张小松,苏恩标.一种基于Fuzzing技术的漏洞发
掘新思路[J].计算机应用研究,2009,26(3):1086~
1088
[8]吴毓书,周安民,吴少华,等.基于Fuzzing的ActiveX
控件漏洞发掘技术[J].计算机应用,2008,28(9):2252~2254
[9]魏瑜豪,张玉清.基于Fuzzing的MP3播放软件漏洞发
程与应用,2001,38(8):62~64
[2]M.Sutton,A.Greene,P.Amini.Fuzzing:Brute
VulnerabilityDiscovery[M].1sted.PearsonEduca2tion,Inc,2007:16
[3]B.P.Miller,L.Fredrikson,B.So.AnEmpirical
StudyoftheReliablityofUNIXUtilities[C]//Comm.OftheACM,1990,33(12):32
[4]B.P.Miller,D.Koski,C.P.Lee,etal.FuzzingRe2
visted:AReexaminationoftheReliabilityofUNIXU2
掘技术[J].计算机工程,2007,33(24):158~160,167
[10]RFC20832PNG(PortableNetworkGraphics)Specifi2
cationVersion
[11]http://www.CVE.mitre.org/cgi2bin/cvename.cgi?
name=CVE2200420599
[12]http://web.nvd.nist.gov/view/vuln/search?execu2
tion=els2