A Hardware Trojan-Detection Technique Based on Suspicious Circuit Block Partition
Abstract
:1. Introduction
2. Related Work
- Search-based detection
- Threshold-based detection
- Machine learning-based detection
3. Motivation and Contribution
- We proposed a hardware Trojan-detection technology based on SCOAP and suspicious circuit block partition, which detected 914 hardware Trojans on Trust-Hub with the highest false positive rate of 5.02%.
- We built a pure static analysis hardware Trojan-detection platform, of which the processing speed is more than 10 times faster than [32].
4. Threat Model
5. Proposed Method
5.1. Difference-Amplified Controllability Analysis
5.2. Suspicious Path Calculation
- Step 1: Add the starting point A to the and increase the to 1.
- Step 2: Judge whether the is greater than 10. If so, return null set.
- Step 3: Judge whether the starting point A and the ending point B are equal or whether A is not the key of G. If so, return the shortest path S.
- Step 4: Initializes the shortest path S to an empty list.
- Step 5: Find node N in G with the key is A. If N is not in the and N is the key of G, take (G,N,B,PATH,0) as the input to find the next-level path until the conditions of the first three steps are met, and return the path or null set.
- Step 6: Judge whether S is the shortest path. If not, assign to S.
- Step 7: Judge whether the shortest path S exists, if so, return the shortest path S.
Algorithm 1 Shortest-path calculator |
Input: Dictionary G, Starting Point A, Ending Point B, and |
Output: Shortest Path S |
1: , |
2: if > 10 then |
3: return 0 |
4: end if |
5: if A == B or A not in G then |
6: return S |
7: end if |
8: Initialize shortest path |
9: for node N in do |
10: if N not in and N in G then |
11: = |
12: if exists then |
13: if or shorter S then |
14: |
15: end if |
16: end if |
17: end if |
18: end for |
19: if S exists then |
20: return S |
21: else |
22: return 0 |
23: end if |
5.3. Suspicious Circuit Block Partition
Algorithm 2 Suspicious circuit block partition |
Input:, |
Output: |
1: Define number of signals is N, initialize = 0, n = 0 |
2: for i from 0 to N do |
3: if != 0 then |
4: = 0 |
5: for k from 0 to do |
6: if in then |
7: = 1 |
8: end if |
9: end for |
10: end if |
11: if == 0 then |
12: Put into , record |
13: Put related signals of into , |
14: n = n + 1, record the number of signals in is |
15: while != do |
16: for j from to do |
17: Put related signals of into |
18: n = n + 1, record the number of signals in is |
19: end for |
20: end while |
21: end if |
22: end for |
23: return |
- Step 1: Define number of signals in is N, initialize and n to be 0.
- Step 2: For in , judge whether is not the first signal or signal is in ; if so, set to be 1.
- Step 3: Judge whether is 0; if so, generate and put into , record the number of signals in as .
- Step 4: Search related signals of in , and put them into .
- Step 5: Set n = n + 1, record the number of signals in is .
- Step 6: While increasing, put related signals of into .
6. Results
6.1. Accuracy
6.2. Speed
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Xiao, K.; Forte, D.; Jin, Y.; Karri, R.; Bhunia, S.; Tehranipoor, M. Hardware trojans: Lessons learned after one decade of research. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 2016, 22, 6:1–6:23. [Google Scholar] [CrossRef] [Green Version]
- Antonopoulos, A.; Kapatsori, C.; Makris, Y. Trusted Analog/Mixed- Signal/RF ICs: A Survey and a Perspective. IEEE Des. Test 2017, 34, 63–76. [Google Scholar] [CrossRef]
- Huang, Z.; Wang, Q.; Yang, P.F. Hardware Trojan: Research Progress and New Trends on Key Problems. Chin. J. Comput. 2019, 42, 993–1017. [Google Scholar]
- Bao, C.; Forte, D.; Srivastava, A. On application of one-class SVM to reverse engineering-based hardware Trojan detection. In Proceedings of the Fifteenth International Symposium on Quality Electronic Design, Santa Clara, CA, USA, 3–5 March 2014; pp. 47–54. [Google Scholar]
- Bao, C.; Forte, D.; Srivastava, A. On Reverse Engineering-Based Hardware Trojan Detection. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2016, 35, 49–57. [Google Scholar] [CrossRef]
- Meade, T.; Jin, Y.; Tehranipoor, M.; Zhang, S. Gate-level netlist reverse engineering for hardware security: Control logic register identification. In Proceedings of the 2016 IEEE International Symposium on Circuits and Systems (ISCAS), Montreal, QC, Canada, 22–25 May 2016; pp. 1334–1337. [Google Scholar]
- Rajendran, S.; Regeena, M.L. A Novel Algorithm for Hardware Trojan Detection Through Reverse Engineering. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2022, 41, 1154–1166. [Google Scholar] [CrossRef]
- Guimarães, L.A.; Bastos, R.P.; Fesquet, L. Detection of Layout-Level Trojans by Monitoring Substrate with Preexisting Built-in Sensors. In Proceedings of the 2017 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Bochum, Germany, 3–5 July 2017; pp. 290–295. [Google Scholar] [CrossRef]
- Yoshimizu, N. Hardware Trojan detection by symmetry breaking in path delays. In Proceedings of the 2014 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST), Arlington, VA, USA, 6–7 May 2014; pp. 107–111. [Google Scholar]
- Ismari, D.; Plusquellic, J.; Lamech, C.; Bhunia, S.; Saqib, F. On detecting delay anomalies introduced by hardware Trojans. In Proceedings of the 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Austin, TX, USA, 7–10 November 2016; pp. 1–7. [Google Scholar] [CrossRef]
- Ngo, X.T.; Exurville, I.; Bhasin, S.; Danger, J.L.; Guilley, S.; Najm, Z.; Rigaud, J.-B.; Robisson, B. Hardware trojan detection by delay and electromagnetic measurements. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 9–13 March 2015; pp. 782–787. [Google Scholar]
- Narasimhan, S.; Du, D.; Chakraborty, R.S.; Paul, S.; Wolff, F.G.; Papachristou, C.A.; Bhunia, S.; Roy, K.; Bhunia, S. Hardware Trojan detection by multiple-parameter side-channel analysis. IEEE Trans. Comput. 2013, 62, 2183–2195. [Google Scholar] [CrossRef]
- Bazzazi, A.; Manzuri Shalmani, M.T.; Hemmatyar, A.M.A. Hardware Trojan Detection Based on Logical Testing. J. Electron. Test. 2017, 33, 381–395. [Google Scholar] [CrossRef]
- Chakraborty, R.S.; Wolff, F.; Paul, S.; Papachristou, C.; Bhunia, S. MERO: A Statistical Approach for Hardware Trojan Detection. In Cryptographic Hardware and Embedded Systems (CHES); Springer: Berlin/Heidelberg, Germany, 2009; pp. 396–410. [Google Scholar] [CrossRef] [Green Version]
- Dupuis, S.; Ba, P.S.; Flottes, M.L.; Di Natale, G.; Rouzeyre, B. New testing procedure for finding insertion sites of stealthy Hardware Trojans. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 9–13 March 2015; pp. 776–781. [Google Scholar] [CrossRef]
- Xu, T.; Wang, C.; Zhao, S.; Zhou, Z.; Luo, M.; Wang, X. A Novel ATPG Method to Increase Activation Probability of Hardware Trojan. In Proceedings of the 2019 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM), Victoria, BC, Canada, 21–23 August 2019; pp. 1–5. [Google Scholar] [CrossRef]
- Zou, M.; Cui, X.; Shi, L.; Wu, K. Potential Trigger Detection for Hardware Trojans. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2017, 37, 1384–1395. [Google Scholar] [CrossRef]
- Yang, Y.; Ye, J.; Cao, Y.; Zhang, J.; Li, X.; Li, H.; Hu, Y. Survey: Hardware Trojan Detection for Netlist. In Proceedings of the 2020 IEEE 29th Asian Test Symposium (ATS), Penang, Malaysia, 23–26 November 2020; pp. 1–6. [Google Scholar] [CrossRef]
- Trust-Hub. October 2018. Available online: http://www.trust-hub.org (accessed on 11 October 2022).
- Hicks, M.; Finnicum, M.; King, S.T.; Martin, M.M.K.; Smith, J.M. Overcoming an Untrusted Computing Base: Detecting and Removing Malicious Hardware Automatically. In Proceedings of the 2010 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 16–19 May 2010; pp. 159–172. [Google Scholar] [CrossRef]
- Zhang, J.; Yuan, F.; Wei, L.; Liu, Y.; Xu, Q. VeriTrust: Verification for Hardware Trust. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2015, 34, 1148–1161. [Google Scholar] [CrossRef] [Green Version]
- Waksman, A.; Suozzo, M.; Sethumadhavan, S. FANCI: Identification of stealthy malicious logic using boolean functional analysis. In Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, Berlin, Germany, 4–8 November 2013; pp. 697–708. [Google Scholar]
- Liu, Q.; Zhao, P.; Chen, F. A Hardware Trojan Detection Method Based on Structural Features of Trojan and Host Circuits. IEEE Access 2019, 7, 44632–44644. [Google Scholar] [CrossRef]
- Goldstein, H.L.; Thigpen, E.L. SCOAP: Sandia controllability/observability analysis program. In Proceedings of the 17th Design Automation Conference, Minneapolis, MN, USA, 23–25 June 1980. [Google Scholar]
- Hasegawa, K.; Oya, M.; Yanagisawa, M.; Togawa, N. Hardware Trojans classification for gate-level netlists based on machine learning. In Proceedings of the 2016 IEEE 22nd International Symposium on On-Line Testing and Robust System Design (IOLTS), Sant Feliu de Guixols, Spain, 4–6 July 2016; pp. 203–206. [Google Scholar]
- Hasegawa, K.; Yanagisawa, M.; Togawa, N. Hardware Trojans classification for gate-level netlists using multi-layer neural networks. In Proceedings of the 2017 IEEE 23rd International Symposium on On-Line Testing and Robust System Design (IOLTS), Thessaloniki, Greece, 3–5 July 2017; pp. 227–232. [Google Scholar]
- Hasegawa, K.; Yanagisawa, M.; Togawa, N. Trojan-feature extraction at gate-level netlists and its application to hardware-Trojan detection using random forest classifier. In Proceedings of the 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, MD, USA, 28–31 May 2017; pp. 1–4. [Google Scholar]
- Hoque, T.; Cruz, J.; Chakraborty, P.; Bhunia, S. Hardware IP Trust Validation: Learn (the Untrustworthy), and Verify. In Proceedings of the 2018 IEEE International Test Conference (ITC), Phoenix, AZ, USA, 29 October–1 November 2018; pp. 1–10. [Google Scholar]
- Ye, J.; Yang, Y.; Gong, Y.; Hu, Y.; Li, X. Grey Zone in Pre-Silicon Hardware Trojan Detection. In Proceedings of the 2018 IEEE International Test Conference in Asia (ITC-Asia), Harbin, China, 15–17 August 2018; pp. 79–84. [Google Scholar]
- Kok, C.H.; Ooi, C.Y.; Inoue, M.; Moghbel, M.; Dass, S.B.; Choo, H.S.; Hussin, F.A.; Ismail, N. Net Classification Based on Testability and Netlist Structural Features for Hardware Trojan Detection. In Proceedings of the 2019 IEEE 28th Asian Test Symposium (ATS), Kolkata, India, 10–13 December 2019; pp. 105–1055. [Google Scholar] [CrossRef]
- Salmani, H. COTD: Reference-Free Hardware Trojan Detection and Recovery Based on Controllability and Observability in Gate-Level Netlist. IEEE Trans. Inf. Forensics Secur. 2017, 12, 338–350. [Google Scholar] [CrossRef]
- Huang, K.; He, Y. Trigger Identification Using Difference-Amplified Controllability and Dynamic Transition Probability for Hardware Trojan Detection. IEEE Trans. Inf. Forensics Secur. 2020, 15, 3387–3400. [Google Scholar] [CrossRef]
- Yu, S.; Gu, C.; Liu, W.; O’Neill, M. A Novel Feature Extraction Strategy for Hardware Trojan Detection. In Proceedings of the 2020 IEEE International Symposium on Circuits and Systems (ISCAS), Seville, Spain, 12–14 October 2020; pp. 1–5. [Google Scholar] [CrossRef]
- Xie, X.; Sun, Y.; Chen, H.; Ding, Y. Hardware Trojans classification based on controllability and observability in gate-level netlist. IEICE Electron. Express 2017, 14, 20170682. [Google Scholar] [CrossRef]
Signals | CC0 | CC1 | CC0 | CC1 |
---|---|---|---|---|
n1556 | 2 | 26 | 0.55 | 93.74 |
n1551 | 25 | 2 | 88.39 | 0.57 |
n1664 | 63 | 1 | 500.05 | 0.13 |
n1662 | 1 | 63 | 0.13 | 500.05 |
n1549 | 48 | 1 | 332.55 | 0.14 |
N5192 | 34 | 3 | 114.46 | 0.89 |
N1409 | 3 | 34 | 0.89 | 114.46 |
n1550 | 12 | 47 | 6.06 | 93.02 |
Trigger_en0_0 | 1 | 70 | 0.12 | 585.66 |
n1028 | 5 | 78 | 1.27 | 308.08 |
n707 | 1 | 28 | 0.19 | 148.16 |
N3987 | 82 | 5 | 332.07 | 1.23 |
n1004 | 49 | 8 | 121.27 | 3.23 |
n1533 | 1 | 34 | 0.17 | 198.25 |
n1660 | 48 | 6 | 135.76 | 2.12 |
n1488 | 1 | 42 | 0.15 | 272.19 |
n1659 | 6 | 48 | 2.12 | 135.76 |
n1658 | 47 | 6 | 131.54 | 2.14 |
n694 | 33 | 1 | 189.57 | 0.17 |
trojan0_On1 | 44 | 4 | 145.93 | 1.21 |
trojan0_On2 | 26 | 1 | 132.57 | 0.20 |
trojan0_On3 | 1 | 22 | 0.21 | 103.19 |
n938 | 43 | 1 | 281.97 | 0.15 |
n1573 | 42 | 1 | 272.19 | 0.15 |
n1532 | 22 | 1 | 103.19 | 0.21 |
n1524 | 1 | 22 | 0.21 | 103.19 |
n1548 | 42 | 6 | 111.12 | 2.27 |
n1575 | 1 | 43 | 0.15 | 281.97 |
n946 | 6 | 41 | 2.30 | 107.18 |
n760 | 1 | 27 | 0.19 | 140.30 |
n696 | 1 | 28 | 0.19 | 148.16 |
n1634 | 22 | 1 | 103.19 | 0.21 |
n758 | 1 | 24 | 0.20 | 117.58 |
n1605 | 21 | 1 | 96.23 | 0.22 |
N4028 | 6 | 52 | 2.04 | 153.08 |
Suspicious Blocks | Signals |
---|---|
Block 1 | n1556, n1551, n1664, n1662, n1549, n1550, n1660, n1658, n946, n1605, n1548, n1659 |
Block 2 | N1409, N5192, n1533, n707, n760, n1524, n694, n696, n1532, n1004, n1605, n938, n1575, n1573, n1634 |
Block 3 | n1028, Trigger_en0_0, trojan0_On1, trojan0_On2, trojan0_On3, n1533, n1532, n938, n1575, n696, n1605 |
Time | [32] | Ours |
---|---|---|
total time | 88.5 h | 8.2 h |
average time | 5.8 min | 0.43 min |
Benchmark | [32] | Ours |
---|---|---|
c2670 | 2 min 14 s | 8 s |
c3540 | 3 min 14 s | 15 s |
c5315 | 6 min 32 s | 16 s |
c6288 | 30 min 28 s | 2 min 55 s |
s13207 | 2 min 36 s | 23 s |
s1423 | 47 s | 16 s |
s15850 | 1 min 48 s | 18 s |
s35932 | 4 min 46 s | 16 s |
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
Mao, J.; Jiang, X.; Liu, D.; Chen, J.; Huang, K. A Hardware Trojan-Detection Technique Based on Suspicious Circuit Block Partition. Electronics 2022, 11, 4138. https://doi.org/10.3390/electronics11244138
Mao J, Jiang X, Liu D, Chen J, Huang K. A Hardware Trojan-Detection Technique Based on Suspicious Circuit Block Partition. Electronics. 2022; 11(24):4138. https://doi.org/10.3390/electronics11244138
Chicago/Turabian StyleMao, Jiajie, Xiaowen Jiang, Dehong Liu, Jianjun Chen, and Kai Huang. 2022. "A Hardware Trojan-Detection Technique Based on Suspicious Circuit Block Partition" Electronics 11, no. 24: 4138. https://doi.org/10.3390/electronics11244138
APA StyleMao, J., Jiang, X., Liu, D., Chen, J., & Huang, K. (2022). A Hardware Trojan-Detection Technique Based on Suspicious Circuit Block Partition. Electronics, 11(24), 4138. https://doi.org/10.3390/electronics11244138