Tuesday, November 1, 2011

Capsicum - nowy sposób na izolację procesów

Capsicum, tak nazywa się nowe rozwiązanie opracowane w laboratorium Uniwersytetu Cambridge przy finansowym wsparciu firmy Google. Celem projektu jest kompleksowe rozwiązanie problem z bezpieczeństwem przeglądarki Chrome i systemu operacyjnego Chrome OS.
Capsicum to tzw. sandbox framework, który rozszerza POSIX API. Jego użycie wymaga zmiany kodu w aplikacjach. Poza tym jest to rozwiązanie na poziomie aplikacji, póki co, bo biblioteka dopiero się rozwija.
Na początek wprowadzono ją do nowego wydania FreeBSD 9.0, ale Google ma w planach przeportowanie go na system Linux.
W publikacjach na temat Capsicum (http://www.cl.cam.ac.uk/research/security/capsicum/papers/2010usenix-security-capsicum-website.pdf) wspomina się o tym, że użyta technika rozwiązuje wszystkie problemy w przeciwieństwie do swoich konkurentów, w tym do SELinux. Pojawia się pytanie, czy Capsicum wyprze SELinux?
Okazuje się, że nie koniecznie, pisze o tym Robert Watson, jedne z developerów Capsicum:
> How is Capsicum positioned, from user & admin perspective, when compared to 
> the MAC work on FreeBSD and SELinux on Linux? Is one the superset of 
> another, will one obsolete another?

This is a point addressed in some detail in the paper, which considers the 
relationship between Capsicum and other security models.  Capsicum is really 
addressed at the application author, whereas MAC models are typically 
addressed at a blend of system integrators and system administrators.  As a 
result, users mostly benefit from Capcisum transparently.
Ponadto jeden z deweloperów SELinux w swojej notatce poświęconej konkurencji ze strony Capsicum stwierdza, że z technicznego punku widzenia nie ma powodu, który nie pozwalałby na działanie obu tych technologi na tym samym systemie. To ważny fakt, ponieważ można się w sieci natknąć na takie informacje.
Rozwiązanie użyte w projekcie Capsicum jest o tyle prostsze, że nie wymaga administrowania w przeciwieństwie do SELinux, gdzie np. zmiana konfiguracji Apache może pociągnąć za sobą konieczność zmiany polityki SELinux, a ta wymaga już ponownego uruchomienia serwera.
Jednak z ogólnego punktu widzenia Capsicum wcale nie jest antidotum na wszystkie problemy związane z bezpieczeństwem. Capsicum nie można użyć do kontroli np. współpracy różnych części systemu.
Trzeba pamiętać, że jest to rozwiązanie problemu z bezpieczeństwem przeglądarki internetowej, które może mieć szersze zastosowanie, a nie odwrotnie. Zresztą jak Russell Coker zauważył, deweloperzy Capsicum ogłaszają, że stworzyli coś nowego ale nie zależy im na tym, aby to propagować.

Strona projektu: http://www.cl.cam.ac.uk/research/security/capsicum/

No comments:

Post a Comment