CFRV: A Decentralized Control-Flow Attestation Schema Using Mutual Secret Sharing
Abstract
:1. Introduction
- We patched the decentralized CFA with a secret slice mechanism. It makes the prover able to determine the real origin of challenges and achieve mutual verification between peer devices.
- The proposed secret slice mechanism in CFRV can also extend those schemes which use the execution of challenges as the proof-of-execution. In the decentralized schema that requires the prover to execute the challenges, it refuses illegal challenges that contain attack vectors from a malicious verifier.
- Limiting PKI usage to a single phase (the registration phase) reduces the computational burden of handling the attestation, especially for resource-constrained devices.
2. Background and Related Works
2.1. Control Flow Attestation
2.2. Decentralized CFA
2.3. Executing Challenges as a PoX
2.4. Research Gap
- Issue 1: The existence of a center node may lead to single-point failure in the network. The whole cluster of devices is unavailable once the center node corrupts. For an attestation schema, it is not enough in its functionality as it could only work unidirectionally.
- Issue 2: In the decentralized schema, adversaries have chances to become a verifier. Due to the potential malicious behavior of the verifier, previous decentralized control flow attestation schemes cannot use the input as the PoX mechanism. Moreover, the security issue caused by a malicious verifier is hard to mitigate only by an encryption process. The adversary can bypass an attestation process by using a defrauded response from a new verification process it launches.
- Issue 3: Each node can initiate or respond to the verification in a decentralized schema. Under this condition, the frequency of PKI usage would increase significantly compared to the attestation launched only by the trusted center. Moreover, due to the need to mitigate impersonation in the decentralized schema, PKI usage is more sophisticated. Although public-key algorithms for resource-constrained devices have made great progress in the last two decades, high-frequency usage might still lead to performance bottlenecks. In decentralized CFA schemes, the computational cost of using the private key in every challenge–response process could be further optimized.
3. Research Questions
3.1. RQ1: Making the PoX Mechanism (That Requires the Execution of Challenges) Suitable for Decentralized CFA Schema
3.2. RQ2: Mitigating the ‘Response Defraud’
3.3. Motivations
4. System Model
4.1. Overview
4.2. Security Assumptions
5. Mutual Verification Design
5.1. Design of Secret Slices
5.1.1. Building Secret Slices
5.1.2. Distributing Secret Slices
5.1.3. Safety
5.2. The Mutual Verification
- (i)
- The verifier A uses a random number to pick a Challenge–Response Pair (CRP) from a secret slice sent by prover as . Then, it sends as an attestation request to node C.
- (ii)
- The prover ensures that is actually from by confirming has actually been shared to A in the secret-sharing stage. The prover executes the challenge after the admission that it is from . represents the hash of basic-block id consequences of its execution path, which would then be sent to the verifier (V).
- (iii)
- If is equal to that the verifier stores, verifier (V) would confirm the prover’s integrity based on its control-flow that matches the challenge in . The challenge is only in which was delivered uniquely from C to A. Therefore, the validity of verifier A is also confirmed.
5.3. Optimizing PKI Usage in Decentralized CFA Schema
6. System Implementation
6.1. Initialization
- (i)
- In order to deploy an instrumentation process for identifying each control flow, CFRV uses Clang to compile source code into its intermediate representation (). Instrumentation is a way to statically make stamps on the control flow by inserting identifiers between transfer instructions in the . These stamped instructions (the block-id and jump to the trampoline) are used for recording its execution path. In Figure 8, the block-id inserted into the is a 16-bit random number. Rather than instrumenting before every block, CFRV reduces the instrumentation density as long as the control flow record is unique. Furthermore, we use a loop-counter instead of stamping inside the loops. Then, we build these instrumented into binaries through the LLVM backend.
- (ii)
- The secret slicer transforms random seeds to build a set of challenge–response pairs by covering execution paths automatically. In our proof-of-concept, we built fuzzer-like test-cases generator based on the AFL [29]. For example, changing the precision of floating point variables can generate different test cases. Moreover, to ensure every slice is totally different from others, the number of devices (n) cannot be too large. In our implementations, we regard 8 as a normal threshold of n and the size of each secret slice is 15 kb.
- (iii)
- The master node delivers unique binaries along with their certificates (public-key pair) to other devices. After that, it would be excluded from the cluster as we cannot always ensure its safety.
6.2. Registration
- (iv)
- Devices slice their generated test-cases into disjoint parts based on the number of other devices (N) with a constraint that the functionalities for each slice are the same. For example, the content of is totally different from as a certain test case could and could only be picked once (Equation (1)), while the control-flow they trigger are the same (Equation (3)). After sharing secret slices, the node B only keeps its challenge as challenge_slices and drops the response in the secret slice.
- (v)
- The node delivers its secret slices under the protection of PKI that deploys in (iii). For example, device B sends A the message which contains: ,
6.3. Verification
- (vi)
- The verifier generates a time-stamp and selects a random number . Verifier uses to pick a Challenge–Response Pair (CRP) from secret slice which is sent by the prover. The verifier computes and . is encrypted with their symmetric key to secure the random challenge c. Then, it sends as a verification request to B.
- (vii)
- The prover generates a time-stamp and decrypt and challenge c from . We use to reject the time-out messages. The prover ensures that c is actually from shared in the registration phase. The prover uses the corresponding software to execute challenge, c, after admitting it is from . is a control-flow record consisting of the hashes of basic block-id consequences. Then, the prover sends to the verifier along with its loop metadata.
- (viii)
- Verifier generates a time-stamp and computes . If and , the verifier would accept prover’s integrity based on the control-flow records which matches the response stored in . means that corresponding control-flow is actually integrated.
7. Evaluations
7.1. Safety
7.1.1. Impersonation
7.1.2. Session Hijack
7.1.3. Poisoned Challenges
7.1.4. Response Defraud
7.2. Performance
7.2.1. Protocol Efficiency
7.2.2. Overhead
8. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- El-hajj, M.; Fadlallah, A.; Chamoun, M.; Serhrouchni, A. A Survey of Internet of Things (IoT) Authentication Schemes. Sensors 2019, 19, 1141. [Google Scholar] [CrossRef] [PubMed]
- Muhammad, M.; Safdar, G.A. Survey on existing authentication issues for cellular-assisted V2X communication. Veh. Commun. 2018, 12, 50–65. [Google Scholar] [CrossRef]
- Zhang, Y.; Cheng, K.; Khan, F.; Alturki, R.; Khan, R.; Rehman, A.U. A mutual authentication scheme for establishing secure device-to-device communication sessions in the edge-enabled smart cities. J. Inf. Secur. Appl. 2021, 58, 102683. [Google Scholar] [CrossRef]
- Verma, P.K.; Verma, R.; Prakash, A.; Agrawal, A.; Naik, K.; Tripathi, R.; Alsabaan, M.; Khalifa, T.; Abdelkader, T.; Abogharaf, A. Machine-to-Machine (M2M) communications: A survey. J. Netw. Comput. Appl. 2016, 66, 83–105. [Google Scholar] [CrossRef]
- Baudry, B.; Monperrus, M. The Multiple Facets of Software Diversity: Recent Developments in Year 2000 and Beyond. ACM Comput. Surv. 2015, 48, 1–26. [Google Scholar] [CrossRef]
- Kwon, B.J.; Hong, S.; Jeon, Y.; Kim, D. Certified Malware in South Korea: A Localized Study of Breaches of Trust in Code-Signing PKI Ecosystem. In Proceedings of the Information and Communications Security—23rd International Conference, ICICS 2021, Chongqing, China, 19–21 November 2021; Gao, D., Li, Q., Guan, X., Liao, X., Eds.; Proceedings, Part I. Springer: Berlin/Heidelberg, Germany, 2021; pp. 59–77. [Google Scholar] [CrossRef]
- De Clercq, R.; Götzfried, J.; Übler, D.; Maene, P.; Verbauwhede, I. SOFIA: Software and control flow integrity architecture. Comput. Secur. 2017, 68, 16–35. [Google Scholar] [CrossRef]
- Rao, J.; Ao, T.; Dai, K.; Zou, X. ARCE: Towards Code Pointer Integrity on Embedded Processors Using Architecture-Assisted Run-Time Metadata Management. IEEE Comput. Archit. Lett. 2019, 18, 115–118. [Google Scholar] [CrossRef]
- Abera, T.; Asokan, N.; Davi, L.; Ekberg, J.-E.; Nyman, T.; Paverd, A.; Sadeghi, A.-R.; Tsudik, G. C-FLAT: Control-Flow Attestation for Embedded Systems Software. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2016; pp. 743–754. [Google Scholar] [CrossRef]
- Chen, G.; Zhang, Y. MAGE: Mutual Attestation for a Group of Enclaves without Trusted Third Parties. arXiv 2020, arXiv:2008.09501. [Google Scholar]
- Bashar, G.D.; Avila, A.A.; Dagher, G.G. PoQ: A Consensus Protocol for Private Blockchains Using Intel SGX. In Proceedings of the Security and Privacy in Communication Networks—16th EAI International Conference, SecureComm 2020, Washington, DC, USA, 21–23 October 2020; Park, N., Sun, K., Foresti, S., Butler, K.R.B., Saxena, N., Eds.; Proceedings, Part II. Springer: Berlin/Heidelberg, Germany, 2020; pp. 141–160. [Google Scholar] [CrossRef]
- Liu, S.; Song, Q.; Sun, K.; Li, Q. SGX-Cube: An SGX-Enhanced Single Sign-On System Against Server-Side Credential Leakage. In Proceedings of the Security and Privacy in Communication Networks—16th EAI International Conference, SecureComm 2020, Washington, DC, USA, 21–23 October 2020; Park, N., Sun, K., Foresti, S., Butler, K.R.B., Saxena, N., Eds.; Proceedings, Part II. Springer: Berlin/Heidelberg, Germany, 2020; pp. 275–290. [Google Scholar] [CrossRef]
- Zhang, Y.; Qin, Y.; Feng, D.; Yang, B.; Wang, W. An Efficient Trustzone-Based In-application Isolation Schema for Mobile Authenticators. In Proceedings of the Security and Privacy in Communication Networks—13th International Conference, SecureComm 2017, Niagara Falls, ON, Canada, 22–25 October 2017; Lin, X., Ghorbani, A.A., Ren, K., Zhu, S., Zhang, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2017; pp. 585–605. [Google Scholar] [CrossRef]
- Asokan, N.; Brasser, F.; Ibrahim, A.; Sadeghi, A.-R.; Schunter, M.; Tsudik, G.; Wachsmann, C. SEDA: Scalable Embedded Device Attestation. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, 12–16 October 2015; Ray, I., Li, N., Kruegel, C., Eds.; ACM: New York, NY, USA, 2015; pp. 964–975. [Google Scholar] [CrossRef]
- Ambrosin, M.; Conti, M.; Ibrahim, A.; Neven, G.; Sadeghi, A.-R.; Schunter, M. SANA: Secure and Scalable Aggregate Network Attestation. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2016; Weippl, E.R., Katzenbeisser, S., Kruegel, C., Myers, A.C., Halevi, S., Eds.; ACM: New York, NY, USA, 2016; pp. 731–742. [Google Scholar] [CrossRef]
- De Oliveira Nunes, I.; Jakkamsetti, S.; Tsudik, G. Tiny-CFA: Minimalistic Control-Flow Attestation Using Verified Proofs of Execution. In Proceedings of the 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 1–5 February 2021; pp. 641–646. [Google Scholar] [CrossRef]
- Toffalini, F.; Losiouk, E.; Biondo, A.; Zhou, J.; Conti, M. ScaRR: Scalable Runtime Remote Attestation for Complex Systems. In Proceedings of the 22nd International Symposium on Research in Attacks, Intrusions and Defenses, RAID 2019, Beijing, China, 23–25 September 2019; pp. 121–134. [Google Scholar]
- Hu, J.; Huo, D.; Wang, M.; Wang, Y.; Zhang, Y.; Li, Y. A Probability Prediction Based Mutable Control-Flow Attestation Scheme on Embedded Platforms. In Proceedings of the 18th IEEE International Conference on Trust, Security in Addition, Privacy in Computing in Addition, Communications/13th IEEE International Conference on Big Data Science in Addition, Engineering, TrustCom/BigDataSE 2019, Rotorua, New Zealand, 5–8 August 2019; pp. 530–537. [Google Scholar] [CrossRef]
- Dessouky, G.; Abera, T.; Ibrahim, A.; Sadeghi, A.-R. LiteHAX: Lightweight hardware-assisted attestation of program execution. In Proceedings of the International Conference on Computer-Aided Design, ICCAD 2018, San Diego, CA, USA, 5–8 November 2018; Bahar, I., Ed.; ACM: New York, NY, USA, 2018; p. 106. [Google Scholar] [CrossRef]
- Dessouky, G.; Zeitouni, S.; Nyman, T.; Paverd, A.; Davi, L.; Koeberl, P.; Asokan, N.; Sadeghi, A.-R. LO-FAT: Low-Overhead Control Flow ATtestation in Hardware. In Proceedings of the ACM 54th Annual Design Automation Conference, Austin, TX, USA, 18–22 June 2017; pp. 1–6. [Google Scholar] [CrossRef]
- Zeitouni, S.; Dessouky, G.; Arias, O.; Sullivan, D.; Ibrahim, A.; Jin, Y.; Sadeghi, A.-R. ATRIUM: Runtime attestation resilient under memory attacks. In Proceedings of the 2017 IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2017, Irvine, CA, USA, 13–16 November 2017; Parameswaran, S., Ed.; IEEE: Piscataway Township, NJ, USA, 2017; pp. 384–391. [Google Scholar] [CrossRef]
- Liu, J.; Yu, Q.; Liu, W.; Zhao, S.; Feng, D.; Luo, W. Log-Based Control Flow Attestation for Embedded Devices. In Proceedings of the Cyberspace Safety and Security—11th International Symposium, CSS 2019, Guangzhou, China, 1–3 December 2019; Proceedings, Part I. Vaidya, J., Zhang, X., Li, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2019; pp. 117–132. [Google Scholar] [CrossRef]
- Koutroumpouchos, N.; Ntantogian, C.; Menesidou, S.-A.; Liang, K.; Gouvas, P.; Xenakis, C.; Giannetsos, T. Secure Edge Computing with Lightweight Control-Flow Property-Based Attestation. In Proceedings of the 2019 IEEE Conference on Network Softwarization (NetSoft), Paris, France, 24–28 June 2019; pp. 84–92. [Google Scholar] [CrossRef]
- Hristozov, S.; Heyszl, J.; Wagner, S.; Sigl, G. Practical Runtime Attestation for Tiny IoT Devices. In Proceedings of the 2018 Workshop on Decentralized IoT Security and Standards. Internet Society, San Diego, CA, USA, 18 February 2018. [Google Scholar] [CrossRef]
- Halldórsson, R.M.; Dushku, E.; Dragoni, N. ARCADIS: Asynchronous Remote Control-Flow Attestation of Distributed IoT Services. IEEE Access 2021, 9, 144880–144894. [Google Scholar] [CrossRef]
- Wang, W.-C.; Yona, Y.; Wu, Y.; Diggavi, S.N.; Gupta, P. SLATE: A Secure Lightweight Entity Authentication Hardware Primitive. IEEE Trans. Inform. Forensic Secur. 2020, 15, 276–285. [Google Scholar] [CrossRef]
- Nunes, I.D.O.; Eldefrawy, K.; Rattanavipanon, N.; Tsudik, G. APEX: A Verified Architecture for Proofs of Execution on Remote Devices under Full Software Compromise. In Proceedings of the 29th USENIX Security Symposium (USENIX Security 20), San Diego, CA, USA, 12–14 August 2020; pp. 771–788. [Google Scholar]
- Lattner, C.; Adve, V.S. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Proceedings of the 2nd IEEE / ACM International Symposium on Code Generation and Optimization (CGO 2004), San Jose, CA, USA, 20–24 March 2004; pp. 75–88. [Google Scholar] [CrossRef]
- American Fuzzy Lop Fuzzer (Afl). Available online: https://github.com/google/AFL (accessed on 24 March 2022).
- Wilander, J.; Nikiforakis, N.; Younan, Y.; Kamkar, M.; Joosen, W. RIPE: Runtime intrusion prevention evaluator. In Proceedings of the 27th Annual Computer Security Applications Conference on—ACSAC ’11, Orlando, FL, USA, 5–9 December 2011; p. 41. [Google Scholar] [CrossRef]
Symbol | Description | Procedure | Description |
---|---|---|---|
Challenge slice | Execute the input c | ||
Response slice | Sign m using private key | ||
c | a challenge | Verify m using public key | |
Secret slice from C to A | Generate a random number | ||
T | Time stamp | Encrypt m using symmetric key K | |
n | The number of devices | Decrypt m using symmetric key K | |
S | Software input | Cryptographic hash function |
Scheme | Single-Point Failure | Impersonation | Session Hijack | Poisoned Challenge | Proof of eXecution | Response Defraud |
---|---|---|---|---|---|---|
C-FLAT [9] | ✕ | ◐ | ◐ | - | ✕ | - |
Lo-FAT [20] | ✕ | ◐ | ◐ | - | ✔ | - |
Tiny-CFA [16] | ✕ | ✔ | ◐ | - | ✔ | - |
ScaRR [17] | ✕ | ◐ | ◐ | - | ✔ | - |
CFPA [23] | ✔ | ✔ | ◐ | ✔ | ✕ | ✕ |
Hristozov et al. [24] | ✔ | ✔ | ✔ | ✔ | ✕ | ✕ |
ARCADIS [25] | ✔ | ✔ | ✔ | ✔ | ✕ | ✕ |
CFRV | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Program | Code Injection | JOP | ROP | Executable Size | Overhead |
---|---|---|---|---|---|
firstROP.c | ✔ | - | ✔ | 8.7 kb | 1.5% |
CallARG.c | ✔ | ✔ | ✔ | 8.6 kb | 1.2% |
Encrypt.cpp | ✔ | ✔ | ✔ | 29.8 kb | 21.8% |
LEDcontroller.cpp | ✔ | ✔ | ✔ | 18 kb | 7.2% |
MotionDriver.cpp | ✔ | ✔ | ✔ | 17.3 kb | 16.0% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, Y.; Zhou, Q.; Li, B.; Zhuang, Y. CFRV: A Decentralized Control-Flow Attestation Schema Using Mutual Secret Sharing. Sensors 2022, 22, 6044. https://doi.org/10.3390/s22166044
Li Y, Zhou Q, Li B, Zhuang Y. CFRV: A Decentralized Control-Flow Attestation Schema Using Mutual Secret Sharing. Sensors. 2022; 22(16):6044. https://doi.org/10.3390/s22166044
Chicago/Turabian StyleLi, Yuanpei, Qinglei Zhou, Bin Li, and Yan Zhuang. 2022. "CFRV: A Decentralized Control-Flow Attestation Schema Using Mutual Secret Sharing" Sensors 22, no. 16: 6044. https://doi.org/10.3390/s22166044
APA StyleLi, Y., Zhou, Q., Li, B., & Zhuang, Y. (2022). CFRV: A Decentralized Control-Flow Attestation Schema Using Mutual Secret Sharing. Sensors, 22(16), 6044. https://doi.org/10.3390/s22166044