12:26
14/6/2010

Programiści jednego z daemonów IRC zauważyli w kodzie swojej paczki złośliwy kod. Backdoor pozwalał na odpalenie dowolnej komendy na systemie na którym go zainstalowano …i siedział w kodzie od pół roku.

Backdoory w Open Source

Niedawno opisywaliśmy głośną sprawę wykrycia backdoora w kodzie phpBB — popularnego forum internetowego, udostępnianego w polskiej wersji na phpBBhelp.pl. Tam trojan przechwytywał hasła i wysyłał je na skrzynkę na GMailu (zobacz jak wyglądała ona w środku).

W przypadku UnrealIRCd (Unreal3.2.8.1.tar.gz to nazwa zainfekowanej paczki) modyfikacja kodu nastąpiła na niektórych mirrorach (a nie w głównym repozytorium), w listopadzie 2009, a sam backdoor pozwalał na uruchamianie polecen na serwerze, na którym postawiony został daemon IRC.

To bardzo żenujące

Informacja o wykryciu trojana w kodzie zaczyna się słowami “To bardzo żenujące…”. Po chwili opiekunowie projektu dodają:

Przepraszamy na to naruszenie bezpieczeństwa. Powinniśmy je zauważyć, ale nie zauważyliśmy. Nie sprawdzaliśmy plików na wszystkich mirrorach regularnie, a powinniśmy. Nie podpisywaliśmy wydań elektronicznie, a powinniśmy to robić.

