W większości dzisiejszych systemów operacyjnych domyślnie instalowany program ma dostęp do wielu zasobów, których może nie potrzebować, a jego użytkownik nie ma prawa udostępniać go. Na przykład, gdy instaluje się zamknięty program źródłowy, zasadniczo nic nie stoi na przeszkodzie, aby odczytać klucze prywatne w ~/.ssh
i wysłać je do złośliwej strony trzeciej za pośrednictwem Internetu, i chyba że użytkownik jest biegłym w zakresie bezpieczeństwa biegły w używaniu śledzenia programów, prawdopodobnie nie będzie w stanie wykryć takiego naruszenia.System operacyjny z piaskownicą
W związku z rozprzestrzenianiem się wielu zamkniętych programów instalowanych na komputerach, jakie działania podejmują różne systemy operacyjne, aby rozwiązać problem piaskownicy programów osób trzecich?
Czy istnieje system operacyjny zaprojektowany z myślą o bezpieczeństwie, gdzie każdy program lub plik wykonywalny musi zadeklarować użytkownikowi w czytelny sposób, jakie zasoby potrzebuje do uruchomienia, aby system operacyjny uruchomił go w sandbox, w którym ma dostęp tylko do tych zasobów? Na przykład, plik wykonywalny będzie musiał zadeklarować, że będzie wymagał dostępu do określonego katalogu lub pliku w systemie plików, że będzie musiał osiągnąć określone domeny lub adres IP w sieci, że będzie wymagał określonej ilości pamięci itp. ... Jeśli plik wykonywalny znajduje się w deklaracji zasobów systemowych, należy uniemożliwić dostęp do nich przez system operacyjny.
Qubes (http://qubes-os.org/Architecture.html) to projekt wykorzystujący wirtualne maszyny do implementacji oddzielnych domen. W pewnym sensie jest to ponowne wykrywanie/reimplementacja MAC przy użyciu wirtualizacji jako elementu konstrukcyjnego. – ninjalj
Wirtualizacja wiąże się z koniecznością instalowania osobnego systemu operacyjnego dla każdej aplikacji. Bardziej wydajne byłoby posiadanie pojedynczego systemu operacyjnego z obowiązkową kontrolą dostępu, co oznacza stosowanie każdej aplikacji w trybie sandbox. – dzhelil
Tak, zgadzam się, wirtualizacja dla każdej aplikacji jest ogromnym marnowaniem kosztów ogólnych. Jak wspomniano, jest to kompromis obowiązkowej kontroli dostępu. Jeśli jednak potrzebny jest nowoczesny system operacyjny do uruchomienia aplikacji, jedna instancja wirtualizacji dla kilku aplikacji jest łatwa do skonfigurowania i zarządzania przez użytkownika. –