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:



18 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.

    ….

  17. MS w latach 90, gdy Kowalski wydawał ciężko zarobione pieniążki na pierwszy `kopmuter klasy pc, nie przejmowało się piractwem — im więcej nielegalnych kopii 95/98/98se jak i kolejnych wydań windowsa szlo w świat tym lepiej — w ten sposób dystrybułował system i do dnia dzisiejszego to czyni, tyle że już w znacznie mniejszym stopniu; agresja ze strony `dużych portali na systemy wolne (np. ogromny odsetek rodziny linuksa) to tak jak komentarze na onetach — kto pierwszy ten lepszy, kto zaszokuje i spowoduje słowną potyczkę ten jest `trendi.

    bardzo dobrze, iż takie bugi wychodzą na światło dzienne, gdyż użytkownicy widzą, że ideałów nie ma i każdy może się pomylić w kodzie / umyślnie działać na szkodę i należy się pilnować jak tylko się umie; produkty komercyjne z pitstopu microsoft, symantec i wszystkich super-bezpiecznych i super-fajnych pseudopotentatów branży IT są globalnie naj-naj-naj-oh-ah — tak twierdzi armia ludzi odpowiedzialna za sprzedaż (!) a zwykły user widzi, że coś działa i wg producenta tak ma być. oczywiście są wspaniałe firmy, które mają naprawde dobre aplikacje, toteż proszę się nie sugerować, iż tak określiłem cały komercyjny biznes.

    jestem zadowolony, że używam linuksa — guru nie jestem, ale nie muszę być, by mieć więcej satysfakcji; cieszy mnie fakt, że społeczność docenia Oprogramowanie Otwarte część z niej niemalże (nie wszyscy) bezinteresownie dąży do tego, aby działał lepiej i nowocześniej; gdyby tylko wszystkie aplikacje (dla firm: księgowe, finansowe, produkcyjne, etc.) zostały przepisane na linuksa to windows by już praktycznie nie istniał, ale wtedy linuks by go komercyjnie zastąpił:( — tak źle a tak nie dobrze.

    pcworld i 2% linuksa — ma racje, mówiąc o systemach na desktopach, ale ogromna większość systemów serwerowych na świecie to *UNIX a więc i linuks; ms nadaje się świetnie dla małych i średnich firm, ale i do tego i do wszystkiego to jest linux — na dowód proszę spojrzeć:

    http://news.netcraft.com/

    podsumowując: windows jako desktop to proste, kolorowe i łatwe narzędzie, do gier, mediów, programowania, do wszytkiego praktycznie, ale dla dużych maszyn (licząc od superkomputerów), usług w sieci, dla poważnych zadań mających na uwadze bezpieczeństwo, szybkość, poprawność i jakość to tylko BSD/UNIX i to można o tym poczytać i zobaczyć w sieci a nie w rankingach opłaconych portali, którzy i w ten sposób muszą zarobić;p

    jeśli nie zgadzasz się ze mną itp to nie komentuj, gdyż podobnych tematow w sieci jest już milony o wyższości windowsa nad linuksem

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: