We wtorek swoją premierę miał Firefox 3. W jednej wypowiedzi Window Snyder powiedziała:
In setting out to elevate Firefox's basic security, Snyder is also compelling Microsoft and Apple, maker of the Safari browser, to follow her lead — or get out of the way.
Snyder's rising star is sure to ascend even more this week, with the release of Version 3.0 of Firefox on Tuesday. The release is packed with new features, most notably stiffer security, faster speed and improved ease of use.
Panią Snyder uważam za kompetentną osobę, choćby z uwagi na książkę Threat Modeling , ale ta wypowiedź wybitnie jej nie wyszła...
Dlaczego? Cóż, dlatego: Code execution vulnerability found in Firefox 3.0. Nie, to nie oznacza, że Firefox jest tak dziurawy, że nie należy z niego korzystać. Nie jest tak, że ten błąd został znaleziony w kilka godzin, dotyczy on również Firefox 2, a Firefox 3 był od dawna dostępny (choćby wersje beta i trzy wersje RC). Trzeba sobie jednak uświadomić, że twierdzenie iż Firefox jest bezpieczniejszy niż Internet Explorer bo Firefox jest bezpieczniejszy niż Internet Explorer jest z gruntu błędne. Przeglądarka internetowa nie jest trywialnym programem. Podejrzewam, że zarówno Mozilla Corporation jak i Microsoft stosują techniki, które mają sprawić, że profil zagrożeń dla przeglądarki jest nie tylko stworzony, ale również aktualizowany i wykorzystywany (dla przypomnienia, Window Snyder pracowała w Microsoft). Microsoft zmienił podejście do tworzenia aplikacji, chwilami to podejście jest chyba nawet lepsze niż podejście w niektórych projektach szeroko pojętego Open Source. Internet Explorer przechodzi spore zmiany, wystarczy sobie przypomnieć ile czasu trwała wersja 6, później pojawiła się wersja 7 obecnie zbliża się wersja 8. Tak, IE ma spore problemy związane na przykład z kontrolkami ActiveX. Wiele błędów przypisywanych IE jest tak na prawdę błędem kontrolki, przeglądarka jest tylko pewną drogą ataku. Zmiany, które zostały wprowadzone w IE 7 dodatkowo zmniejszają powierzchnię ataku. Szczególnie dobrze to widać w Windows Vista, który jest pierwszym systemem Microsoftu, w którym zostały wprowadzone integrity levels. Jeśli przeglądarka działa na niskim poziomie, nie może wprowadzić zmian w wielu elementach systemu. Dodatkowo warto wspomnieć o możliwości aktywacji DEP dla Internet Explorer w Vista (a w IE8 będzie to ustawienie domyślne).
Ja wciąż pracuję na Windows XP, choć chciałbym się przesiąść na Vistę, ale to może po wymianie laptopa. Niestety, nie mogę korzystać z technologii typu ASLR czy integrity levels. W ramach rekompensaty wymuszam DEP dla wszystkich procesach (polityka AlwaysOn. W ten sposób zmniejszam powierzchnię ataku w przypadku błędów typu buffer overflow. Używam Firefoxa dlatego, że jest dla mnie wygodniejszą przeglądarką. Zresztą używałem go od czasu gdy nazywał się jeszcze Phoenix, a później przez krótki czas Firebird. Nie wróciłem do (stałego) używania IE po premierze wersji IE7, choć większość testów wykonują właśnie z IE bo okazuje się, że często aplikacje, które testuję, działają prawidłowo tylko pod IE (brawa dla ich programistów). Przyznam się, że zdarza mi się pomylić IE7 z Firefox, bo odstającym od obecnych standardów IE6, IE7 stał się całkiem używalny. W IE brakuje mi głównie rozszerzeń. To znaczy rozszerzenia są, ale nie ma całej społeczności, którą potrafiła stworzyć Mozilla Corporation wokół Firefoxa, a więc i wybór rozszerzeń jest zdecydowanie mniejszy. Jeśli chodzi o bezpieczeństwo, to nie uważam, by Firefox był wyraźnie lepszy pod tym względem (technicznie), choć rzeczywiście łatwiej się natknąć na stronę atakującą niezałatane IE niż taką dedykowaną dla Firefoxa.
I na koniec kilka interesujących linków:
Muszę od razu powiedzieć, że akurat podejście, które prezentuje Robert Hensing trochę jednak mniej mi się podoba, niż to, które zaprezentował David LeBlanc.