在单个指令中进行数组绑定检查和访问

Antônio A. M. Maia, Leandro T. C. Melo, Fernando Magno Quintão Pereira, O. V. Neto, Leonardo B. Oliveira
{"title":"在单个指令中进行数组绑定检查和访问","authors":"Antônio A. M. Maia, Leandro T. C. Melo, Fernando Magno Quintão Pereira, O. V. Neto, Leonardo B. Oliveira","doi":"10.1109/CCNC.2016.7444872","DOIUrl":null,"url":null,"abstract":"A Buffer Overflow (BOF) continues to be among the top open doors to worms and malware. Earlier in 2014, the security world was taken by surprise when researches unveiled a BOF in OpenSSL. Languages like C and C++, widely used for system development and for a large variety of applications, do not provide native Array-Bound Checks (ABC). A myriad of proposals endeavor memory protection for such languages by employing both software- and hardware-based solutions. Due to numerous reasons, none of them have yet reached the mainstream. In this work we propose a novel approach to achieve an array bound-check and a memory access (when allowed) within a single instruction. We discuss how it can be implemented on variable-length ISAs and provide a reference implementation. Our results indicate that our solution can run programs 1,79× faster than the software-based approach.","PeriodicalId":399247,"journal":{"name":"2016 13th IEEE Annual Consumer Communications & Networking Conference (CCNC)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"SMOV: Array Bound-Check and access in a single instruction\",\"authors\":\"Antônio A. M. Maia, Leandro T. C. Melo, Fernando Magno Quintão Pereira, O. V. Neto, Leonardo B. Oliveira\",\"doi\":\"10.1109/CCNC.2016.7444872\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A Buffer Overflow (BOF) continues to be among the top open doors to worms and malware. Earlier in 2014, the security world was taken by surprise when researches unveiled a BOF in OpenSSL. Languages like C and C++, widely used for system development and for a large variety of applications, do not provide native Array-Bound Checks (ABC). A myriad of proposals endeavor memory protection for such languages by employing both software- and hardware-based solutions. Due to numerous reasons, none of them have yet reached the mainstream. In this work we propose a novel approach to achieve an array bound-check and a memory access (when allowed) within a single instruction. We discuss how it can be implemented on variable-length ISAs and provide a reference implementation. Our results indicate that our solution can run programs 1,79× faster than the software-based approach.\",\"PeriodicalId\":399247,\"journal\":{\"name\":\"2016 13th IEEE Annual Consumer Communications & Networking Conference (CCNC)\",\"volume\":\"11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 13th IEEE Annual Consumer Communications & Networking Conference (CCNC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CCNC.2016.7444872\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 13th IEEE Annual Consumer Communications & Networking Conference (CCNC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CCNC.2016.7444872","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

缓冲区溢出(BOF)仍然是对蠕虫和恶意软件敞开的大门之一。2014年初,当研究人员公布OpenSSL中的BOF时,安全界感到惊讶。像C和c++这样的语言,广泛用于系统开发和各种各样的应用程序,不提供本机数组绑定检查(ABC)。无数的建议通过采用基于软件和硬件的解决方案来努力保护这些语言的内存。由于种种原因,它们都还没有成为主流。在这项工作中,我们提出了一种新的方法来实现数组绑定检查和内存访问(在允许的情况下)在单个指令。我们讨论了如何在变长isa上实现它,并提供了一个参考实现。我们的结果表明,我们的解决方案运行程序的速度比基于软件的方法快1.79倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
SMOV: Array Bound-Check and access in a single instruction
A Buffer Overflow (BOF) continues to be among the top open doors to worms and malware. Earlier in 2014, the security world was taken by surprise when researches unveiled a BOF in OpenSSL. Languages like C and C++, widely used for system development and for a large variety of applications, do not provide native Array-Bound Checks (ABC). A myriad of proposals endeavor memory protection for such languages by employing both software- and hardware-based solutions. Due to numerous reasons, none of them have yet reached the mainstream. In this work we propose a novel approach to achieve an array bound-check and a memory access (when allowed) within a single instruction. We discuss how it can be implemented on variable-length ISAs and provide a reference implementation. Our results indicate that our solution can run programs 1,79× faster than the software-based approach.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信