Probleme cu ștergerea cheilor de criptare a discului din RAM la trecerea Linux în modul de așteptare

În timpul portabilității instrumentului cryptsetup-suspend pentru NixOS, a fost identificată o eroare în subsistemul de criptare a discurilor LUKS (Linux Unified Key Setup), care, începând cu kernelul Linux 6.9 (commit-ul problematic), lansat în mai 2024, a oprit ștergerea cheilor de criptare din memoria operațională la trecerea sistemului în modul de așteptare.

Instrumentul cryptsetup-suspend este utilizat în Debian pentru blocarea automată a partitiilor LUKS înainte de trecerea în modul de repaus. Se presupune că, în cazul furtului unui laptop trecut în modul de repaus, atacatorul nu va putea avea acces la date, deoarece la ieșirea din repaus va fi necesară introducerea parolei pentru a restabili accesul la datele criptate. Din cauza erorii din kernelul Linux, după blocarea partției LUKS cu comanda „cryptsetup luksSuspend”, cheile nu erau șterse din memoria operațională și rămâneau vizibile prin /proc/keys, ceea ce permitea atacatorului să le extragă, de exemplu, prin metoda „reboot rece” și să le folosească pentru accesul la date.

Lipsa ștergerii cheilor a fost identificată în timpul depanării stării de condiționare, care a dus la probleme la trecerea în modul de așteptare. Eroarea a apărut după ce s-a realizat o refactorizare în kernelul 6.9, iar cheile erau legate de firul de apel și ar fi trebuit să fie șterse la finalizarea acestuia, dar în realitate rămâneau în memorie. Pentru a corecta acest lucru, a fost propus un patch pe o linie care elimină eroarea comisă în kernelul Linux.

Acest patch nu a fost acceptat în kernel, deoarece a fost identificată o problemă — patchul funcționează doar pentru unități fizice, dar nu funcționează pentru dispozitivele virtuale loop. În loc să rezolve problema la nivelul kernelului, dezvoltatorii instrumentului cryptsetup au propus o soluție temporară pentru ștergerea cheilor. Această modificare a fost deja acceptată și va fi inclusă în versiunea cryptsetup 2.8.7.

În plus, pentru NixOS a fost creată o implementare proprie a scripturilor pentru blocarea discurilor criptate înainte de trecerea în modul de așteptare, care utilizează un vechi patch pentru kernel, care nu a fost acceptat în 2015, care șterge forțat cheile din memorie înainte de trecerea în modul de repaus.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster