Control Flow Integrity in IoT Devices with Performance Counters and DWT

Author(s):  
Ananda Biswas ◽  
Zelong Li ◽  
Akhilesh Tyagi
2021 ◽  
Vol 3 (1) ◽  
Author(s):  
Ananda Biswas ◽  
Zelong Li ◽  
Akhilesh Tyagi

2020 ◽  
Vol 2020 ◽  
pp. 1-14
Author(s):  
Yu Qin ◽  
Jingbin Liu ◽  
Shijun Zhao ◽  
Dengguo Feng ◽  
Wei Feng

Software attacks like worm, botnet, and DDoS are the increasingly serious problems in IoT, which had caused large-scale cyber attack and even breakdown of important information infrastructure. Software measurement and attestation are general methods to detect software integrity and their executing states in IoT. However, they cannot resist TOCTOU attack due to their static features and seldom verify correctness of control flow integrity. In this paper, we propose a novel and practical scheme for software trusted execution based on lightweight trust. Our scheme RIPTE combines dynamic measurement and control flow integrity with PUF device binding key. Through encrypting return address of program function by PUF key, RIPTE can protect software integrity at runtime on IoT device, enabling to prevent the code reuse attacks. The results of our prototype’s experiment show that it only increases a small size TCB and has a tiny overhead in IoT devices under the constraint on function calling. In sum, RIPTE is secure and efficient in IoT device protection at runtime.


Author(s):  
Pengfei Qiu ◽  
Yongqiang Lyu ◽  
Jiliang Zhang ◽  
Dongsheng Wang ◽  
Gang Qu

Author(s):  
Paul Muntean ◽  
Matthias Neumayer ◽  
Zhiqiang Lin ◽  
Gang Tan ◽  
Jens Grossklags ◽  
...  

2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-30
Author(s):  
Son Tuan Vu ◽  
Albert Cohen ◽  
Arnaud De Grandmaison ◽  
Christophe Guillon ◽  
Karine Heydemann

Software protections against side-channel and physical attacks are essential to the development of secure applications. Such protections are meaningful at machine code or micro-architectural level, but they typically do not carry observable semantics at source level. This renders them susceptible to miscompilation, and security engineers embed input/output side-effects to prevent optimizing compilers from altering them. Yet these side-effects are error-prone and compiler-dependent. The current practice involves analyzing the generated machine code to make sure security or privacy properties are still enforced. These side-effects may also be too expensive in fine-grained protections such as control-flow integrity. We introduce observations of the program state that are intrinsic to the correct execution of security protections, along with means to specify and preserve observations across the compilation flow. Such observations complement the input/output semantics-preservation contract of compilers. We introduce an opacification mechanism to preserve and enforce a partial ordering of observations. This approach is compatible with a production compiler and does not incur any modification to its optimization passes. We validate the effectiveness and performance of our approach on a range of benchmarks, expressing the secure compilation of these applications in terms of observations to be made at specific program points.


Author(s):  
Paul Muntean ◽  
Matthias Fischer ◽  
Gang Tan ◽  
Zhiqiang Lin ◽  
Jens Grossklags ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document