×

静态检测使用正则表达式的程序中的DoS漏洞。 (英语) Zbl 1452.68060

Legay,Axel(ed.)等人,《用于系统构建和分析的工具和算法》。2017年第23届国际会议,作为欧洲软件理论与实践联合会议的一部分举行,2017年4月22日至29日,瑞典乌普萨拉,2017年ETAPS。会议记录。第二部分。柏林:斯普林格。选择。笔记计算。科学。10206年3月20日(2017年)。
摘要:在算法复杂度攻击中,恶意方利用算法的最坏情况行为导致拒绝服务。一种突出的算法复杂性攻击是正则表达式拒绝服务(ReDoS),攻击者通过提供精心编制的输入字符串来利用易受攻击的正则表达式,从而触发匹配算法的最坏情况行为。本文提出了一种自动发现程序中重做漏洞的技术。具体来说,我们的方法自动识别程序中易受攻击的正则表达式,并确定“邪恶”的输入字符串是否可以与易受攻击的正则表达式匹配。我们在一个名为Rexploiter的工具中实现了我们提出的方法,并在javaweb应用程序中发现了41个可利用的安全漏洞。
整个系列请参见[Zbl 1360.68016].

理学硕士:

68N30型 软件工程的数学方面(规范、验证、度量、需求等)
68Q45号 形式语言与自动机
PDF格式 BibTeX公司 XML 引用

参考文献:

