Securing Network Information System Design: An Efficient Tool for DSP Undocumented Instruction Mining
Abstract
:1. Introduction
- (1)
- (2)
- There is no undocumented instruction mining method in the current literature that applies to the characteristics of the DSP instruction set. Many researchers have proposed undocumented instruction mining methods mainly for the architecture of general-purpose processors rather than DSP.
- We propose an undocumented instruction mining method for the DSP, which can find out the undocumented instructions on a variety of DSP processors within several seconds. It provides a platform for subsequent researchers to study the security of DSP.
- We performed functional analysis and classification on these undocumented instructions. Furthermore, we discuss the affection of these instructions when they are executed, and we find that partially undocumented instructions indeed pose a security threat to the corresponding processors.
2. Related Work
2.1. The Security of CISC
2.2. The Security of RISC
3. Method
3.1. Preliminary
3.2. An Instruction Generation Method Based on Valid Instruction Information Bits
3.3. Precise Disassembly Method
- 1.
- Establishment of Binary Map Database
- 2.
- Instruction Translation
3.4. A Fast Testing Method for DSP Undocumented Instructions
4. Experiment and Discussion
4.1. Experimental Setup
4.2. Undocumented Instruction Search Results
4.3. Undocumented Instruction Function Analysis
4.4. Quantitative Analysis
4.4.1. Undocumented Instruction Mining Time Analysis
4.4.2. Instruction Space Compression Analysis
4.4.3. Hardware Overhead
4.5. Discussion
4.5.1. Comparison with the Existing Methods
4.5.2. Limitation
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
DSP | Digital signal processor |
DSPUIM | Undocumented instruction mining tool for digital signal processor |
TI | Texas Instruments |
IoT | Internet of Things |
USD | United States dollar |
CISC | Complex instruction set computer |
RISC | Reduced instruction set computer |
CPU | Central processing unit |
RICS-V | Reduced instruction set computer five |
ISA | Instruction set architecture |
MIPS | Microprocessor without interlocked pipeline stages |
CCS | Code composer studio |
IDA | Interactive disassembler |
EDA | Electronic design automation |
References
- Lu, Y.; He, Y.; Gong, J.; Xu, G. Design and implementation of ATM interface module based on high speed DSP. In Proceedings of the 2022 IEEE 5th International Conference on Information Systems and Computer Aided Education (ICISCAE), Dalian, China, 23–25 September 2022; pp. 230–234. [Google Scholar]
- Abdelkareem, A.E. Hardware considerations of a DSP based wireless coded receiver under limited resources. In Proceedings of the 2022 International Conference on Intelligent Technology, System and Service for Internet of Everything (ITSS-IoE), Hadhramaut, Yemen, 3–5 December 2022; pp. 1–5. [Google Scholar]
- Eyre, J.; Bier, J. The evolution of DSP processors. IEEE Signal Process. Mag. 2000, 17, 43–51. [Google Scholar] [CrossRef] [Green Version]
- Eyre, J. The digital signal processor Derby. IEEE Spectr. 2001, 38, 62–68. [Google Scholar] [CrossRef]
- Yu, J.; Wei, Y. Digital Signal Processing for High-Speed THz Communications. Chin. J. Electron. 2022, 31, 534–546. [Google Scholar] [CrossRef]
- Fu, Y.; Chen, K.; Song, W.; He, G.; Shen, S.; Wang, H.; Zhang, C.; Li, L. A DSP-Purposed REconfigurable Acceleration Machine (DREAM) for High Energy Efficiency MIMO Signal Processing. IEEE Trans. Circuits Syst. I Regul. Pap. 2023, 70, 952–965. [Google Scholar] [CrossRef]
- Song, Y.; Feng, W.; Quan, Y.; Liu, Y.; Li, Q.; Dauphin, G.; Wang, Y.; Xing, M. Remote Sensing Image Fusion Technology Based on DSP. In Proceedings of the IGARSS 2022—2022 IEEE International Geoscience and Remote Sensing Symposium, Kuala Lumpur, Malaysia, 17–22 July 2022; pp. 3359–3362. [Google Scholar]
- Vaz, D.J.F.; Joao, F.A.V.; Serralheiro, A.J.; Gerald, J.A.B. Autopilot—An autonomous navigation system. In Proceedings of the 2016 Conference on Design of Circuits and Integrated Systems (DCIS), Granada, Spain, 23–25 November 2016; pp. 1–5. [Google Scholar]
- Zhang, Q.; Xie, Q.; Duan, K.; Liang, B.; Wang, M.; Wang, G. A digital signal processor (DSP)-based system for embedded continuous-time cuffless blood pressure monitoring using single-channel PPG signal. Sci. China Inf. Sci. 2020, 63, 149402:1–149402:3. [Google Scholar] [CrossRef]
- Swamy, K.A.; Alex, Z.C.; Ramachandran, P.; Mathew, T.L.; Sushma, C.; Padmaja, N. Real-time Implementation of Delay Efficient DCT Based Hearing Aid Algorithm Using TMS320C5505 DSP Processor. In Proceedings of the 2021 Innovations in Power and Advanced Computing Technologies (i-PACT), Kuala Lumpur, Malaysia, 27–29 November 2021; pp. 1–8. [Google Scholar]
- López, J.M.; Alonso, J.; Asensio, C.; Pavón, I.; Gascó, L.; de Arcas, G. A Digital Signal Processor Based Acoustic Sensor for Outdoor Noise Monitoring in Smart Cities. Sensors 2020, 20, 605. [Google Scholar] [CrossRef] [Green Version]
- Fawzy, D.; Moussa, S.M.; Badr, N.L. The Internet of Things and Architectures of Big Data Analytics: Challenges of Intersection at Different Domains. IEEE Access 2022, 10, 4969–4992. [Google Scholar] [CrossRef]
- Global DSP Chips Market Research Report 2022. Available online: https://www.marketgrowthreports.com/global-dsp-chips-market-21064939 (accessed on 15 November 2022).
- Wang, Y.; Liu, P.; Jiang, Y. IMSC: Instruction set architecture monitor and secure cache for protecting processor systems from undocumented instructions. IET Inf. Secur. 2022, 16, 314–319. [Google Scholar] [CrossRef]
- Duflot, L. CPU bugs, CPU backdoors and consequences on security. J. Comput. Virol. 2009, 5, 91–104. [Google Scholar] [CrossRef]
- Price, D. Pentium FDIV flaw-lessons learned. IEEE Micro 1995, 15, 86–88. [Google Scholar] [CrossRef]
- Pentium Processor Specification Update, Invalid Operation with Locked CMPXCHG8B Instruction. Available online: http://www.cpuzone.com/Pentium/Pentium%20processor%20specifcation.pdf (accessed on 15 November 2022).
- Domas, C. Hardware backdoors in x86 CPUs. In Proceedings of the Black Hat, Las Vegas, NV, USA; 2018; pp. 1–14. [Google Scholar]
- Sengupta, A.; Chaurasia, R.; Reddy, T. Contact-Less Palmprint Biometric for Securing DSP Coprocessors Used in CE Systems. IEEE Trans. Consum. Electron. 2021, 67, 202–213. [Google Scholar] [CrossRef]
- Chaurasia, R.; Sengupta, A. Security Vs Design Cost of Signature Driven Security Methodologies for Reusable Hardware IP Core. In Proceedings of the 2022 IEEE International Symposium on Smart Electronic Systems (iSES), Warangal, India, 18–22 December 2022; pp. 283–288. [Google Scholar]
- Shanley, T. x86 Instruction Set Architecture; MindShare Press: Austin, TX, USA, 2010. [Google Scholar]
- Collins, R. Undocumented Opcodes: Salc. 1999. Available online: http://www.rcollins.org/secrets/opcodes/SALC.html (accessed on 14 March 2023).
- Easdon, C. Undocumented CPU behavior: Analyzing undocumented opcodes on Intel x86-64. Talk 2018. [Google Scholar]
- Domas, C. Breaking the x86 ISA. In Proceedings of the Black Hat, Las Vegas, NV, USA, 22–27 July 2017. [Google Scholar]
- Zhu, J.; Song, W.; Zhu, Z.; Ying, J.; Li, B.; Tu, B.; Shi, G.; Hou, R.; Meng, D. CPU Security Benchmark. In Proceedings of the Proceedings of the 1st Workshop on Security-Oriented Designs of Computer Architectures and Processors, Toronto, ON, Canada, 15 October 2018; pp. 8–14. [Google Scholar]
- Li, X.; Wu, Z.; Wei, Q.; Wu, H. UISFuzz: An Efficient Fuzzing Method for CPU Undocumented Instruction Searching. IEEE Access 2019, 7, 149224–149236. [Google Scholar] [CrossRef]
- Wu, J.; Cui, B.; Chen, C.; Long, X. A High Efficiency and Accuracy Method for x86 Undocumented Instruction Detection and Classification. In Proceedings of the Innovative Mobile and Internet Services in Ubiquitous Computing, Asan, Republic of Korea, 1–3 July 2021; Springer: Cham, Switzerland, 2022; pp. 295–303. [Google Scholar]
- Ermolov, M.; Sklyarov, D.; Goryachy, M. Undocumented x86 instructions to control the CPU at the microarchitecture level in modern Intel processors. J. Comput. Virol. Hacking Tech. 2022, 29, 27–41. [Google Scholar]
- Wang, G.; Zhu, Z.; Li, S.; Cheng, X.; Meng, D. Differential Testing of x86 Instruction Decoders with Instruction Operand Inferring Algorithm. In Proceedings of the 2021 IEEE 39th International Conference on Computer Design (ICCD), Storrs, CT, USA, 24–27 October 2021; pp. 196–203. [Google Scholar]
- Domas, C. The memory sinkhole. In Proceedings of the Black Hat, Las Vegas, NV, USA, 1–6 August 2015. [Google Scholar]
- Lipp, M.; Schwarz, M.; Gruss, D.; Prescher, T.; Haas, W.; Mangard, S.; Kocher, P.; Genkin, D.; Yarom, Y.; Hamburg, M. Meltdown. arXiv 2018, arXiv:1801.01207. [Google Scholar] [CrossRef]
- Kocher, P.; Horn, J.; Fogh, A.; Genkin, D.; Gruss, D.; Haas, W.; Hamburg, M.; Lipp, M.; Mangard, S.; Prescher, T. Spectre attacks: Exploiting speculative execution. Commun. ACM 2020, 63, 93–101. [Google Scholar] [CrossRef]
- Gras, B.; Razavi, K.; Bos, H.; Giuffrida, C. Translation leak-aside buffer: Defeating cache side-channel protections with {TLB} attacks. In Proceedings of the USENIX Security Symposium, Baltimore, MD, USA, 15–17 August 2018; pp. 955–972. [Google Scholar]
- Aldaya, A.C.; Brumley, B.B.; Hassan, S.u.; García, C.P.; Tuveri, N. Port Contention for Fun and Profit. In Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 19–23 May 2019; pp. 870–887. [Google Scholar]
- Schaik, S.v.; Milburn, A.; Österlund, S.; Frigo, P.; Maisuradze, G.; Razavi, K.; Bos, H.; Giuffrida, C. RIDL: Rogue In-Flight Data Load. In Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 19–23 May 2019; pp. 88–105. [Google Scholar]
- Löw, M. Overview of meltdown and spectre patches and their impacts. Adv. Microkernel Oper. Syst. 2018, 53–61. [Google Scholar]
- Stuart, B. Current state of mitigations for spectre within operating systems. Adv. Microkernel Oper. Syst. 2018, 47–51. [Google Scholar]
- Müller, L. Kpti a mitigation method against meltdown. Adv. Microkernel Oper. Syst. 2018, 41–46. [Google Scholar]
- Hicks, M.; Sturton, C.; King, S.T.; Smith, J.M. SPECS: A Lightweight Runtime Mechanism for Protecting Software from Security-Critical Processor Bugs. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, Istanbul, Turkey, 14 March 2015; pp. 517–529. [Google Scholar]
- Chen, D.D.; Ahn, G.-J. Security analysis of x86 processor microcode. Ariz. State Univ. Tempe AZ USA Tech. Rep. 2014, 1–18. [Google Scholar]
- Koppe, P.; Kollenda, B.; Fyrbiak, M.; Kison, C.; Gawlik, R.; Paar, C.; Holz, T. Reverse engineering x86 processor microcode. In Proceedings of the USENIX Security Symposium, Vancouver, BC, Canada, 16–18 August 2017; pp. 1163–1180. [Google Scholar]
- Taheri, F.; Bayat-Sarmadi, S.; Hadayeghparast, S. RISC-HD: Lightweight RISC-V Processor for Efficient Hyperdimensional Computing Inference. IEEE Internet Things J. 2022, 9, 24030–24037. [Google Scholar] [CrossRef]
- Meng, Z.; Zhang, Y.; Zhou, J.; Guo, Z. Design of 64-Bit High-Performance Embedded Processor Supporting RISC-V B-Extension. In Proceedings of the 2022 IEEE 16th International Conference on Anti-counterfeiting, Security, and Identification (ASID), Xiamen, China, 2–4 December 2022; pp. 28–32. [Google Scholar]
- Patterson, D.A.; Sequin, C.H. RISC I: A reduced instruction set VLSI computer. In Proceedings of the 25 Years of the International Symposia on Computer Architecture (Selected Papers), Minneapolis, MN, USA, 12–14 May 1981; pp. 216–230. [Google Scholar]
- Heath, S. Microprocessor Architectures: RISC, CISC and DSP, 2nd ed.; Butterworth-Heinemann Ltd.: Oxford, UK, 1995. [Google Scholar]
- Reid, A. Trustworthy specifications of ARM® v8-A and v8-M system level architecture. In Proceedings of the 2016 Formal Methods in Computer-Aided Design (FMCAD), Mountain View, CA, USA, 3–6 October 2016; pp. 161–168. [Google Scholar]
- Dofferhoff, R.; Göebel, M.; Rietveld, K.; Kouwe, E.V.D. iScanU: A Portable Scanner for Undocumented Instructions on RISC Processors. In Proceedings of the 2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Valencia, Spain, 29 June–2 July 2020; pp. 306–317. [Google Scholar]
- Strupe, F.; Kumar, R. Uncovering hidden instructions in Armv8-A implementations. In Hardware and Architectural Support for Security and Privacy (HASP ‘20); Association for Computing Machinery: New York, NY, USA, 2020; pp. 1–9. [Google Scholar]
- Lu, T. A survey on risc-v security: Hardware and architecture. arXiv 2021, arXiv:2107.04175. [Google Scholar]
- Cassano, L.; Mascio, S.D.; Palumbo, A.; Menicucci, A.; Furano, G.; Bianchi, G.; Ottavi, M. Is RISC-V ready for Space? A Security Perspective. In Proceedings of the 2022 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT), Austin, TX, USA, 19–21 October 2022; pp. 1–6. [Google Scholar]
- Ahmadi, M.M.; Khalid, F.; Shafique, M. Side-channel attacks on RISC-V processors: Current progress, challenges, and opportunities. arXiv 2021, arXiv:2106.08877. [Google Scholar]
- Wistoff, N.; Schneider, M.; Gürkaynak, F.K.; Benini, L.; Heiser, G. Prevention of microarchitectural covert channels on an open-source 64-bit RISC-V core. arXiv 2020, arXiv:2005.02193. [Google Scholar]
- Escouteloup, M.; Lashermes, R.; Lanet, J.-L.; Fournier, J.J.-A. Recommendations for a radically secure ISA. In Proceedings of the CARRV 2020—Workshop on Computer Architecture Research with RISC-V, Valence (virtual), Valencia, Spain, 30 May 2020; pp. 1–22. [Google Scholar]
- Texas. OMAP35x applications processor technical reference manual. In User Manual SPRUF98Y; Bharathidasan Engineering College: Vellore, India, April 2010. [Google Scholar]
- Texas. TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide. In User Manual SPRU732J; Texas Instruments: Dallas, TX, USA, July 2010. [Google Scholar]
- Texas. TMS320C67x/C67x+ DSP CPU and Instruction Set Reference Guide. In User Manual SPRU733A; Texas Instruments: Dallas, TX, USA, November 2006. [Google Scholar]
Ref# | Year | Approach Name | Approach Target | Instruction Set Architecture | Running Time Overhead |
---|---|---|---|---|---|
[39] | 2015 | SPECS | bugs | OpenRISC 1200 | - |
[24] | 2017 | Sandsifter | undocumented instructions | x86 | 343 min |
[26] | 2019 | UISfuzz | undocumented instructions | x86 | 60 min |
[47] | 2020 | IScanU | undocumented instructions | ARM, RISC-V | 24 h |
[48] | 2020 | Armshaker | undocumented instructions | ARM | - |
[52] | 2020 | fence.t | covert channels | RISC-V | 0.32 s |
[53] | 2021 | RV32S | secure instruction set | RISC-V | - |
[28] | 2021 | Red Unlock | microarchitecture | x86 | - |
[14] | 2021 | IMSC | undocumented instructions | MIPS32 | real-time |
[29] | 2021 | DFSGen | instruction decoders | MIPS, ARM, RISC-V | 83 min |
[27] | 2022 | HEAM | undocumented instructions | X86 | 103 min |
DSP Processor Series | Processor Model | Number of Undocumented Instructions | |
---|---|---|---|
OP-16 | OP-32 | ||
C28x | TMS320F28335 | 52 | 49 |
C54x | TMS320C5416 | 5 | 0 |
C64x | TMS320C6416 | - | 15 |
C64x+ | TMS320DM6437 | 0 | 19 |
TMS320DM6443 | 0 | 19 | |
TMS320DM6446 | 0 | 19 | |
TMS320C6421 | 0 | 19 | |
TMS320C6424 | 0 | 19 | |
TMS320C6454 | 0 | 19 | |
TMS320C6455 | 0 | 19 | |
TMS320C6472 | 0 | 20 | |
TMS320C6474 | 0 | 20 | |
C66x | TMS320C6678 | 2 | 18 |
C674x | TMS320C6748 | 2 | 19 |
Classification of Instruction Functions | Disassembly Information in CCS | C6748 Processor Functional Description | C6678 Processor Functional Description |
---|---|---|---|
Test | DDBG | related to debugging, set the DBGM bit of the TSR register to 1 | |
EDBG | related to debugging, set the DBGM bit of the TSR register to 0 | ||
Change function | EFRW * | receive a word from EFI | - |
EFRDW * | receive double word from EFI | - | |
B.S2 IFR | jump instruction, forced to jump to the address in the ARP register | ||
B.S2 IER | jump instruction, forced to jump to the address in the ARP register | ||
B.S2 ICR | jump instruction, forced to jump to the address in the ARP register | ||
B.S2 CSR | jump instruction, forced to jump to the address in the ARP register | ||
B.S2 ISTP | jump instruction, forced to jump to the address in the ARP register | ||
B.S2 AMR | jump instruction, forced to jump to the address in the ARP register | ||
B.S2 PCE1 | jump instruction, forced to jump to the address in the ARP register | ||
PLD | change the value of the base register to the sum of the value of the base register and offset/ucst5 shifted left by three bits | ||
STP.S1 | zero the destination register | - | |
STWP | no obvious phenomenon | rewrite memory | |
Denial of service | EFRW * | - | core is hung |
EFRDW * | - | core is hung | |
Temporarily unclear | SWBP | no obvious phenomenon | |
MARK | no obvious phenomenon | ||
EFSDW.L1 | no obvious phenomenon | ||
EFSW.L1 | no obvious phenomenon | ||
EFCMD | no obvious phenomenon |
DSP Processor Model | Original Instruction Search Space | Instruction Search Space after the Instruction Generation Method | The Undefined Instruction Space | The Undocumented Instruction Space |
---|---|---|---|---|
TMS320C6748 | 4294967296 | 4272 | 2054 | 21 |
TMS320C6416 | 4294967296 | 4240 | 2250 | 15 |
TMS320DM6437 | 4294967296 | 4272 | 2143 | 19 |
TMS320C6678 | 4294967296 | 1784 | 513 | 20 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 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
Zhang, X.; Chen, Z.; Ye, J.; Li, H.; Wang, J.; Liu, C.; Li, B. Securing Network Information System Design: An Efficient Tool for DSP Undocumented Instruction Mining. Appl. Sci. 2023, 13, 3931. https://doi.org/10.3390/app13063931
Zhang X, Chen Z, Ye J, Li H, Wang J, Liu C, Li B. Securing Network Information System Design: An Efficient Tool for DSP Undocumented Instruction Mining. Applied Sciences. 2023; 13(6):3931. https://doi.org/10.3390/app13063931
Chicago/Turabian StyleZhang, Xingcan, Zhe Chen, Jiawen Ye, Huan Li, Jian Wang, Changlong Liu, and Bin Li. 2023. "Securing Network Information System Design: An Efficient Tool for DSP Undocumented Instruction Mining" Applied Sciences 13, no. 6: 3931. https://doi.org/10.3390/app13063931
APA StyleZhang, X., Chen, Z., Ye, J., Li, H., Wang, J., Liu, C., & Li, B. (2023). Securing Network Information System Design: An Efficient Tool for DSP Undocumented Instruction Mining. Applied Sciences, 13(6), 3931. https://doi.org/10.3390/app13063931