Andrey Konovalov, a împărtășit o metodă de dezactivare a blocării

Andrei Konovalov Inginer software Google, a dezvăluit o metodă de dezactivare de la distanță a protecției blocare oferite în nucleul Linux furnizat în Ubuntu. Cu care arată că metodele de protecție sunt ineficiente, plus că mai menționează că metodele pe care le-a dezvăluit teoretic ar trebui să funcționeze și cu kernel-ul Fedora și cu alte distribuții (dar nu au fost testate).

Pentru cei care nu sunt conștienți de Lockdown, ar trebui să știe că este o componentă a nucleului Linux care Funcția sa principală este de a limita accesul utilizatorului root în nucleul sistemului și această funcționalitate a fost mutat în modulul LSM încărcat opțional (Linux Security Module), care stabilește o barieră între UID 0 și nucleu, limitând anumite funcții de nivel scăzut.

Acest lucru permite funcției de blocare să fie bazată pe politici, mai degrabă decât să codifice în mod dur o politică implicită în cadrul mecanismului, deci blocarea inclusă în modulul de securitate Linux oferă o implementare cu o politică simplă destinate uzului general. Această politică oferă un nivel de granularitate controlabil prin linia de comandă a nucleului.

Despre blocare

Blocarea restricționează accesul rădăcinii la kernel și blochează căile de bypass securizate ale UEFI.

De exemplu, în modul de blocare, acces la / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, kprobes mode debug, mmiotrace, tracefs, BPF, PCMCIA CIS, printre altele, unele interfețe sunt limitat, precum și registrele ACPI și MSR ale procesorului.

În timp ce apelurile kexec_file și kexec_load sunt blocate, modul de repaus este interzis, utilizarea DMA pentru dispozitivele PCI este limitată, importul codului ACPI din variabilele EFI este interzis și manipulările cu porturile de intrare / ieșire, inclusiv schimbarea numărului de întrerupere și un I / O port pentru portul serial.

După cum unii știu, mecanismul blocarea a fost adăugată în kernel-ul Linux 5.4, dar este încă implementat sub formă de patch-uri sau completat de patch-uri pe nucleele furnizate împreună cu distribuțiile.

Aici, una dintre diferențele dintre pluginurile furnizate în distribuții și implementarea kernelului încorporat este capacitatea de a dezactiva blocarea furnizată atunci când există acces fizic la sistem.

Ubuntu și Fedora folosesc combinația de taste Alt + SysRq + X pentru a dezactiva încuietoarea. Se înțelege că combinația Alt + SysRq + X poate fi utilizat numai cu acces fizic la dispozitiv și în cazul unui atac la distanță și a unui acces root, atacatorul nu va putea dezactiva blocarea.

Blocarea poate fi dezactivată de la distanță

Andrei Konovalov a demonstrat asta metode legate de tastatură pentru confirmarea prezenței fizice a unui utilizator sunt ineficiente.

El a dezvăluit că cel mai simplu mod de a dezactiva blocarea ar fi să simulezi presa Alt + SysRq + X prin / dev / uinput, dar această opțiune este blocată inițial.

Dar cel puțin încă două modalități de înlocuire Alt + SysRq + X.

  • Prima metodă implică utilizarea interfeței sysrq-trigger: pentru a simula, trebuie doar să activați această interfață tastând „1” în / proc / sys / kernel / sysrq și apoi tastați „x” / proc / sysrq-trigger.
    Acest decalaj a fost remediat în actualizarea kernel-ului Ubuntu din decembrie și în Fedora 31. Este de remarcat faptul că dezvoltatorii, ca și în cazul / dev / uinput, au încercat inițial să blocheze această metodă, dar blocarea nu a funcționat din cauza unei erori în cod.
  • A doua metodă este să emulați tastatura prin USB / IP și apoi să trimiteți secvența Alt + SysRq + X de la tastatura virtuală.
    În nucleu, USB / IP furnizat de Ubuntu este activat în mod implicit și modulele usbip_core y vhci_hcd necesare sunt furnizate cu semnătura digitală necesară.
    Un atacator poate crea un dispozitiv USB virtual rulând un controler de rețea pe interfața loopback și conectându-l ca dispozitiv USB la distanță folosind USB / IP.

Metoda specificată a fost raportată dezvoltatorilor Ubuntu, dar nu a fost lansată încă o soluție.

Fuente: https://github.com


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.