Analysis of Vulnerabilities: Detection and Mitigation Techniques
5. Contromisure architetturali
5.3. Analisi delle implementazioni dei checker
Entrambe le circuiterie dei checker sono state integrate in ibex [33]: un prototipo di processore a 32 bit basato su un’architettura di tipo RISC-V, con due stage di pipeline e una memoria (istruzioni e dati) totale di 256Kbit. In particolare sono state posizionate delle istruzioni tra il core e la memoria. Le simulazioni sono state effettuate in un primo momento su Verilator [34], successivamente su Vivado [35]. Tramite quest’ultimo tool i checkers sono stati implementati su FPGA. Di seguito vengono riportati i numeri delle implementazioni:
Tabella 2 risorse implementate
LUT Flip Flop Celle BRAM
Core 2519 (70%) 1590 (57.5%) 256 (96.5%)
Filtro di Bloom 91 (2.5%) 39 (1.5%) 6.5 (2.6%)
Count-min sketch 992 (27.5%) 936 (36.5%) 2.5 (0.9%)
Totale 3602 (100%) 2565 (100%) 265 (100%)
Sia l’architettura basata sul filtro di Bloom che quella basata sull’algoritmo di count-min sketch, sono indipendenti dalla piattaforma e possono essere impiegate tra il core e la memoria di processore, indipendentemente dagli stadi di pipeline, il numero di bit e le dimensioni della memoria.
6. Conclusioni
Con l’aumento esponenziale del volume dei dispositivi elettronici connessi ad Internet, garantire la sicurezza dei dati digitali è cruciale. L’hardware gioca un ruolo sempre più importante e fondamentale in questo scenario. Non si può dare per scontato che la circuiteria dove viene eseguito un algoritmo sia affidabile. Infatti, il circuito potrebbe essere stato manomesso e/o presentare molteplici vulnerabilità.
A questo proposito abbiamo proposto due architetture hardware da integrare in un processore, dove la prima (basata sui filtri di Bloom) rileva una possibile manomissione della circuiteria tra la memoria e core; la seconda (basata sull’algoritmo di count-min sketch) segnala l’eventuale fruizione di informazioni, non lecita, da parte di un utente malintenzionato.
Per essere certi che il chip prodotto svolga effettivamente la funzione desiderata possono essere integrati al suo interno moduli come quelli proposti.
Così come in una catena, la sicurezza di un sistema informatico dipende dalla sicurezza del suo componente più vulnerabile. Tali vulnerabilità spesso si nascondono dietro ai dettagli implementativi del circuito e dell’algoritmo in esecuzione e vanno accuratamente tenute in considerazione in fase progettuale con approcci di design for security.
Riferimenti bibliografici
[1] Kocher, J. Horn, A. Fogh, , D. Genkin, D. Gruss, W. Haas, M. Hamburg,M. Lipp, S. Mangard, T. Prescher, M. Schwarz, and Y. Yarom, “Spectre attacks: Exploiting speculative execution” in 40th IEEE Symposium on Security and Privacy (S&P’19), 2019.
[2] M. Lipp, M. Schwarz, D. Gruss, T. Prescher, W. Haas, A. Fogh,J. Horn, S. Mangard, P. Kocher, D. Genkin, Y. Yarom, and M. Hamburg,“Meltdown: Reading kernel memory from user space” in 27th USENIX Security Symposium (USENIX Security 18), 2018.
[3] L. Wang and S. K ̈ose, “When hardware security moves to the edge and fog,” in2018 IEEE 23rd International Conference on Digital Signal Processing (DSP), 2018, pp. 1–5.
[4] S. R. Chhetri, S. Faezi, N. Rashid, and M. A. Al Faruque, “Manu-facturing supply chain and product lifecycle security in the era of industry 4.0,”Journal of Hardware and Systems Security, vol. 2, no. 1,pp. 51–68, 2018.
[5] D. K. Oka, “Securing the automotive critical infrastructure,” in Cyber-Physical Security. Springer, 2017, pp. 267–281.
[6] NIST-FIPS, “Announcing the advanced encryption standard (AES),”Federal Information Processing Standards Publication, vol. 197,no. 1-51, pp. 3–3, 2001.
[7] R. L. Rivest, A. Shamir, and L. Adleman, “A method for obtaining digital signatures and public-key cryptosystems,”Commun. ACM,vol. 21, no. 2, pp. 120–126, Feb. 1978. [Online]. Available:http://doi.acm.org/10.1145/359340.359342
[8] “sha-3 standard: Permutation-based hash and extendable output functions.” [9] M. Joye andet al., Fault analysis in cryptography Springer, 2012,vol. 147.
[10] R. Spreitzer, V. Moonsamy, T. Korak, and S. Mangard, “Systematic classification of side-channel attacks: A case study for mobile devices,”IEEE Communications Surveys Tutorials, vol. 20, no. 1, pp.465–488, 2018.
[11] F. Koeune, F.X. Standaert, A tutorial on physical security and side-channel attacks, in: Foundations of Security Analysis and Design III, 2005, pp. 78–108.
[12] P. Kocher, J. Jaffe, B. Jun, Differential power analysis, in: CRYPTO, 1999.
[13] F. Wang, Formal Verification of Timed Systems:A Survey and Perspective, Proceedings of the IEEE (2004) 1283–1305.
[14] A. Vijayakumar, V.C. Patil, D.E. Holcomb, C. Paar, S. Kundu, Physical design obfuscation of hardware: a comprehensive investigation of device and logic-level technique, IEEE Transactions on Information Forensics and Security (2017) 64–77.
[15] D. Zoni, L. Cremona and W. Fornaciari, "All-Digital Control-Theoretic Scheme to Optimize Energy Budget and Allocation in Multi-Cores," in IEEE Transactions on Computers, vol. 69, no. 5, pp. 706-721, 1 May 2020, doi: 10.1109/TC.2019.2963859. [16] A. Nahiyan, M. Tehranipoor, Code coverage analysis for IP trust verification, in: Hardware
IP Security and Trust, Springer, 2017, pp. 53–72.
[17] K. Xiao, D. Forte, Y. Jin, R. Karri, S. Bhunia, M. Tehranipoor, Hardware Trojans: lessons learned after one decade ofresearch, ACM Transactions on Design Automation of Electronic Systems 22 (2016) 6.
[18] A. P. Fournaris, L. Pocero Fraile, and O. Koufopavlou, “Exploiting hardware vulnerabilities to attack embedded system devices: a survey of potent microarchitectural attacks”, Electronics, vol. 6,no. 3, p. 52, 2017.
[19] A. Barenghi, L. Breveglieri, I. Koren, D. Naccache, Fault Injection Attacks on Cryptographic Devices: Theory, Practice, and Countermeasures, Proceedings of the IEEE 100 (11) (2012) 3056–3076.
[20] C. Luo, Y. Fei, P. Luo, S. Mukherjee, and D. Kaeli, “Side-channel power analysis of a gpu AES implementation,” in2015 33rd IEEE International Conference on Computer Design (ICCD).IEEE, 2015,pp. 281–288.
[21] P. Kocher, Timing Attacks on Implementations of Diffie–Hellman, RSA, DSS, and Other Systems, in: Advances in Cryptology CRYPTO96, Springer, 1996, pp. 104–113.
[22] Canvel B., Hiltgen A., Vaudenay S., Vuagnoux M. (2003) Password Interception in a SSL/TLS Channel. In: Boneh D. (eds) Advances in Cryptology - CRYPTO 2003. CRYPTO 2003. Lecture Notes in Computer Science, vol 2729. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45146-4_34.
[23] Pedro Reviriego Vasallo, ”Bloom Filters: Dependability and Security”, Seminar at Tor Vergata, 16 November 2020.
[24] Reviriego Pedro, et al. ”A method to protect Bloom filters from soft errors.” 2015 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFTS). IEEE, 2015.
[26] Bloom Filters — A Tutorial, Analysis, and Survey (Blustein & El-Maazawi, 2002) [27] Atamaner, Mert & Ergin, Oguz & Ottavi, Marco & Reviriego, Pedro. (2017). Detecting
errors in instructions with bloom filters. 1-4. 10.1109/DFT.2017.8244458.
[28] What is man-in-the-middle attack (MitM)? - Definition from WhatIs.com, su IoT Agenda. URL consultato il 2 dicembre 2020.
[29] Cormode, Graham (2009). "Count-min sketch". Encyclopedia of Database Systems. Springer. pp. 511–516.
[30] Cormode, Graham; S. Muthukrishnan (2005) "An Improved Data Stream Summary: The
Count-Min Sketch and its Applications". J. Algorithms. 55: 29–38.
doi:10.1016/j.jalgor.2003.12.001.
[31] M. R. Fadiheh, D. Stoffel, C. Barrett, S. Mitra, and W. Kunz.(2018, Dec.) Processor hardware security vulnerabilities and theirdetection by unique program execution checking. 1812.04975.pdf
[32] R. Smith, D. Palin, P. Ioulianou, V. Vassilakis, and S. Shahandashti,“Battery draining attacks against edge computing nodes in IoT networks,” 01 2020.
[33] https://github.com/lowRISC/ibex#ibex-risc-v-core, 18 December 2020 [34] https://www.veripool.org/wiki/verilator/Manual-verilator, 18 December 2020 [35] https://www.xilinx.com/products/design-tools/vivado.html, 18 December 2020