跳到主要内容
研究论文

基于一元二阶逻辑的路径和索引敏感字符串分析

出版:2013年10月22日出版历史
跳过抽象节

摘要

我们提出了一种新的技术,用于静态验证程序生成的字符串。验证是通过在一元二阶逻辑(M2L)中对程序进行编码来进行的。我们使用M2L来描述程序变量之间的约束,并抽象内置字符串操作。一旦我们用M2L对程序进行编码,M2L的定理证明器(如MONA)可以自动检查程序生成的字符串是否满足给定规范,如果不满足,则显示反例。使用这种方法,我们可以自然地对字符串之间的关系进行编码,也可以考虑程序使用索引操作字符串的情况。此外,我们的字符串分析是路径敏感的,因为它考虑了字符串和布尔比较以及正则表达式匹配的影响。

我们已经实现了字符串分析算法,并使用它通过自动检测和验证来增强Web应用程序的工业安全分析消毒杀菌剂-方法从不受信任的字符串中消除恶意模式,使这些字符串可以安全地用于安全敏感的操作。在我们分析的8个基准测试中,我们的字符串分析器发现了128种以前未知的消毒液,而之前的字符串分析检测到了71种消毒液。

工具书类

  1. Ayari,A.和Basin,D.2000。一元二阶逻辑的有界模型构造。计算机辅助验证国际会议记录(CAV'00)。谷歌学者谷歌学者数字图书馆数字图书馆
  2. Balzarotti,D.、Cova,M.、Felmetsger,V.、Jovanovic,N.、Kirda,E.、Kruegel,C.和Vigna,G.2008年。Saner:组合静态和动态分析以验证web应用程序中的清理。IEEE安全与隐私研讨会论文集。谷歌学者谷歌学者数字图书馆数字图书馆
  3. Bjørner,N.、Tillmann,N.和Voronkov,A.,2009年。串操作程序的路径可行性分析。第一届会议记录标准系统构建和分析工具和算法国际研讨会(TACAS'09)。谷歌学者谷歌学者数字图书馆数字图书馆
  4. Brumley,D.、Wang,H.、Jha,S.和Song,D.,2007年。使用最弱的前提条件创建漏洞签名。IEEE计算机安全基础研讨会论文集。谷歌学者谷歌学者数字图书馆数字图书馆
  5. Christensen,A.S.、Feldthaus,A.和Möller,A.,2009年。JSA——java字符串分析器。http://www.brics.dk/JSA。谷歌学者谷歌学者
  6. Christensen,A.S.、Möller,A.和Schwartzbach,M.I.,2003年。字符串表达式的精确分析。国际静态分析研讨会论文集(SAS’03)。谷歌学者谷歌学者数字图书馆数字图书馆
  7. 库索特P.和库索特R.,1995年。通过抽象解释进行形式语言、语法和基于集合约束的程序分析。在第7次会议记录中第个函数编程语言和计算机体系结构国际会议(FPCA’95)。谷歌学者谷歌学者数字图书馆数字图书馆
  8. Cytron,R.、Ferrante,J.、Rosen,B.K.、Wegman,M.N.和Zadeck,F.K.,1991年。高效计算静态单赋值表和控制依赖图。ACM事务处理。程序。语言系统。13, 4.谷歌学者谷歌学者数字图书馆数字图书馆
  9. Engelfriet,J.和Hoogeboom,H.J.,2001年。MSO可定义字符串转换和双向有限状态传感器。ACM事务处理。计算。逻辑2、2。谷歌学者谷歌学者数字图书馆数字图书馆
  10. Fu,X.和Li,C.-C.,2010年。用于检测web应用程序漏洞的字符串约束解算器。第22届会议记录软件工程和知识工程国际会议(SEKE’10)。谷歌学者谷歌学者
  11. Ganesh,V.、Kiezun,A.、Artzi,S.、Guo,P.J.、Hooimeijer,P.和Ernst,M.,2011年。HAMPI:用于测试、分析和漏洞检测的字符串解算器。第23届会议记录第个国际计算机辅助验证会议(CAV’11)。谷歌学者谷歌学者数字图书馆数字图书馆
  12. Geay,E.、Pistoia,M.、Tateishi,T.、Ryder,B.和Dolby,J.,2009年。模块化字符串敏感权限分析,具有需求驱动的精度。第31届国际软件工程会议(ICSE'09)论文集。谷歌学者谷歌学者数字图书馆数字图书馆
  13. Grove,D.和Chambers,C.2001。调用图构造算法的框架。ACM事务处理。程序。语言系统。23, 6.谷歌学者谷歌学者数字图书馆数字图书馆
  14. Grove,D.、Defouw,G.、Dean,J.和Chambers,C.1997年。面向对象语言中的调用图构造。12年会议记录第个ACM SIGPLAN面向对象编程、系统、语言和应用会议(OOPSLA’97)。谷歌学者谷歌学者数字图书馆数字图书馆
  15. Hammer,C.、Schaade,R.和Snelting,G.,2008年。java的静态路径条件。第三届会议记录第个ACM SIGPLAN编程语言和安全分析研讨会(PLAS'08)。谷歌学者谷歌学者数字图书馆数字图书馆
  16. Henriksen,J.G.、Jensen,J.L.、Jörgensen,M.E.、Klarlund,N.、Paige,R.、Rauhe,T.和Sandholm,A.,1995年。MONA:实践中的一元二阶逻辑。第一届会议记录标准系统构建和分析工具和算法国际研讨会(TACAS'95)。谷歌学者谷歌学者数字图书馆数字图书馆
  17. Hooimeijer,P.、Livshits,B.、Molnar,D.、Saxena,P.和Veanes,M.,2011年。使用bek快速准确地分析消毒剂。20年会议记录第个USENIX安全会议(SEC'11)。USENIX协会,加利福尼亚州伯克利,1-1。谷歌学者谷歌学者数字图书馆数字图书馆
  18. Hooimeijer,P.和Weimer,W.,2009年。正则语言子集约束的决策过程。编程语言设计与实现会议记录(PLDI’09)。谷歌学者谷歌学者数字图书馆数字图书馆
  19. IBM。2013.Rational appscan源版本。http://www.ibm.com/software/rational/products/appscan/source。谷歌学者谷歌学者
  20. Kay,M.和Kaplan,R.M.,1994年。语音规则系统的规则模型。计算。语言学家。20, 3.谷歌学者谷歌学者数字图书馆数字图书馆
  21. Kiezun,A.、Ganesh,V.、Guo,P.J.、Hooimeijer,P.和Ernst,M.D.2009年A。HAMPI:字符串约束的解算器。ACM国际测试与分析研讨会会议记录(ISSTA'09)。谷歌学者谷歌学者数字图书馆数字图书馆
  22. Kiezun,A.、Guo,P.J.、Jayaraman,K.和Ernst,M.D.,2009年b。自动创建sql注入和跨站点脚本攻击。http://dspace.mit.edu/bitstream/handle/1721.1/42836/mit-CSAIL-TR-2008-054.pdf?序列=1。谷歌学者谷歌学者
  23. Klarlund,N.和Möller,A.,2001年。MONA 1.4版用户手册。金砖四国。Notes系列NS-01-1。http://www.brics.dk/mona。谷歌学者谷歌学者
  24. Livshits,B.、Nori,A.V.、Rajamani,S.K.和Banerjee,A.,2009年。Merline:明确信息流问题的规范推理。编程语言设计与实现会议记录(PLDI’09)。谷歌学者谷歌学者数字图书馆数字图书馆
  25. Livshits,V.B.和Lam,M.S.,2005年。使用静态分析查找java应用程序中的安全漏洞。14年会议记录第个USENIX安全研讨会。谷歌学者谷歌学者数字图书馆数字图书馆
  26. Maier,P.2009年。决定向量和袋理论的扩展。10年会议记录第个验证、模型检验和抽象解释国际会议(VMCAI'09)。谷歌学者谷歌学者数字图书馆数字图书馆
  27. Minamide,Y.2005年。动态生成网页的静态近似。14年会议记录第个万维网国际会议(WWW'05)。谷歌学者谷歌学者数字图书馆数字图书馆
  28. 打开Web应用程序安全项目(OWASP)。2013http://www.owasp.org/index.php/Category:攻击谷歌学者谷歌学者
  29. Reps,T.1997。通过图形可达性进行程序分析。Inf.软件。Technol公司。40, 11--12, 701--726.谷歌学者谷歌学者
  30. Rosen,B.K.、Wegman,M.N.和Zadeck,F.K.,1988年。全局值数字和冗余计算。15年会议记录第个ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL'88)。谷歌学者谷歌学者数字图书馆数字图书馆
  31. Saxena,P.、Akhawe,D.、Hanna,S.、Mao,F.、McCamant,S.和Song,D.,2010年。javascript的符号执行框架。IEEE安全与隐私研讨会论文集。谷歌学者谷歌学者数字图书馆数字图书馆
  32. Shannon,D.、Ghosh,I.、Rajan,S.和Khurshid,S.,2009年。用于验证web应用程序的字符串的高效符号执行。第二届会议记录大型软件系统缺陷国际研讨会(Defects’09)。谷歌学者谷歌学者数字图书馆数字图书馆
  33. Snelting,G.1996年。结合切片和约束求解对测量软件进行验证。第三届会议记录第个国际静态分析研讨会。谷歌学者谷歌学者数字图书馆数字图书馆
  34. Tillmann,N.和Halleux,J.D.,2008年。Pex:.net的白盒测试生成。在第2次会议的议事程序中国际测试和证明会议(TAP'08)。谷歌学者谷歌学者数字图书馆数字图书馆
  35. Tripp,O.、Pistoia,M.、Fink,S.、Sridharan,M.和Weisman,O.,2009年。TAJ:对web应用程序进行有效的污点分析。《ACM SIGPLAN编程语言设计与实现会议论文集》(PLDI’09)。谷歌学者谷歌学者数字图书馆数字图书馆
  36. Veanes,M.、de Halleux,P.和Tillmann,N.,2010年。雷克斯:符号正则表达式浏览器。第三届会议记录第个国际软件测试、验证和确认会议(ICST'10)。IEEE计算机学会,加利福尼亚州洛斯阿拉米托斯,498-507。谷歌学者谷歌学者数字图书馆数字图书馆
  37. Veanes,M.、Hooimeijer,P.、Livshits,B.、Molnar,D.和Bjorner,N.,2012年。符号有限状态传感器:算法和应用。第39届会议记录第个ACM SIGPLAN-SIGACT编程语言原理年度研讨会(POPL'12)。ACM出版社,纽约,137-150。谷歌学者谷歌学者数字图书馆数字图书馆
  38. 瓦拉。T.J.2013年。Watson分析库。http://wala.sf.net/。谷歌学者谷歌学者
  39. Wang,X.、Zhang,L.、Xie,T.、Mei,H.和Sun,J.,2009年。定位需要转换常量字符串以实现软件国际化。在31年的诉讼中标准国际软件工程会议(ICSE’09)。谷歌学者谷歌学者数字图书馆数字图书馆
  40. Wassermann,G.和Su,Z.2007年。对web应用程序的注入漏洞进行可靠而精确的分析。编程语言设计与实现会议记录(PLDI’07)。谷歌学者谷歌学者数字图书馆数字图书馆
  41. Wassermann,G.、Yu,D.、Chander,A.、Dhurjati,D.、Inamura,H.和Su,Z.2008年。web应用程序的动态测试输入生成。在软件测试与分析国际研讨会(ISSTA'08)的会议记录中。谷歌学者谷歌学者数字图书馆数字图书馆
  42. Wegman,M.N.和Zadeck,F.K.,1991年。带条件分支的常量传播。ACM事务处理。程序。语言系统。13、2。谷歌学者谷歌学者数字图书馆数字图书馆
  43. Whaley,J.和Lam,M.S.,2004年。使用二进制决策图进行基于克隆的上下文敏感指针别名分析。编程语言设计与实现会议记录(PLDI’04)。第39卷。谷歌学者谷歌学者数字图书馆数字图书馆
  44. Yu,F.、Alkhalaf,M.和Bultan,T.,2009年。使用基于自动机的正向和反向符号分析为字符串操作程序生成漏洞签名。在IEEE/ACM自动化软件工程国际会议论文集(ASE’09)中。谷歌学者谷歌学者数字图书馆数字图书馆
  45. Yu,F.、Bultan,T.、Cova,M.和Ibarra,O.,2008年。符号字符串验证:基于自动机的方法。15年会议记录第个软件模型检查国际SPIN研讨会。谷歌学者谷歌学者数字图书馆数字图书馆
  46. Z3.2013年。Z3号机组。http://research.microsoft.com/projects/z3。谷歌学者谷歌学者

索引术语

  1. 基于一元二阶逻辑的路径和索引敏感字符串分析

              建议

              评论

              登录选项

              检查您是否可以通过登录凭据或您的机构访问本文。

              登录

              完全访问权限

              • 发布于

                封面图片ACM软件工程与方法汇刊
                软件工程及方法论学报 第22卷第4期
                测试、调试和错误处理、正式方法、生命周期关注点、演进和维护
                2013年10月
                387页
                国际标准编号:1049-331倍
                EISSN公司:1557-7392年
                内政部:10.1145/2522920
                期刊目录

                版权所有©2013 ACM

                如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

                出版商

                计算机协会

                美国纽约州纽约市

                出版历史

                • 出版:2013年10月22日
                • 认可的:2012年9月1日
                • 修订过的:2012年8月1日
                • 收到:2012年4月1日
                发布于托塞姆第22卷第4期

                权限

                请求有关此文章的权限。

                请求权限

                检查更新

                限定符

                • 研究论文
                • 研究
                • 推荐

              PDF格式

              以PDF文件查看或下载。

              PDF格式

              电子阅读器

              使用eReader联机查看。

              电子阅读器