期刊文献+

一种基于SAT的C程序缓冲区溢出漏洞检测技术 被引量:2

SAT-based technique to detect buffer overflows in C source codes
原文传递
导出
摘要 缓冲区溢出是C程序中很多安全问题的根源。该文给出一种基于SAT的C语言缓冲区溢出检测方法。该方法利用源代码变换技术,在程序源码中加入缓冲区属性刻画语句,使用断言刻画缓冲区溢出属性,然后借助SAT工具对断言进行检查。采用该方法设计实现了一个原型工具,它以程序源代码作为输入,能够自动检测程序中包含的缓冲区溢出漏洞。使用该工具对1 164个公开的基准程序进行检测,结果表明:工具准确地定位出程序中的缓冲区溢出漏洞,误报0个,漏报率约2.08%。 Buffer overflows are the main source of security issues in C programs.This paper presents a SAT-based technique to identify buffer overflows in C source codes using a source-to-source transformation which adds some statements into the source code to model the buffer properties,with some asserts to describe the buffer overflows.Then,the asserts are checked by SAT tools.This technique was used to automatically identify buffer overflows in source codes in 1 164 code fragments from a publicly available benchmark.Tests show that the system accurately located buffer overflow vulnerabilities in these programs with zero false alarms and an omission rate of only 2.08%.
出处 《清华大学学报(自然科学版)》 EI CAS CSCD 北大核心 2009年第S2期2169-2175,共7页 Journal of Tsinghua University(Science and Technology)
基金 国家自然科学基金资助项目(60473057 90604007 60703075 90718017 980818021) 国家"八六三"高技术项目(2007AA012463) 教育部高等学校博士学科点专项科研基金(20070006055)
关键词 模型检验 缓冲区溢出 布尔可满足性 model checking buffer overflow Boolean satisfiability
  • 相关文献

参考文献16

  • 1Mukul R. Prasad,Armin Biere,Aarti Gupta.A survey of recent advances in SAT-based formal verification[J]. International Journal on Software Tools for Technology Transfer . 2005 (2)
  • 2Bodik R,Gupta R,Sarkar V.ABCD:Eli minatingarray-bounds checks on demand. ProgrammingLanguage Design and I mplementation(PLDI) . 2000
  • 3Condit J,Harren M,McPeak S,et al.CCured in the realworld. Programming Language Design andI mplementation(PLDI) . 2003
  • 4Dor N,Rodeh M,Sagiv S.CSSV:Towards a realistic toolfor statically detecting all buffer overflows in C. Programming Language Design and I mplementation(PLDI) . 2003
  • 5Chaki S,Hissam S.Certifying the Absence of BufferOverflows. CMU/SEI-2006-TN-030 . 2006
  • 6Ganapathy V,Jha S,Chandler D,et al.Buffer overrundetection usinglinear programming and static analysis. Computer and Communications Security(CCS) . 2003
  • 7Biere A,Clarke E,Rai mi R,et al.Verifiying safetyproperties of a power PC microprocessor using symbolicmodel checking without BDDs. Computer AidedVerification(CAV) . 1999
  • 8Necula G,McPeak S,Rahul S,et al.CIL:Intermediatelanguage and tools for analysis and transformation of CPrograms. Compilier Construction(CC) . 2002
  • 9Bryant R,Kroening D,Ouaknine J,et al.Decidingbit-vector arithmetic with abstraction. Tools andAlgorithms for the Construction and Analysis of Systems(TACAS) . 2007
  • 10Ku K,Hart T,Chechik M,et al.A buffer overflowbenchmark for software model checkers. AutomatedSoftware Engineering(ASE) . 2007

同被引文献20

  • 1吴世忠.信息安全漏洞分析回顾与展望[J].清华大学学报(自然科学版),2009(S2):2065-2072. 被引量:22
  • 2易锦,郭涛,黄永刚,张普含.基于语言等价关系化简Büchi自动机的算法[J].清华大学学报(自然科学版),2009(S2):2181-2185. 被引量:1
  • 3白哥乐,宫云战,杨朝红.基于源码分析的软件安全测试工具综述[C].第五届中国测试学术会议,2008.
  • 4Chess B,McGraw G.Static analysis for security[J].IEEE Security and Privacy,2004,2(6):76-79.
  • 5Viega J,Bloch J T,Kohno T,et al.Token-based scanning of source code for security problems[J].ACM Transactions on Information and System Security,2002,5 (3):238-261.
  • 6Zitser M,Lippmann R,Leek T.Testing static analysis tools using exploitable buffer overflows from open source code[C]//Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering.2004:97-106.
  • 7Dor N,Rodeh M,Sagiv M.CSSV:Towards a realistic tool for statically detecting all buffer overflows in C[C]//Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation.2003:155-167.
  • 8Henzinger T A,Jhala R,Majumdar R,et al.Software verification with Blast[C]//Proceedings of the 10th International Conference on Model Checking Software.2003:235-239.
  • 9ChessB,West J.安全编程代码静态分析[M].董启雄,韩平,程永敬,等译.北京:机械工业出版社,2008:22-25.
  • 10Clarke E,Kroening D,Sharygina N,et al.Predicate abstraction of ANSI-C programs using SAT[J].Formal Methods in System Design,2004,25(2-3):105-127.

引证文献2

二级引证文献28

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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