跳到主要内容
10.1145/3620665.3640416acm会议文章/章节视图摘要出版物页面阿斯普洛斯会议记录会议集合
研究论文
开放式访问

Cornucopia重新加载:CHERI堆临时安全的负载屏障

作者信息和声明
出版:2024年4月27日出版历史

摘要

违反临时内存安全(“免费后使用”、“无人机”)继续对软件安全构成重大威胁。CHERI功能体系结构已显示出作为C和C++语言引用完整性和空间内存安全技术的前景。在CHERI顶部建造,之前的工程——CHERIVOK和Cornucopia——已经探索了添加堆世俗的安全。聚宝盆最紧迫的限制是它不切实际的“停止世界”暂停时间。

我们介绍了Cornucopia Reloaded,这是一种重新设计的CHERI临时安全的下拉式替换实现,它使用了一种新的体系结构特性,即在Arm的Morello原型CPU和CHERI-RISC-V中添加的每页能力负载屏障,以几乎消除应用程序暂停。我们分析了Reloaded以及Cornucopia和CHERIvoke在Morello上的性能,使用与CHERI兼容的SPEC CPU2006 INT工作负载评估其对批处理工作负载的影响,并使用pgbench和gRPC QPS作为代理交互工作负载。在重新加载的情况下,应用程序不再经历由撤销引起的停机期,与Cornucopia相比,无需额外的墙或CPU时间成本,SPEC CPU2006和<pgbench为50%。

