Module de securitate Linux - Linux Security Modules

Linux Security Modules ( LSM ) este un cadru care permite nucleului Linux să accepte fără părtinire o varietate de modele de securitate a computerului . LSM este licențiat în condițiile licenței publice generale GNU și este o parte standard a kernel-ului Linux de la Linux 2.6. AppArmor , SELinux , Smack și TOMOYO Linux sunt modulele de securitate aprobate în prezent în nucleul oficial.

Proiecta

LSM a fost conceput pentru a răspunde la toate cerințele pentru implementarea cu succes a unui modul obligatoriu de control al accesului , impunând în același timp cele mai puține modificări posibile la kernel-ul Linux. LSM evită abordarea interpunerii apelurilor de sistem utilizate de Systrace deoarece nu se scalează la nucleele multiprocesor și este supusă atacurilor TOCTTOU (cursă). În schimb, LSM inserează „ cârlige ” (upcalls la modul) în fiecare punct al kernelului în care urmează să rezulte un apel de sistem la nivel de utilizator cu acces la un kernel-obiect intern important, cum ar fi inodii și blocuri de control al sarcinilor.

LSM are un scop restrâns pentru a rezolva problema controlului accesului , în timp ce nu impune un patch de schimbare mare și complex pe kernel-ul principal. Nu este destinat să fie un mecanism general de „ cârlig ” sau „ upcall ” și nici nu acceptă virtualizarea la nivel de sistem de operare .

Obiectivul de control al accesului LSM este foarte strâns legat de problema auditului sistemului , dar este subtil diferit. Auditul necesită înregistrarea fiecărei încercări de acces. LSM nu poate livra acest lucru, deoarece ar necesita mult mai multe cârlige, pentru a detecta cazurile în care nucleul „ scurtcircuite ” eșuează la apeluri de sistem și returnează un cod de eroare înainte de a se apropia de obiecte semnificative.

Proiectarea LSM este descrisă în lucrarea Linux Security Modules: General Security Support for Linux Kernel prezentată la USENIX Security 2002. La aceeași conferință a fost lucrarea Using CQUAL for Static Analysis of Authorization Hook Placement care a studiat analiza statică automată a codului kernel-ului. pentru a verifica dacă toate cârligele necesare au fost de fapt inserate în nucleul Linux.

Adopţie

Istorie

La Summitul Linux Kernel din 2001, NSA a propus ca SELinux să fie inclus în Linux 2.5. Linus Torvalds a respins SELinux în acel moment, deoarece a observat că există multe proiecte de securitate diferite în dezvoltare și, deoarece toate diferă, comunitatea de securitate nu a format încă un consens cu privire la modelul de securitate final. În schimb, Linus a acuzat comunitatea de securitate să „facă din ea un modul”.

Ca răspuns, Crispin Cowan a propus LSM: o interfață pentru kernel-ul Linux care oferă suficiente „cârlige” (upcalls) din kernel-ul Linux către un modul încărcabil, astfel încât să permită modulului să impună controale de acces obligatorii. Dezvoltarea LSM în următorii doi ani a fost realizată de comunitatea LSM, inclusiv contribuții substanțiale de la Immunix Corporation , NSA , McAfee , IBM , Silicon Graphics și mulți colaboratori independenți. LSM a fost în cele din urmă acceptat în mainstream-ul kernel-ului Linux și a fost inclus ca parte standard a Linux 2.6 în decembrie 2003.

În 2006, unii dezvoltatori de kernel au observat că SELinux a fost singurul modul LSM utilizat pe scară largă inclus în arborele sursă principal de kernel Linux. Dacă trebuie să existe un singur modul LSM utilizat pe scară largă, acesta a fost motivat, atunci indirectarea LSM nu este necesară, iar LSM ar trebui eliminat și înlocuit cu SELinux însuși. Cu toate acestea, există și alte module LSM menținute în afara structurii kernel - ului de masă ( AppArmor , Intrusion Detection System Linux , FireFlier , CIPSO , Multi ADM , etc.), astfel încât acest argument a condus la două rezultate: 1. că dezvoltatorii acestor module au început punerea 2. la Summitul Kernel din 2006 , Linus a afirmat încă o dată că LSM va rămâne pentru că nu vrea să arbitreze care este cel mai bun model de securitate.

LSM va rămâne probabil, deoarece modulele de securitate suplimentare Smack (versiunea 2.6.25), TOMOYO Linux (versiunea 2.6.30, iunie 2009) și AppArmor (versiunea 2.6.36) au fost acceptate în kernel-ul principal.

Referințe

linkuri externe