基于编译技术与模型检测的缓冲区溢出漏洞检查方法研究.pdfVIP

基于编译技术与模型检测的缓冲区溢出漏洞检查方法研究.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于编译技术与模型检测的缓冲区溢出漏洞检查方法研究????李博洋王雷引言?钟心P图觳夤ぞ叻治???诒嘁爰际醯脑创?敫脑?计算机科学??????????本┖娇蘸教齑笱?砑?こ萄芯克?本┖娇蘸教齑笱Ъ扑慊?г?北京???????????????长期以来,?镅怨逃械陌踩?侍庖恢北蝗嗣?所诟病。单纯依靠测试技术,无法从根本上解决这一问题,因此出现了很多静态代码分析检查的方法。模型检测?????????是一种形式化的验证方法,其检查精度很高,近些年来在代码检查领域的发展取得了长足的进步。但是现有的模型检测工具由于无法自动地将缓冲区溢出漏洞抽象为程序的可达性模型,因此无法对该类漏洞进行检查。本文通过编译技术,从抽象语法树上获得信息,归纳代码中可能出现缓冲区溢出漏洞的几种模式,完成将这种漏洞转化为程序可达性问题的工作,再结合???型检测工具????迪侄愿美嗦┒吹木?在众多的模型检测工具中,本文选择其中开源的可以对??虢?屑觳榈墓ぞ連???媒?辛?分析。它可以通过用户在代码中插入???的方式来描述待检查的程序性质,但是它无法将缓冲区溢出漏洞以???的形式进行描述,因此不能完成对于这类问题的检查。为了采用在源代码中插入???这种方式对?语言中的缓冲区长度进行检查,本文设计了如图?所示的系统框架结构。其中的预处理模块就是以编译技术为基础的代码插装模块,在对输入源代码的分析过程中,它提取指针的长度信息,将其以变量的形式插入到源代码中并且完成自动添加???的功能,最终再通过后端的查错模块????赐瓿啥?代码安全漏洞的检测。本文通过改进??迪侄允淙朐创?氲拇?恚??通过分析源代码可以获得的信息,都在??某橄?语法树????????械玫搅颂逑帧U?样,通过遍历???涂梢匀范ㄔ谙嘤ξ恢眯枰M?摘要在?镅曰撼迩?绯雎┒淳蔡?觳榉椒ㄖ校?壳暗哪P图觳夤ぞ呶薹ㄌ崛〕雎┒茨P停?荒芏愿美啻砦?进行检查。提出了基于编译技术与模型检测相结合的缓冲区溢出漏洞检查方法。利用从??某橄笥锓ㄊ髦谢?得的信息,实现对这种安全漏洞的建模,再结合模型检测工具?赴汀,完成对该类漏洞的自动检查。弥补了关键词编译技术,模型检测,缓冲区溢出?????????瓹??????甶?确检查。??系统框架???荒苡τ糜诨撼迩?绯雎┒醇觳榈娜毕荩?氪?彻ぞ呦啾冉峁???贰?????珺????????,?????????甿????????,???·?究翁獾玫轿髅抛又泄?芯吭河氡焙饺砑??献鞯拇?氚踩?┒淳蔡?觳楣ぞ呦钅康淖手?@畈┭笏妒垦芯可??饕Q芯苛煊蛭1嘁?技术、代码安全以及操作系统?趺案苯淌冢?饕Q芯苛煊蛭1嘁爰际酢⒉僮飨低场⑷砑?こ蹋??????琒??????????瓵?????????????????甌?????????琣?????,???·????’?????.??????;????痶’ .????瑁??笛榻峁?成的插装动作,从而实现对于安全漏洞的描述。??对产生安全漏洞的各种模式构建行为规在对???斜槔??糖埃?钥赡茉斐砂踩??洞的不同模式,构建如表??镜男形9嬖颉?表?凶蟊咭涣斜硎究赡艹鱿职踩?┒吹哪J?和传播过程,右边一列表示应该采取的相应动作。其中文中没有涉及多维数组与多重指针,这样做也是出于在检查的复杂度与精确性上折中的考虑。根据以上方法,最终得到的插装后代码如例?所示:其中斜体字表示新插入的代码。通过这种方法,可以将指针的长度以及它们的变化体现在代码中,从而使???芄欢哉庵掷嘈偷陌踩?┒唇?行检查。以上算法已经在??平台上实现,并通过了由不同危险函数、传播路径所组成的测试用例???共包含??雎┒?。测试结果如表??尽?此外,在对实际系统????约?????的测试中,也发现了可能的缓冲区溢出漏洞?觯??中只有一个是误报,较传统的代码检查工具?址??匹配、类型检查等??蟊?蚀蟠蠼档停?杉?鞠低尘?备一定的实用价值。结论将编译技术与模型检测相结合,解决了模型检测工具不戗自动应用于代码安全漏洞检查的问题。相比于传统工具,具有低误报率的优点。下一步的工作可以进一步挖掘编译技术中可以利用的地方,比如常量折叠等等,充分利用这些结果将有效地减少后端模型检测的复杂度,从而提高整个系统的效率。参考文献则表?J叫形9嬖虮???代码插装结果?????;????????籦??????表?笛橥臣平峁?图??拖低晨蚣????????琍????????,?:?????±??;????????甌℃,????;??纁】?;?????瑂???????????,?????????琻?????????????畃?????????琾?????。??????猘?????;????;??????;???????.???????????????例??胧纠?漏洞总量?????所占比例确定漏洞数量确定不是漏洞的数量?蟊?可能存在漏

文档评论(0)

ouyangxiaoxin + 关注
实名认证
文档贡献者

一线鞋类设计师,喜欢整理收集文档。

1亿VIP精品文档

相关文档