Mechanizm izolacji podobny do plegde jest opracowywany we FreeBSD

Okazało się, że zaproponowano wdrożenie d mechanizm izolacji aplikacji dla FreeBSD, który przypomina wywołania systemowe złóż i odsłoń opracowane przez projekt OpenBSD.

Izolacja w plegde polega na zablokowaniu dostępu do wywołań systemowych, które nie są używane przez aplikację, i ujawnieniu poprzez selektywne otwieranie dostępu tylko do określonych ścieżek plików, z którymi aplikacja może pracować. Dla aplikacji tworzona jest rodzaj białej listy wywołań systemowych i ścieżek plików, a wszystkie inne wywołania i ścieżki są zabronione.

Różnica między złożonym a odsłoniętym, opracowany dla FreeBSDsprowadza się do nałożenia dodatkowej warstwy co pozwala izolować aplikacje bez lub z minimalnymi zmianami w ich kodzie. Pamiętaj, że w OpenBSD plegde i unlock mają na celu ścisłą integrację ze środowiskiem bazowym i są realizowane poprzez dodanie specjalnych adnotacji do kodu każdej aplikacji.

Aby uprościć organizację ochrony, filtry pozwalają uniknąć szczegółów na poziomie poszczególnych wywołań systemowych i manipulować klasami wywołań systemowych (wejście/wyjście, odczyt pliku, zapis pliku, gniazda, ioctl, sysctl, start procesów itp.) . Funkcje ograniczania dostępu można wywoływać w kodzie aplikacji po wykonaniu określonych akcji, na przykład dostęp do gniazd i plików można zamknąć po otwarciu potrzebnych plików i nawiązaniu połączenia sieciowego.

Autor fold i ujawnij port dla FreeBSD mające na celu zapewnienie możliwości izolowania dowolnych aplikacji, dla której proponowane jest narzędzie curtain, które pozwala na zastosowanie do aplikacji reguł zdefiniowanych w osobnym pliku. Proponowana konfiguracja zawiera plik z podstawowymi ustawieniami, które definiują klasy wywołań systemowych i typowe ścieżki plików specyficzne dla określonych aplikacji (praca z dźwiękiem, sieciami, logowanie itp.), a także plik z regułami dostępu dla konkretnych aplikacji.

Narzędzie kurtyny może być używane do izolowania większości narzędzi, procesów serwerowych, aplikacji graficznych, a nawet całych sesji pulpitu, które nie zostały zmodyfikowane. Obsługiwane jest współdzielenie kurtyny z mechanizmami izolacji zapewnianymi przez podsystemy Jail i Capsicum.

również istnieje możliwość zorganizowania zagnieżdżonej izolacji, uruchomione aplikacje dziedziczą reguły ustawione przez aplikację nadrzędną, uzupełnienie ich o osobne ograniczenia. Niektóre operacje jądra (narzędzia debugowania, POSIX/SysV IPC, PTY) są dodatkowo chronione przez mechanizm bariery, która uniemożliwia dostęp do obiektów jądra utworzonych przez procesy inne niż proces bieżący lub nadrzędny.

Proces może skonfigurować własną izolację, wywołując curtainctl lub używając funkcji plegde() i unveil() dostarczanych przez bibliotekę libcurtain, podobnie jak w OpenBSD. System sysctl „security.curtain.log_level” służy do śledzenia blokad podczas działania aplikacji.

Dostęp do protokołów X11 i Wayland jest włączany osobno, określając opcje „-X”/„-Y” i „-W” podczas uruchamiania kurtyny, ale obsługa aplikacji graficznych nie jest jeszcze wystarczająco ustabilizowana i ma szereg nierozwiązanych problemów ( problemy pojawiają się głównie podczas korzystania z X11, a obsługa Waylanda jest znacznie lepsza). Użytkownicy mogą dodawać dodatkowe ograniczenia, tworząc lokalne pliki reguł (~/.curtain.conf). Na przykład,

Implementacja obejmuje moduł jądra mac_curtain do obowiązkowej kontroli dostępu (MAC), zestaw łatek do jądra FreeBSD z implementacją niezbędnych sterowników i filtrów, bibliotekę libcurtain do korzystania z plegde i funkcji ujawnionych w aplikacjach, kurtynę narzędziową, pokazuje konfigurację pliki, zestaw testów i łaty dla niektórych programów działających w przestrzeni użytkownika (na przykład, aby użyć $TMPDIR do ujednolicenia pracy z plikami tymczasowymi). W miarę możliwości autor stara się minimalizować liczbę zmian, które wymagają łatania jądra i aplikacji.

W końcu jeśli chcesz dowiedzieć się więcej na ten tematmożesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.