×

已验证用于反汇编低级自修改代码的抽象解释技术。 (英语) Zbl 1357.68041号

摘要:由于几个原因,二进制代码的静态分析具有挑战性。特别是,标准的静态分析技术在控制流图上运行,在处理可以在运行时修改自己代码的自修改程序时,控制流图是不可用的。我们在Coq证明助手中形式化了一些关键的抽象解释技术,这些技术可以自动从二进制代码中提取内存安全属性。我们的分析仪已被正式证明是正确的,并已在以下几项自我修改挑战中运行:H.蔡等人,《认证自修改代码》,载于:第28届ACM SIGPLAN编程语言设计与实现会议论文集,PLDI’07。纽约州纽约市:计算机协会(ACM)。66–77 (2007;数字对象标识代码:10.1145/1250734.1250743)].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
第68页第15页 定理证明(演绎、解析等)(MSC2010)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 哈尔

参考文献:

[1] Balakrishnan,G.,Thomas,W.:众议员Wysinwyx:你看到的并不是你执行的。ACM事务处理。程序。在语言系统上。32(6), 23 (2010)
[2] Bardin,S.、Herrmann,P.、Védrine,F.:基于非结构化程序的CFG重构。在:验证、模型检查和抽象解释(VMCAI),LNCS第6538卷,第54-69页。柏林施普林格出版社(2011)·Zbl 1317.68028号
[3] Bertot,Y.:结构抽象解释,Coq中的正式研究。在:语言工程和严格的软件开发,国际LerNet alFA暑期学校2008,LNCS第5520卷,第153-194页。柏林施普林格出版社(2009)·Zbl 1250.68089号
[4] Bertot,Y.,Grégoire,B.,Leroy,X.:基于数据流分析证明编译器优化的结构化方法。《类型》,LNCS第3839卷,第66-81页。柏林施普林格出版社(2006)·Zbl 1172.68414号
[5] Blazy,S.、Laporte,V.、Maroneze,A.、Pichardie,D.:基于抽象解释的c值分析的形式验证。在:静态分析研讨会(SAS),LNCS第7935卷,第324-344页。柏林施普林格出版社(2013)
[6] Blazy S.,Leroy X.:C语言Clight子集的机械化语义。J.汽车。原因。43(3), 263-288 (2009) ·Zbl 1185.68136号 ·doi:10.1007/s10817-009-9148-3
[7] Bonfante,G,,Marion,J.-Y.,Reynaud-Plantey,D.:自修改程序的可计算性观点。收录于:SEFM,第231-239页(2009年)
[8] Cachera,D.、Jensen,T.、Pichardie,D.、Rusu,V.:在构造逻辑中提取数据流分析器。西奥。计算。科学。342(1), 56-78 (2005) ·Zbl 1077.68051号
[9] Cachera,D.和Pichardie,D.:比较认证静态分析的技术。摘自:第一届NASA正式方法研讨会(NFM’09)会议记录,第111-115页(2009)
[10] Cachera,D.,Pichardie,D.:一名经过认证的指称式抽象解释器。在:交互式定理证明(ITP),LNCS第6172卷,第9-24页。柏林施普林格出版社(2010年)·Zbl 1291.68331号
[11] Cai,H.,Shao,Z.,Vaynberg,A.:认证自修改代码。摘自:编程语言设计与实现会议(PLDI),第66-77页。ACM,纽约(2007)
[12] Chlipala,A.:大多数是计算分离逻辑中低级程序的自动验证。在:编程语言设计与实现会议(PLDI)。ACM,纽约(2011)
[13] Collberg,C.,Thomborson,C.,Low,D.:制造廉价、有弹性和隐形的不透明结构。第25届程序设计语言原理研讨会(POPL),第184-196页。ACM,纽约(1998)
[14] 伴侣网站。http://www.irisa.fr/celtique/ext/smc。
[15] Coupet-Grimal,S.,Delobel,W.:两种静态分析的统一认证方法。In:TYPES,LNCS第3839卷,第115-137页(2004)·兹比尔1172.68399
[16] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。摘自:编程语言原理研讨会,第238252页。ACM,纽约·Zbl 1149.68389号
[17] Debray,S.K.、Coogan,K.P.、Townsend,G.M.:关于自我解包恶意软件代码的语义。草案,(2008)·兹比尔1185.68136
[18] Gerth,R.T.:自我修改代码的形式验证。参加:国际青年计算机科学家会议。国际学术出版社,中国(1991年)
[19] Jensen,J.,Benton,N,Kennedy,A.:低级代码的高级分离逻辑。摘自:编程语言原理研讨会(POPL)。ACM,纽约(2013)·Zbl 1301.68101号
[20] Jourdan,J.-H.,Laporte,V.,Blazy,S.,Leroy,X.,Pichardie,D.:C静态分析仪的形式验证。第42届程序设计语言原理研讨会(POPL),第247-259页(2015)
[21] Kennedy,A.,Benton,N.,Jensen,J.B,Dagand,P.:考克:世界上最好的宏汇编程序?摘自:声明性编程原则与实践研讨会,第13-24页。ACM,纽约(2013)
[22] Kinder,J.:面向虚拟化二进制文件的静态分析。参见:逆向工程(WCRE),2012年第19届工作会议,第61-70页。IEEE(2012)
[23] Klein G.,Nipkow T.:类Java语言、虚拟机和编译器的机器选择模型。ACM事务处理。程序。语言系统。28(4), 619-695 (2006) ·数字对象标识代码:10.1145/1146809.1146811
[24] 莫尼奥(Monniaux,D.):《国际医学文摘》(Réalisation mécanisée e D’interprateurs abstraits)。巴黎大学第七届硕士论文(1998)
[25] Morrisett,G.、Tan,G.,Tassarotti,J.、Tristan,J.-B.、Gan,E.:岩盐:x86的更好、更快、更强的sfi。编程语言设计与实现会议(PLDI),第395-404页(2012年)
[26] Myreen,M.O.:验证了x86上的实时编译器。摘自:程序设计语言原则研讨会,第107-118页。ACM,纽约(2010年)·Zbl 1312.68046号
[27] Nipkow,T.:注释命令的抽象解释。在:交互式定理证明(ITP),LNCS第7406卷,第116-132页。柏林施普林格出版社(2012)·Zbl 1360.68762号
[28] Pichardie,D.:解释抽象逻辑直觉主义:提取分析Java认证。博士论文,U.Rennes 1,(2005)
[29] Pichardie,D.:通过基础良好的格子的模块化结构构建经认证的静态分析仪。摘自:《第一届信息学、计算和软件基础国际会议论文集》,《理论计算机科学电子笔记》第212卷,第225-239页(2008)·Zbl 1286.68401号
[30] Pichardie D.:通过建立良好的晶格的模块化结构建造经过认证的静态分析仪。选举人。理论注释。计算。科学。212, 225-239 (2008) ·Zbl 1286.68401号 ·doi:10.1016/j.entcs.2008.04.064
[31] Robert,V.,Leroy,X.:经正式验证的别名分析。在:认证校对和程序(CPP),LNCS第7679卷,第11-26页。柏林施普林格出版社(2012)·Zbl 1383.68015号
[32] Stewart,G.,Beringer,L.,Appel,A.W.:通过副调制验证堆定理证明器。摘自:函数编程国际会议(ICFP),第3-14页。ACM,纽约(2012)·Zbl 1291.68371号
[33] Szor,P.:计算机病毒研究与防御的艺术。Addison-Wesley Professional,波士顿(2005)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。