[1] CVE-2013-2009.CVE.mitre.org/cgi-bin/cvename.cgi?名称=CVE-2013-2099
[2] CVE-2015-2525.CVE.mitre.org/cgi-bin/cvename.cgi?名称=CVE-2015-2526
[3] CVE-2015-2525.CVE.mitre.org/cgi-bin/cvename.cgi?名称=CVE-2009-3275
[4] CVE-2016-2515.CVE.mitre.org/cgi-bin/cvename.cgi?名称=CVE-2016-2515
[5] CVE-2016-2537.CVE.mitre.org/cgi-bin/cvename.cgi?名称=CVE-2016-2537
[6] Arzt,S.,Rasshofer,S.,Fritz,C.,Bodden,E.,Bartel,A.,Klein,J.,Traon,Y.L.,Octeau,D.,McDaniel,P.:Flowdroid:Android应用程序的精确上下文、流、场、对象敏感和生命周期感知的污染分析。摘自:PLDI,第259-269页。ACM(2014年)
[7] Ball,T.,Podelski,A.,Rajamani,S.K.:模型检查C程序的布尔和笛卡尔抽象。作者:Margaria,T.,Yi,W.(编辑)TACAS 2001,LNCS,第2031卷,第268-283页。斯普林格,海德堡(2001年)。doi:10.1007/3-540-45319-9_19·Zbl 0978.68540
[8] Bandhakavi,S.,Tiku,N.,Pittman,W.,King,S.T.,Madhusudan,P.,Winslett,M.:使用VEX检查浏览器扩展的安全漏洞。公社。ACM 54(9),91-99(2011年)
[9] Berglund,M.,Drewes,F.,van der Merwe,B.:分析实际正则表达式匹配中的灾难性回溯行为。在:AFL。EPTCS,第151卷,第109-123页(2014年)
[10] Chang,R.M.,Jiang,G.,Ivancic,F.,Sankaranarayanan,S.,Shmatikov,V.:coma输入:拒绝服务漏洞的静态检测。在:CSF,第186-199页。IEEE计算机协会(2009)
[11] Chaudhuri,A.,Foster,J.S.:RubyonRails web应用程序的符号安全分析。在:CCS,第585-594页。ACM(2010年)
[12] 《精确分析》,施瓦辛格,A.Mø。In:Cousot,R.(编辑)SAS 2003。LNCS,第2694卷,第1-18页。斯普林格,海德堡(2003年)。doi:10.1007/3-540-44898-5_1·Zbl 1067.68541
[13] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。In:POPL,第238-252页。ACM(1977年)
[14] Crosby,S.A.,Wallach,D.S.:通过算法复杂性攻击拒绝服务。在:USENIX安全研讨会。USENIX协会(2003)
[15] Dahse,J.,Holz,T.:web应用程序中二阶漏洞的静态检测。在:USENIX安全研讨会,第989-1003页。USENIX协会(2014)
[16] Huang,H.,Zhu,S.,Chen,K.,Liu,P.:从Android系统服务冻结到系统服务器关闭:你所需要的只是应用程序中的一个循环。在:CCS,第1236-1247页。ACM(2015年)
[17] Kiezun,A.,Guo,P.J.,Jayaraman,K.,Ernst,M.D.:自动创建SQL注入和跨站点脚本攻击。在:ICSE,第199-209页。IEEE(2009)
[18] Kirrage,J.,Rathnayake,A.,Thielecke,H.:正则表达式拒绝服务攻击的静态分析。在:Lopez,J.,Huang,X.,Sandhu,R.(编辑)NSS 2013.LNCS,第7873卷,第135-148页。斯普林格,海德堡(2013)。doi:10.1007/978-3-642-38631-2_11
[19] Livshits,V.B.,Lam,M.S.:通过静态分析发现Java应用程序中的安全漏洞。在:USENIX安全研讨会。USENIX协会(2005)
[20] Martin,M.C.,Livshits,V.B.,Lam,M.S.:使用程序查询语言PQL查找应用程序错误和安全缺陷。在:OOPSLA,第365-383页。ACM(2005)
[21] Olivo,O.,Dillig,I.,Lin,C.:检测和利用web应用程序中的二阶拒绝服务漏洞。In:CCS,第616-628页。ACM(2015年)
[22] Rathnayake,A.,Thielecke,H.:通过子结构逻辑对正则表达式指数运行时的静态分析。CoRR abs/1405.7058(2014)
[23] Su,Z.,Wassermann,G.:web应用程序中命令注入攻击的本质。摘自:POPL,第372-382页。ACM(2006年)·Zbl 1369.68158
[24] Sugiyama,S.,Minamide,Y.:基于回溯的正则表达式匹配的时间线性检验。IPSJ在线交易。782-92(2014年)
[25] 汤普森,K.:编程技术:正则表达式搜索算法。公社。ACM 11(6),419-422(1968年)·Zbl 0164.46205
[26] Tripp,O.,Pistoia,M.,Fink,S.J.,Sridharan,M.,Weisman,O.:泰姬陵:web应用程序的有效污染分析。摘自:PLDI,第87-97页。ACM(2009年)
[27] Wassermann,G.,Su,Z.:对web应用程序的注入漏洞进行合理而精确的分析。摘自:PLDI,第32-41页。ACM(2007年)
[28] Wassermann,G.,Su,Z.:跨站点脚本漏洞的静态检测。In:ICSE,第171-180页。ACM(2008年)
[29] Wassermann,G.,Yu,D.,Chander,A.,Dhurjati,D.,Inamura,H.,Su,Z.:web应用程序的动态测试输入生成。In:ISSTA,第249-260页。ACM(2008年)
[30] Weideman,N.,Merwe,B.,Berglund,M.,Watson,B.:利用NFA的模糊性分析回溯正则表达式匹配器的匹配时间行为。在:韩,Y.-S。,Salomaa,K.(编辑)CIAA 2016。LNCS,第9705卷,第322-334页。斯普林格,查姆(2016)。doi:10.1007/978-3-319-40946-7_27·Zbl 1475.68169
[31] Wüstholz,V.,Olivo,O.,Heule,M.J.H.,Dillig,I.:使用正则表达式的程序中DoS漏洞的静态检测(扩展版)。CoRR abs/1701.04045(2017)
[32] Xie,Y.,Aiken,A.:脚本语言中安全漏洞的静态检测。在:USENIX安全研讨会。USENIX协会(2006)
[33] Yu,F.,Alkhalaf,M.,Bultan,T.:陌生人:一个基于自动机的PHP字符串分析工具。在:Esparza,J.,Majumdar,R.(编辑)TACAS 2010.LNCS,第6015卷,第154-157页。海德堡斯普林格(2010)。doi:10.1007/978-3-642-12002-2_13
[34] Yu,F.,Alkhalaf,M.,Bultan,T.,Ibarra,O.H.:用于漏洞检测的基于自动机的符号字符串分析。FMSD 44(1),44-70(2014)·Zbl 1291.68272
[35] 于,F。
此参考列表基于出版商或数字数学图书馆提供的信息。它的项被试探性地匹配到zbMATH标识符,并且可能包含数据转换错误。它试图尽可能准确地反映原始论文中列出的参考文献,而不要求匹配的完整性或精确性。