×

通过完整性类型和经验证的组件实现安全功能系统。 (英文) Zbl 1477.68030号

摘要:构建一个值得信赖的生命关键型嵌入式系统需要对机器指令序列对整个系统操作的潜在影响进行深入的推理。我们没有尝试分析完整的二进制文件以及它们的指令可以相互作用的无数方式——内存、副作用、控制寄存器、隐式状态等——而是探索了一种新的方法。我们提出了一种由一个薄计算层控制的体系结构,该计算层设计为与lambda演算紧密对应,利用函数编程原理使汇编更接近于无数推理框架,例如Coq证明助手。这种方法允许关键代码的汇编级验证版本与任意代码(包括命令和未验证的系统组件)一起安全运行,而无需大量支持可信计算的基础。我们证明,这个计算层可以以这样一种方式构建,即同时提供完整的可编程性和紧凑、精确和完整的语义,同时仍然使用与普通嵌入式系统相当的硬件资源。为了证明这种方法的实用性,我们的FPGA实现的原型运行了一个嵌入式医疗应用程序,用于监测和治疗危及生命的心律失常。尽管该系统集成了不受信任和命令式组件,但我们的体系结构允许对端到端系统的多个属性进行正式验证。我们证明了Coq中核心算法的汇编级实现的正确性,通过无干扰证明证明了可信数据的完整性,并保证了我们的原型满足关键时间要求。

MSC公司:

