上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2018年AI制导PDF文件生成技术的探索之旅.pdf

编号:95534 PDF 48页 2.53MB 下载积分:VIP专享
下载报告请您先登录!

2018年AI制导PDF文件生成技术的探索之旅.pdf

1、Fuzzing on train:AI制导PDF文件生成技术的探索之旅目录研究背景方案设计实验分析结论与展望研究背景高结构化样本与PDF文件AI&样本生成LEARN&FUZZ高结构化样本与PDF文件高结构化样本结构复杂,通过规定的语法、语义检查才能被各类解析工具执行语法检查语义检查语法规则语义规则PDF、XML、XSL、JavaScript、HTML等测试输入解析执行Foxit Reader、Adobe Reader、Chrome、Edge、Firefox等不通过通过通过不通过结束结束完成高结构化样本与PDF文件xref0 2570000000000 65535 f0000000017 000

2、00 n0000000212 00000 n0000000231 00000 n0000000251 00000 n0000000825 00000 n0000000876 00000 ntrailer/Info 19 0 R/Root 21 0 R/Size 257/IDstartxref320283%EOF%PDF-1.38 0 objendobjHeaderBodyCross-reference tableTrailerPDF文件所遵从的版本号间接对象地址索引表由一系列的PDF间接对象组成,如字体、页面、图像等,构成了PDF文件的具体内容(按大类可分为带stream不带stream的ob

3、j)指明根对象(Catalog),保存了加密等安全信息,并声明交叉引用表的地址Adobe Systems Incorporated.PDF Reference,6th edition,Nov.2006.http:/ reference 1-7.pdf1310页209 0 obj StreamendstreamendobjAI&样本生成AI制导基于变异的模糊测试基于变异的模糊测试AFL、VUzzer等等基于基于生成生成的的模糊模糊测试测试Peach、Spike、Jsfunfuzz等等样本合法性弱人工参与度高自动化程度高合法性强具有多样性AI&样本生成arXiv 18S&P 17arXiv 17a

4、rXiv 18arXiv 17ASE 17Q-LearningGANPCSGLSTMLSTM/BLSTM/seq2seqCNNLEARN&FUZZ数据集来源:Windows fuzzing team初始测试集:63,000 non-binary PDF objects out of 534 PDF files(seed minimization)实验数据集:1,000 PDF objects模型:LSTM with 2 hidden layers实验环境:4-core 64-bit Windows 10 VMs with 20GB of RAM训练时长:50 epoch 10 hours生成P

5、DF数量:1,000 per 10 epoch测试结果(Edge):Pass rate(70%-97%)、Instruction coverage、Bugs(1)方案设计研究方案数据集构建模型训练生成研究方案Pdf datasetBuild modelModelPdf objsExtract obj/streamNew objsAttach to pdf hostNew pdf filesPdf streamsPrefix stringLSTM,BLSTM,Attention,etc.Effectiveness measureCoverageBugs Structure,parameters1

6、.Dataset construction2.Training3.Generation4.TestingTestsuitSeed minimizationFuzzingInitial samplesTarget APPFoxit Reader,Adobe Reader,Mupdf,Chrome,Edge et al.Cut the textLoad modelpredictVectorizationTrainingCrawlerVectorizationFuzzingSave dictdictionary数据集构建(DATASET CONSTRUCTION)初始PDF样本集:(Testsuit

7、e+Fuzzing)S PDF Database/Mikails PDF databaseQualityLogics PDF 1.7 Application Test SuiteAdobe PDF test suitesGhent Working Group Test SuitesPDF cabinet of horrorsPdfium_tests 初始样本集最小集代码覆盖率20000+25137.996%obj总数:71,779stream总数:23,52132.77%是带stream的obj验证集测试集训练集Pdf datasetPdf objsExtract obj/streamPdf

8、streams1.Dataset constructionTestsuitSeed minimizationFuzzingInitial samplesCrawlerSave dictdictionary2,95613,76555,058obj分配语料字典OBJ字典0:n,1:,2:!,3:,4:#,5:$,6:%,7:&,8:,9:(,10:),11:*,12:+,13:,14:-,15:.,16:/,17:0,18:1,19:2,20:3,21:4,22:5,23:6,24:7,25:8,26:9,27:,28:;,29:,32:?,33:,34:A,35:B,36:C,37:D,38:E

