Syzyfowe prace

Od wykrycia możliwości ataku przez przepełnienie bufora mija właśnie dziewiąty rok. Wydawałoby się, że nie powinni już popełniać przynajmniej tych najbardziej elementarnych błędów, ale... oni robią to nadal.

Od wykrycia możliwości ataku przez przepełnienie bufora mija właśnie dziewiąty rok. Wydawałoby się, że nie powinni już popełniać przynajmniej tych najbardziej elementarnych błędów, ale... oni robią to nadal.

Trzeba przyznać, że firmy informatyczne zrobiły wiele w kierunku podniesienia poziomu swoich aplikacji. Widać to najlepiej po tym, jak giganci tego rynku reagowali na doniesienia o dziurach jeszcze kilka lat temu. Po opublikowaniu informacji o nowej podatności w popularnym systemie biurkowym czy serwerowym, najpierw długo nic się nie działo. "A nuż zapomną" - myśleli sobie menedżerowie, dla których wygrzebywanie jakichś problemów z bezpieczeństwem było tylko dopustem bożym i nikomu niepotrzebnym "czepianiem się". Gdy środowisko i użytkownicy naciskali, zaczynała się nerwowa kampania dezinformacyjna, z której wynikało, że to nie dziura, tylko że tak właśnie ma być (It's not a bug, it's a feature).

To, że dziś każdy szanujący się producent oprogramowania ma swój własny biuletyn bezpieczeństwa i względnie szybko publikuje poprawki, należy zawdzięczać głównie zjadliwej w końcu ubiegłego wieku kampanii full disclosure. W wolnym tłumaczeniu oznacza to mówienie przez odkrywców wszystkiego o odnalezionych przez nich dziurach, włącznie z metodami ich wykorzystania. Tak powstała sytuacja, w której firma nie może dłużej udawać, że dziury nie ma, bo wszyscy widzą, że jednak jest, a to najlepszy bodziec do jej załatania, więc i pożytek dla użytkownika.

Oczywiście z punktu widzenia producenta łatanie dziur jest działaniem pozornie zbędnym - w końcu zapłacił on rzeszy programistów za godziny pracy i linie kodu. Każde późniejsze modyfikacje oznaczają dodatkowe koszty na ich wprowadzenie oraz - co gorsza - testowanie, które niesie ze sobą ryzyko, że coś, co dotychczas działało dobrze, przestanie działać. To dlatego ulubionym słowem pojawiającym się w biuletynach bezpieczeństwa jest workaround, czyli sprytna metoda obejścia dziury przez użytkownika (zamiast jej łatania), wiążąca się zwykle z wyłączeniem podatnej na atak usługi lub ograniczeniem dostępu do niej.

To będzie dobre rozwiązanie problemu, ale tylko do czasu, gdy jakiś ważny użytkownik nie zażąda kategorycznie odblokowania niebezpiecznej funkcji, podając konkretne argumenty biznesowe. Jeśli przy okazji administrator nie będzie pamiętał, po co właściwie funkcja ta została wyłączona (albo gdy będzie to inna osoba), stara dziura znowu wychynie na świat, na co ów świat tylko czeka... W praktyce takie "łatanie" jest dobre na dzień, dwa - nie więcej.

Mądrość po szkodzie

Ogromnym krokiem naprzód dla świata opanowanego przez Windows było wprowadzenie automatycznej instalacji poprawek przez witrynę Windows Update i odpowiednie narzędzie systemowe. Tak naprawdę dopiero od tego momentu można przestać traktować setki tysięcy Windows podłączone do Internetu jako główne źródło epidemii robaków i wirusów. Na rezultaty przyszło poczekać dwa lata, ale w tym roku są one widoczne - po raz pierwszy od kilku lat nie mamy już pandemii, takich jak rosyjski robak Sobig, który w 2003 r. spowodował straty oceniane na 50 mln USD. Nie przypadkiem to wtedy właśnie, już po ustaniu fali infekcji, Microsoft zapowiedział, że "rozważa wprowadzenie w pełni zautomatyzowanej instalacji krytycznych poprawek dla swoich systemów" (Computerworld, sierpień 2003).

