期刊文献+

面向高可信软件的整数溢出错误的自动化测试 被引量:7

High-Trusted-Software-Oriented Automatic Testing for Integer Overflow Bugs
下载PDF
导出
摘要 面向高可信软件提出了一种二进制级高危整数溢出错误的全自动测试方法(dynamic automatic integer-overflow detection and testing,简称DAIDT).该方法无需任何源码甚至是符号表支持,即可对二进制应用程序进行全面测试,并自动发现高危整数溢出错误.在理论上形式化证明了该技术对高危整数溢出错误测试与发掘的无漏报性、零误报性与错误可重现特性.为了验证该方法的有效性,实现了IntHunter原型系统.IntHunter对3个最新版本的高可信应用程序(微软公司Windows 2003和2000 Server的WINS服务、百度公司的即时通讯软件BaiDu Hi)分别进行了24小时测试,共发现了4个高危整数溢出错误.其中3个错误可导致任意代码执行,其中两个由微软安全响应中心分配漏洞编号CVE-2009-1923,CVE-2009-1924,另一个由百度公司分配漏洞编号CVE-2008-6444. This paper presents an automatic testing method, DAIDT (dynamic automatic integer-overflow detection and testing), for finding integer overflow fatal bugs in binary code. DAIDT can thoroughly test the binary code and automatically find unknown integer overflow bugs without necessarily knowing their symbol tables. It is formally proved in this paper that DAIDT can theoretically detect all the high-risk integer overflow bugs with no false positives and no false negatives. In additional, any bugs find by DAIDT can be replayed. To demonstrate the effectiveness of this theory, IntHunter has been implemented. It has found 4 new high risk integer overflow bugs in the latest releases of three high-trusted applications (two Microsoft WINS services in Windows 2000 and 2003 Server, Baidu Hi Instant Messager) by testing each for 24 hours. Three of these bugs allow arbitrary code execution and have received confirmed vulnerabilities numbers, CVE-2009-1923, CVE-2009-1924 from Microsoft Security Response Center and CVE-2008-6444 from Baidu.
出处 《软件学报》 EI CSCD 北大核心 2010年第2期179-193,共15页 Journal of Software
基金 国家高技术研究发展计划(863)No.2007AA010301 国家重点基础研究发展计划(973)No.2005CB321801~~
关键词 整数溢出 高危整数溢出错误 动态自动测试用例生成 污点分析 符号化执行 integer overflow integer overflow vulnerability dynamic automatic test case generation taint analysis symbolic execution
  • 相关文献

参考文献1

二级参考文献39

  • 1[1]Standish Group. The CHAOS Report[R].Found at http://www. standishgroup. com. 1995.
  • 2[2]The Inquiry Board. Ariane 5 Flight 105 Inquiry Board Report [ R ].Paris: European Space Agency Press,July 1996.
  • 3[3]National Science,Technology Council (NSTC). America in the Age of Information: A Forum on Federal Information and Communications R&D[R]. Bethesda, Maryland, July 6 - 7,1995.
  • 4[4]NSTC.Research challenges in high confidence systems[A]. Proceedings of the Committee on Computing, Information, and Communications Workshop[ C ]. USA: http://www. hpcc. gov/pubs/hcs-Aug97/intro.html, August 6 - 7,1997.
  • 5[5]High Confidence Systems Working Group, NSTC. Setting an interagency high confidence systems (HCS) research agenda [ A ]. Proceedings of the Interagency High Confidence Systems Workshop [ C ]. Arlington,Virginia,25 March 1998.
  • 6[6]High Confidence Software and Systems Coordinating Group. High Confidence Software and Systems Research Needs[ R]. USA: http://www.ccic. gov/pubs/hcss-research. pdf, January 10,2001.
  • 7[7]President's Information Technology Advisory Committee. Information Technology Research:Investing in Our Future[ R] .Report to the President, USA: http://www. cs. rice. edu/~ ken/presentations/PITAC.pdf, February 24,1999.
  • 8[8]C A R Hoare. An axiomatic basis for computer programming[ J]. Communications of the ACM, 1969,12(10) :576 - 580.
  • 9[9]C A R Hoare. Communicating Sequential Processes[ M ]. Prentice-Hall International Series in Computing Science, Prentice-Hall International,Englewood Cliffs, N J London, 1985.
  • 10[10]Robin Milner. A Calculus of Communicating Systems[M]. USA:Springer, 1980.

共引文献114

同被引文献108

  • 1SGI. Linux test project [ EB/OL ]. California : Sourceforge, 2010 [ 2010-06-20 ]. http ://ltp. sourceforge, net/.
  • 2Intel. IA-32 Intel architecture software developer's manual: basic arebitecture[ M ]. California : Intel Press,2008:3-13.
  • 3Kevin Lawton. The cross platform IA-32 emulator[ EB/OL]. California: Sourceforge, 2010 [ 2010-06-20 ]. http ://soureeforge. net/bochs.
  • 4Tanenbaum A S. Modem operating systems [ M ]. 3rd ed. London : Pearson Education Press ,2009.
  • 5Sercord R C. Secure Coding in C and C+ +. USA: Addison- Wesley, 2006.
  • 6Chen Ping, Wang Yi, Xin Zhi, Mao Bing, Xie Li. BRICK: A binary tool for run-time detecting and locating integer- based vulnerability//Proceedings of the International Confer- ence on Availability, Reliability and Security. Fukuoka Insti- tute of Technology, Fukuoka, Japan, 2009:208-215.
  • 7Ceesay E N, Zhou J, Gertz M, Levitt K, Bishop M. Using type qualifiers to analyze untrusted integers and detecting security flaws in C programs//Proceedings of the Detection of Intrusions and Malware & Vulnerability Assessment. Berlin, Germany, 2006: 1-16.
  • 8Zhang X, Edwards A, Jaeger T. Using CQUAL for static analysis of authorization hook placement//Proceedings of the llth Usenix Security Symposium. San Francisco, USA, 2002:33-48.
  • 9Ashcraft K, Engler D. Using programmer-written compiler extensions to catch security holes//Proceedings of the IEEE Symposium on Security and Privacy. Washington, USA, 2002: 143-159.
  • 10Nethercote N, Seward J. Valgrind: A framework for heavy- weight dynamic binary instrumentation. ACM SIGPLAN Notices, 2007, 42(6): 89-100.

引证文献7

二级引证文献17

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部