Kłopoty z jądrem

Włamanie na serwery Debian to rysa na reputacji platformy Linux. Jednak to nie fakt istnienia w systemie luk bezpieczeństwa jest w tej historii najistotniejszy.

Włamanie na serwery Debian to rysa na reputacji platformy Linux. Jednak to nie fakt istnienia w systemie luk bezpieczeństwa jest w tej historii najistotniejszy.

Pod koniec listopada br. dokonano włamania na serwery Debian, grupy zajmującej się rozwojem jednej z odmian Linuxa. Ponad tydzień zajęło administratorom ustalenie, jak do tego doszło. Ostatecznie okazało się, że włamywaczowi udało się przejąć uprawnienia superużytkownika dzięki wykorzystaniu błędu przepełnienia (integer overflow) w wywołaniu systemowym brk. Co istotne, błąd ten został wykryty dużo wcześniej. Kluczowym pytaniem pozostaje, jak to możliwe, że jedna z najważniejszych organizacji wytyczających przyszły kierunek rozwoju Linuxa zignorowała informacje o dziurze w systemie i w dalszym ciągu korzystała z niebezpiecznego jądra?

Mała dziurka

Problem z wywołaniem systemowym brk nie dotyczy wyłącznie dystrybucji Debian GNU/Linux (tak brzmi oficjalna nazwa tej wersji systemu). Odkrył go jeszcze we wrześniu br. programista pracujący nad jądrem Linuxa. Dziura błyskawicznie została załatana, co znalazło odzwierciedlenie w kolejnej wersji jądra - 2.4.23.

Teoretycznie na błąd w wywołaniu brk są więc narażeni użytkownicy każdej dystrybucji Linuxa wykorzystującej starszą wersję jądra. Producenci Linuxa - na czele z "komercyjnymi" Red Hat i SuSE - dopiero po ujawnieniu wiadomości o ataku na serwery Debian opublikowali na stronach internetowych stosowne poprawki. Wcześniej nie traktowano błędu jako security issue, tzn. nie wiązano go z zagrożeniem bezpieczeństwa. Prawdopodobnie dostawcy firmy i organizacje zwlekały z publikacją poprawek, chcąc skoordynować je z wprowadzeniem na rynek nowych wersji Linuxa.

Wagę wydarzenia, które spowodowało poruszenie nie tylko w środowisku open source, bagatelizuje Linus Torvalds. "To tylko lokalne zagrożenie i nie może zostać wykorzystane przez kogoś z zewnątrz" - mówi twórca najpopularniejszego systemu open source. Jego zdaniem w przypadku wywołania brk zagrożenie istnieje tylko wówczas, gdy haker ma konto na danym serwerze lub przejmie hasło do konta innego użytkownika. W konsekwencji - wykorzystując opisywaną dziurę - może przejąć uprawnienia superużytkownika. W przypadku Debiana ustalono, że hasło użytkownika zostało przez hakera podsłuchane w sieci.

Na remis

I tu można by się zgodzić z L. Torvaldsem. Samo włamanie na serwer linuxowy nie jest wydarzeniem godnym większej uwagi. Według oficjalnych zapewnień nowa wersja Debian GNU/Linux 3.0 (release 3.0r2) pozostała nietknięta przez hakera.

Jednak całe zamieszanie wokół ataku na Debiana wiąże się przede wszystkim z faktem, że osoby odpowiedzialne za rozwój tej dystrybucji systemu tak długo zwlekały z uwzględnieniem poprawki błędu znanego od kilku miesięcy. Przypomina to sytuację z "pobliskiego podwórka", kiedy twórcy programu znanego jako Blaster wykorzystali lukę w oprogramowaniu Microsoftu, o której istnieniu producent Windows ostrzegał kilka tygodni wcześniej. Wówczas wskutek zaniedbań administratorów hakerom udało się przeprowadzić skuteczne ataki na dziesiątki tysięcy .

Po ostatnim włamaniu na serwer Debiana nasuwa się dość oczywisty wniosek, że to, jakim systemem administrator zarządza - Unixem, Linuxem czy Windows - nie mówi niczego o jego kwalifikacjach ani jego rzetelności.

Warto też spojrzeć na to wydarzenie z perspektywy prowadzonej od pewnego czasu przez Microsoft propagandy mającej na celu afirmację systemów komercyjnych jako lepszych od tych rozwijanych w modelu open source. Nie tak dawno Steve Ballmer, prezes Microsoftu, przekonywał, że w ciągu pierwszych 150 dni od wydania Windows Server 2003 wykryto w systemie zaledwie cztery luki. "To od 5 do 10 razy mniej niż w Red Hat Linux 6" - argumentował Steve Ballmer. Równocześnie stawiał pod znakiem zapytania wiarygodność twórców Linuxa - "nieznanych nikomu hakerów z Chin". Czy ich praca jest lepsza od pracy dobrze opłacanych, zawodowych programistów zatrudnionych w Microsofcie i innych firmach komercyjnie rozwijających oprogramowanie?

Kto tworzy system?

Retoryka prezesa Microsoftu ma prowokować do pytania: W jaki sposób odbywa się weryfikacja programistów pracujących nad systemem, który ma być wykorzystywany do obsługi "krytycznych" aplikacji w firmach telekomunikacyjnych i instytucjach sektora finansowego? W tym kontekście nikt nie uzna za rozsądne usprawiedliwienia, że Debian GNU/Linux to projekt niekomercyjny, rozwijany przez ludzi, którzy za swoje zaangażowanie nie pobierają żadnego wynagrodzenia.

Szerokie echo takich wydarzeń, jak włamanie na serwery Debian czy niedawna próba umieszczenia konia trojańskiego na serwerach, na których jest przechowywany kod źródłowy jądra Linuxa, uświadamia dużej części opinii publicznej, że Linux nie jest już systemem wolnym od zagrożeń. W systemie rozwijanym przez rzeszę niezależnych programistów z całego świata również zdarzają się błędy. I choć nikt nigdy nie próbował tego ukryć, to jednak informacje o lukach bezpieczeństwa zwykle nie opuszczają wąskiego grona programistów i administratorów Linuxa skupionych na internetowych listach dyskusyjnych. Szeroka opinia publiczna mogłaby żyć w przekonaniu, że błędy w oprogramowaniu to zjawisko dotyczące niemal wyłącznie systemu Windows.

Anatomia przestępstwa

Haker w ciągu niecałej godziny zdołał przełamać zabezpieczenia na serwery Debian, grupy zajmującej się rozwojem jednej z odmian Linuxa.

  • 17:00 Włamywacz z użyciem podsłuchanego w sieci hasła loguje się do serwera klecker obsługującego wyszukiwarkę internetową i WWW

  • 17:08 Instaluje na serwerze klecker tzw. root-kit, który daje mu uprawnienia roota

  • 17:20 Włamywacz loguje się do serwera master, na którym znajdował się system śledzenia błędów. Używa tego samego podsłuchanego hasła

  • 17:47 Instaluje root-kit na serwerze master
Źródło:http://www.wiggy.net