9、,39:F,40:G,41:H,42:I,43:J,44:K,45:L,46:M,47:N,48:O,49:P,50:Q,51:R,52:S,53:T,54:U,55:V,56:W,57:X,58:Y,59:Z,60:,61:,62:,63:,64:_,65:,66:a,67:b,68:c,69:d,70:e,71:f,72:g,73:h,74:i,75:j,76:k,77:l,78:m,79:n,80:o,81:p,82:q,83:r,84:s,85:t,86:u,87:v,88:w,89:x,90:y,91:z,92:,93:|,94:,95:corpus length:11,913,81

10、7total chars:96模型训练(TRAINING)对OBJ进行文本切分,并转换成向量,然后训练模型,对每一轮的训练结果做离线存储Build modelModelPdf objsLSTM,BLSTM,Attention,etc.Structure,parameters2.TrainingCut the textVectorizationtraining文本切分(CUT THE TEXT)总字符数:11,913,817参数设置:maxlen=50,step=3切分后总序列数:3,803,562(Training:3,042,849,validation:760,713)obj/Type/P

11、age/Parent 33 0 R/Resources 70 0 R/MediaBox 0 0 1247 1984/Group/Contents 2 0 Rendobjsentencesnext_charsobjnn /Type/Pagen /Parent 33 0 Rn /Resources n physical GPU(device:0,name:TITAN Xp COLLECTORS EDITION,pci bus id:0000:02:00.0,compute capability:6.1)Epoch 1/6063232/3042849.-ETA:1:10:50-loss:3.6259

12、-acc:0.2304生成(GENERATION)选取PREFIX STRING,向量化,加载模型,预测生成OBJ,并由OBJ生成PDFModelnew objsAttach to pdf hostNew pdf filesPrefix stringStructure,parameters3.GenerationLoad modelpredictVectorization生成(GENERATION)OBJ生成PDF生成样本生成阶段的两个重要的进程池并行加载多个模型进行推断并行生成多批次的obj和PDF样本缩短实验周期,增强模型的可扩展性Pdf生成主进程Modelnew objsnew objs

13、new objsnew pdfsnew pdfsnew pdfsStructure,parametersModelModel进程池 obj生成主进程子进程1子进程2子进程n 进程池子进程1子进程2子进程n OBJ生成若生成完整OBJ,则加入列表中;若生成长度超过阈值,则回退、丢弃已生成的字符,重新从测试集中选择PREFIX生成max_gen_len=2000前缀字符串Prefix选取obj前缀字符串转换成向量预测Model加载模型加入到obj字符串中窗口向前移动一个字符采样是否生成完整obj否加入到obj列表中是是否超过限定长度是否删除已生成的obj字符串索引字典下一个字符new object

14、s测试集OBJ生成1.00.20.50.81.21.51.8概率分布差异性变小,生成文本随机性变强,趋向于多样性、随机的数据概率分布差异性变大,生成文本有序性变强,更接近真实值的数据temperaturetemperature采样函数PDF生成hostnew obj1new obj2new objnHeaderBodyCross-reference tableTrailerobjCross-reference tableTrailerobjCross-reference tableTrailerobjCross-reference tableTrailer new objHost pdf附加新

15、的obj到pdf文件末尾添加新的交叉引用表是否达到修改数量定位host文件trailer偏移添加新的trailer是否以增量更新(Incremental update)的方式把新生成的obj附加到host文件的末尾,实现对host文件中obj的更新和替换PDF生成宿主文件(HOST)来源:pdfium测试集大小:317 KBobj总数:257obj替换比例:1/10实验分析模型训练及样本生成PDF样本测试模型训练及样本生成实验环境模型训练结果分析OBJ样本生成结果分析PDF样本生成结果分析实验环境硬件环境开发环境前端后端Python 3.5Ubuntu-16.04.2-desktop-amd6

16、4TITAN Xp COLLECTORS EDITION X4E5-2683 v4 X2256G模型训练结果分析训练轮次:60zitZitsec:/zou/Longma/pdf_corpus/saved_models/2BLSTM_epochs60$lltotal 358568drwxrwxr-x 2 zit zit4096 7月 8 05:11./drwxrwxrwx 34 zit zit4096 8月 15 14:49./-rw-rw-r-1 zit zit 6116568 7月 5 12:16 2BLSTM_epoch01.h5-rw-rw-r-1 zit zit 6116568 7月