工具书类

  1. 标杆|集团。网址:https://grpc.io/docs/guides/benchmarking/。谷歌学者谷歌学者
  2. PostgreSQL。网址:https://www.postgresql.org/。谷歌学者谷歌学者
  3. PostgreSQL 9.6 CHERI端口。URL:https://github.com/CTSRD-CHERI/postgres/tree/96-CHERI。谷歌学者谷歌学者
  4. PostgreSQL pgbench基准。URL:https://www.postgresql.org/docs/9.6/pgbench.html。谷歌学者谷歌学者
  5. Advanced Micro Devices,Inc.AMD SEV-SNP:通过完整性保护等加强VM隔离,2020年1月。网址:https://www.amd.com/system/files/TechDocs/SEV-SNP-tengthening-vm-isolation-with-integraty-protection-and-more.pdf。谷歌学者谷歌学者
  6. Saar Amar、Tony Chen、David Chisnall、Felix Domke、Nathaniel Filardo、Kunyan Liu、Robert Norton-Wright、Yucong Tao、Robert N.M.Watson和Hongyan Xia。Cheriot:重新思考低成本嵌入式系统的安全性。技术报告MSR-TR-2023-6,微软,2023年2月。网址:https://www.microsoft.com/en-us/research/publication/cheriot重新思考低成本嵌入式系统的安全性/。谷歌学者谷歌学者
  7. 萨尔·阿马尔(Saar Amar)、大卫·奇斯纳尔(David Chisnall)、托尼·陈(Tony Chen)、纳撒尼尔·菲拉多·韦斯利(Nathaniel Filardo Wesley)、本·劳里(Ben Laurie)、刘昆延(Kunyan Liu)、罗伯特·诺顿(Robert Norton)、西蒙·摩尔(Simon W。CHERIoT:嵌入式设备的完全内存安全。第56届IEEE/ACM微体系结构国际研讨会论文集。计算机协会,2023年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  8. A.W.Appel、J.R.Ellis和K.Li。库存多处理机上的实时并发采集。SIGPLAN不是。,23(7):1988年6月11日至20日。谷歌学者谷歌学者数字图书馆数字图书馆
  9. Arm Inc.a型材架构的Arm架构参考手册。网址:https://developer.arm.com/documentation/ddi0487/latest/。谷歌学者谷歌学者
  10. Arm Inc.Morello项目。网址:https://www.arm.com/architecture/cpu/morello。谷歌学者谷歌学者
  11. 武装有限公司。Morello纯功能内核用户Linux ABI规范,2023年8月。网址:https://git.morello-project.org/morello/kernel/linux/-/wikis/morello-pure-capability-kernel-user-linux-ABI特定。谷歌学者谷歌学者
  12. 托马斯·鲍瑞斯、布莱恩·坎贝尔、托马斯·苏厄尔、阿拉斯代尔·阿姆斯特朗、劳伦斯·埃斯伍德、伊恩·斯塔克、格雷姆·巴恩斯、罗伯特·沃森和彼得·苏厄勒。验证了Morello功能增强原型Arm架构的安全性。技术报告UCAM-CL-TR-959,剑桥大学计算机实验室,2021年9月。网址:https://www.cl.cam.ac.uk/techreports/UCAM-cl-TR-959.pdf谷歌学者谷歌学者
  13. 乔·比亚莱克(Joe Bialek)、肯·约翰逊(Ken Johnson)、马特·米勒(Matt Miller)和托尼·陈(Tony Chen)。2020年内存标记的安全性分析。网址:https://github.com/microsoft/MSRC-Security-Research/blob/master/papers/2020/Security%20analysis%20of%20memory%20tagging.pdf。谷歌学者谷歌学者
  14. Hans-J.Boehm、Alan J.Demers和Scott Shenker。主要是并行垃圾收集。1991年ACM SIGPLAN编程语言设计和实现会议记录,PLDI’91,第157-164页,美国纽约州纽约市,1991年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  15. A.M.Cheadle、A.J.Field、S.Marlow、S.L.Peyton Jones和R.L.While。不停Haskell。SIGPLAN不是。,35(9):257--2672000年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  16. C.J.切尼。非递归列表压缩算法。Commun公司。ACM公司,13(11):677--6781970年11月。谷歌学者谷歌学者数字图书馆数字图书馆
  17. 铬团队。记忆安全。网址:https://www.chromium.org/Home/chromium-security/memory-saffety。谷歌学者谷歌学者
  18. 奥斯汀·克莱门茨(Austin Clements)和瑞克·哈德森(Rick Hudson)。建议:消除STW烟囱重新扫描,2016年10月。网址:https://github.com/golang/proposal/blob/master/design/17503-eliminate-rescan.md。谷歌学者谷歌学者
  19. Cliff Click、Gil Tene和Michael Wolf。无暂停GC算法。第一届ACM/USENIX虚拟执行环境国际会议记录,VEE’05,第46-56页,美国纽约州纽约市,2005年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  20. Thurston H.Y.Dang、Petros Maniatis和David Wagner。奥斯卡:一个实用的基于页面权限的阻止悬空指针的方案。第26届USENIX安全研讨会(USENIX Security 17),第815--832页,不列颠哥伦比亚省温哥华,2017年8月。USENIX协会。网址:https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/dang。谷歌学者谷歌学者
  21. Data61值得信赖的系统团队。sel4参考手册版本12.1.0。网址:https://sel4.systems/Info/Docs/sel4-manual-latest.pdf。谷歌学者谷歌学者
  22. 布鲁克斯·戴维斯、罗伯特·N·M·沃森、亚历山大·理查森、彼得·诺依曼、西蒙·摩尔、约翰·鲍德温、大卫·奇斯纳尔、杰西卡·克拉克、纳撒尼尔·韦斯利·菲拉多、希兰·古德卡、亚历山大·乔安诺、本·劳里、A.西奥多·马克托斯、J.爱德华·马斯特、阿尔弗雷多·马津吉、爱德华·托马斯·纳皮埃拉拉、罗伯特·诺顿、迈克尔·罗、彼得·苏厄尔、斯泰西·森,和乔纳森·伍德拉夫。CheriABI:在POSIX C运行时环境中实施有效的指针来源并最小化指针特权。第二十四届国际编程语言和操作系统体系结构支持会议记录美国纽约州纽约市ASPLOS’19,第379--393页,2019年。计算机协会。网址:https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201904-asplos-cheriabi.pdf谷歌学者谷歌学者数字图书馆数字图书馆
  23. Nathaniel Wesley Filardo、Brett F.Gutstein、Jonathan Woodruff、Sam Ainsworth、Lucian Paul-Trifu、Brooks Davis、Hongyan Xia、Edward Tomasz Napierala、Alexander Richardson、John Baldwin、David Chisnall、Jessica Clarke、Khilan Gudka、Alexandre Joannou、A.Theodore Markettos、Alfredo Mazzinghi、Robert M.Norton、Michael Roe、Peter Sewell、Stacey Son、,Timothy M.Jones、Simon W.Moore、Peter G.Neumann和Robert N.M.Watson。聚宝盆:CHERI堆的暂时安全性。2020年IEEE安全与隐私研讨会(SP),第1507-1524页,美国加利福尼亚州洛斯阿拉米托斯,2020年5月。IEEE计算机学会。网址:https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/2020oakland-cornucopia.pdf谷歌学者谷歌学者交叉引用交叉引用
  24. 克里斯汀·弗洛德、罗曼·肯克、安德鲁·丁恩、安德鲁·海利和罗兰·韦斯特林。Shenandoah:OpenJDK的开源并发压缩垃圾收集器。第13届Java平台编程原理与实践国际会议论文集:虚拟机、语言和工具2016年,PPPJ’16,美国纽约州纽约市。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  25. 布雷特·古斯坦(Brett Gutstein)。CHERI Malloc撤销垫片。网址:https://github.com/CTSRD-CHERI/mrs。谷歌学者谷歌学者
  26. 布雷特·古斯坦(Brett Gutstein)。具有CHERI功能的内存安全:安全分析、语言解释器和堆临时安全。技术报告UCAM-CL-TR-975,剑桥大学计算机实验室,2022年11月。网址:https://www.cl.cam.ac.uk/techreports/UCAM-cl-TR-975.pdf谷歌学者谷歌学者
  27. 约翰·汉宁(John L.Henning)。规范cpu2006基准描述。SIGARCH计算。阿基特。新闻2006年9月,第34(4)页。谷歌学者谷歌学者
  28. 乌尔斯·霍尔兹勒(Urs Hölzle)。代垃圾收集器的快速写入障碍。OOPSLA’93垃圾收集研讨会会议记录1993年10月。网址:https://objectivery.selflanguage.org/write-barrier.html。谷歌学者谷歌学者
  29. Lorenz Huelsbergen和Phil Winterbottom。非常并发的标记和清除垃圾收集,没有细粒度同步。第一届记忆管理国际研讨会论文集,ISMM’98,第166--175页,美国纽约州纽约市,1998年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  30. A.Joannou、J.Woodruff、R.Kovacsics、S.W.Moore、A.Bradbury、H.Xia、R.N.M.Watson、D.Chisnall、M.Roe、B.Davis、E.Napierala、J.Baldwin、K.Gudka、P.G.Neumann、A.Mazzinghi、A.Richardson、S.Son和A.T.Markettos。高效标记内存。2017 IEEE国际计算机设计会议(ICCD),第641-648页,2017年11月。谷歌学者谷歌学者交叉引用交叉引用
  31. 马克·斯图亚特·约翰斯通。非压缩内存分配和实时垃圾收集,1997年12月。网址:https://proquest.com/docview/304374180。谷歌学者谷歌学者
  32. 在串行计算机上实时处理列表。《技术报告139》,麻省理工学院人工智能实验室,1977年。网址:https://dspace.mit.edu/handle/1721.1/41976。谷歌学者谷歌学者
  33. 保罗·利塔尔(Paul Liétar)、西奥多·巴特勒(Theodore Butler)、西尔文·克莱布施(Sylvan Clebsch)、索菲亚·德罗索波卢(Sophia Drossopoulou)、朱莉安娜·佛朗哥(Juliana Franco)、马修·帕金森(Matthew J.Parkinson。Snmalloc:消息传递分配器。2019年ACM SIGPLAN内存管理国际研讨会会议记录,ISMM 2019,第122-135页,美国纽约州纽约市,2019年。ACM公司。谷歌学者谷歌学者数字图书馆数字图书馆
  34. 刘代平、张明伟和王海宁。通过并发指针扫描,对无需使用后的漏洞进行强大而有效的防御。2018 ACM SIGSAC计算机和通信安全会议记录,CCS’18,第1635-1648页,美国纽约州纽约市,2018年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  35. 马特·米勒。2019年2月,软件脆弱性缓解领域的趋势、挑战和战略转变。网址:https://github.com/microsoft/MSRC安全研究/bob/master/presentations/2019_02_BlueHatIL/2019_01%20-%20BlueHatIL%20-%20Trends%2C%2C%2C%20挑战%2C%20和%20shifts%20in%20软件%20漏洞%20mitigation.pdf。谷歌学者谷歌学者
  36. M.L.明斯基。使用串行辅助存储的LISP垃圾收集器算法。技术报告AIM-058,麻省理工学院人工智能实验室,1963年12月。网址:https://dspace.mit.edu/handle/1721.1/6080。谷歌学者谷歌学者
  37. R.M.Needham和R.D.H.Walker。剑桥CAP计算机及其保护系统。第六届美国计算机学会操作系统原理研讨会论文集,SOSP’77,第1-10页,美国纽约州纽约市,1977年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  38. Oracle Inc.使用Silicon Secured Memory(SSM)进行硬件辅助检查,2015年。网址:https://docs.oracle.com/cd/E37069_01/html/E37085/gphwb.html。谷歌学者谷歌学者
  39. 马修·帕金森。硬化snmalloc。网址:https://github.com/microsoft/snmalloc/tree/9d4466093a7c42e4fe43e032aeca356674d6e55c/docs/security。谷歌学者谷歌学者
  40. 佩卡·P·皮林。增量跟踪的屏障技术。第一届记忆管理国际研讨会论文集,ISMM’98,第20-25页,美国纽约州纽约市,1998年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  41. 菲利普·皮兹洛(Filip Pizlo)、埃雷斯·佩特兰克(Erez Petrank)和比亚恩·斯滕斯加德(Bjarne Steensgaard)。研究并发实时垃圾收集器。SIGPLAN不是。,43(6):33-44,2008年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  42. 大卫·D·雷德尔。可扩展操作系统中的命名和保护。加州大学伯克利分校博士论文,1974年9月。网址:https://dspace.mit.edu/handle/1721.1/149438。谷歌学者谷歌学者数字图书馆数字图书馆
  43. 克里斯·罗尔夫。隔离分配堆分配器安全功能比较。网址:https://github.com/struct/isoalloc/blob/947f3bc91c3a61e3ec85bff8f43034d2a59c897d/SECURITY_COMPARISON.MD。谷歌学者谷歌学者
  44. 彼得·大卫·鲁格(Peter David Rugg)。微控制器和应用级处理器的高效空间和时间安全。技术报告UCAM-CL-TR-984,剑桥大学计算机实验室,2023年7月。网址:https://www.cl.cam.ac.uk/techpreports/UCAM-cl-TR-984.pdf谷歌学者谷歌学者
  45. 锈蚀参考。1.71.0版。网址:https://doc.rust-lang.org/1.71.0/reference。谷歌学者谷歌学者
  46. Konstantin Serebryany、Derek Bruening、Alexander Potapenko和Dmitry Vyukov。地址清理程序:一个快速的地址健全性检查程序。2012年USENIX ATC, 2012. 网址:https://www.usenix.org/conference/usenixfederatedconferencesweek/addresssanitizer-fast-address-sanity-checker。谷歌学者谷歌学者
  47. 克斯特亚·塞雷布雷尼(Kostya Serebryany)、叶夫根尼·斯特帕诺夫(Evgenii Stepanov)、阿列克西·什利亚普尼科夫(Aleksey Shlyapnikov)、弗莱德·茨克列维奇(Vlad Tsyrklevich)和德米特里·维尤科夫。内存标记及其如何提高C/C++内存安全性。网址:http://arxiv.org/abs/1802.09517,arXiv:1802.09517。谷歌学者谷歌学者
  48. Jangseop Shin、Donghyun Kwon、Jiwon Seo、Yeongpil Cho和Yungheung Paek。CRCount:指针无效,带有引用计数,以减轻旧版c/c++中的后用性。NDSS’19。互联网协会,2019年。谷歌学者谷歌学者交叉引用交叉引用
  49. 吉尔·特内。如何不测量延迟。低延迟峰会, 2013. 此演示文稿的版本可在https://www.infoq.com/presentations/latency-pitfalls/。谷歌学者谷歌学者
  50. Erik van der Kouwe、Vinod Nigade和Cristiano Giuffrida。DangSan:可扩展的无使用后检测。第十二届欧洲计算机系统会议记录,EuroSys’17,第405--419页,美国纽约州纽约市,2017年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆
  51. Robert N.M.Watson、Jessica Clarke、Peter Sewell、Jonathan Woodruff、Simon W.Moore、Graeme Barnes、Richard Grisentwaite、Kathryn Stacer、Silviu Baranga和Alexander Richardson。早期性能源于原型Morello微体系结构。技术报告UCAM-CL-TR-986,剑桥大学计算机实验室,2023年9月。谷歌学者谷歌学者
  52. Robert N.M.Watson、Peter G.Neumann、Jonathan Woodruff、Michael Roe、Hesham Almatary、Jonatnathan Anderson、John Baldwin、Graeme Barnes、David Chisnall、Jessica Clarke、Brooks Davis、Lee Eisen、Nathaniel Wesley Filardo、Franz A.Fuchs、Richard Grisenthwaite、Alexandre Joannou、Ben Laurie、A.Theodore Marketos、Simon W.Moore、Ste,肯德兰·尼胡斯(Kyndylan Nienhuis)、罗伯特·诺顿(Robert Norton)、亚历山大·理查森(Alexander Richardson。能力硬件增强RISC指令:CHERI指令集体系结构(第9版)。技术报告UCAM-CL-TR-987,剑桥大学计算机实验室,2023年9月。谷歌学者谷歌学者交叉引用交叉引用
  53. Robert N.M.Watson、Peter G.Neumann、Jonathan Woodruff、Michael Roe、Hesham Almatary、Jonatnathan Anderson、John Baldwin、Graeme Barnes、David Chisnall、Jessica Clarke、Brooks Davis、Lee Eisen、Nathaniel Wesley Filardo、Richard Grisenthwaite、Alexandre Joannou、Ben Laurie、A.Theodore Markettos、Simon W.Moore、Steven J.Murdoch、K,罗伯特·诺顿(Robert Norton)、亚历山大·理查森(Alexander Richardson)、彼得·鲁格(Peter Rugg)、彼得·苏厄尔(Peter Sewell)、斯泰西·儿子(Stacey Son)和夏红燕(Hongyan Xia)。能力硬件增强RISC指令:CHERI指令集体系结构(第8版)。技术报告UCAM-CL-TR-951,剑桥大学计算机实验室,2020年10月。网址:https://www.cl.cam.ac.uk/techreports/UCAM-cl-TR-951.pdf谷歌学者谷歌学者交叉引用交叉引用
  54. 罗伯特·沃森(Robert N.M.Watson)、彼得·诺伊曼(Peter G.Neumann)、乔纳森·伍德拉夫(Jonathan Woodruff)、迈克尔·罗(Michael Roe)、赫沙姆·阿尔马特里(Hesham Almatary)、乔森·安德森(Jonatnathan Anderson)、约翰·鲍德温(John Baldwin)、大卫·奇斯纳尔(David Chisnall)、布鲁克斯·戴维斯(Brooks Davis)、纳撒尼尔·费拉多(Nathaniel Wesley Filardo)。能力硬件增强RISC指令:CHERI指令集体系结构(第7版)。技术报告UCAM-CL-TR-927,剑桥大学计算机实验室,2018年10月。网址:https://www.cl.cam.ac.uk/techreports/UCAM-cl-TR-927.pdf谷歌学者谷歌学者交叉引用交叉引用
  55. Robert N.M.Watson、Alexander Richardson、Brooks Davis、John Baldwin、David Chisnall、Jessica Clarke、Nathaniel Filardo、Simon W.Moore、Edward Napierrala、Peter Sewell和Peter G.Neumann。CHERI C/C++编程指南。技术报告UCAM-CL-TR-947,剑桥大学计算机实验室,2020年6月。网址:https://www.cl.cam.ac.uk/techreports/UCAM-cl-TR-947.pdf谷歌学者谷歌学者
  56. P.R.Wilson和T.G.Moher。一种“卡片标记”方案,用于控制库存硬件上基于生成的垃圾收集中的代间引用。SIGPLAN不是。,24(5):87--921989年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  57. 乔纳森·伍德拉夫(Jonathan Woodruff)、亚历山大·乔安诺(Alexandre Joannou)、夏洪燕(Hongyan Xia)、安东尼·福克斯(Anthony Fox)、罗伯特·诺顿-怀特(Robert Norton-Wright)、托马斯·鲍瑞斯(Thomas Baueris)、大卫·奇斯纳尔(David Chisnall)、布鲁克斯·戴维斯(Brooks Davis)、凯兰·古德卡(。Cheri concentre:实用的压缩功能。电气电子工程师学会计算机期刊2019年4月。网址:https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/2019tc-cheri-concentrate.pdf。谷歌学者谷歌学者交叉引用交叉引用
  58. 夏红燕、乔纳森·伍德拉夫、山姆·安斯沃思、纳撒尼尔·W·菲拉多、迈克尔·罗、亚历山大·理查森、彼得·鲁格、彼得·诺依曼、西蒙·摩尔、罗伯特·沃森和蒂莫西·琼斯。CHERIvoke:使用CHERI暂时内存安全功能描述指针撤销的特征。第52届IEEE/ACM微体系结构国际研讨会论文集(IEEE MICRO 2019),MICRO-52,美国俄亥俄州哥伦布,2019年10月。网址:https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201910micro-cheri-temporal-safety.pdf谷歌学者谷歌学者数字图书馆数字图书馆
  59. 杨明坤(Albert Mingkun Yang)和托比亚斯·箭牌(Tobias Wrigstad)。深入研究zgc:openjdk中的现代垃圾收集器。ACM事务处理。程序。语言系统。,第44(4)页,2022年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  60. 张彤、李东耀和郑昌熙。Bogo:购买空间内存安全,获得时间内存安全(几乎)免费。第二十四届国际编程语言和操作系统体系结构支持会议记录美国纽约州纽约市ASPLOS’19,第631-644页,2019年。计算机协会。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. Cornucopia重新加载:CHERI堆临时安全的负载屏障

        建议

        评论

        登录选项

        检查您是否可以通过登录凭据或您的机构访问本文。

        登录

        完全访问权限

        • 文章指标

          • 下载量(最近12个月)111
          • 下载次数(最近6周)111

          其他指标

        PDF格式

        以PDF文件查看或下载。

        PDF格式

        电子阅读器

        使用eReader联机查看。

        电子阅读器