Zasady bezpieczeństwa Chrome - czyli jak zrobić bezpieczną przeglądarkę
Przedstawiciele projektu Chromium, w ramach którego rozwijana jest przeglądarka Google Chrome, opublikowali właśnie bardzo ciekawy materiał - opis siedmiu podstawowych zasad, na których opiera się bezpieczeństwa tej aplikacji. Na pierwszy rzut oka wydaje się, że mamy tam same oczywistości i banały, ale jak się tak zastanowić, to sytuacja wcale nie jest taka prosta.
Owszem, wszystkie te zasady są nieskomplikowane i powinny przyświecać każdemu twórcy oprogramowania (szczególnie tak narażonego na ataki jak przeglądarka) - ale z drugiej strony, chyba tylko Google i może jeszcze Mozilla realizują je tak konsekwentnie i otwarcie. Przynosi to zresztą doskonałe efekty - Chrome jest obecnie chyba najlepiej zabezpieczoną przeglądarką internetową (a i Firefox wiele jej nie ustępuje).
W skrócie rzecz ujmując, owe zasady wyglądają tak (wszystkich zainteresowanych detalami odsyłam na stronę Chromium):
1. Nie przeszkadzaj - zapewnienie bezpieczeństwa aplikacji nie może być związane z ustawicznym ograniczaniem i angażowaniem użytkownika. Jeśli funkcje związane z bezpieczeństwem będą mu przeszkadzały, to nie będzie z nich korzystał, i tyle. Zabezpieczenia powinny być dla przeciętnego "usera" przezroczyste.
2. Wielowarstowe zabezpieczenia - nie może być tak, że za bezpieczeństwo odpowiada tylko jeden, choćby nie wiadomo jak skuteczny, system. To musi być rozwiązanie kompleksowe, wieloelementowe, w którym poszczególne zabezpieczenia będą się uzupełniały i wspierały. To dlatego Chrome ma nie tylko świetnie działający sandbox, ale także ASLR, DEP, JIT hardening czy SafeSEH.
3. Bezpieczeństwo to robota zespołowa - tej zasady długo nie mogli opanować twórcy Internet Explorera (a autorzy Chrome'a wdrażali ją od samego początku prac nad przeglądarką). Chodzi o to, by program od samego początku prac był tworzony z zachowaniem zasad bezpieczeństwa i autorzy wszystkich jego elementów mieli to na uwadze.
4. Liczy się szybkość - wszystkie wykryte w aplikacji błędy powinny być możliwie najszybciej łatane.
5. Bądź transparentny - autorzy oprogramowania nie mogą ukrywać informacji o znajdowanych i usuwanych lukach (zarówno tych wykrytych przez zewnętrznych specjalistów, jak i przez autorów programu). Warto dodać, że Google wypracował bardzo rozsądną politykę informowania o dziurach w Chrome - firma udostępnia wszystkie szczegóły na temat błędów w kilka tygodni po ich załataniu (kiedy większość użytkowników ma już zainstalowane aktualizacje).
6. Zaangażuj społeczność - im więcej oczu przygląda się zabezpieczeniom aplikacji, tym większa szansa, że uda się znaleźć wszystkie luki i błędy. Google od początku chętnie współpracuje z specami ds. bezpieczeństwa (firma regularnie wypłaca im nagrody za znalezienie błędów w Chrome).
7. Bezpieczeństwo dla wszystkich - Google chwali się, że dzieli się swoimi dokonaniami w zakresie bezpieczeństwa z autorami innych przeglądarek i organizacjami standaryzacyjnymi.
Można się zastanawiać, na ile wszystkie powyższe tezy są komunałami - faktem jednak jest, że metoda Google'a po prostu działa. Chrome faktycznie jest obecnie najbezpieczniejszą przeglądarką - koncern chwali się, że jego program jest łatany szybciej niż konkurenci, luki zero-day zdarzają się sporadycznie, a na dodatek Chrome jako jedyny nie został nigdy skutecznie zaatakowany podczas konkursu hakerskiego Pwn2Own.
Co nie mniej ważne, specyficzny mechanizm aktualizacyjny Chrome'a sprawia, że zdecydowana większość użytkowników korzysta z najnowszej dostępnej wersji, dzięki czemu ryzyko przeprowadzenia ataku za pośrednictwem jakiejś starszej luki (co często zdarza w przypadku konkurencyjnych przeglądarek) jest znikome.
Warto jednak zauważyć, że Google przyjął dość specyficzny model zapewnienia bezpieczeństwa aplikacji - firma uznała po prostu, że zagwarantowanie użytkownikowi spokoju jest wyłącznie zadaniem producenta oprogramowania i że użytkownik nie powinien mieć tu nic do gadania. Zerknijcie na powyższe punkty - żaden z nich nie zakłada najmniejszego udziału użytkownika. On ma tylko siedzieć i korzystać, a nie myśleć o zabezpieczeniach i aktualizacjach.
Cóż, jest to idea mocno zbliżona z moimi poglądami - ciekaw jestem tylko, czy inni producenci zechcą przyjąć ten model (ze wszystkimi jego zaletami i wadami). Obawiam się, że na razie jest to raczej wątpliwe - wyobraźcie sobie, jakie larum by się podniosło, gdyby np. Microsoft odebrał użytkownikom możliwość decydowania o zainstalowaniu aktualizacji IE czy Windows. Ale za rok czy dwa może być zupełnie inaczej - nie od dziś wszak wiadomo, że użytkownik jest zwykle najsłabszym elementem ekosystemu bezpieczeństwa, więc wyeliminowanie go z równania może przynieść producentowi same korzyści. Google najwyraźniej już to zrozumiał.