2007年7月68日 计算机体系结构的数学问题
68甲18 函数编程和lambda演算
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] McMahan,J。;Christensen,M。;尼科尔斯,L。;Roesch,J。;郭S.-Y。;Hardekopf,B。;Sherwood,T.,支持形式和组成二元分析的体系结构,Comput。阿基特。新闻,45,1,177-191(2017)
[2] Mangharam,R。;阿巴斯,H。;贝尔,M。;Jang,K。;Pajic,M。;蒋,Z.,《网络物理系统的三大挑战》,(2016年第八届通信系统与网络国际会议(COMSNETS)(2016)),1-8
[3] Shuja,S。;Srinivasan,S.K。;Jabee,S。;Nawarathna,D.,DDD模式起搏器控制程序的正式验证方法,J.Elector。计算。工程(2015)
[4] Rushby,J.M.,《可分性证明:一类安全内核的验证技术》,(第五届国际编程研讨会论文集(1982年),Springer-Verlag:英国伦敦Springer-Verlag),352-367·Zbl 0482.68029号
[5] 海因策,N。;Riecke,J.G.,The slam calculus:programming with secrety and integrity,(第25届美国计算机学会SIGPLAN-SIGCT程序设计语言原理研讨会论文集。第25届美国计算机学会SIGPLAN-SIGCT程序设计语言原理研讨会论文集,POPL’98(1998),美国计算机学会:美国计算机学会纽约),365-377
[6] 阿巴迪,M。;Banerjee,A。;海因策,N。;Riecke,J.G.,《依赖的核心演算》,(第26届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集。第26届美国计算机学会SIGPLAN-SIGACT程序设计语言原理研讨会文献集,POPL’99(1999),美国计算机学会:美国纽约州纽约市美国计算机学会),147-160
[7] 沃尔帕诺,D。;欧文,C。;Smith,G.,《安全流动分析的健全型系统》,J.Compute。安全。,4, 2-3, 167-187 (1996)
[8] Denning,D.E。;Denning,P.J.,安全信息流程序认证,Commun。美国医学会,20,7,504-513(1977)·Zbl 0361.68033号
[9] Goguen,J.A。;Meseguer,J.,安全策略和安全模型,(安全和隐私,1982年IEEE研讨会(1982)),11
[10] Pottier,F。;Simonet,V.,ML的信息流推断,ACM Trans。程序。语言系统。,25, 1, 117-158 (2003)
[11] Sabelfeld,A。;Myers,A.C.,基于语言的信息流安全,IEEE J.Sel。公共区域。,21, 1, 5-19 (2006)
[12] Terei,D。;马洛,S。;Peyton Jones,S。;Mazières,D.,Safe Haskell,(2012年Haskell研讨会论文集。2012年Haskell研讨会论文集,Haskell’12(2012),ACM:ACM纽约,纽约,美国),137-148
[13] Yu,D。;北卡罗来纳州哈米德。;Shao,Z.,《为PCC构建认证库:动态存储分配》,(第十二届欧洲编程会议论文集(2003年),斯普林格-弗拉格出版社),363-379·Zbl 1032.68063号
[14] Chlipala,A.,《计算分离逻辑中低级程序的大多数自动验证》,(第32届ACM SIGPLAN编程语言设计与实现会议论文集。第32届美国计算机学会SIGPLAN程序设计与实现大会论文集,PLDI’11(2011),美国计算机学会:美国纽约州纽约市美国计算机学会), 234-245
[15] Choi,J。;维贾亚拉加万,M。;谢尔曼,B。;Chlipala,A。;Arvind,Kami:高级参数化硬件规范及其模块化验证平台,Proc。ACM计划。Lang.,1,ICFP(2017年8月)
[16] 博伊尔,R.S。;Yu,Y.,商用微处理器机器代码程序的自动正确性证明,(第十一届自动扣除国际会议论文集:自动扣除。第十一届国际自动扣除会议论文集,CADE-11(1992),Springer-Verlag:Springer-Verlag London,UK), 416-430
[17] N.G.迈克尔。;Appel,A.W.,《高阶逻辑中的机器指令语法和语义》,(第17届自动演绎国际会议论文集。第17届国际自动演绎会议论文集,CADE-17(2000),Springer-Verlag:Springer-Verlag London,UK),7-24·Zbl 0963.68184号
[18] 肯尼迪,A。;北卡罗来纳州本顿。;Jensen,J.B。;Dagand,P.-E.,Coq:世界上最好的宏汇编程序?,(第15届声明性编程原则与实践研讨会论文集。第15届宣言性编程原则和实践研讨会论文录,PPDP’13(2013),ACM:ACM纽约,纽约,美国),13-24
[19] 福克斯,A。;Myreen,M.O.,armv7指令集体系结构的可信一元形式化,(《第一届交互式定理证明国际会议论文集》,ITP’10(2010),Springer-Verlag:Springer-Verlag Berlin,Heidelberg),243-258·Zbl 1291.68341号
[20] Moore,J.S.,机械验证语言实现,J.Autom。原因。,5, 4, 461-492 (1989)
[21] Hunt,W.A.,《微处理器设计验证》,J.Autom。原因。,5429-460(1989年)
[22] J.汽车。原因。(2003)
[23] Necula,G.C.,携带证明代码。设计与实施(2002),Springer·Zbl 1097.68538号
[24] Appel,A.W.,基础校对代码,(第16届IEEE计算机科学逻辑研讨会论文集。第16届电气与电子工程师协会计算机科学逻辑会议论文集,LICS’01(2001),IEEE计算机学会:美国哥伦比亚特区华盛顿IEEE计算机协会),247
[25] 杨,J。;Hawblitzel,C.,《安全到最后的指令:类型安全操作系统的自动验证》,(第31届ACM SIGPLAN编程语言设计与实现会议论文集。第31届AC M SIGPLAN编程语言设计和实现会议论文集中,PLDI’10(2010),ACM:美国纽约州纽约市ACM), 99-110
[26] Maeda,T。;Yonezawa,A.,《在SMP/多核环境中使用中断实现操作系统内核的类型汇编语言》,(第五届系统软件验证国际会议论文集。第五届国际系统软件验证会议论文集,SSV’10(2010),USENIX协会:美国加利福尼亚州伯克利,美国),1
[27] 巴内特,M。;Chang,B.-Y.E。;DeLine,R。;雅各布斯,B。;Leino,K.R.M.,Boogie:面向对象程序的模块化可重用验证器,(第四届组件和对象形式方法国际会议论文集。第四届国际组件和对象方法会议论文集,FMCO’05(2006),Springer-Verlag:Springer-Verlag Berlin,Heidelberg), 364-387
[28] Xi,H。;Harper,R.,独立类型汇编语言,(第六届ACM SIGPLAN函数编程国际会议论文集。第六届AC M SIGPLAN函数编程国际大会论文集,ICFP'01(2001),ACM:ACM纽约,纽约,美国),169-180·Zbl 1323.68084号
[29] Chlipala,A.,不纯函数语言的经验证编译器,(第37届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集。第37届美国计算机学会SIGPLAN-SIGACT程序设计语言原理研讨会文献集,POPL’10(2010),美国计算机学会:美国纽约州纽约市ACM),93-106·Zbl 1312.68044号
[30] Necula,G.C.,优化编译器的翻译验证,(《2000年ACM SIGPLAN编程语言设计与实现会议论文集》,2000年ACM-SIGPLAN程序语言设计与实施会议论文集,PLDI’00(2000),ACM:美国纽约州纽约市ACM),83-94
[31] Curzon,P。;Curzon,P.,结构化汇编语言的验证编译器,(1991年HOL定理证明系统及其应用国际研讨会论文集(1991),IEEE计算机,社会出版社),253-262
[32] Strecker,M.,《Isabelle中Java编译器的形式验证》(Automated Deduction-CADE-18(2002),Springer),63-77·Zbl 1072.68593号
[33] Leroy,X.,正式验证的编译器后端J.Autom。原因。,43, 4, 363-446 (2009) ·Zbl 1185.68215号
[34] Appel,A.W.,验证软件工具链,(《第20届欧洲编程语言和系统会议纪要:软件理论与实践联合欧洲会议的一部分》,《第20次欧洲编程语言与系统会议纪事:软件理论和实践联合欧洲大会的一部分,ESOP’11/ETAPS’11(2011),施普林格出版社:施普林格出版社,柏林,海德堡),1-17·Zbl 1326.68047号
[35] 奈斯,G。;赫尔,C.-K。;凯泽,J.-O。;McLaughlin,C。;Dreyer,D。;Vafeiadis,V.,Pilsner:一种用于高阶命令式语言的组合验证编译器,(第20届ACM SIGPLAN函数式编程国际会议论文集。第20届AC M SIGPLA函数式编程会议论文集,ICFP 2015(2015),ACM:ACM纽约,美国纽约州),166-178·Zbl 1360.68350号
[36] Ramananandro,T。;邵,Z。;翁,S.-C。;Koenig,J。;Fu,Y.,《经验证的单独编译和链接的合成语义》,(《2015年认证程序和证明会议论文集》,2015年认证项目和证明会议文献集,CPP’15(2015),ACM:美国纽约州纽约市ACM),3-14
[37] 江,Z。;Pajic,M。;Mangharam,R.,植入式心脏医疗设备的网络物理建模,Proc。IEEE,100,1122-137(2012)
[38] A.O.戈麦斯。;Oliveira,M.V.M.,《心脏起搏系统的正式规范》(Cavalcanti,a.;Dams,D.R.,FM 2009:Formal Methods(2009),Springer Berlin Heidelberg:Springer Barlin Heitelberg Berlin,Heidelbrg),692-707
[39] Chen,T。;Diciola,M。;Kwiatkowska,M。;Mereacre,A.,植入式心脏起搏器的定量验证,(实时系统研讨会(RTSS),2012年IEEE第33届(2012年),IEEE),263-272
[40] Cordeiro,L。;费舍尔,B。;陈,H。;Marques-Silva,J.,考虑到严格的硬件限制,医疗设备中嵌入式软件的半正式验证,(2009年嵌入式软件和系统国际会议(2009)),396-403
[41] Landin,P.J.,表达式的机械评估,计算机。J.,6,4,308-320(1964)·Zbl 0122.36106号
[42] Graham,B.,SECD:设计问题(1989),卡尔加里大学,技术代表。
[43] 克拉克·T·J。;Gladstone,P.J。;麦克莱恩,C.D。;Norman,A.C.,SKIM-S,K,I约简机,(《1980年美国计算机学会LISP和函数编程会议论文集》。《1980年ACM LISP与函数编程会议文献集》,LFP’80(1980),ACM:美国纽约州纽约市ACM),128-135
[44] Deutsch,L.P.,《程序非常紧凑的口齿不清机器》(第三届国际人工智能联合会议论文集(1973),摩根考夫曼出版社),697-703
[45] Kogge,P.M.,《符号计算机的体系结构》(1991),McGraw-Hill公司:纽约McGraw-Hill公司
[46] Knight,T.F.,列表处理机器的实现(1979),麻省理工学院博士论文
[47] McCune,J.M。;巴诺·B·J。;佩里格,A。;Reiter,M.K。;Isozaki,H.,Flicker:tcb最小化的执行基础设施,Oper。系统。修订版,42、4、315-328(2008)
[48] 凯勒,E。;谢弗,J。;雷克斯福德,J。;Lee,R.B.,NoHype:没有虚拟化的虚拟化云基础设施,计算。阿基特。新闻,38,3,350-361(2010)
[49] Halperin,D。;海德特·本杰明,T.S。;兰斯福德,B。;克拉克,S.S。;辩护,B。;摩根·W·。;Fu,K。;Kohno,T.公司。;Maisel,W.H.,《起搏器和植入式心脏除颤器:软件无线电攻击和零功率防御》,(2008年IEEE安全与隐私研讨会(SP 2008)(2008),IEEE),129-142
[50] 南卡罗来纳州戈尔拉科塔。;Hassanieh,H。;兰斯福德,B。;卡塔比,D。;Fu,K.,他们可以听到你的心跳:植入医疗设备的非侵入性安全,(美国医学会会议纪要SIGCOMM(2011)),2-13
[51] 丹尼·T。;Fu,K。;Kohno,T.,《缺席让心灵变得更美好:植入式医疗器械安全的新方向》,(《第三届安全热点会议论文集》,《第三次安全热点会议文献集》,HOTSEC'08(2008),USENIX协会:美国加州伯克利USENIX-协会),第5条,pp。
[52] Hardekopf,B。;Lin,C.,数百万行代码的流敏指针分析,(第九届IEEE/ACM代码生成和优化国际研讨会论文集。第九届IEEE/ACM代码生成和优化国际研讨会论文集,CGO’11(2011),IEEE计算机学会:IEEE计算机学会华盛顿,华盛顿特区,美国),289-298
[53] Moggi,E.,《计算和单数概念》,Inf.Compute。,93, 1, 55-92 (1991) ·Zbl 0723.68073号
[54] Hudak,P。;休斯,J。;Peyton Jones,S。;Wadler,P.,《Haskell的历史:懒惰上课》,(第三届ACM SIGPLAN编程语言历史会议论文集(2007),ACM),第12页。
[55] Hindley,R.,组合逻辑中对象的主要类型模式,Trans。美国数学。《社会学杂志》,146,29-60(1969)·Zbl 0196.01501号
[56] Milner,R.,《编程中的类型多态性理论》,J.Compute。系统。科学。,17, 348-375 (1978) ·Zbl 0388.68003号
[57] Conway,M.E.,可分离转换图编译器的设计,Commun。美国医学会,6,7,396-408(1963)·Zbl 0116.09605号
[58] Moura,A.L.D。;Ierusalimschy,R.,重访协同程序,ACM Trans。程序。语言系统。,31,2,第6条第(2009)页
[59] 康诺利,S.J。;Gent,M。;罗伯茨,R.S。;Dorian,P。;罗伊·D·。;谢尔顿,R.S。;米切尔,L.B。;格林,M.S。;Klein,G.J。;O'Brien,B.,加拿大植入式除颤器研究(CIDS),《循环》,101,11,1297-1302(2000)
[60] T.A.与植入式除颤器(AVID)研究人员,《近致死性室性心律失常复苏患者中抗心律失常药物治疗与植入性除颤器的比较》,N.Engl。《医学杂志》,337,221576-1584(1997),pMID:941221
[61] 西贝尔斯,J。;库克,K.-H。;研究人员,C.,植入式心律转复除颤器与抗心律失常药物治疗心脏骤停幸存者的比较(汉堡心脏骤停研究),美国心脏杂志,1271139-1144(1994)
[62] (2016年9月),与您的植入式心脏复律除颤器(ICD)一起生活
[63] (2019),有多少人患有ICD?
[64] 潘,J。;汤普金斯,W.J.,实时QRS检测算法,IEEE Trans。生物识别。工程师,BME-32,3,230-236(1985)
[65] 阿尔瓦雷斯,R.A。;Penín,A.J.M。;Sobrino,X.A.V.,《公共数据库上三种QRS检测算法的比较》,CENTERIS 2013-企业信息系统会议/ProjMAN 2013-项目管理国际会议/HCIST 2013-卫生和社会护理信息系统与技术国际会议。CENTERIS 2013-ENTERRise信息系统会议/ProjMAN 2013-国际项目管理会议/HCSIT 2013-国际卫生和社会护理信息系统与技术会议,Proc。技术。,9, 1159-1165 (2013)
[66] (2019),开源心电分析软件
[67] Wathen,M.S。;DeGroot,P.J。;M.O.斯威尼。;斯塔克·A·J。;Otterness,M.F。;世界卫生组织阿德基森。;坎比,R.C。;Khalighi,K。;马查多,C。;鲁宾斯坦,D.S。;Volosin,K.J.,经验性抗心动过速起搏与电击治疗植入型心律转复除颤器患者自发快速室性心动过速的前瞻性随机多中心试验,循环,110,17,2591-2596(2004)
[68] (2019),Coq证明助理
[69] 卡西亚普,V。;维德曼,B。;Hardekopf,B.,对定时和终止敏感的安全信息流:探索一种新方法,(2011年IEEE安全与隐私研讨会(2011)),413-428
[70] Simonet,V.,带和型λ演算的细粒度信息流分析,(第15届IEEE计算机安全基础研讨会论文集。第15届计算机安全基础IEEE研讨会论文集,CSFW’02(2002),IEEE计算机学会:美国哥伦比亚特区华盛顿IEEE计算机协会),223
[71] Ricketts,D。;Malecha,G。;Alvarez,M.M。;戈达,V。;Lerner,S.,《在基础证明助手中验证混合系统》(2015 ACM/IEEE国际协同设计形式方法和模型会议(MEMOCODE)(2015)),248-257
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。