Jądro separacji
Jądro separacji to rodzaj jądra bezpieczeństwa używanego do symulacji środowiska rozproszonego. Koncepcja została wprowadzona przez Johna Rushby'ego w artykule z 1981 roku. Rushby zaproponował jądro separacji jako rozwiązanie trudności i problemów, które pojawiły się podczas opracowywania i weryfikacji dużych, złożonych jąder bezpieczeństwa, które miały „zapewnić wielopoziomowe bezpieczne działanie w systemach ogólnego przeznaczenia dla wielu użytkowników”. Według Rushby'ego „zadaniem jądra separacji jest stworzenie środowiska, które jest nie do odróżnienia od środowiska zapewnianego przez fizycznie rozproszony system: musi wyglądać tak, jakby każdy reżim był oddzielną, odizolowaną maszyną, a informacje mogą przepływać tylko z jednej maszyny do innego wzdłuż znanych zewnętrznych linii komunikacyjnych. Jedną z właściwości jądra separacji, którą musimy udowodnić, jest zatem to, że nie ma kanałów przepływu informacji między reżimami innymi niż te wyraźnie określone.
różnej krytyczności , na jednym procesorze . Komercyjne systemu operacyjnego czasu rzeczywistego z tego gatunku były używane przez producentów samolotów w aplikacjach awioniki o krytycznym znaczeniu dla bezpieczeństwa.
Agencji Bezpieczeństwa Narodowego USA (NSA) opublikowała Separation Kernel Protection Profile (SKPP), specyfikację wymagań bezpieczeństwa dla jąder separacji odpowiednich do użycia w najbardziej nieprzyjaznych środowiskach zagrożeń. SKPP opisuje, w Common Criteria , klasę nowoczesnych produktów, które zapewniają podstawowe właściwości koncepcyjnego jądra separacji Rushby'ego. Definiuje wymagania dotyczące funkcjonalności i zapewnienia bezpieczeństwa dla konstrukcji i oceny jąder separacji, zapewniając jednocześnie pewną swobodę w zakresie wyborów dostępnych dla programistów.
SKPP definiuje jądro separacji jako „sprzęt i/lub oprogramowanie układowe i/lub mechanizmy programowe, których podstawową funkcją jest ustanawianie, izolowanie i oddzielanie wielu partycji oraz kontrolowanie przepływu informacji między podmiotami i wyeksportowanymi zasobami przydzielonymi do tych partycji”. Ponadto podstawowe wymagania funkcjonalne jądra separacji obejmują:
- Ochrona wszystkich zasobów (w tym procesora , pamięci i urządzeń) przed nieautoryzowanym dostępem.
- Oddzielenie zasobów wewnętrznych wykorzystywanych przez Cel Ewaluacyjnych Funkcji Bezpieczeństwa (TSF) od zasobów eksportowanych udostępnianych podmiotom.
- Partycjonowanie i izolacja eksportowanych zasobów.
- Pośrednictwo w przepływach informacji pomiędzy przegrodami oraz pomiędzy wywożonymi zasobami.
- Usługi audytowe.
Jądro separacji przydziela wszystkie wyeksportowane zasoby będące pod jego kontrolą do partycji. Podziały są izolowane, z wyjątkiem wyraźnie dozwolonych przepływów informacji. Działania podmiotu w jednej strefie są odizolowane od (tzn. nie mogą być wykryte ani przekazane) podmiotom w innej strefie, chyba że zezwolono na ten przepływ. Partycje i przepływy są zdefiniowane w danych konfiguracyjnych. Zauważ, że „podział” i „podmiot” to abstrakcje ortogonalne. „Podział”, na co wskazuje jego matematyczna geneza, zapewnia teoretyczne grupowanie jednostek systemowych, podczas gdy „podmiot” pozwala nam wnioskować o poszczególnych aktywnych jednostkach systemu. Zatem partycja (zbiór zawierający zero lub więcej elementów) nie jest podmiotem (elementem aktywnym), ale może zawierać zero lub więcej podmiotów. Jądro separacji zapewnia hostowanym programom wysoce bezpieczne partycjonowanie i właściwości kontroli przepływu informacji, które są zarówno odporne na manipulacje, jak i niemożliwe do ominięcia. Możliwości te zapewniają konfigurowalną, zaufaną podstawę dla różnych architektur systemów.
Rozwiązania
- PikeOS łączy technologię hypervisor jądra separacji z twardymi możliwościami czasu rzeczywistego.
- INTEGRITY-178B firmy Green Hills Software We wrześniu 2008 r. stało się pierwszym jądrem separacji certyfikowanym zgodnie z SKPP.
- Wind River Systems posiada technologię jądra separacji, która była w aktywnym procesie certyfikacji w 2009 roku.
- Lynx Software Technologies ma jądro separacji, LynxSecure .
W 2011 r. Dyrekcja ds. Zapewnienia Informacji wygasła SKPP. NSA nie będzie już certyfikować określonych systemów operacyjnych, w tym jąder separacji, w odniesieniu do SKPP, zauważając, że „zgodność z tym profilem ochrony sama w sobie nie daje wystarczającej pewności, że informacje dotyczące bezpieczeństwa narodowego są odpowiednio chronione w kontekście większego systemu, w którym zgodny produkt jest zintegrowany”.
Mikrojądro seL4 ma formalny dowód koncepcji, że można go skonfigurować jako jądro separacji. Wymuszona ciągłość informacji wraz z tym oznacza, że jest to przykład pewności na podwyższonym poziomie. Jądro separacji Muen jest również formalnie zweryfikowanym jądrem separacji open source dla maszyn x86.
Zobacz też
- Aby zapoznać się z architekturą bezpieczeństwa komputera opartą na jądrze separacji, zobacz Wiele niezależnych poziomów zabezpieczeń .
- Chroot
- Więzienie FreeBSD
- Wirtualizacja na poziomie systemu operacyjnego