软件安全实验_第1页
软件安全实验_第2页
软件安全实验_第3页
软件安全实验_第4页
软件安全实验_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件安全实验报告二零一九年使用cppcheck实验环境:Windows10一、使用静态漏洞挖掘工具cppcheck实验步骤:1、 CppCheck是一个C/C++代码缺陷静态检查工具。不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误。2、 Cppcheck的检查信息自动变量检查、数组的边界检查、class类检查、过期的函数,废弃函数调用检查、异常内存使用,释放检查、内存泄漏检查,主要是通过内存引用指针、操作系统资源释放检查,中断,文件描述符等、异常STL函数使用检查、代码格式错误,以及性能因素检查。3、 使用步骤3.1、直接使用在工具栏的“Analyze”中,可以选择要分析的文件目录,或者直接选择需要分析的文件。

3.2、结合VS使用在VisualStudio菜单栏〃工具〃一〃外部工具〃,点击〃添加〃,内容如下:

夕牌:L且菜单内容(N):X创建GUID(&G)措供查我《&K)割MAJ删除〔。)1Cppcheck上移〔5下晦酬)命令g:料R):初始目录[1〕:CppcheckD:\Cppcheck\cppcheck.exe-enable=all—template=w$i;SoluiicniDir)日解输出窗口口将输d按Unioockgs□1提示输入参教(P)刁退出时关期日境定取消睇(L)标题:Cppcheck命令:D:\ProgramFiles\Cppcheck\cppcheck.exe参数:--enable二all--template=vs$(SolutionDir)勾选〃使用输出窗口〃使用时(检查代码时),点击〃工具〃一〃Cppcheck〃即可,如下图所示:测试代码:int_tmain(intargc,_TCHAR*argv[]){char*buff=newchar[128];if(buff){delete[]buff;buff=NULL;}strcpy(buff,〃thisistestfordump〃);return0;}Cppcheck检测输出信息:显示输曰来源岱J:Cppcheck ▼寸揖岛事河CheckingC:VUzerel'i.K:±rLdyl'i.D已mktnp«taet'iteetketdafx.cpp...I./2fileschecked40%duneCheckingC:Weets‘瓦mndy'Desktop1'!.taVtpet.l口口...C:''i.Users,,i.K:±rLdy,,i.IIesktupVteEtl,i.teEtl,i.teEt.cpp(.19.):warning:Pozziblenullpuinterdereference:Luft2/2fileschecked1UU%donenofile(.0.):irLfoiniaticm:Cppcheckc:dririutfindalltheincliiiiefilesIjise一一check^curifigfordetails.)二、使用动态漏洞挖掘工具AFL实验环境:kaillinux原理:选取AFL对libtiff(Libtiff是一个用来读写标签图像文件格式的库)进行模糊测试,作为入门示例。一一测试目标libtiff。将libtiff的编译程序指定为AFL的编译器(afl-gcc,afl-g++)进行编译,这样AFL编译器会对源码进行打桩。最后通过afl-fuzz启动编译出来的libtiff程序,并指定输入文件夹与输出文件夹。AFL会读取输入文件,进行变异喂给应用程序,最后将crash等输出信息保存到输出文件夹。源码:while(go):req=get_request()process(req)AFL插入后代码:while(go)put_request(read(file))//AFLreq=get_request()process(req)notify_fuzzer()//AFL实验步骤:1、 AFL安装下载:wgethttp://lcamtuf.coredump.cx/afl.tgztarxfzafl.tgz解压:tarxfzafl.tgz进入文件夹:cdafl-1.88b安装:sudomakeinstall2、 编译libtiff下载wget/libtiff/tiff-3.8.2.tar.gz解压:tarzxvftiff-3.8.2.tar.gz加入文件夹:cdtiff-3.8.2指定编译程序为AFL的编译器:exportCC二afl-gcc-3.S.2#envjgrepCCCC=afl-qccroat^kali;-/tiff-3.S.2#env|grepCXXlootgkAj.i:/tiff-3.8.ZiJ|编译:./configure-disable-sharedmakecleanmake编译完成后会在tools文件夹下面生成可执行程序如bmp2tiffro(rt(gkali:IstoolsbmpZtiff昏Wtlff.cMakefile.inppm21:iff.oraw2tiff.□thumbnail.cbmp2tiff.cf.0Makefile.vcras2tiffrgb2ycbcrthumbnail.o■bmp2tiff.oqii/tiffpalZrqbras2tiff.crgb2ycbcr.ctiff2bwfax2psqifZtiff.cpal_2rqb,cras2tiff,orqb2ycbcr.otiff2bw.cfax2ps.c.opal2rqb.nrasterfile.hgqi2tiff.ctiff2bw.o■fax2ps.□MakefileppmZtiiiraiw2tiffsgisv.ctiff2pdf3、开始fuzzing建立输入输出文件夹:mkdirinputoutput将初始文件放入到输入文件夹中:cpbmp/full/images/*input:■■.flLiF名邹4学之WAFlW...[1SilentTmm-Pqw...Q住赛差|料学…■EntemetEKplarar...傥用WlnClbgl*取,- 部:遇田刖可口卜…b.F1-generatad^minimized,imagetestsets(partial)Theseverycoupacljsyntheticcoorp-DrawereEeneratedwithafl-血eeforsditicoftheimagefoormatssuppeirtedinirodemwincomronimsEcparsersandartasuperiorstartingpointformanualtestingortarsetsdfuzzingwork.Thetestcases.coarsrhitcountsforeverybranch』asculledn?ith泪-僦尽Therearcalso variantsthatdanotfadoriiFormatParsinglibraryInstriimEiitedtoalBrcwiEersfjrmdE1inkStatusJPEGttldjpt!All•:「li厂侦hereLargelydonr.心Mlibjpe?-turba1.3^1djpeg<11《lickhereLargelydoneCIF-15L:li::1gif2rgbL<11flickheruLargelydmeCIF#2InigeFlaN—6-8.9canver!MlulickhereLargelydone晡Lil-pngL6.16readpngAllheruLargelydoneMFImagellagL^k6,8.9convextAllrliiik.hei:已L:ixgBlydoneICOIniBEellaELck:6-S.3convertAll■sliekllETELargelydoneWebPlibAietpCl目.2dwebpChiron^■sliekIiweLargelydoneTIFFLibtiffCVS2014A2/2^tiffSigba1IE,SafarihwELargelydoneJPEGXRjxrlibLIJsrDeeAppJIE■sli亡khEtE:lit':!■.::开始fuzzing:afl-fuzz-iinput-ooutput/root/tiff-3.8.2/tools/bmp2tiff@@/dev/null(通过afl-fuzz启动应用程序,-i指定应用程序的输入,-o指定fuzzing结果的输出,/root/tiff-3.8.2/tools/bmp2tiff通过AFL编译生成的应用程序路径,/dev/null不输出错误信息到屏幕中)开发fuzzing后会进入这样一个界面americanfuzzylop1.88b(bmp2tiff)Lprocesstimingruntime : 0 days, 1 hrs, 10min,3 secLprocesstimingruntime : 0 days, 1 hrs, 10min,3 seclastnewpath : H days, 0 hrs, 1min,56 seclastuniqcrash : 0 days, 0 h「m, 2nnn?12 seclastuniqhang : 0 days, 0 hrs, 11min,11 seccycleprogressnowprocessing:127(31.20%)pathstimedout:O(0.00%)stageprogressnowtrying:arith32/8stageexecs:560/2541(22.04%)totalexecs:1.92Mexecspeed:1771/secfuzzingstrategyyields^―hitflips:41/29.4k,12729.4k,2/29.3kbyteflips:1/3675,1/2546,2/2512arithmetics:5/143k,lO/lQSk,8/73.8kknowniiits:0/9612,S/42.3k,21/76.3kdictionary:g□/□,0/12.2khavoc:249/1.35M,0/0

