skip to main content
research-article

Toward a Human-Readable State Machine Extraction

Authors Info & Claims
Published:27 June 2022Publication History
Skip Abstract Section

Abstract

The target of sequential reverse engineering is to extract the state machine of a design. Sequential reverse engineering of a gate-level netlist consists of the identification of so-called state flip-flops (sFFs), as well as the extraction of the state machine. The second step can be solved with an exact approach if the correct sFFs and the correct reset state are provided. For the first step, several more or less heuristic approaches exist.

This work investigates sequential reverse engineering with the objective of a human-readable state machine extraction. A human-readable state machine reflects the original state machine and is not overloaded by additional design information. For this purpose, the work derives a systematic categorization of sFF sets, based on properties of single sFFs and their sets. These properties are determined by analyzing the degrees of freedom in describing state machines as the well-known Moore and Mealy machines. Based on the systematic categorization, this work presents an sFF set definition for a human-readable state machine, categorizes existing sFF identification strategies, and develops four post-processing methods. The results show that post-processing predominantly improves the outcome of several existing sFF identification algorithms.

REFERENCES

  1. [1] Albartus Nils, Hoffmann Max, Temme Sebastian, Azriel Leonid, and Paar Christof. 2020. DANA universal dataflow analysis for gate-level netlist reverse engineering. IACR Transactions on Cryptographic Hardware and Embedded Systems 2020, 4 (2020), 309336. Google ScholarGoogle ScholarCross RefCross Ref
  2. [2] Ashar Pranav, Devadas Srinivas, and Newton A. Richard. 2006. Optimum and heuristic algorithms for an approach to finite state machine decomposition. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 10, 3 (Nov. 2006), 296310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Bastian Mathieu, Heymann Sebastien, and Jacomy Mathieu. 2009. Gephi: An open source software for exploring and manipulating networks. In Proceedings of the 3rd International Conference on Weblogs and Social Media (ICWSM’09). http://www.aaai.org/ocs/index.php/ICWSM/09/paper/view/154.Google ScholarGoogle Scholar
  4. [4] Brunner Michaela, Baehr Johanna, and Sigl Georg. 2019. Improving on state register identification in sequential hardware reverse engineering. In Proceedings of the 2019 IEEE International Symposium on Hardware Oriented Security and Trust (HOST’19). 151160. Google ScholarGoogle ScholarCross RefCross Ref
  5. [5] Corno Fulvio, Reorda Matteo S., and Squillero Giovanni. 2000. RT-level ITC’99 benchmarks and first ATPG results. IEEE Design & Test of Computers 17, 3 (2000), 4453. Git: https://github.com/squillero/itc99-poli.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Devadas Srinivas and Newton A. Richard. 1988. Decomposition and factorization of sequential finite state machines. In Proceedings of the IEEE International Conference on Computer-Aided Design (ICCAD’89): Digest of Technical Papers. 148151. Google ScholarGoogle ScholarCross RefCross Ref
  7. [7] Fyrbiak Marc, Wallat Sebastian, Déchelotte Jonathan, Albartus Nils, Böcker Sinan, Tessier Russell, and Paar Christof. 2018. On the difficulty of FSM-based hardware obfuscation. IACR Transactions on Cryptographic Hardware and Embedded Systems 2018, 3 (Aug. 2018), 293330. Google ScholarGoogle ScholarCross RefCross Ref
  8. [8] Geist James, Meade Travis, Zhang Shaojie, and Jin Yier. 2020. RELIC-FUN: Logic identification through functional signal comparisons. In Proceedings of the 2020 57th ACM/IEEE Design Automation Conference (DAC’20). 16. Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Hartmanis Juris. 1960. Symbolic analysis of a decomposition of information processing machines. Information and Control 3, 2 (1960), 154178. Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Li Wenchao, Gascón Adrià, Subramanyan Pramod, Tan Wei, Tiwari Ashish, Malik Sharad, Shankar Natarajan, and Seshia Sanjit A.. 2013. WordRev: Finding word-level structures in a sea of bit-level gates. In Proceedings of the 2013 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST’13). 6774. Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] McElvain Kenneth S.. 2001. Methods and apparatuses for automatic extraction of finite state machines. US Patent No. US 6,182,268 B1, filed January 5, 1998, issued January 30, 2001.Google ScholarGoogle Scholar
  12. [12] Meade Travis, Jin Yier, Tehranipoor Mark, and Zhang Shaojie. 2016. 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’16). 13341337. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Meade Travis, Portillo Jason, Zhang Shaojie, and Jin Yier. 2019. NETA: When IP fails, secrets leak. In Proceedings of the 24th Asia and South Pacific Design Automation Conference (ASPDAC’19). ACM, New York, NY, 9095. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Meade Travis, Shamsi Kaveh, Le Thao, Di Jia, Zhang Shaojie, and Jin Yier. 2018. The old frontier of reverse engineering: Netlist partitioning. Journal of Hardware and Systems Security 2, 3 (2018), 201213. Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Meade Travis, Zhang Shaojie, and Jin Yier. 2016. Netlist reverse engineering for high-level functionality reconstruction. In Proceedings of the 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC’16). 655660. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Meade Travis, Zhang Shaojie, and Jin Yier. 2019. NetA. Retrieved February 28, 2022 from https://github.com/jinyier/NetA.Google ScholarGoogle Scholar
  17. [17] Mealy George H.. 1955. A method for synthesizing sequential circuits. Bell System Technical Journal 34, 5 (Sept. 1955), 10451079. Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Monteiro José C. and Oliveira Arlindo L.. 1998. Finite state machine decomposition for low power. In Proceedings of the 35th Annual Design Automation Conference (DAC’98). ACM, New York, NY, 758763. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Moore Edward F.. 1956. Gedanken-experiments on sequential machines. Automata Studies 34 (1956), 129153.Google ScholarGoogle Scholar
  20. [20] University Oklahoma State. 2015. Flows/FreePDK45. Retrieved February 28, 2022 from https://vlsiarch.ecen.okstate.edu/flow/.Google ScholarGoogle Scholar
  21. [21] OnchipUIS. 2017. mriscv. Retrieved February 28, 2022 from https://github.com/onchipuis/mriscv.Google ScholarGoogle Scholar
  22. [22] OnchipUIS. 2017. mriscvcore. Retrieved February 28, 2022 from https://github.com/onchipuis/mriscvcore.Google ScholarGoogle Scholar
  23. [23] Opencircuitdesign. 2019. qflow. Retrieved February 28, 2022 from http://opencircuitdesign.com/qflow/.Google ScholarGoogle Scholar
  24. OpenCores. n.d. OpenCores. Retrieved February 28, 2022 from https://opencores.org/projects.Google ScholarGoogle Scholar
  25. [25] Quadir Shahed E., Chen Junlin, Forte Domenic, Asadizanjani Navid, Shahbazmohamadi Sina, Wang Lei, Chandy John, and Tehranipoor Mark. 2016. A survey on chip to system reverse engineering. ACM Journal on Emerging Technologies in Computing Systems 13, 1 (April 2016), Article 6, 34 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Shi Yiqiong, Ting Chan Wai, Gwee Bah-Hwee, and Ren Ye. 2010. A highly efficient method for extracting FSMs from flattened gate-level netlist. In Proceedings of 2010 IEEE International Symposium on Circuits and Systems. 26102613. Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] Strömbergson Joachim. 2018. secworks. Retrieved February 28, 2022 from https://github.com/secworks?tab=repositories.Google ScholarGoogle Scholar
  28. [28] Subramanyan Pramod, Tsiskaridze Nestan, Pasricha Kanika, Reisman Dillon, Susnea Adriana, and Malik Sharad. 2013. Reverse engineering digital circuits using functional analysis. In Proceedings of the 2013 Design, Automation, and Test in Europe Conference and Exhibition (DATE’13). 12771280. Google ScholarGoogle ScholarCross RefCross Ref
  29. [29] Tarjan Robert. 1971. Depth-first search and linear graph algorithms. In Proceedings of the 12th Annual Symposium on Switching and Automata Theory (swat’71). 114121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Torrance Randy and James Dick. 2011. The state-of-the-art in semiconductor reverse engineering. In Proceedings of the 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC’11). 333338.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Wolf Clifford. n.d. Yosys Open SYnthesis Suite. Retrieved February 28, 2022 from https://yosyshq.net/yosys/.Google ScholarGoogle Scholar

Index Terms

  1. Toward a Human-Readable State Machine Extraction

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader

                Full Text

                View this article in Full Text.

                View Full Text

                HTML Format

                View this article in HTML Format .

                View HTML Format