17、5 13:20 2BLSTM_epoch02.h5-rw-rw-r-1 zit zit 6116568 7月 5 14:24 2BLSTM_epoch03.h5-rw-rw-r-1 zit zit 6116568 7月 5 15:29 2BLSTM_epoch04.h5-rw-rw-r-1 zit zit 6116568 7月 5 16:33 2BLSTM_epoch05.h5-rw-rw-r-1 zit zit 6116568 7月 5 17:37 2BLSTM_epoch06.h5-rw-rw-r-1 zit zit 6116568 7月 5 18:41 2BLSTM_epoch07.h5

18、-rw-rw-r-1 zit zit 6116568 7月 5 19:46 2BLSTM_epoch08.h5-rw-rw-r-1 zit zit 6116568 7月 5 20:50 2BLSTM_epoch09.h5-rw-rw-r-1 zit zit 6116568 7月 5 21:54 2BLSTM_epoch10.h5-rw-rw-r-1 zit zit 6116568 7月 5 22:58 2BLSTM_epoch11.h5-rw-rw-r-1 zit zit 6116568 7月 6 00:02 2BLSTM_epoch12.h5-rw-rw-r-1 zit zit 611656

19、8 7月 6 01:06 2BLSTM_epoch13.h5-rw-rw-r-1 zit zit 6116568 7月 6 02:10 2BLSTM_epoch14.h5-rw-rw-r-1 zit zit 6116568 7月 6 03:15 2BLSTM_epoch15.h5-rw-rw-r-1 zit zit 6116568 7月 6 04:19 2BLSTM_epoch16.h5-rw-rw-r-1 zit zit 6116568 7月 6 05:23 2BLSTM_epoch17.h5-rw-rw-r-1 zit zit 6116568 7月 6 06:27 2BLSTM_epoch

