Komu się przyda Qubes-OS?

2010-09-22 00:00:00 +0100


Właśnie zainstalowałem Qubes-OS, czyli namiastkę systemu operacyjnego klasy trusted opartą o separację i wirtualizację, zamiast o security kernel wbudowany w system operacyjny. Qubes jest we wczesnej wersja alpha, więc nie należy od niego oczekiwać szczególnej przyjazności użytkownikowi. Traktuję go jako proof-of-concept niż jako gotowy produkt. Ciekawe jest nie tyle to, co Qubes już potrafi a raczej to jakie możliwości daje jako punkt wyjściowy do tworzenia nowych rozwiązań.

Qubes jest oparty o wirtualizację - każda aplikacja w systemie może być uruchomiona wewnątrz autonomicznego środowiska wirtualnego i w nim jest zamknięta. Jedno okno przeglądarki możemy mieć otwarte w celu korzystania z bankowości internetowej, w drugim możemy łazić po stronach z exploitami ale jeśli każde z nich uruchomimy w oddzielnym środowisku to nie będą mogły na siebie wpływać. Rzecz jasna, żadne z nich nie będzie mogło także wpływać na środowisko nadrzędne (Dom0 czyli hypervisor).

Brzmi to jak dobre rozwiązanie zwłaszcza dla organizacji, które muszą pracować równocześnie w kilku środowiskach o różnej klasyfikacji niejawności informacji. I chyba dość dobrze pasuje to do zastosowań w administracji publicznej - na przykład w policji swego czasu widziałem na biurkach dwa oddzielne komputery, jeden do sieci publicznej, drugi do sieci niejawnej. Ale nie tylko sektor publiczny - w sektorze prywatnym ten sam pracownik często też równocześnie pracuje na danych mniej (email, WWW) i bardziej (dane osobowe) zastrzeżonych. Dzięki separacji w stylu Qubes można zbudować produkt, który umożliwi bezpieczny dostęp do obu środowisk na jednym fizycznym komputerze.

Dla porównania, systemy z rozbudowanymi funkcjami bezpieczeństwa takie jak SELinux czy GRsecurity działają w oparciu o działający na poziomie kernela reference monitor, który wymusza dostęp do obiektów (pliki, sieć) przez podmioty (aplikacje) zgodnie z opisaną w jakiś sposób polityką bezpieczeństwa. W różnych systemach różnie to działa, ale jeśli przypomnimy sobie słynną dziurę do_brk() w jądrze Linuksa to widać, że implementacja reference monitora jako równoprawnej części jądra systemu operacyjnego nie jest najlepszym pomysłem.

Kilka uwag uruchomieniowych dotyczących Qubes-OS: