Compania Kudelski Security, specializată în audituri de securitate, a publicat sistemul de fișiere Oramfs cu implementarea tehnologiei ORAM (Oblivious Random Access Machine), care maschează caracterul accesului la date (data access pattern). Proiectul propune un modul FUSE pentru Linux cu implementarea unui strat de FS, care nu permite urmărirea structurii operațiunilor de scriere și citire. Codul Oramfs este scris în limbajul Rust și este distribuit sub licența GPLv3.
Tehnologia ORAM implică crearea unui alt strat pe lângă criptare, care să nu permită determinarea activității curente în manipularea datelor. De exemplu, în cazul utilizării criptării pentru stocarea datelor într-un serviciu extern, proprietarii acestui serviciu nu pot cunoaște datele în sine, dar pot determina la ce blocuri se face acces și ce operații sunt efectuate. ORAM ascunde informația despre părțile FS la care se face accesul și ce operație este efectuată (citire sau scriere).
Oramfs oferă un sistem de fișiere universal de intermediere care simplifică organizarea stocării datelor pe orice stocări externe. Datele sunt stocate criptat cu opțiunea de verificare a autenticității. Pentru criptare, pot fi folosite algoritmi precum ChaCha8, AES-CTR și AES-GCM. Regularitățile accesului de scriere și citire sunt ascunse prin utilizarea schemei Path ORAM. În viitor este planificată implementarea altor scheme, dar în prezent, dezvoltarea se află în stadiul de prototip, care nu este recomandat pentru utilizarea în sisteme de producție.
Oramfs poate fi utilizat cu orice FS și nu depinde de tipul de stocare externă țintă - este posibilă sincronizarea fișierelor cu orice serviciu care poate fi montat sub formă de catalog local (SSH, FTP, Google Drive, Amazon S3, Dropbox, Google Cloud Storage, Mail.ru Cloud, Yandex.Disk și alte servicii acceptate în rclone sau pentru care există module FUSE pentru montare). Dimensiunea stocării nu este fixă și, în cazul în care este necesar un spațiu suplimentar, dimensiunea ORAM poate fi crescută dinamic.
Configurarea Oramfs se reduce la definirea a două cataloage - public și privat, care joacă rolul server și clientului. Catalogul public poate fi orice director în FS local, care este legat de stocările externe prin montarea lor prin SSHFS, FTPFS, Rclone și orice alte module FUSE. Directorul privat este furnizat de modulul FUSE Oramfs și este destinat lucrului direct cu fișierele stocate în ORAM. În catalogul public este plasat un fișier cu imaginea ORAM. Orice operațiune cu directorul privat se reflectă în starea acestei imagini, dar acest fișier apare pentru observatorul extern ca o cutie neagră, modificările din care nu pot fi asociate cu activitatea din directorul privat, inclusiv nu se poate determina dacă s-a efectuat o operațiune de scriere sau citire.
Oramfs poate fi utilizat în domenii în care este necesar să se obțină cel mai înalt nivel de confidențialitate și se poate sacrifica performanța. Performanța scade deoarece fiecare operațiune cu stocarea, inclusiv operațiunile de citire a datelor, duc la reconstruirea blocurilor în imaginea FS. De exemplu, citirea unui fișier de 10MB durează aproximativ 1 secundă, iar 25MB - 3 secunde. Scrierea a 10MB durează 15 secunde, iar 25MB - 50 de secunde. În același timp, Oramfs este de aproximativ 9 ori mai rapid la citire și de 2 ori mai rapid la scriere comparativ cu sistemul de fișiere UtahFS, dezvoltat de Cloudflare și care suportă opțional modul ORAM.
Sursa: opennet.ro