20、18.h5-rw-rw-r-1 zit zit 6116568 7月 6 07:31 2BLSTM_epoch19.h5-rw-rw-r-1 zit zit 6116568 7月 6 08:36 2BLSTM_epoch20.h5-rw-rw-r-1 zit zit 6116568 7月 6 09:40 2BLSTM_epoch21.h5-模型模型参数训练时间训练时间模型文件模型文件大小(大小(M)2LSTM259,1681d 11h 0m 35s3.003LSTM390,7522d 1h 38m 49s4.512BLSTM505,9522d 16h 54m 57s5.83Attention1

21、,800,7863d 2h 49m 5s21.30ACC曲线LOSS曲线OBJ生成结果分析单进程生成10,000个obj共计210,000obj 时长:7小时单进程总时长:7*21=147小时单个文件大小:1.5MBzitZitsec:/zou/Longma/pdf_corpus/generated_objs/minset3/final_test_1wobj$lltotal 179956drwxrwxr-x 4 zit zit 20480 8月 17 11:31./drwxrwxr-x 15 zit zit4096 8月 15 17:23./-rw-rw-r-1 zit zit 731780

22、8月 16 01:42 2BLSTM_epoch10.h5_diversity0.2.txt-rw-rw-r-1 zit zit 1122762 8月 14 17:42 2BLSTM_epoch10.h5_diversity0.5.txt-rw-rw-r-1 zit zit 1508494 8月 16 10:03 2BLSTM_epoch10.h5_diversity0.8.txt-rw-rw-r-1 zit zit 1784072 8月 15 04:49 2BLSTM_epoch10.h5_diversity1.0.txt-rw-rw-r-1 zit zit 2209887 8月 16 21

23、:15 2BLSTM_epoch10.h5_diversity1.2.txt-rw-rw-r-1 zit zit 2462241 8月 15 13:19 2BLSTM_epoch10.h5_diversity1.5.txt-rw-rw-r-1 zit zit 2828212 8月 17 09:05 2BLSTM_epoch10.h5_diversity1.8.txt-rw-rw-r-1 zit zit 915555 8月 16 02:21 2BLSTM_epoch20.h5_diversity0.2.txt-rw-rw-r-1 zit zit 982013 8月 14 17:44 2BLSTM

24、_epoch20.h5_diversity0.5.txt-rw-rw-r-1 zit zit 1252198 8月 16 10:18 2BLSTM_epoch20.h5_diversity0.8.txt-rw-rw-r-1 zit zit 1229084 8月 14 23:16 2BLSTM_epoch20.h5_diversity1.0.txt-rw-rw-r-1 zit zit 1318517 8月 16 17:46 2BLSTM_epoch20.h5_diversity1.2.txt-rw-rw-r-1 zit zit 1802129 8月 15 06:04 2BLSTM_epoch20

25、.h5_diversity1.5.txt-rw-rw-r-1 zit zit 2138562 8月 17 04:30 2BLSTM_epoch20.h5_diversity1.8.txt-rw-rw-r-1 zit zit 693064 8月 15 23:23 2BLSTM_epoch30.h5_diversity0.2.txt-rw-rw-r-1 zit zit 1109692 8月 14 16:43 2BLSTM_epoch30.h5_diversity0.5.txt-rw-rw-r-1 zit zit 1441973 8月 16 08:38 2BLSTM_epoch30.h5_diver

26、sity0.8.txt-rw-rw-r-1 zit zit 1484294 8月 15 02:13 2BLSTM_epoch30.h5_diversity1.0.txt-rw-rw-r-1 zit zit 1477235 8月 16 16:46 2BLSTM_epoch30.h5_diversity1.2.txt-rw-rw-r-1 zit zit 1551167 8月 15 08:48 2BLSTM_epoch30.h5_diversity1.5.txtPDF生成结果分析单进程生成10,000个PDF 时长:10min单个大小:380KB1w个文件大小:3.7GB21个模型,共计21w 样本

27、,共77.7G-rw-rw-r-1 zit zit 339179 8月 13 09:43 9476.pdf-rw-rw-r-1 zit zit 338730 8月 13 09:43 9477.pdf-rw-rw-r-1 zit zit 338794 8月 13 09:43 9478.pdf-rw-rw-r-1 zit zit 335113 8月 13 09:43 9479.pdf-rw-rw-r-1 zit zit 339384 8月 13 09:43 9480.pdf-rw-rw-r-1 zit zit 339398 8月 13 09:43 9481.pdf-rw-rw-r-1 zit zi

28、t 335495 8月 13 09:43 9482.pdf-rw-rw-r-1 zit zit 343490 8月 13 09:43 9483.pdf-rw-rw-r-1 zit zit 336621 8月 13 09:43 9484.pdf-rw-rw-r-1 zit zit 358054 8月 13 09:43 9485.pdf-rw-rw-r-1 zit zit 345598 8月 13 09:43 9486.pdf-rw-rw-r-1 zit zit 342540 8月 13 09:43 9487.pdf-rw-rw-r-1 zit zit 342989 8月 13 09:43 948

29、8.pdf-rw-rw-r-1 zit zit 345923 8月 13 09:43 9489.pdf-rw-rw-r-1 zit zit 1221730 8月 13 09:43 9490.pdf-rw-rw-r-1 zit zit 355457 8月 13 09:43 9491.pdf-rw-rw-r-1 zit zit 413066 8月 13 09:43 9492.pdf-rw-rw-r-1 zit zit 353369 8月 13 09:43 9493.pdf-rw-rw-r-1 zit zit 337955 8月 13 09:43 9494.pdf-rw-rw-r-1 zit zit

30、 348164 8月 13 09:43 9495.pdf-rw-rw-r-1 zit zit 340569 8月 13 09:43 9496.pdf-rw-rw-r-1 zit zit 340363 8月 13 09:43 9497.pdf-rw-rw-r-1 zit zit 340621 8月 13 09:43 9498.pdf-rw-rw-r-1 zit zit 343950 8月 13 09:43 9499.pdf-rw-rw-r-1 zit zit 336692 8月 13 09:43 9500.pdf-rw-rw-r-1 zit zit 345394 8月 13 09:43 9501

31、.pdfPDF生成样本示例HOST生成样本1生成样本2PDF生成样本示例HOST生成样本3生成样本4PDF样本测试代码覆盖率测试漏洞挖掘测试测试(TESTING)代码覆盖率测试漏洞挖掘测试New pdf filesEffectiveness measureCoverageBugs 4.TestingTarget APPFoxit Reader,Adobe Reader,Mupdf,Chrome,Edge et al.Fuzzing代码覆盖率测试代码覆盖率是评估样本质量的较好的量化指标!代码覆盖率=SUM(程序执行代码)/程序总代码微软还采用了通过率作为评估参数之一,通过率仅能反映所生成样本是否

32、符合既定的格式规约,而代码覆盖率则能直接反映样本是否能探索到更多的路径或代码,对于漏洞挖掘具有较好的指示作用。j00ru,Project Zero,DragonSectorWHY MUPDF?静态链接,所有库all in one file 功能全,支持各种形式stream 轻量级,易插桩 几乎无bug,测试数据更准确 Open source,易分析采用MuPDF作为测试代码覆盖率的载体最小集后的样本数代码覆盖率25137.996%代码覆盖率测试PINBITMAP文件分析BITMAP文件样本MuPDF样本样本代码覆盖率PIN作为商业的轻量级插桩工具,具有较好的性能和稳定性表现。优化:基本块级插桩

33、CPUKill1bit 表示1 Byte,Zlib压缩插桩后:打开1个PDF文件需要5秒左右。*NOTES*:对于有些弹框需模拟点击,以使样本能充分测试。代码覆盖率测试PINAFL 基于PIN实现了AFL的WINDOWS版本运行了1天3小时20,000多次变异发现了327条新的路径,即产生了327个新的测试用例。代码覆盖率为:38.077%覆盖率计算监控模块(PIN)变异模块样本文件目标程序插桩是否产生新路径样本队列模块是取top变异放弃当前样本否未修改AFL的变异算法和调度算法,因此能较真实体现AFL的水平结果分析2LSTM3LSTM2BLSTMAttention0.238.10338.10

34、80.538.107 38.1331.038.09938.125 38.140 38.1221.538.08838.091 38.099 38.120采样值对代码覆盖率的影响轮次:60测试时长:13.89*16=222.24小时代码覆盖率最高提升0.3%,约20,000+指令37.953838.0538.138.1538.238.2538.338.350.20.511.5采样值采样值与与代码覆盖率代码覆盖率2LSTM3LSTM2BLSTMAttention数据集基础覆盖率:37.996%PinAFL覆盖率:38.077%,+0.081%Learn&Fuzz覆盖率:38.113%,+0.117%

35、结果分析训练轮次对代码覆盖率的影响模型:2BLSTM采样值:0.5测试时长:13.89*5=69.45小时轮次轮次代码覆盖率代码覆盖率1038.0642038.1083038.1234038.130506038.13338.0238.0438.0638.0838.138.1238.1438.060训练训练轮次轮次与与代码覆盖率代码覆盖率漏洞挖掘测试采用我们的方案生成的PDF文件,对Foxit Reader、Power PDF、Corel PDF、Cool PDF、Nitro PDF等软件进行了测试。采用集群漏洞分析系统作为测试平台,分别为每个测试对象分配了20台虚拟机,测

36、试时间为1天,测试样本数为:210,000结果分析软件名crash数量去重后漏洞类型powerPDF452028TaintedDataControlsWriteAddress、StackOverflow、TaintedDataControlsBranchSelection、ReadAVonControlFlow、TaintedDataControlsBranchSelection等corelPDF2356078WriteAV、ReadAV、TaintedDataControlsBranchSelection、DivideByZero等coolPDF4688TaintedDataReturned

37、FromFunction、TaintedDataControlsWriteAddress、ReadAVNearNull等Nitropdf Reader2565TaintedDataControlsBranchSelection、TaintedDataPassedToFunction等Foxit921026527TaintedDataControlsCodeFlow、ReadAV、DivideByZero、StackOverflow等Foxit91278318TaintedDataPassedToFunction、TaintedDataReturnedFromFunction、StackOver

38、flow等总数其中某个漏洞已经被判定为可利用!结论与展望结论展望结论1.本方案实现了一种基于AI制导的PDF文件生成技术,方案具有以下特性:支持Char-level的学习 支持LSTM、BLSTM、Attention机制网络模型 支持基于离线模型、字典和多采样值的obj生成(进程池)支持基于离线obj文件的PDF样本生成(进程池)2.对不同模型及不同参数进行了较严谨的测试,在本次测试中,高训练轮次、低采样值生成的样本具有更高的代码覆盖率,其中2BLSTM模型60轮采样值0.2的表现效果最佳;3.本方案可落地实现为一种新的样本变异策略,可单独生成样本用于漏洞挖掘,也可作为AFL等工具的前端,但还不能完全取代当前主流Fuzzer。展望1.支持更多的结构化样本格式的学习和生成,如XML、XSL、JavaScript、HTML、AS等2.训练二进制格式(PNG、MKV、ZIP等),看是否能生成较通用的模型。难点:校验和、二进制规律性不强3.把生成的样本交给AFL进行Fuzzing,看能否增强AFL本身的性能;4.单一模型与多模型组合比对5.交互方式训练模型:GAN谢 谢!

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2018年AI制导PDF文件生成技术的探索之旅.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部