×

动态语言字符串分析的完整性。 (英语) Zbl 1518.68032号

摘要:在抽象解释中,完整性确保了分析不会丢失有关利益属性的信息。特别是,对于JavaScript这样的动态语言,字符串分析的完整性是一个关键的安全问题,因为管理不当的字符串操作代码很容易导致严重的安全缺陷。在本文中,我们提供了一种系统化和建设性的方法来生成动态语言的字符串域的补全,并将其应用于现有字符串抽象的精化。我们还提供了一个有效的程序来测量在将分析提升到完整域时获得的精度改进。

MSC公司:

68甲15 编程语言理论
68瓦32 字符串上的算法
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿卜杜拉,P.A。;阿提格,M.F。;陈,Y。;霍利克,L。;Rezine,A。;吕默,P。;Stenman,J.,Norn:字符串约束的SMT求解器,(计算机辅助验证-第27届国际会议。计算机辅助验证-27届国际会议,2015年7月18日至24日,加利福尼亚州旧金山,美国),462-469
[2] 阿马迪尼,R。;恒河,G。;Gauthier,F。;约旦,A。;Schachte,P。;Söndergaard,H。;Stuckey,P.J。;Zhang,C.,字符串分析参考抽象域和应用,Fundam。通知。,158, 4, 297-326 (2018) ·Zbl 1386.68031号
[3] 阿马迪尼,R。;恒河,G。;Stuckey,P.J。;Tack,G.,《字符串约束求解的一种新方法》,(约束编程的原则和实践——第23届国际会议。约束编程的原理和实践——2017年国际会议,CP 2017,澳大利亚维多利亚州墨尔本,2017年8月28日至9月1日,会议记录(2017)),3-20
[4] 阿马迪尼,R。;约旦,A。;恒河,G。;Gauthier,F。;Schachte,P。;Söndergaard,H。;Stuckey,P.J。;Zhang,C.,结合字符串抽象域进行JavaScript分析:评估, (系统构建和分析的工具和算法——第23届国际会议,2017年,作为欧洲软件理论和实践联合会议的一部分举行。系统构建与分析的工具与算法——第二十三届国际会议(2017年,TACAS,作为欧洲联合会的一部分召开)软件理论与实践ces,ETAPS 2017,乌普萨拉,瑞典,2017年4月22日至29日,论文集,第一部分(2017),41-57
[5] 阿尔塞里,V。;Maffeis,S.,《打字杂耍的抽象域》,电子。注释Theor。计算。科学。,331, 41-55 (2017) ·Zbl 1412.68033号
[6] 阿尔塞里,V。;Mastroeni,I.,《字符串操作语言的静态程序分析》,(第七届验证和程序转换国际研讨会论文集),VPT@编程2019年,意大利热那亚,2019年4月2日(2019)),19-33
[7] 阿尔塞里,V。;奥利亚罗,M。;科尔特斯,A。;Mastroeni,I.,用于JavaScript程序字符串分析的抽象域的完整性,(计算的理论方面——2019年ICTAC第16次国际学术讨论会。计算的理论部分——2019-第16次世界学术讨论会,突尼斯哈马马特,2019年10月31日至11月4日,论文集(2019)),255-272·Zbl 07142680号
[8] 布尔坦,T。;Yu,F。;Alkhalaf,M。;Aydin,A.,软件验证与安全的字符串分析(2017),施普林格
[9] 卡索,I。;莫拉莱斯,J.F。;洛佩斯·加西亚,P。;Giacobazzi,R。;Hermenegildo,M.V.,《逻辑程序中计算抽象距离》,(Gabbrielli,M.,《基于逻辑的程序合成与转换——第29届国际研讨会》。基于逻辑的编程合成与转换,第29届世界研讨会,2019年10月8日至10日,葡萄牙波尔图,2019 LOPSTR 2019。基于逻辑的程序综合与转换——第29届国际研讨会。基于逻辑的程序合成与转换——第29届国际研讨会,2019年LOPSTR,葡萄牙波尔图,2019,10月8日至10日,计算机科学讲义,第12042卷(2019),Springer),57-72,修订论文集·Zbl 1502.68060号
[10] Chen,L。;米内,A。;Cousot,P.,声音浮点多面体抽象域,(编程语言与系统,第六届亚洲研讨会。编程语言与系统,第六届亚洲研讨会,APLAS 2008,印度班加罗尔,2008年12月9日至11日。会议记录(2008年),3-18
[11] Christensen,A.S。;莫勒,A。;Schwartzbach,M.I.,字符串表达式的精确分析,(静态分析,第十届国际研讨会。静态分析,2003年第十届SAS国际研讨会,2003年6月11日至13日,美国加利福尼亚州圣地亚哥,会议记录(2003)),1-18·Zbl 1067.68541号
[12] 克拉里索,R。;Cortadella,J.,八面体抽象域,科学。计算。程序。,64, 1, 115-139 (2007) ·Zbl 1171.68540号
[13] 科尔特斯,A。;Filé,G。;Winsborough,W.H.,《抽象解释的比较》,(《自动机,语言与编程》,第19届国际学术讨论会。《自动机》,《语言与程序设计》,第十九届国际学术会议,ICALP92,奥地利维也纳,1992年7月13日至17日,会议记录(1992)),521-532·Zbl 1425.68066号
[14] 科尔特斯,A。;Filé,G。;Winsborough,W.H.,抽象解释的商,Theor。计算。科学。,202, 1-2, 163-192 (1998) ·Zbl 0902.68030号
[15] 科尔特斯,A。;Olliaro,M.,M字符串分割:C程序中字符串分析的精炼抽象域,(2018年软件工程理论方面国际研讨会,2018年软件工程学理论方面国际会议,2018年8月29日至31日,中国广州,2018),1-8
[16] 科斯坦蒂尼,G。;费拉拉,P。;Cortesi,A.,字符串值静态分析的一组抽象域,Softw。实际。有效期:45、2、245-287(2015年)
[17] 库索特,P。;Cousot,R.,抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型,(第四届美国计算机学会编程语言原理研讨会会议记录。第四届ACM编程语言原理会议记录,1977年1月,美国加利福尼亚州洛杉矶(1977)),238-252
[18] 库索特,P。;库索特,R.,《程序分析框架的系统设计》,(第六届美国计算机学会编程语言原理研讨会会议记录,第六届全美计算机学会编程编程语言原理会议记录,美国德克萨斯州圣安东尼奥,1979年1月(1979)),269-282
[19] 库索特,P。;Halbwachs,N.,程序变量间线性约束的自动发现,(第五届美国计算机学会编程语言原理研讨会会议记录,第五届全美计算机学会编程编程语言原理会议记录,美国亚利桑那州图森市,1978年1月),84-96
[20] 费拉雷蒂,D。;Maffeis,S.,PHP的可执行形式语义,(ECOOP 2014-面向对象编程-第28届欧洲会议。ECOOP 2014-面向对象程序设计-第28次欧洲会议,瑞典乌普萨拉,2014年7月28日至8月1日。会议记录(2014),567-592
[21] Giacobazzi,R。;Mastroeni,I.,《通过抽象解释转换抽象解释》,(Alpunte,M.;Vidal,G.,《静态分析》,第15届国际研讨会。静态分析,第15次国际研讨会,2008年7月16日至18日,西班牙巴伦西亚,SAS 2008。诉讼程序。静态分析,第15届国际研讨会。静态分析,第15届国际研讨会,2008年7月16日至18日,西班牙巴伦西亚,SAS 2008。计算机科学论文集,第5079卷(2008),Springer),1-17·Zbl 1149.68351号
[22] Giacobazzi,R。;Mastroeni,I.,使抽象模型完整,数学。结构。计算。科学。,26, 4, 658-701 (2016) ·Zbl 1361.68065号
[23] Giacobazzi,R。;Quintarelli,E.,《抽象模型选择中的不完整性、反例和改进》, (Cousot,P.,《静态分析》,第八届国际研讨会。静态分析,第八次国际研讨会,SAS 2001,法国巴黎,2001年7月16日至18日,《论文集》。《静态分析,第一届国际研讨会》。《静态分析》,SAS 2001,巴黎,法国,2001年七月16日至十八日,《计算机科学论文集》,第卷。2126(2001),施普林格),356-373·Zbl 1005.68099号
[24] Giacobazzi,R。;Ranzato,F。;Scozzari,F.,《完成抽象解释》,J.ACM,47,2,361-416(2000)·Zbl 1133.68370号
[25] Granger,P.,算术同余的静态分析,国际计算机杂志。数学。,30, 165-190 (1989) ·兹比尔0679.68022
[26] Granger,P.,程序变量间线性同余等式的静态分析,(TAPSOFT’91:软件开发理论与实践国际联合会议论文集。TAPSOFT’91:软件开发理论与实践国际联合会议论文集。TAPSOFT’91:软件开发理论与实践国际联席会议论文集,英国布莱顿,1991年4月8日至12日,代数与程序设计中的树学术讨论会(CAAP’91),第1卷(1991),169-192·Zbl 0967.68509号
[27] Jensen,S.H。;莫勒,A。;Thiemann,P.,JavaScript的类型分析,(静态分析,第16届国际研讨会。会议记录(2009),238-255·Zbl 1169.68005号
[28] 卡西亚普,V。;杜威,K。;Kuefner,E.A。;Wagner,J。;吉本斯,K。;Sarracino,J。;维德曼,B。;Hardekopf,B.,JSAI:JavaScript的静态分析平台,(第22届ACM SIGSOFT国际软件工程基础研讨会论文集。第22届ASM SIGSOFF国际软件工程理论研讨会论文集,(FSE-22),中国香港,2014年11月16-22日),121-132
[29] Kim,S。;钦·W。;Park,J。;Kim,J。;Ryu,S.,推断字符串值的语法摘要,(《编程语言和系统-第十二届亚洲研讨会》,《编程语言与系统-第12届亚洲研讨会,2014年11月17日至19日,新加坡APLAS,2014年,会议记录(2014)》),372-391·Zbl 1453.68049号
[30] Kneuss,E。;苏特,P。;Kuncak,V.,Phantm:类型不匹配的PHP分析器,(第18届ACM SIGSOFT国际软件工程基础研讨会论文集。第18届美国计算机学会SIGSOFT2010年软件工程基础国际研讨会论文集,美国新墨西哥州圣菲,2010年11月7日至11日(2010)),373-374
[31] Lee,H。;韩国元。;Jin,J。;Cho,J。;Ryu,S.,SAFE:ECMAScript可扩展分析框架的正式规范和实现(FOOL’12(2012))
[32] Liang,T。;雷诺兹,A。;北齐斯卡里泽。;Tinelli,C。;巴雷特,C.W。;Deters,M.,《字符串约束的高效SMT求解器》,《形式方法系统》。设计。,48, 3, 206-234 (2016) ·Zbl 1404.68135号
[33] Logozzo,F.,面向抽象解释的定量评估,(软件定量分析研讨会(2009)),微软
[34] Madsen,M。;Andreasen,E.,动态字段访问的字符串分析,(编译器建设——第23届国际会议,2014年CC,作为欧洲软件理论与实践联合会议的一部分举行。编译器建设——2014年CC第23届世界会议,作为欧洲联合会议软件理论与应用的一部分,2014年ETAPS,2014年4月5日至13日,法国格勒诺布尔。会议记录(2014),197-217
[35] Maffeis,S。;米切尔,J.C。;Taly,A.,《JavaScript的操作语义》(Programming Languages and Systems,第六届亚洲研讨会),《编程语言与系统》,第六次亚洲研讨会,2008年12月9日至11日,印度班加罗尔。诉讼(2008)),307-325
[36] Minamide,Y.,动态生成网页的静态近似,(第十四届万维网国际会议论文集。第十四届国际万维网会议论文集,2005年5月10日至14日,日本千叶(2005)),432-441
[37] Miné,A.,八角形抽象域,High-订购符号。计算。,2006年1月19日,31-100·Zbl 1105.68069号
[38] Oucheikh,R。;贝拉达,I。;Hichami,O.E.,《4-八面体抽象域》,(网络系统-第四届国际会议。网络系统-2016年第四次国际会议,2016年5月18日至20日,摩洛哥马拉喀什(2016)),311-317,修订论文集
[39] 帕克,C。;我,H。;Ryu,S.,使用正则表达式域对jQuery进行精确和可扩展的静态分析,(第12届动态语言研讨会论文集。第12届动态语言研讨会论文集,DLS 2016,荷兰阿姆斯特丹,2016年11月1日),25-36
[40] Pierro,A.D。;Wiklicky,H.,《测量抽象解释的精确度》,(基于逻辑的程序合成与转换,第十届国际研讨会。基于逻辑的编程合成与转换第十届世界研讨会,2000年7月24日至28日,英国伦敦,2000年(2000)),147-164,论文选·Zbl 1018.68505号
[41] 医学博士Preda。;Giacobazzi,R。;Mastroeni,I.,近似转导的完整性, (Rival,X.,静态分析第23届国际研讨会。静态分析第二十三届国际研讨会,2016年9月8日至10日,英国爱丁堡,SAS 2016,论文集。静态分析,第23届世界研讨会。静态研究第23届国际研讨会,SAS 2016《科学》,第9837卷(2016),施普林格出版社,126-146·Zbl 1394.68208号
[42] Saxena,P。;Akhawe博士。;Hanna,S。;毛,F。;McCamant,S。;Song,D.,JavaScript的符号执行框架,(第31届IEEE安全与隐私研讨会,第31届安全与隐私IEEE研讨会,2010年5月16日至19日,美国加利福尼亚州贝莱利/奥克兰,2010年),513-528
[43] 西蒙,A。;金·A。;Howe,J.M.,作为抽象域的每一线性不等式的两个变量,(基于逻辑的程序合成和转换,第12届国际研讨会。基于逻辑的编程合成和转化,第12期国际研讨会,2002年LOPSTR,2002年9月17日至20日,西班牙马德里(2002)),71-89,修订论文集·Zbl 1278.68072号
[44] Sotin,P.,量化数字抽象域的精度(2010),研究报告
[45] 韦恩斯,M。;de Halleux,P。;Tillmann,N.,Rex:符号正则表达式探索者,(第三届软件测试、验证和确认国际会议。第三届国际软件测试、检验和确认会议,2010年4月7日至9日,法国巴黎,2010年(2010)),498-507
[46] Ward,M.,格的闭包算子,Ann.Math。,43, 2, 191-196 (1942) ·Zbl 0063.08179号
[47] Wassermann,G。;Su,Z.,《针对注入漏洞的web应用程序的合理和精确分析》,(《2007年ACM SIGPLAN编程语言设计与实现会议论文集》,2007年6月10日至13日,美国加利福尼亚州圣地亚哥,2007年),32-41
[48] Yu,F。;Alkhalaf,M。;布尔坦,T。;Ibarra,O.H.,基于自动机的符号字符串分析用于漏洞检测,Form.Methods Syst。设计。,44, 1, 44-70 (2014) ·Zbl 1291.68272号
[49] Yu,F。;布尔坦,T。;Cova,M。;Ibarra,O.H.,《符号字符串验证:基于自动机的方法》,(《模型检查软件》,第15届国际SPIN研讨会。《模型检查程序》,第十五届国际SPIN研讨会,美国加利福尼亚州洛杉矶,2008年8月10日至12日,会议录(2008)),306-324
[50] Yu,F。;布尔坦,T。;Hardekopf,B.,用于字符串验证的字符串抽象,(模型检查软件-第18届国际SPIN研讨会。模型检查软件–第18届全球SPIN研讨会,美国犹他州雪鸟,2011年7月14日至15日,论文集(2011)),20-37
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。