Kiedy Pingwin stanie się ofiarą?

Z ankiety firmy Evans Data, przeprowadzonej wśród programistów, wynika, że Linux jest wyjątkowo bezpiecznym systemem. Aż 92 proc. ankietowanych odpowiedziało, że ich system nigdy nie został zainfekowany $złośliwym kodem$. Mniej niż 7 proc. ankietowanych stwierdziło, że włamywano się do ich systemów trzy lub więcej razy, a tylko 22 proc. osób podało, że kiedykolwiek się do nich włamano. Z drugiej jednak strony, specjalistyczny serwis firmy Secunia, zajmującej się bezpieczeństwem, na hasło Linux podaje ponad dwa tysiące dokumentów odnoszących się do dziur wykrytych właśnie w tym systemie... Jak więc jest naprawdę? Czy Linux jest bezpieczny? Czy zmasowane ataki na systemy z tej rodziny to tylko kwestia czasu?

Wbrew obiegowej opinii, system Linux nie jest pozbawiony wad - nie jest systemem w stu procentach bezpiecznym (na temat bezpieczeństwa systemów pisaliśmy szerzej w artykule "Windows vs Linux - bezpieczeństwo systemów"). Dziury, często bardzo niebezpieczne, pojawiają się zarówno w samym systemie, jak i w wielu pisanych dla niego aplikacjach.

Wystarczy wspomnieć kilka zaledwie przykładów (koniecznie zastrzec trzeba, że większość opisanych poniżej dziur została już odpowiednio załatana).

@ Prosty program napisany w języku C, dzięki lukom w jądrach serii 2.4 oraz 2.6. potrafił skutecznie zakłócić pracę kernela, a tym samym zawiesić cały system. Co ważniejsze, do jego uruchomienia nie są wymagane uprawnienia administratora.

@ Błędy w protokole OpenSSL pozwalają praktycznie każdemu zdalnemu nieautoryzowanemu użytkownikowi na przeprowadzenie ataku typu DoS (Denial of Service).

@ Dziura w GdkPixBuf może zostać wykorzystana do przejęcia kontroli nad systemem bądź do przeprowadzenia ataku DoS, poprzez zapętlenie programu, bądź przepełnienie bufora.

@ Poważna luka w popularnym odtwarzaczu multimedialnym Mplayer pozwala na zmuszenie programu do wykonania dowolnego polecenia. Błąd ten można wykorzystać do przeprowadzenia zdalnego ataku przy pomocy odpowiednio zmodyfikowanego nagłówka ASX (problem dotyczy starszych wersji programu).

@ Dziura w CUPS, multiplatformowym rozwiązaniu do wspólnego korzystania z drukarki, pozwala zdalnie wykonać atak typu DoS, poprzez wysłanie specjalnie spreparowanego pakietu UDP na port IPP.

@ W mechanizmie przetwarzania obrazów w formacie JPEG istnieje dziura typu buffer overrun, pozwalająca każdemu uruchomić zdalnie kod na atakowanej maszynie, a tym samym przejąć całkowitą kontrolę nad systemem (notabene, podobny błąd wykryto ostatnio w systemie Windows).

Podobnych przykładów można by zresztą podać jeszcze wiele...

Hakerzy atakują

Liczba ataków na poszczególne systemy

Liczba ataków na poszczególne systemy

Oczywiście, wszystkie tego typu luki w zabezpieczeniach są łakomym kąskiem dla wszelkiej maści intruzów. Autorzy serwisu zone-h zestawili dane na temat udanych ataków na serwisy WWW odnotowanych w okresie 1 stycznia 2003 r. - 1 stycznia 2004 r. Okazało się, że Linux atakowany był zdecydowanie najczęściej. Udane włamania przeprowadzono również na maszyny pracujące na Debianie, uznawanym za bardzo stabilną dystrybucję dla profesjonalistów, a nawet na system FreeBSD, uznawany zdecydowanie za najbezpieczniejszy. Z kolei serwis ZDNet podaje, że w styczniu br. Linux był celem aż 80 proc. wszystkich odnotowanych włamań. Jako dowód na to, iż nikt nie może czuć się bezpiecznym, przypomnijmy, że swego czasu hakerzy podmienili nawet stronę domową projektu grsecurity, słynnej łatki na jądro systemu Linux.

Społeczność się broni

Nie należy jednak od razu wpadać w panikę. Należy natomiast dobrze się przygotować na każdą ewentualność. Zdaniem analityków, wysoka podatność na ataki jest głównie efektem słabego przygotowania technicznego, a także czysto ludzkich błędów, m.in. niewłaściwej konfiguracji narzędzi zabezpieczających, bądź ich niewykorzystania. Nie należy również wpadać w panikę z tego względu, iż większość wspomnianych wcześniej dziur została już naprawiona, bądź to poprzez opublikowanie odpowiedniej łatki, bądź udostępnienie nowej wersji programu.