Programiści zapewnili, że aby zapobiec podobnym przypadkom w przyszłości będą podpisywali paczki za pomocą PGP/GPG (por. Ochrona przed backdoorami, czyli kod spotyka podpis.

Jak sprawdzić, czy masz trojana?

Polecenie md5sum na zatrojanowanej wersji zwraca:
752e46f2d873c1679fa99de3f52a274d
Oficjalna, wolna od backdoora wersja ma hash MD5:
7b741e94e867c0a7370553fd01506c66
Po stwierdzeniu korzystania z zainfekowanej wersji należy ją odinstalować i pobrać najświeższą paczkę z oficjalnej strony projektu. Niestety, backdoor tkwi tak głęboko w kodzie, że nie można “oczyścić” już zainstalowanego oprogramowania. (a jednak się da, patrz instrukcja w komentarzu Maćka)

Wersje bez trojana

  • Oficjalna skompilowana wersja na Windows (z i bez obsługi SSL)
  • Wersja z CVS
  • Wszystkie wersje poniżej 3.2.8

Bez paniki Open Source’owcy

Niektóre serwisy (np. PCWORLD) obracają kota ogonem i sieją FUD, strasząc, że w kodzie Linuksa też zapewne znajduje się sporo backdoorów:

Ze względu na fałszywe poczucie bezpieczeństwa jakie daje Linuks, nikomu po prostu nie przyszło do głowy sprawdzać, czy w jego kodzie nie ma backdoorów. To, plus fakt, że Linux ma zaledwie 2% rynku systemów operacyjnych i z tego powodu nie jest celem wartym atakowania oznacza że jego użytkownicy są pozbawieni jakiejkolwiek ochrony.

Te bezsensowne zarzuty pod adresem otwartych systemów operacyjnych pozostawiamy bez komentarza, wiedząc, że każdy z Was jest w stanie podać kilka metod “ochrony kodu”, z jakich korzystają poszczególne dystrybucje (można je podawać w komentarzach poniżej).

Przeczytaj także:

17 komentarzy

Dodaj komentarz
  1. O jak fajnie…

  2. Teraz to dopiero będzie flame wars…

  3. dlatego korzystam z irssi ;)

  4. jan0s1k: a co ma klient irc do daemona irc?

  5. @jan0s1k: Co ma klient irca do serwera? Bardzo się cieszymy że korzystasz z irssi. Tylko, że nie bardzo da się na tym duży serwer irca postawić.

  6. @jan0s1k

    UnrealIRCd to daemon IRC, a irssi to klient :-) Pomyliles pojecia, albo posiadłeś tajemna wiedze, jak rozmawiac przez irca z innymi ludzmi, nie będąc podłączonym do serwera.

  7. Warto dodać, że exploit wykorzystujący tego backdoora znajduje się już w Metasploicie – http://www.metasploit.com/modules/exploit/unix/irc/unreal_ircd_3281_backdoor

  8. Popraw literówki, bo jest ich masa.
    “Niestety, backdoor twki tak głęboko w kodzie, że nie można “oczyścić” już zainstalowanego oprogramowania. ” – można, cd ~/Unreal3.2 && wget http://www.xzibition.com/fix-unreal.sh && chmod u+x fix-unreal.sh && ./fix-unreal.sh && ./unreal restart
    Działa bardzo sprawnie :]

    Szkoda, że dopiero po takiej akcji pomyśleli o podpisywaniu paczek na mirrorach… trzeba się uczyć na błędach ;]

  9. http://news.techworld.com/security/3226723/linux-trojan-hits-unreal-irc-raises-malware-concerns/?cmpid=TD1N7&no1x1

    FAIL : “Unreal is a popular first-person shooter game – similar to Doom or Quake.”

  10. @maciek tx, poprawione.
    @n1x0n haha, tak, niektore “media” tę historię albo obróciły w najazd na unreala (grę) albo zjechały Linuksa, strasząc, że jest dziurawy, zbackdoorowany i w ogóle fuj :> I to, podkreślę, znane i szanowane techniczne serwisy :>

  11. Może i się czepiam…
    postwiony → postawiony
    zapenili → zapewnili
    podobnym przypadkow → podobnym przypadkom

    Ponadto oprócz sprawdzenia sum MD5 paczek, można sprawdzić podatność grepując wypakowane już pliki:
    grep DEBUG3_DOLOG_SYSTEM include/struct.h
    Jeżeli zwróci dwie linie, to jest lipa.

    Wszystko ładnie opisane jest na oficjalnym forum UnrealIRCd: http://forums.unrealircd.com/viewtopic.php?t=6562

  12. Ciekawie reagują niektóre serwisy… dziesięć dziur w oprogramowaniu komercyjnym to “żaden problem”, a każdy potencjalny backdoor w OS to już “pozbawienie jakiejkolwiek ochrony”.

  13. K#$^#, bawiłem się tym czymś na localhoście…

  14. Takie błedy są, były i będą :(

    Niestety. :(

    Ale to właśnie otwarte źródła pozwalają łatwiej takie coś wychwycić (oczywiście pod warunkiem, że będzie się chciało szukać).

    W zamknietym oprogramowaniu jesteśmy zdani na ufanie twórcom, lub metody reverse engineering.

    Pierwszy przykład który mi się nasuwa to:
    Interbase – 2001 i zapisane na stałe w kodzie hasło dające pełnię praw – wyszło po udostępnieniu społeczności open-source źródeł. Siedziało w kodzie “niezauważone” 7 lat.

    Z backdoor’ów z zamknietym kodem o których było głośno to może przypadek z tzw. NSA key”:

    Windows NT – SP5 – MS zapomniał usunąc symboli debugujących, dzięki temu poznaliśmy nazwę tajemniczego drugiego klucza w CAPI. Pierwszy klucz uzywany przez Microsoft nazywał się KEY, drugi co do którego od kilku lat trwała dyskucja do czego służy nazwał się NSAKEY. Oczywiście nazwa klucza “NSA” jest czysty przypadkowa :)

    Z innych ciekawostek, to jeszcze polecam poszukać jak ździwieni byli developerzy MS zajmujący się kryptografią jak się dowiedzieli że w ich kodzie znajduje się obsługa tajemniczego trzeciego klucza :)
    Dla wyjaśnienia, to uwczesny sposób rozwoju kodu powodował, że programisci widzieli tylko własny kawałek.

    Oczywiście Microsoft nie był jedyną firmą, która musiała coś takiego dodać do kodu.

    Np. IBM ze swoim flagowym Lotus Notes’em z 64 bitowego szyfrowania zrobił zabezpieczenie warte dla NSA 40bitów :)
    24 bity z 64 bitowego klucza były przesyłane razem z wiadomościami – zaszyfrowane kluczem publicznym NSA.

    Podobne historyjki krążyły o Solarisie SUN’owym i innych dużych producentach software’u IT którzy musieli uzyskać zgodę władz USA na eksport , a podobno jednym z warunków było aby NSA mogła czytać.

    Zresztą to były czasy kiedy kod źródłowy PGP drukowało się jako książkę i w ten sposób “w ramach wolności słowa” był eksportowany poza USA, gdzie był skanowany i OCR’owany :)

    Teraz tak banalnie prostych “backdoor’ów” to poza amatorami się nie stosuje ;>

  15. Na (ł)onecie to samo :]

    http://wiadomosci.onet.pl/2184987,18,trojan_wpuszczony_systemy_uniksowe,item.html

    P.S. Zwyczajowo przyjęło się, aby nie czytać komentarzy userów na onetach, wp i innych – można zgłupieć po prostu. Ostrzegam ;)

  16. WP skasowalo artykul:
    (mirror)

    Gry na Linuksa mogą stanowić zagrożenie

    (fot. IDG)
    Hackerom udało się spowodować zagrożenie dla komputerów z systemem operacyjnym Linux. Na jednym z głównych serwerów wymiany plików zamienili plik z grą Unreal na plik z tą samą grą, ale z dodanym trojanem, działającym w systemach Unixowych – poinformowały portale informatyczne.

    Liczba użytkowników Uniksowego systemu operacyjnego Linux, uchodzącego za jeden z najstabilniejszych systemów operacyjnych systematycznie rośnie, poczynając od początku dekady. Do jego popularności przyczynia się fakt, iż jest to system OpenSource, który można przekształcać według własnych potrzeb. Zwłaszcza w krajach rozwijających się zaczyna on stanowić wyraźną alternatywę dla systemów komercyjnych – informuje portal magazynu informatycznego Computerworld.

    REKLAMA Czytaj dalej

    REKLAMA Czytaj dalej

    Według portalu informatycznego The Register hackerzy spowodowali zagrożenie dla użytkowników tego systemu operacyjnego w dość prosty sposób: podmienili plik z grą Unreal Tournament w wersji przeznaczonej dla Linuksa na plik z tą samą grą, zawierający jednak trojana ułatwiającego przejęcie maszyny z tym systemem operacyjnym przez zdalną sieć używaną do ataków lub rozsyłania spamu – botnet.

    Podmieniony został plik Unreal3.2.8.1.tar.gz znajdujący się od listopada 2009 roku na serwerze Syzop, z którego pobierali oprogramowanie użytkownicy Linuksa. Administrator serwisu Syzop przeprosił za zaistniałą sytuację i obiecał, że wszystkie pliki będą miały generowane sumy kontrolne, zabezpieczające przed takimi niespodziankami (po sumach kontrolnych można się dowiedzieć, czy pobierany plik się nie zmienił). Jednak, jak pisze The Register, nikt nie zorientował się, że zamiana pliku z grą została dokonana i administracja serwera dowiedziała się o tym dopiero od użytkowników.

    ….

Twój komentarz

Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy. Dlaczego?

RSS dla komentarzy: