En Isolatiounsmechanismus ähnlech wéi Plegde an Unveil gëtt fir FreeBSD entwéckelt

Fir FreeBSD gëtt eng Implementatioun vun engem Applikatiounsisolatiounsmechanismus proposéiert, erënnert un d'Plegde an d'Entdeckung vum System Uruff entwéckelt vum OpenBSD Projet. Isolatioun am Plegde gëtt erreecht andeems Dir den Zougang zu Systemappellen verbitt, déi net an der Applikatioun benotzt ginn, an z'entdecken andeems se selektiv Zougang zu individuellen Dateiweeër opmaachen, mat deenen d'Applikatioun ka schaffen. Fir d'Applikatioun gëtt eng Zort wäiss Lëscht vu Systemappellen a Dateiweeër geformt, an all aner Uriff a Weeër sinn verbueden.

Den Ënnerscheed tëscht dem Analog vu Plegde an Entdeckung, déi fir FreeBSD entwéckelt gëtt, kënnt erof op d'Bereetstellung vun enger zousätzlecher Schicht, déi Iech erlaabt Uwendungen ze isoléieren ouni Ännerungen an hirem Code ze maachen oder mat minimalen Ännerungen. Erënnert drun datt am OpenBSD, Plegde an Entdeckung op eng enk Integratioun mat der Basisdaten Ëmfeld zielt a gi benotzt andeems se speziell Annotatiounen un de Code vun all Applikatioun addéieren. Fir d'Organisatioun vum Schutz ze vereinfachen, Filteren erlaaben Iech Detailer um Niveau vun eenzelne Systemruffen ze verzichten an Klassen vu Systemruffen ze manipuléieren (Input / Output, Liesdateien, Schreifdateien, Sockets, ioctl, sysctl, Prozessstart, etc.) . Zougang Restriktioun Fonctiounen kann am Applikatioun Code genannt ginn wéi bestëmmte Aktiounen sinn duerchgefouert, zum Beispill, Zougang zu Sockets a Fichieren kann refuséiert ginn no der Ouverture vun der néideg Fichieren an engem Netz Verbindung.

Den Auteur vum Hafen vu Plegde an Entdeckung fir FreeBSD wëlles d'Fähigkeit ze bidden fir arbiträr Uwendungen ze isoléieren, fir déi de Rido-Utility proposéiert gëtt, wat Iech erlaabt Regelen ze gëllen, déi an enger separater Datei op Uwendungen definéiert sinn. Déi proposéiert Konfiguratioun enthält eng Datei mat Basisastellungen, déi Klassen vu Systemruffen an typesch Dateiweeër spezifesch fir bestëmmte Applikatiounen definéieren (mat Toun schaffen, Netzwierkinteraktioun, Logged, etc.), souwéi e Fichier mat Zougangsregele fir spezifesch Uwendungen.

De Rido-Utility kann benotzt ginn fir déi meescht onverännert Utilities, Serverprozesser, grafesch Uwendungen a souguer ganz Desktop-Sessiounen ze isoléieren. Rido kann a Verbindung mat den Isolatiounsmechanismen benotzt ginn, déi vun de Prisong a Capsicum Subsystemer geliwwert ginn. Et ass och méiglech nestéiert Isolatioun z'organiséieren, wann lancéiert Uwendungen d'Regele fir d'Elterapplikatioun ierwen, se mat individuellen Restriktiounen ergänzen. Puer Kernel Operatiounen (Debugging Ariichtungen, POSIX / SysV IPC, PTYs) sinn zousätzlech geschützt vun engem Barrière Mechanismus datt Zougang zu Kernel Objete verhënnert datt net duerch den aktuellen oder Elterendeel Prozess geschaf ginn.

E Prozess kann seng eege Isolatioun konfiguréieren andeems Dir curtainctl rufft oder andeems Dir d'Libcurtain's plegde () an unveil () Funktiounen benotzt, ähnlech wéi déi an OpenBSD fonnt ginn. Fir Spären ze verfolgen während d'Applikatioun leeft, gëtt de sysctl 'security.curtain.log_level' geliwwert. Zougang zu den X11 a Wayland Protokoller gëtt separat aktivéiert andeems Dir d'"-X"/"-Y" an "-W" Optiounen spezifizéieren wann Dir Gardinen leeft, awer d'Ënnerstëtzung fir grafesch Uwendungen ass nach net genuch stabiliséiert an huet eng Rei vun ongeléiste Probleemer ( Problemer schéngen haaptsächlech wann Dir X11 benotzt, a Wayland Support gëtt vill besser ëmgesat). D'Benotzer kënnen zousätzlech Restriktiounen addéieren andeems Dir lokal Regeledateien erstellt (~/.curtain.conf). Zum Beispill, fir nëmme vu Firfox an den ~/Downloads/ Verzeichnis ze schreiwen, kënnt Dir e "[firefox]" Sektioun mat der Regel "~/Downloads/ : rw +" derbäi.

D'Implementatioun enthält de mac_curtain Kernel Modul fir obligatoresch Zougangskontroll (MAC, Obligatoresch Access Control), e Set vu Patches fir de FreeBSD Kernel mat der Ëmsetzung vun den néidegen Handler a Filteren, d'libcurtain Bibliothéik fir d'Plegde ze benotzen an d'Funktiounen an Applikatiounen z'entdecken, der Rido Utility, Beispill Configuratioun Fichieren, engem Set Tester a Patches fir e puer Programmer am Benotzer Raum (Zum Beispill, fir e benotzen $ TMPDIR Aarbecht mat temporäre Fichieren vereenegt). Wou méiglech ass den Auteur wëlles d'Zuel vun den Ännerungen ze minimiséieren déi Patches fir de Kernel an Uwendungen erfuerderen.

Source: opennet.ru

Setzt e Commentaire