[Tech] Nous resultats sobre atacs i mesures defensives de canals laterals de memòria cau

Un objectiu del projecte DRAC és el de proposar solucions hardware per protegir contra atacs de canal lateral. Entre aquestes amenaces hi comptem els atacs del canal lateral de la memòria cau o cache. Aquests consisteixen a utilitzar la propietat de contenció de les memòries cau i les latències d'accés per a obtenir informació sobre processos víctima. Les tècniques de protecció més eficients proposades fins ara són les memòries cau protegides per aleatorització (o RPC, de l'anglès), i consisteixen en aleatoritzar les adreces per distribuir-les imprevisiblement a la memòria cau. Tanmateix, com que els RPC són insegurs si els atacants disposen de prou accessos sota la mateixa clau, aquesta clau s'ha de renovar, normalment amb certa periodicitat. Aquest període de renovació s'ha establert tradicionalment d'una manera heurística, i això, malauradament, ha afectat la seguretat dels mecanismes existents.

 

diagram
Figura1: esquema simplificat d'un atac de canal lateral de memòria cau. A) Un atacant co-existeix amb un procés víctima a la mateixa màquina. B) L'atacant prepara la memòria cau, omplint alguns conjunts de cache. C) La víctima realitza alguna activitat, desallotjant dades de l'atacant en el procés. D) L'atacant torna a accedir a les seves dades, obtenint informació del canal lateral a partir de les mesures de latència corresponents a dades anteriorment desallotjades per la víctima.


 

 

En un treball previ [1], presentat a la darrera conferència CHES 2022, abordem aquest problema. Per fer-ho, proposem un model criptogràfic per tal de capturar la seguretat en aquesta situació. A més, utilitzant els nostres resultats, és possible escollir un període de renovació de la clau i un mecanisme d'aleatorització de manera que la seguretat contra aquest model es garanteixi de manera demostrable.

En una recent ampliació d'aquest treball previ [2], emprenem un camí diferent. En comptes de buscar períodes de renovació de claus que garanteixin certa seguretat, estudiem quins períodes de renovació de claus permeten dur a terme atacs amb èxit. Estudiem la probabilitat d'èxit d'atacs a RPCs recentment proposats, amb les polítiques LRU i RAND. D'aquest resultat, es pot deduïr que hi ha atacs a RPCs que trenquen la seguretat amb una probabilitat d'èxit arbitràriament gran, donats prou accessos a memòria cau sota la mateixa clau.

A més, en aquesta nova versió presentem una prova formal d'un resultat que amplia les garanties de seguretat a diverses èpoques, és a dir, al cas en què s'utilitzen diverses claus. Tots els resultats de l'article s'han implementat com a scripts de Python, i s'han posat a disposició pública [3]. Donat un conjunt de paràmetres de memòria cau, aquests scripts produeixen el període de renovació de claus més gran pel qual podem garantir la seguretat durant una quantitat màxima d'accessos, ja sigui durant una època o en diverses èpoques.

Referències

[1] Jordi Ribes-González, Oriol Farràs, Carles Hernández, Vatistas Kostalabros, and Miquel Moretó. A Security Model for Randomization-based Protected Caches. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2022(3), 1–25, 2022. https://doi.org/10.46586/tches.v2022.i3.1-25
[2] Jordi Ribes-González, Oriol Farràs, Carles Hernández, Vatistas Kostalabros, and Miquel Moretó. A Security Model for Randomization-based Protected Caches. In Cryptology ePrint Archive, Paper 2022/440, 2022. https://eprint.iacr.org/2022/440.
[3] Jordi Ribes-González, Oriol Farràs, Carles Hernández, Vatistas Kostalabros, and Miquel Moretó. Artefactes per "A Security Model for Randomization-based Protected Caches". https://doi.org/10.5281/zenodo.6397296.