Jednak problemy z narzędziami do aktualizacji systemu nie ominęły również Microsoftu. Oprogramowanie do instalacji poprawek niekiedy się psuje i początkujący użytkownik niemal na pewno nie będzie w stanie przeprowadzić opisanej w Knowledge Base operacji edycji rejestrów, wymaganej przy problemach z instalacją jednej z ostatnich łatek lub instalacji nowszej wersji narzędzia Windows Installer. Duży plus należy się natomiast Microsoftowi za udostępnienie krytycznych poprawek związanych z bezpieczeństwem użytkownikom pirackich kopii Windows na całym świecie.

Wydawało się, że firma z Redmond zrozumiała również, jak wielkie znaczenie mają ustawienia domyślne systemu operacyjnego. Prawda jest taka, że ustawień tych praktycznie nikt nie zmienia na lepsze, nawet jeśli gdzieś w Knowledge Base będzie napisane, że należy to zrobić ze względów bezpieczeństwa. Po pierwsze, najpierw należałoby do tych wywodów dotrzeć, a po drugie, po co tam w ogóle grzebać, jeśli wszystko działa? Faktycznie, przykre zadanie "utwardzenia" Windows przypada zwykle w udziale tylko specjalistom od bezpieczeństwa lub tym, którym przynajmniej raz ktoś "wjechał" do systemu (bo nie mają wyboru).

Przełom, nie przełom...

Jako uzupełnienie wymienionych wyżej "trzech zasad bezpieczeństwa oprogramowania" dodajmy, że bezpieczne ustawienia domyślne nie są wcale przeszkodą dla wygody użytkownika. Użytkownik, który potrzebuje akurat udostępnić katalog do współdzielenia przez sieć, na pewno ze zrozumieniem przejdzie przez wyświetlane już w XP SP2 ostrzeżenia. W końcu zrobi to, co jest mu potrzebne, ale przynajmniej świadomie.

Przełomem był tutaj właśnie Windows XP Service Pack 2 - wbudowanie w system domyślnie włączonej zapory sieciowej, przypominanie na każdym kroku o konieczności ochrony systemu i wybierania silnych haseł (przy okazji, czy ktoś pamięta jeszcze słynny komunikat "Zapomniałeś hasło? Czy chcesz je teraz zmienić?" z Windows 95?) oraz wbudowanie w system operacyjny ochrony stosu (Data Execution Prevention) - wszystko to wydawało się być krokami na miarę wynalezienia koła (niezależnie od tego, że analogiczne funkcje były w Linuxie od 1997 r.).

Jednak rzeczywistość po SP2 nie jest aż tak różowa. System operacyjny to nie tylko firewall i DEP. Kiedy dzięki firewallowi z sieci publicznych zniknęło wiele otwartych udziałów SMB i podatnych na włamania stosów NetBIOS, włamywacze przenieśli się na inne wdzięczne obiekty Windows. Hitem 2005 r. stał się (po raz nie wiadomo już który) Internet Explorer.

Od początku br. w wersjach 6.x znaleziono ponad dziesięć poważnych błędów, we wciąż popularnej wersji 5.5 - ok. siedmiu. Złudne okazały się więc nadzieje tych, którzy sądzili że "po SP2" dziury przestaną pojawiać się w Windows XP. Od stycznia br. w Windows XP wykryto ponad 30 nowych dziur, z czego 30% poważnych. Na pocieszenie można dodać, że tylko 20% z nich pozostało do dziś dnia niezałatanych.

Rozsądek i pycha

