SIoT: securing the internet of things through distributed system analysis

F. A. Teixeira, G. V. Machado, Fernando Magno Quintão Pereira, H. Wong, J. Nogueira, Leonardo B. Oliveira
{"title":"SIoT: securing the internet of things through distributed system analysis","authors":"F. A. Teixeira, G. V. Machado, Fernando Magno Quintão Pereira, H. Wong, J. Nogueira, Leonardo B. Oliveira","doi":"10.1145/2737095.2737097","DOIUrl":null,"url":null,"abstract":"The Internet of Things (IoT) is increasingly more relevant. This growing importance calls for tools able to provide users with correct, reliable and secure systems. In this paper, we claim that traditional approaches to analyze distributed systems are not expressive enough to address this challenge. As a solution to this problem, we present SIoT, a framework to analyze networked systems. SIoT's key insight is to look at a distributed system as a single body, and not as separate programs that exchange messages. By doing so, we can crosscheck information inferred from different nodes. This crosschecking increases the precision of traditional static analyses. To construct this global view of a distributed system we introduce a novel algorithm that discovers inter-program links efficiently. Such links lets us build a holistic view of the entire network, a knowledge that we can thus forward to a traditional tool. We prove that our algorithm always terminates and that it correctly models the semantics of a distributed system. To validate our solution, we have implemented SIoT on top of the LLVM compiler, and have used one instance of it to secure 6 ContikiOS applications against buffer overflow attacks. This instance of SIoT produces code that is as safe as code secured by more traditional analyses; however, our binaries are on average 18% more energy-efficient.","PeriodicalId":318992,"journal":{"name":"Proceedings of the 14th International Conference on Information Processing in Sensor Networks","volume":"165 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"16","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 14th International Conference on Information Processing in Sensor Networks","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2737095.2737097","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 16

Abstract

The Internet of Things (IoT) is increasingly more relevant. This growing importance calls for tools able to provide users with correct, reliable and secure systems. In this paper, we claim that traditional approaches to analyze distributed systems are not expressive enough to address this challenge. As a solution to this problem, we present SIoT, a framework to analyze networked systems. SIoT's key insight is to look at a distributed system as a single body, and not as separate programs that exchange messages. By doing so, we can crosscheck information inferred from different nodes. This crosschecking increases the precision of traditional static analyses. To construct this global view of a distributed system we introduce a novel algorithm that discovers inter-program links efficiently. Such links lets us build a holistic view of the entire network, a knowledge that we can thus forward to a traditional tool. We prove that our algorithm always terminates and that it correctly models the semantics of a distributed system. To validate our solution, we have implemented SIoT on top of the LLVM compiler, and have used one instance of it to secure 6 ContikiOS applications against buffer overflow attacks. This instance of SIoT produces code that is as safe as code secured by more traditional analyses; however, our binaries are on average 18% more energy-efficient.
SIoT:通过分布式系统分析保护物联网
物联网(IoT)正变得越来越重要。这种日益增长的重要性要求工具能够为用户提供正确、可靠和安全的系统。在本文中,我们声称分析分布式系统的传统方法不足以表达这一挑战。为了解决这个问题,我们提出了SIoT,一个分析网络系统的框架。SIoT的关键见解是将分布式系统视为单个主体,而不是交换消息的独立程序。通过这样做,我们可以交叉检查从不同节点推断的信息。这种交叉检查增加了传统静态分析的精度。为了构建分布式系统的全局视图,我们引入了一种有效发现程序间链接的新算法。这样的联系让我们对整个网络建立了一个整体的看法,我们可以将这种知识转发给传统工具。我们证明了我们的算法总是终止的,并且它正确地建模了分布式系统的语义。为了验证我们的解决方案,我们在LLVM编译器上实现了SIoT,并使用它的一个实例来保护6个ContikiOS应用程序免受缓冲区溢出攻击。这个SIoT实例生成的代码与由更传统的分析保护的代码一样安全;然而,我们的二进制代码平均节能18%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信