×

关于Thompson-Goerigk类型的特洛伊木马,它们的生成、入侵、检测和预防。 (英文) Zbl 1274.68085号

Dennis Dams(编辑)等人,《并发性、组合性和正确性》。为纪念威廉·保尔·德罗弗而写的论文。柏林:施普林格出版社(ISBN 978-3-642-11511-0/pbk)。计算机科学课堂讲稿5930,74-95(2010)。
摘要:Thompson-Gerigk类型的特洛伊木马是机器级编译器实现中非常隐藏的有意软件错误,尽管后者已成功通过Wirth的强大编译器引导测试,并且已对编译规范和高级编译器实现进行了严格验证。汤普森在1984年证明了这些错误。本文描述了Goerigk在如何生成、入侵、检测和防止这些最复杂的错误方面的贡献,这些错误甚至可以通过编译器认证测试套件而不被检测到。因此,有必要检查目标代码。然而,全面检查通常是不可行的。描述的主要研究结果是如何减少必要的检查量,同时仍然获得可证明正确的编译器。ProjectVerifix在一个经过充分验证的真实编译器上演示了这种方法,该编译器适用于真实的高级语言。
关于整个系列,请参见[Zbl 1183.68009号].

MSC公司:

68N99型 软件理论
68N20型 编译与解释理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Bauer,F.L.:Einladung zur Mathematik。慕尼黑德国博物馆(1999)
[2] BSI–信息技术领域的Bundesamt für Sicherheit。BSI-Zertifizierung。BSI 7119,波恩(1994)
[3] BSI–信息技术领域的Bundesamt für Sicherheit。OCOCAT-S项目(1996年)
[4] Chirica,L.M.,Martin,D.F.:面向编译器实现正确性证明。美国计算机学会程序设计语言与系统汇刊8(2),185–214(1986)·Zbl 0591.68014号 ·doi:10.1145/5397.30847
[5] Dold,A.,von Henke,F.,Goerigk,W.:一个经过完全验证的真实引导编译器。计算机科学基础国际期刊14(4),659–680(2003)·Zbl 1101.68465号 ·doi:10.1142/S0129054103001947
[6] Dold,A.,von Henke,F.W.,Vialard,V.,Goerigk,W.:现实编译器的机械验证编译器规范。Ulmer Informatik-Berichte编号2002-03,乌尔姆大学,67页。(2002)
[7] Dijkstra,E.W.:编程学科。普伦蒂斯·霍尔(Prentice-Hall),恩格伍德悬崖(Englewood Cliffs)(1976年)·Zbl 0368.68005号
[8] Dold,A.:使用通用开发步骤进行正式软件开发。Logos-Verlag,柏林,乌尔姆大学论文,235页。(2000)
[9] Fagan,M.E.:软件检查的进展。IEEE软件工程学报,SE-12(7),744-751(1986)·doi:10.1109/TSE.1986.6312976
[10] Goerick,W.、Dold,A.、Gaul,T.、Goos,G.、Heberle,A.、von Henke,F.、Hoffmann,U.、Langmaack,H.、Pfeiffer,H.,Ruess,H.和Zimmermann,W.:编译器正确性和实现验证:验证方法。In:程序。海报Sess。CC 1996–国际。编译器构造会议,ida,TR-Nr.R-96-12(1996)
[11] Glesner,S.、Goos,G.、Zimmermann,W.:Verifix:Konstruktion和Architektur verifizierender u bersetzer。Informationstechnik 46(5)(2004)
[12] Goerick,W.,Gaul,T.,Zimmermann,W.:没有证明的正确程序?基于检查器的程序验证。摘自:Proceedings ATOOLS 1998 Workshop on Tool Support for System Specification,Development and Verification,Malente。计算机科学进展。斯普林格,海德堡(1998)·Zbl 0979.68550号
[13] Goerick,W.,Hoffmann,U.:编译器实现语言ComLisp,技术报告Verifix/CAU/1.7,CAU Kiel(1996年6月)
[14] Goerick,W.,Hoffmann,U.:从ComLisp到可执行机器代码的编译规范。技术报告编号:9713,信息研究所,CAU Kiel,106 pgs。(1998年12月)
[15] Goerick,W.,Hoffmann,U.:严格的编译器实现正确性:如何证明真正的东西是正确的。收录:Hutter,D.,Traverso,P.(编辑)FM-Trends 1998。LNCS,第1641卷,第122–136页。斯普林格,海德堡(1999)·doi:10.1007/3-540-48257-1_7
[16] Goerick,W.,Hoffmann,U.:将ComLisp编译为可执行的机器代码:编译器构造。技术报告编号9812,基尔加州大学信息研究所,170页。(1998年10月)
[17] Goerick,W.,Hoffmann,U.:从ComLisp到Transputer-Code的翻译证明协议(1998),http://www.informatik.uni-kiel.de/wg/-验证/验证protocols/i.ps,i=l1、l2、l3、l4、s2、s3、s4、c3、c4、t4
[18] Goerick,W.:关于编译器实现中的特洛伊木马。收录:Saglietti,F.,Goerigk,W.(编辑)Proc。des Workshops Sicherheit und Zuverlässigkeit softwarebasierter Systeme,IsTec报告IsTec-A.367,Garching(1999年8月)ISBN 3-00-004872-3
[19] Goerick,W.:《重新审视编译器验证》。收录:Kaufmann,M.,Manolios,P.,Moore,J.S.(编辑)《计算机辅助推理:ACL2案例研究》。Kluwer学术出版社,多德雷赫特(2000)
[20] Goerick,W.:用ACL2证明部分正确性的保持:机械编译器源代码级正确性证明。In:Kaufmann,M.,Moore,J.S.(编辑)美国德克萨斯州奥斯汀市德克萨斯大学2000年ACL2研讨会论文集(2000年10月)
[21] Goerick,W.:可信程序执行。习惯化理论。基尔大学技术学院,161页。(2000年5月)
[22] Goodenough,J.B.,Gerhart,S.L.:关于测试数据选择的理论。IEEE软件工程学报1(2),156-173(1975)·doi:10.1109/TSE.1975.6312836
[23] Goerick,W.,Langmaack,H.:信息学能够证明大型计算机系统的构建是合理的吗?Inst.f.Informatik u.Prakt.公司。数学。,加州基尔大学。2015年,64页。(2001); 出现在第一部分:现实正确的系统实现,28页。,和第二部分:可信编译器实现,24页。《国际编程问题杂志》,乌克兰基辅(2003年),http://www.informatik.uni-kiel.de/wg/Berichte/-Kiev-Institutes-bericht-2001.ps.gz
[24] Goos,G.,Zimmermann,W.:编译器验证。收录:Olderog,E.-R.,Steffen,B.(编辑)《正确的系统设计》。LNCS,第1710卷,第201–231页。施普林格,海德堡(1999)·doi:10.1007/3-540-48092-7_10
[25] Gaul,T.,Zimmermann,W.,Goerigk,G.:用程序检查构建已验证的软件系统:编译器后台应用程序。收录:Pnueli,A.,Traverso,P.(编辑)Proc。FloC 1999运行时结果验证国际研讨会,意大利特伦托(1999)
[26] Hoare,C.A.R.:验证编译器:计算研究的重大挑战。《美国医学会期刊》50(1),63-69(2003)·doi:10.1145/602382.602403
[27] Hoffmann,U.:通过严格的语法代码检查进行编译器实现验证。博士论文,德国工业大学信息技术研究所(Technische Fakultät der CAU zu Kiel)。数学。,Ber公司。9814,基尔,127页。(1998) ·Zbl 0932.68023号
[28] Langmack,H.:软件工程zur Zertifizierung von Systemen:Spezifikations-、Implementierungs-、U bersetzerkorrekteit。Informationstechnik und Technische Informatik it+ti 39(3),41–47(1997)
[29] Langmaack,H.:对Goodenough和Gerhart的软件测试和验证理论的贡献。强编译器测试和编译器实现验证之间的关系。收录:Freksa,C.,Jantzen,M.,Valk,R.(编辑)《计算机科学基础》。LNCS,第1337卷,第321-335页。斯普林格,海德堡(1997)·doi:10.1007/BFb0052101
[30] Langmaack,H.:计算机科学对软件实现者的数学推理要求达到什么水平?ENTCS 141(2),5-32(2005)
[31] Langmaack,H.,Wolf,A.:构建完全验证的编译器中的阅读和打印。仪表信息制动器。数学。,变更-阿尔布-比利时基尔大学。0306113页。(2003)
[32] Moore,J.S.:《Piton:一种经过机械验证的汇编级语言》。多德雷赫特Kluwer学术出版社(1996)
[33] Pofahl,E.:用于检查安全相关软件的方法。In:Cullyer,W.J.,Halang,W.A.,Krämer,B.J.(编辑)《高集成可编程电子系统》。Dagstuhl,Sem.-Rep.107,p.13(1995)
[34] Steele Jr.,G.L.:通用LISP。语言。数字出版社,巴德福德(1984)
[35] 汤普森,K.:《关于信任的思考》。ACM通信27(8),761-763(1984);还参加了ACM图灵奖讲座:1965-1985年的第一个二十年。ACM出版社,纽约(1987年),以及《受到攻击的计算机:入侵者、蠕虫和病毒》。ACM出版社,纽约(1990)
[36] 北卡罗来纳州沃思:Compilebau,eine Einführung。B.G.Teubner,斯图加特(1977)
[37] ZSI-信息技术领域的Zentralstelle für Sicherheit。IT-Evaluationshandbuch公司。Bundesanzeiger Verlagsgesellschaft,科隆(1989)
[38] ZSI-信息技术领域的Zentralstelle für Sicherheit。IT-Evaluationshandbuch公司。德国联邦储蓄银行,科隆(1990年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。