Secure embedded architectures: Taint properties verification

Nowadays embedded devices collect various kinds of information and provide it to communication networks for further processing. These devices often provide critical functionalities that could be exploited by malicious parties. Using formal techniques is a natural way to increase the confidence in the overall embedded system security. However, the major research focus is on verifying only the correctness of encryption algorithms and their implementation in software and hardware and not the whole security process. Following novel research studies, many security requirements of an embedded architecture can be specified as Taint Properties, expressing properties related to information flow and access control. In this paper we define Taint Properties as a way to find out whether there is a path from src to dest, where src is an RTL signal seeded with the Taint and dest is a signal not to be reached by the Taint in order to satisfy the security requirements. In our scenario a Taint is an untrusted code following an illegal path from src to dest. We present a systematic approach to formalize generic security requirements, referring to a model abstraction, and their related Taint Properties of an embedded architecture. First, we present our model abstraction of two selected embedded secure architectures, then we define a portfolio of Taint Properties to verify key secrecy, isolation, attestation, confidentiality and availability features. We finally perform verification of previously defined formal security properties, hence presenting results on two selected embedded architectures proving the effectiveness of our approach.

[1]  Gianpiero Cabodi,et al.  Symbolic forward/backward traversals of large finite state machines , 2000, J. Syst. Archit..

[2]  Gianpiero Cabodi,et al.  Improving the Efficiency of BDD--based operators through Partitioning , 1999 .

[3]  Gianpiero Cabodi,et al.  Optimization techniques for craig interpolant compaction in unbounded model checking , 2013, DATE 2013.

[4]  E. Clarke,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[5]  Karim Eldefrawy SMART: Secure and Minimal Architecture for (Establishing a Dynamic) Root of Trust , 2012, NDSS 2012.

[6]  Gianpiero Cabodi,et al.  Trading-Off SAT Search and Variable Quantifications for Effective Unbounded Model Checking , 2008, 2008 Formal Methods in Computer-Aided Design.

[7]  Gianpiero Cabodi Meta-BDDs: A Decomposed Representation for Layered Symbolic Manipulation of Boolean Functions , 2001, CAV.

[8]  Gianpiero Cabodi,et al.  Partitioning Interpolant-Based Verification for Effective Unbounded Model Checking , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Gianpiero Cabodi,et al.  Benchmarking a model checker for algorithmic improvements and tuning for performance , 2011, Formal Methods Syst. Des..

[10]  Frank Piessens,et al.  Sancus: Low-cost Trustworthy Extensible Networked Devices with a Zero-software Trusted Computing Base , 2013, USENIX Security Symposium.

[11]  Gianpiero Cabodi,et al.  Boosting interpolation with dynamic localized abstraction and redundancy removal , 2008, TODE.

[12]  Pramod Subramanyan,et al.  Formal verification of taint-propagation security properties in a commercial SoC design , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Gianpiero Cabodi,et al.  Mixing Forward and Backward Traversals in Guided-Prioritized BDD-Based Verification , 2002, CAV.

[14]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[15]  Gianpiero Cabodi,et al.  Formal Verification of Embedded Systems for Remote Attestation , 2015 .

[16]  Steven P. Levitan,et al.  Model abstraction for formal verification , 1998, Proceedings Design, Automation and Test in Europe.

[17]  Srivaths Ravi,et al.  Security as a new dimension in embedded system design , 2004, Proceedings. 41st Design Automation Conference, 2004..

[18]  Robert K. Brayton,et al.  Efficient implementation of property directed reachability , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[19]  Gianpiero Cabodi,et al.  Interpolation with Guided Refinement: Revisiting incrementality in SAT-based unbounded model checking , 2014, 2014 Formal Methods in Computer-Aided Design (FMCAD).

[20]  Gene Tsudik,et al.  Systematic Treatment of Remote Attestation , 2012, IACR Cryptol. ePrint Arch..

[21]  Gianpiero Cabodi,et al.  Automated abstraction by incremental refinement in interpolant-based model checking , 2008, ICCAD 2008.

[22]  Zhou Cheng,et al.  Overview of the Internet of Things , 2011 .