Przydatne serwisy zajmujące się bezpieczeństwem systemów operacyjnych:

http://secunia.com

http://lkml.org

http://www.securityfocus.com

http://www.haking.pl/pl/index.php?page=bugtraq

http://7thguard.net

http://www.zone-h.org/en

Przyznać należy, że zarówno producenci, dystrybutorzy, jak i sami użytkownicy reagują wyjątkowo szybko na wszelkie nieprawidłowości w oprogramowaniu. Linux jest systemem rozprowadzanym na licencji GNU GPL (General Public License), co oznacza, że użytkownicy mogą kopiować, modyfikować i ponownie udostępniać kod źródłowy. Takie otwarte podejście umożliwia programistom łatwiejsze znalezienie dziur, a co ważniejsze - znalezienie na nie odpowiedniego rozwiązania. Zdaniem ekspertów z firmy Evans Data, na bezpieczeństwo systemu na bardzo duży wpływ właśnie fakt, iż Linux jest projektem typu open source. Więcej osób pilnujących kodu oznacza większą dokładność i pewność, że mniej błędów dostanie się do systemu.

Kluczowym elementem systemu jest kernel, dlatego też programistów interesuje przede wszystkim jego udoskonalanie. W najnowszym jądrze serii 2.6 mamy już m.in. technologię Linux Security Modules (LSM), która pozwala na dodawanie dodatkowych mechanizmów zabezpieczających do dystrybucji i to bez konieczności nakładania łatki na samo jądro. Mechanizm ten wspiera różnego rodzaju metody kontroli dostępu, a także zawiera wsparcie dla zabezpieczeń kryptograficznych przy użyciu różnego rodzaju algorytmów. Dostępna jest już łatka dodającą wsparcie dla technologii NX ("no execute"), mechanizmu wpływającego na poprawę bezpieczeństwa systemu. NX zapobiega operacjom polegającym na tzw. przepełnieniu pamięci, które jest wykorzystywane m.in. w exploitach pisanych dla Linuksa czy innych systemów uniksowych, a także przez wirusy i robaki internetowe.

Wirusom wstęp wzbroniony

Linux jest też wyjątkowo odporny na działanie wszelkiego rodzaju wirusów czy robaków - jak do tej pory nie pojawił się żaden naprawdę groźny i masowo się rozprzestrzeniający 'insekt' na tę platformę. Linux jest więc w tej kwestii zupełnym przeciwieństwem systemów z rodziny Windows, wciąż nękanych przez najróżniejsze wirusy. Kwestię tej odporności poruszono m.in. podczas naszego ostatniego spotkania na Forum z Mirosławem Nowakiem, ekspertem z firmy AVG. Oto, jak wyjaśniał on przewagę systemów linuksowych w tym zakresie:

"Windows umożliwia uruchamianie w tle wielu usług, plików wsadowych, skryptów, bez wiedzy i pytania o zgodę użytkownika lub administratora (ładnie nazywają to "silent mode" czyli tryb cichy i wielokrotnie jest to użyteczne). Linux natomiast bez świadomego zadziałania użytkownika lub administratora - nie zrobi tego. W programach certyfikowanych przez Microsoft (np. Explorer) występują niedopatrzenia i błędy programistów, zezwalające na wykonywanie pewnych rozkazów bez wiedzy użytkownika (nazywa się to delikatnie dziurami lub lukami). Ostatnia teza jest kontrowersyjna - system prostszy i bardziej 'prymitywny' umożliwia lepszą kontrolę niż nadmiernie zautomatyzowany i wyposażony w miliony 'bajerów'" - tłumaczył Mirosław Nowak.

Warto również wspomnieć, że o stałe udoskonalanie swoich produktów dbają również producenci i sami użytkownicy, czego dowodem może być chociażby program o nazwie Mozilla Security Bug Bounty, w ramach którego nagradzani są użytkownicy, którzy wykryją luki w zabezpieczeniach oprogramowania tworzonego przez Mozilla Foundation (czyli przeglądarek Mozilla i Firefox oraz klienta pocztowego Mozilla Thunderbird). Oczywiście, na efekty nie trzeba było długo czekać. Trzech programistów wykryło poważne błędy w kliencie poczty elektronicznej, po czym Mozilla Foundation niemal natychmiast opublikowała poprawione wersje programów. Być może właśnie tego typu, otwarte podejście, zaangażowanie w rozwój oprogramowania społeczności programistów i użytkowników, będzie skutecznym lekiem na zmasowany atak na system Linux.


Zobacz również