Spadek liczby wirusów i ogólne podniesienie poziomu odporności Windows to bardzo wyraźny i realny efekt wprowadzenia dodatkowych zabezpieczeń do systemu oraz dobrej polityki "wciskania" użytkownikom poprawek. Po drugie, nadal duża liczba dziur w Windows to rezultat zbyt bogatego zestawu niepotrzebnych, acz potencjalnie dziurawych funkcji dostępnych w systemie "prosto z pudełka". Microsoft powoli odchodzi od starego kursu "funkcjonalność za wszelką cenę" w kierunku bardziej rozsądnego podejścia. Jego podstawą jest założenie, że na nic klientowi nie zda się nawet najbardziej funkcjonalny system, jeśli w tydzień po podłączeniu go do sieci wirus zniszczy wszystkie owoce jego pracy.

Ale Microsoft nadal popełnia jeszcze jeden błąd - błąd "pychy". Deklarując, że Windows Vista nie będzie zawierać błędów, zwyczajnie prowokuje środowisko hakerskie, które bardzo lubi sprawdzać prawdomówność producentów.

Podobnie jak niegdyś w przypadku Oracle (patrz ramka), można być niemal pewnym, że dziury jednak zostaną znalezione. Być może chodzi o to, aby zostały one ujawnione i załatane przed premierą systemu, która odbędzie się prawdopodobnie w drugiej połowie 2006 r. Strategia ta, jakkolwiek sprytna, może się jednak obrócić przeciw firmie i jej klientom.

Trzy zasady bezpieczeństwa

Jeśli by zebrać "Złote myśli bezpieczeństwa oprogramowania" w kilka krótkich punktów, to dojdzie się do wniosku że: (1) każdy dolar wydany na szkolenie programistów w dziedzinie bezpieczeństwa jest wart dziesięciu dolarów wydanych później na poprawianie szkolnych błędów niedouczonych autorów kodu; (2) ustawienia domyślne danej aplikacji nie będą zmieniane nigdy przez większość użytkowników, a to właśnie one zdecydują, czy ta statystyczna masa będzie bezpieczna, dlatego ustawienia domyślne powinny być konserwatywne; (3) jeśli przyjmiemy za pewnik, że dziury będą się pojawiać pomimo naszych najlepszych starań (a będą), kluczowe jest zapewnienie użytkownikom mechanizmu szybkich uaktualnień. Jak pokazuje życie, największe problemy z dotrzymaniem tych trzech prostych zasad mają firmy najmniejsze... i największe. Te pierwsze oczywiście ze względu na ograniczony budżet, a te największe - no właśnie, trudno powiedzieć dlaczego.

Szkodliwe przechwałki

Jak wynika z ostatniego badania przeprowadzonego przez Davida Lichtfielda z firmy NGSS, niemal 80% instalacji Oracle ma problemy z aktualizacją. To znaczy użytkownikom wydaje się, że oprogramowanie bazy jest zaktualizowane jak trzeba, a tymczasem okazuje się, że żyją w fałszywym przeświadczeniu. Lichtfield podkreśla, że winni nie są użytkownicy, którzy robią wszystko tak jak zaleca instrukcja, ale producent, który popełnił błędy podczas wydawania poprawek łatających wcześniejsze błędy oraz w narzędziu do instalacji tych poprawek.

Rezultat jest taki, że program odznacza w specjalnym pliku XML zawierającym historię łatek kolejną budzącą zaufanie pozycję, a tymczasem dziury jak były, tak są. W jednym z przypadków plik z poleceniami SQL, mający poprawić błędną strukturę jednej z systemowych tabel, był kopiowany do złego katalogu i w rezultacie nigdy nie ładowano go do bazy. Inne często przytaczane problemy to błędne uprawnienia do plików, pliki przeznaczone do podmiany są wciąż używane przez proces bazy lub brakuje zmiennych systemowych. Po tym wszystkim program Opatch wyświetla jednak komunikat, że instalacja się powiodła.

Oracle w ogóle ma pecha do bezpieczeństwa. Zwłaszcza od czasu, gdy po ogromnej kampanii marketingowej kilka lat temu, w której podkreślano, że baza ma 14 certyfikatów bezpieczeństwa, zirytowani badacze zaczęli się jej przyglądać dokładniej i przelicytowali certyfikaty dziurami, których odkryto wówczas ponad 19, a do dziś grubo ponad 100.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200