Ocoliți criptarea discului folosind TPM2 pentru deblocarea automată

Unul dintre menținătorii de pachete NixOS a introdus o tehnică de atac care permite accesul la date de pe partițiile de disc criptate în configurații care nu necesită introducerea unei parole de deblocare la pornire, prin plasarea informațiilor de decriptare în TPM2 (Trusted Platform Module). Astfel de configurații sunt adesea folosite pe servere sau stații de lucru cu mai mulți utilizatori, unde este problematică introducerea manuală a parolei după fiecare repornire.

Când se utilizează această metodă de criptare a discului, decriptarea este efectuată folosind o cheie suplimentară stocată în TPM și emisă numai atunci când starea inițială a sistemului este confirmată. Starea sistemului este stocată sub formă de hash-uri în registrele PCR (Platform Configuration Register) și este legată de semnătura digitală cu care este certificat bootloader-ul, precum și de sumele de control ale bootloader-ului și mediului inițial de boot (initrd). . Accesul la o cheie în TPM este acordat numai atunci când toate registrele PCR asociate cu aceasta sunt în aceeași stare ca atunci când cheia a fost stocată.

Se presupune că lanțul de pornire a sistemului de operare este verificat utilizând UEFI Secure Boot și accesul la chei poate fi obținut numai dintr-o imagine initrd nemodificată. Dacă verificarea are succes, discul este deblocat automat, dar accesul la datele decriptate poate fi obținut numai prin autentificarea în contul dumneavoastră în sistem. Dacă accesați fără un boot verificat sau încercați să înlocuiți sau să faceți modificări la initrd pentru a intercepta cheile, lanțul de încredere va fi rupt, starea registrelor PCR se va schimba și TPM2 nu va furniza informațiile necesare decriptării .

Опубликованный метод атаки позволяет обойтись без изменения содержимого initrd в конфигурациях, не идентифицирующих шифрованные разделы LUKS. Отмечается, что включение подобной проверки разделов не описывается во всех найденных инструкциях по настройке дискового шифрования, так как идентификация раздела заметно усложняет конфигурацию (требуется привлечение дополнительного регистра PCR для проверки ключа раздела и генерация initrd с учётом его значения). Примеры совершения атаки продемонстрированы для Fedora Linux в связке с инструментарием clevis и для NixOS в связке с systemd-cryptenroll. Для совершения атаки необходим физический доступ к компьютеру и возможность извлечения накопителя.

Metoda se bazează pe faptul că atacatorul poate înlocui partiția criptată rădăcină existentă cu propria sa partiție criptată creată cu același identificator UUID și chei de decriptare cunoscute atacatorului. Mediul initrd va transfera controlul procesului init din secțiunea atacatorului. Deoarece conținutul initrd-ului nu a fost modificat, starea TPM nu va fi încălcată și, după ce a câștigat controlul asupra mediului, atacatorul va putea folosi TPM-ul pentru a decripta cheia partiției originale a discului.

Atacul se reduce la următorii pași:

  • Scoaterea discului și analizarea datelor necriptate din partiția /boot pe alt computer. Determinarea informațiilor despre partiția criptată și UUID-ul acesteia din imaginea initrd situată în partiția /boot.
  • Creați o copie de rezervă a primilor 64 MB ai partiției criptate LUKS.
  • Înlocuirea celor 64 MB specificati cu o imagine cu propria sa partiție rădăcină, criptată folosind o cheie cunoscută atacatorului și având un identificator UUID similar cu vechea partiție.
  • Revenirea discului la computerul original și pornirea cu o partiție rădăcină înlocuită. Deoarece deblocarea automată folosind cheia TPM pentru partiția falsificată eșuează, initrd vă solicită să introduceți manual parola.
  • Preluarea cheii originale din TPM folosind metadate despre TPM și jetonul criptat din antetul LUKS al partiției vechi.
  • Rearanjarea discului pe computerul atacatorului, restaurarea părții suprascrise a partiției LUKS dintr-o copie de rezervă și utilizarea cheii originale rezultate pentru a accesa datele.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster