Web应用漏洞报告理解及漏洞复现.pdf
《Web应用漏洞报告理解及漏洞复现.pdf》由会员分享,可在线阅读,更多相关《Web应用漏洞报告理解及漏洞复现.pdf(11页珍藏版)》请在咨信网上搜索。
1、Web 应用漏洞报告理解及漏洞复现李子东1,王微微1,尤枫1,杨羊2,赵瑞莲11(北京化工大学信息科学与技术学院,北京100029)2(浙江理工大学信息科学与工程学院,杭州310018)通信作者:赵瑞莲,E-mail:摘要:随着 Web 应用的功能日趋复杂,其安全问题不容乐观,Web 应用安全性测试成为软件测试领域的研究重点之一.漏洞报告旨在记录 Web 应用安全问题,辅助 Web 应用测试,提升其安全性与质量.然而,如何自动识别漏洞报告中的关键信息,复现漏洞,仍是当前的研究难点.为此,本文提出一种自动化的漏洞报告理解和漏洞复现方法,首先,依据漏洞报告的特点,归纳其语法依存模式,并结合依存句法
2、分析技术,解析漏洞描述,提取漏洞触发的关键信息.其次,不同于常规自然语言描述,Web 漏洞的攻击负载通常是非法字符串,大多以代码片段的形式存在,为此,本文针对攻击负载,设计提取规则,完善漏洞报告中攻击负载的提取.在此基础上,考虑漏洞报告与 Web 应用文本描述不同但语义相近,提出基于语义相似度的漏洞复现脚本自动生成方法,实现 Web 应用漏洞的自动复现.为验证本文方法的有效性,从漏洞收集平台 Exploit-db 的 300 余个 Web 应用项目中收集了 400 份漏洞报告,归纳出其语法依存模式;并针对 23 个开源 Web 应用涉及的 26 份真实漏洞报告进行漏洞复现实验,结果表明本文方法
3、可有效提取漏洞报告的关键信息,并据此生成可行测试脚本,复现漏洞,有效减少人工操作,提升漏洞复现效率.关键词:Web 应用测试;Web 应用漏洞报告分析;Web 应用漏洞复现;自然语言处理;测试脚本自动生成引用格式:李子东,王微微,尤枫,杨羊,赵瑞莲.Web 应用漏洞报告理解及漏洞复现.计算机系统应用,2023,32(11):6272.http:/www.c-s- Comprehension and Reproduction of Web Application VulnerabilityLIZi-Dong1,WANGWei-Wei1,YOUFeng1,YANGYang2,ZHAORui-Lia
4、n11(SchoolofInformationScienceandTechnology,BeijingUniversityofChemicalTechnology,Beijing100029,China)2(SchoolofInformationScienceandEngineering,ZhejiangSci-TechUniversity,Hangzhou310018,China)Abstract:AsWebapplicationsbecomeincreasinglycomplex,theirsecurityissueshappenfrequently.Webapplicationsecur
5、itytestinghasbecomeoneoftheresearchprioritiesinthefieldofsoftwaretesting.VulnerabilityreportsaimtodocumentWebapplicationsecurityissuesandassistWebapplicationtestingtoimproveitssecurityandquality.However,howtoautomaticallyidentifythekeyinformationinvulnerabilityreportsandreproducethevulnerabilityisst
6、illaresearchchallenge.Tothisend,thisstudyproposesanautomaticapproachtocomprehendvulnerabilityreportsandreproducethevulnerability.Firstly,basedonthecharacteristicsofvulnerabilityreports,thestudysummarizestheirgrammardependencypatternsandcombinesthemwithdependencysyntacticparsingtechniquestoparsevulne
7、rabilitydescriptionsandextractkeyinformationaboutvulnerabilitytriggers.Secondly,unlikeconventionalnaturallanguagedescriptions,thepayloadofWebvulnerabilityisusuallyanillegalstring,mostlyintheformofacodefragment.Forthisreason,thestudydesignsextractionrulesforthepayloadsolelytoimprovetheextractionofvul
8、nerabilityreports.Onthisbasis,consideringthatvulnerabilityreportsandWebapplicationtextdescriptionsaredifferentbutsemanticallysimilar,thestudyproposesa计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&Applications,2023,32(11):6272doi:10.15888/ki.csa.009293http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-
9、62661041基金项目:国家自然科学基金(62077003)收稿时间:2023-04-10;修改时间:2023-05-11;采用时间:2023-06-06;csa 在线出版时间:2023-09-15CNKI 网络首发时间:2023-09-1862专论综述SpecialIssuesemanticsimilarity-basedmethodtoachievetheautomaticreproductionofWebapplicationvulnerability.Toverifytheeffectivenessofthisstudy,400vulnerabilityreportsarecolle
10、ctedfrommorethan300WebapplicationprojectsinthevulnerabilitycollectionplatformExploit-db,andtheirgrammardependencypatternsaresummarized.Atotalof26realvulnerabilityreportsinvolving23open-sourceWebapplicationsareusedforvulnerabilityreproductionexperiments.Theresultsshowthattheproposedmethodcaneffective
11、lyextractkeyinformationfromvulnerabilityreportsandgeneratefeasibletestscriptstoreproducevulnerability,reducingmanualoperations,andimprovingtheefficiencyofvulnerabilityreproduction.Key words:Webapplicationtesting;reportanalysisofWebapplicationvulnerability;reproductionofWebapplicationvulnerability;na
12、turallanguageprocessing(NLP);automaticgenerationoftestscript随着网络的快速发展,Web 应用普及到人们日常生活中的方方面面,Web应用的安全性越发重要.据国家信息安全漏洞共享平台(CNVD)1统计,2022 年9 月份共收集信息安全漏洞 1854 个,其中Web应用安全漏洞占比高达 48%.如何提高 Web 应用的质量和安全性已成为学术界和工业界普遍关注的问题.漏洞报告是测试过程产生的用来描述漏洞相关信息的文本,其对漏洞定位与修复至关重要2,3.但由于漏洞报告是由自然语言编写,本质上是不精确不完整的4,如何识别并抽取出涉及漏洞触发的关
13、键信息是目前的研究难点;同时,Web应用业务逻辑较为复杂,涉及的页面及元素种类繁多5,导致漏洞复现更加困难.现有关于漏洞报告的研究大多通过简单的命名实体识别或关系抽取,分析漏洞报告中的结构化信息,如漏洞类型、软件名称等,没有涉及漏洞触发的相关信息,难以辅助开发人员对Web应用漏洞进行有效的修复.同时,由于漏洞报告存在高度非结构化的自然语言描述,简单的正则表达式技术难以解析出漏洞报告涉及的复杂逻辑.此外,有研究发现,现有的漏洞复现过程主要依赖于人工经验,并且要求漏洞复现人员在该领域有一定的专业知识,漏洞定位及修复成本较高.因此,研究一种Web应用漏洞报告的自动理解与漏洞复现技术,以提高漏洞修复效
14、率,提升 Web 应用软件的安全性,具有重要的科学研究意义和实际应用前景.然而,自动分析理解Web应用漏洞报告并自动复现其漏洞面临诸多挑战.一是漏洞报告通常由高度非结构化的自然语言描述,报告书写者可能在不同抽象层次上对漏洞触发步骤进行描述,描述的方式也不尽相同.因此,如何准确理解漏洞报告的自然语言描述,识别并抽取出与漏洞触发的关键信息是本文研究面临的一个挑战.二是漏洞报告的自然语言描述使得其表述的信息不够准确,而现代Web 涉及的页面元素种类繁杂.因此,如何依据漏洞报告中的漏洞触发步骤,识别每一步在Web应用中相应的页面元素,进而构建完整的Web应用漏洞复现脚本,是本文研究面临的又一挑战.因此
15、,本文提出一种自动化的漏洞报告理解与安全漏洞复现方法.具体而言,首先,针对高度非结构化的 Web应用漏洞报告,依据漏洞触发描述的特点,归纳其语法依存模式,并据此解析漏洞报告,提取漏洞触发的关键信息;其次,设计对应的攻击负载识别方法,准确提取攻击负载;基于漏洞触发关键信息,考虑漏洞报告与 Web 应用文本描述不同但语义相近,提出基于语义相似度的漏洞复现脚本自动生成方法,实现 Web应用漏洞的自动复现.为验证本文方法的有效性,选取23 个开源 Web 应用,并从漏洞收集平台 Exploit-db6中收集其涉及的 26 份真实漏洞报告,进行漏洞报告理解与漏洞复现实验.结果表明本文方法能有效分析漏洞报
16、告并提取其关键信息,并据此生成可行测试脚本,复现漏洞,大大减少人工操作,提升漏洞复现效率.1相关工作 1.1 漏洞报告分析现代Web应用在使用过程中用户会提交大量的漏洞报告,软件开发/测试人员可利用漏洞报告,识别与漏洞触发相关的关键信息,重现软件漏洞,进而分析漏洞产生的原因,最终修复漏洞7,8.显然,漏洞报告分析是上述工作的重中之重.目前,已有一些学者在漏洞报告分析方面取得了初步进展,例如,Feng 等人9从互联网上收集物联网漏洞报告,将漏洞报告中的信息检索问题建模为NLP中2023年第32卷第11期http:/www.c-s-计 算 机 系 统 应 用SpecialIssue专论综述63的命
17、名实体识别问题,利用关键字和正则匹配技术,识别漏洞报告中与物联网漏洞相关实体,如设备类型、供应商、产品名称和漏洞类型等,通过实体之间的依赖关系来分析确定物联网设备是否存在漏洞.Dong 等人8给出了一个自动化识别系统,利用基于深度学习的命名实体识别和关系抽取,从非结构化漏洞描述文本中,识别其易受攻击的软件名称和版本.上述研究只通过简单的命名实体识别或关系抽取,分析漏洞报告中的结构化信息,如漏洞类型、供应商、软件名称等,没有涉及漏洞触发的相关信息,难以辅助开发人员对Web应用漏洞进行有效的修复.再者,漏洞报告包含高度非结构化的自然语言描述,简单的正则表达式技术,难以解析出漏洞报告涉及的复杂逻辑.
18、此外,Mu 等人10对实际的安全漏洞报告进行了实证分析,以分析安全漏洞的可重现性,研究发现,现有的漏洞复现过程主要依赖于人工经验,并且要求漏洞复现人员在该领域有一定的技术背景.作者指出有必要引入更有效和自动化的方式从报告中收集常见漏洞触发的关键信息.另一方面,也有一些学者关注漏洞报告分类和漏洞报告质量,例如,Kudjo 等人7针对CVE和NVD的漏洞报告,结合两种分类算法TF-IGM和TF-IDF,提高漏洞报告分类的精确度.Guo 等人11针对由于漏洞报告提交者上报的信息不完整,导致漏洞报告存在一定程度的信息缺失等问题,通过细化漏洞本身的其他信息,设计机器学习方法,预测漏洞报告中缺失的漏洞类型
19、.但未见以漏洞重现为目标,从漏洞报告出发,对 Web应用漏洞报告进行自动分析理解的相关研究成果发表.现存研究已表明,漏洞报告中大多含有漏洞触发相关策略,若能自动获取漏洞触发步骤,必将提升漏洞修复效率12,13.1.2 基于漏洞报告的漏洞复现漏洞报告记录了报告提供者遇到的软件问题,开发和测试人员可通过查看漏洞报告,了解漏洞出现的相关操作,分析漏洞原因或复现漏洞,为漏洞定位和修复提供帮助.然而,人工复现漏洞严重依赖于开发人员的个人经验,而且漏洞复现过程可能耗时较多,尤其当有大量故障报告且故障报告涉及许多与漏洞触发步骤无关的描述信息时.为此,有研究人员提出从漏洞报告自动复现的思想.例如,Zhao 等
20、人14给出一种从Android应用程序的漏洞报告复现崩溃漏洞的方法,通过自然语言处理技术对漏洞报告文本进行分析,识别其漏洞复现所需的GUI组件和相关信息,利用此类信息在Android应用上进行动态搜索,生成测试脚本来复现Android应用程序的崩溃故障.Li 等人15给出一种从用户评论中复现Android应用程序错误的方法,通过对用户评论进行语法分析,提取与错误相关的信息词,利用与错误相关的信息词进行事件序列探索,生成能重现用户评论涉及错误的事件序列.Feng 等人16提出了一种轻量级的工具 GIFdroid,针对存在漏洞触发流程视频的Android 漏洞报告,采用图像处理技术从视频中提取关键
21、帧,将它们映射为 GUI 转换图中的状态,并生成这些状态的执行轨迹以触发错误,但针对 Web 应用的漏洞报告通常不包含此类文字信息以外的辅助信息.上述研究主要针对 Android 应用,根据漏洞报告对漏洞进行复现.Android 应用漏洞报告有多种信息可以使用,漏洞复现相对简单.而 Web 应用业务逻辑更为复杂,涉及的页面及元素种类繁多,漏洞类型更为多样,漏洞报告的自动分析理解与漏洞复现更加困难,目前主要靠人工分析,难以实现 Web 应用程序漏洞的快速复现与定位分析,因此漏洞修复效率不高.2Web 应用漏洞报告理解与漏洞复现漏洞报告中涉及漏洞触发的部分通常由自然语言书写,简单的正则表达式技术难
22、以解析出漏洞触发涉及的复杂逻辑.因此,需要收集大量的漏洞报告,总结归纳出漏洞触发信息的书写特征,再结合自然语言处理技术,依据其特征识别并提取出漏洞复现所需要的关键信息;此外,由于漏洞报告是人工书写的,漏洞触发步骤中涉及的操作对象常常与实际 Web 应用有所偏差,例如,Web 应用中的按钮“begin”可能会被人工记录为按钮“start”,传统的字符串匹配方法无法准确匹配漏洞报告与 Web 应用中对应的元素,但“begin”和“start”语义相近,因此,本文利用语义相似度匹配漏洞报告与Web 应用的对应元素,生成漏洞复现脚本,自动复现Web 应用漏洞.下面将详细介绍本文方法.2.1 整体概述W
23、eb 应用漏洞报告由自然语言书写的,其中涉及的漏洞触发步骤一般包含 4 部分关键信息:动作、动作对象、对象类型以及参数值,其中,动作信息是触发漏洞需要做出的行为,动作对象是行为作用的目标,对象类型是指目标的类型,参数值是指输入类动作中需计 算 机 系 统 应 用http:/www.c-s-2023年第32卷第11期64专论综述SpecialIssue要输入的值.Web 应用漏洞报告理解与漏洞复现的整体框架如图 1 所示.为获取漏洞触发步骤的关键信息,本文首先从 400 余份真实的漏洞报告中归纳出此类信息的语法依存模式;其次,基于 NLP 的漏洞报告分析模块依据语法依存模式,结合词法分析和依存语
24、法分析,提取触发操作的关键信息,此外,针对部分操作涉及的攻击负载,本文设计了对应的提取方法,当漏洞报告处理完成后,得到由有序的漏洞触发关键信息构成的漏洞触发步骤序列;最终,漏洞复现脚本自动构建模块利用语义相似度,识别与漏洞报告关联的 Web 应用页面及元素,构建漏洞复现测试脚本,实现 Web 应用漏洞的自动复现.400余份报告漏洞报告依存模式归纳语法依存模式基于NLP的漏洞报告分析攻击负载的识别与提取基于词法的动作信息识别与提取基于语法依存模式的动作对象 及参数信息识别与提取触发漏洞操作信息识别与提取漏洞触发步骤四元组序列漏洞复现测试脚本基于语义相似度的漏洞复现脚本自动生成图 1Web 应用漏
25、洞报告理解及漏洞复现在漏洞报告分析模块,动作信息一般是漏洞报告描述语句成分中最重要的根词,因此,先根据词法分析提取语句中的动词作为动作信息;然后,基于语法依存模式提取动作关联的对象、对象类型及携带的参数值;此外,不同于常规自然语言描述,Web 漏洞的攻击负载通常是代码片段,本文设计对应的攻击负载识别方法,完善漏洞报告中攻击负载的提取.2.2 语法依存模式归纳通过对真实 Web 应用漏洞报告进行分析研究,我们观察到漏洞报告的漏洞触发描述中,不同动作类型的句法结构一般是不同的,而相同的动作类型,其句法结构一般相同.例如:输入类操作的动作对象类型与动作根词的关系通常是介词宾语关系或间接名词关系,而点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 应用 漏洞 报告 理解 复现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。