trim:35.82%/1595,29.64%■overallresults—

cyclesdone:0

totalpaths:407

uniqcrashes:63

uniqhangs:79mapcoveragemapdensity:1111(1.70%)

countcoverage:3.53bits/tuplefindingsindepthfavoredpaths:74(18.18fe)newedgeson:93(22.85%)totalcrashes:1330(63unique)totalhangs:7396(79unique).pathgeometry—levels■:3pending:381pendf"i56ownfinds:297imported•;n/avariable:0[cpu:421%]qiiuUuqiiuUuid;000032.9ig;06.arc;000003.ap:havoc.rep;16id:000033,sig:11.src:DOG633,ap:haYOC,rep:16id:如0034sig:ll.src:CO3035,叩:havoc,rep:8id:OQ0Q35,.sig:Q5.src:EWG35,ap:havoc,rep:32id:000096.5ig:06.3rc:000035.叩;h州oc.rep:8id:000037.sig:11.src:0OOCQ6,ap:havoc,rep:Sid:如0038』sigill.src:0OGS3瓦叩:havoc,rep:16id:000039,sig:ll.src:G&3Q39.叩:TLipLpas:25id:OOCO^O-sig:11.arc:000039.op:1Lip2,poa:25id:OGOOJl,sig:11.-src:OOQG3Q.«3p:ari+hlG,pos:21,yal:be:+15id:OOODi42,sig:11,src!COS039,ap:arithlG,pos:24^val:be:+9id:如004%sig:ll.src!CO3G39.ap:havoc,rep:16id:即ram』sig;11.arc:DOTi踏apihavoc.rep;Bid:G00M3sig:11,src:1203639,ap:havoc^rep:2id:OGODJ6,51g:llnsrc!CO3G39,ap:ha¥QC,rep:16id:如00亿gig:ll.src:GO3G39.ap:havoc,rep:16id:OQQOflB.sig:11.grc:000039.ap:havoc.rep:32id:BUODASlsig:11.src:DM039,ap:ha¥oc^rep:16id:0GO350,sig:llnsrc:GO3G39,ap:havQc^rep:Mid:OG0Q51,sigsll.src:GO3G39,cipihavoc,rep:16id;000052,sig;06,arc:DOGG39,ap:havoc..rep:15id:000053.3ig;ll.src;DOG039.op:havoc,rep;6id:0130354sig:11.src:0M039,叩:hm□匚/rep:16id:如0055』s;ig:lllisrc:GO3039,ap:havoc,rep:8id;000056,Bigiil.arc!DOTI汨乩ap;havoc..rep国id:000057.5ig:ll.src;DOGES乩op^lipl..po5;25id:0DCO58,sig:11.-src:DOGCBd,ap:arithlG,pos:24,val:be:-33id:如0059』sigill.src:000054)apihavoc.rep:32id:OQGO60,sig:ii.src:蜡海,<ip:1lipL,pos:25id:QQ0061.sig:11.9rc:EOJQ6?.ap:havoc.rep:8id:000062,sig:11.src:1-100123,ap:havoc,rep:4READHE,bctOutput中生成这些文件,一些crashes和hangs文件等raotigltali:-.-tifif-3.8.2#Isoutput/fu2z_bi1napfuz2er_s1ats plDt_datarMtflkall: Isoutput/crashes/id:OeOOGO.3jg:06.src:000003.DpihauDC.rep:8idOCOGGl,sig:06.&rc:00000%Dp:haMDC.rep:4id!OCOG02,sigioe.srt:odcods.叩:havoc^rep:8idiOGQQG1^.sigdl.src!QQEffiPLDp:flipl.po&i25id:000004,gig:ILsrc:000004/op:arithl6^poa:24.val:be:-9id:OCOGGE.,sig:11..&rc:001Z004..叩:ini32,pg:22/ya'L:be:+lfiid!OCOGC6.sig!1Lz£rt::ODCOD^lDp:havoc,rep:8id:QGOOG7.sigill.src!000004,Dp:hmvoc,rep:64id-OGOOQS.sig:ILsnc:000004-op:havoc,rep;8id:OCOG09,sig:11..s-rc:000004..叩:膈昨jrep:32id:O0OGLO.sig:llz&rc!00EO04「DpihauDC^rep:32id:OCOGll.sig:06..srt;ODCOD^..Dp;hiavoc,rep:16ld:OGOGiz,3ig:ii,5nc:000004,Dp:havoc,nep:32id:000013.sig:115rc:000004,.Dp:膈ndjrep:8id:OGOGL4.sig:1LZ&rc!OOEOOIDp:hauDCArep:16id:0GOBL5.sigill.SIX:OQGO34,Dp:havoc,rep:32ld:OGOGL6.sig:1Lsix;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论