11:52
12/10/2010

Jeden 0day na WordPressa i leżymy!

Tak można podsumować odpowiedzi na często zadawane mi pytanie: “czy ktoś może zhackować Niebezpiecznika?”. Tak, może — jestem pewien. Prędzej czy później każdy serwis internetowy, nie tylko Niebezpiecznik, padnie ofiarą włamania. Poniżej wyjaśniam, dlaczego wlaściciele serwisów internetowych nie mają szans w walce ze “złymi ludźmi z internetu” i jak sobie z tym poradzić.

Memento Mori

Memento mori...

Zapomnijcie o firewallach, IDS-ach, IPS-ach, WAF-ach i innych cudownych “mechanizmach ochrony aplikacji webowych”. Jeśli tylko wasz serwis dziala w oparciu o znany CMS (np. WordPress), to pierwszy znaleziony w nim błąd oznacza, że jesteście podatni na atak. To samo oczywiście dotyczy serwerów webowych (np. Apache), czy też wykorzystanych przy budowie strony bibliotek programistycznych…

1 vs pierdyliard*

Na dzień dzisiejszy, liczbę internautów szacuje się na 2 miliardy. Nawet jeśli tylko 1 promil z nich ma odpowiednią wiedzę, aby rozumieć (i wykonywać) ataki na webaplikacje, to wciaż jest to spora liczba (2 miliony osób).

A po drugiej stronie jesteś ty — sam.

I nie myśl, że nikomu nie będzie się chciało Ciebie atakować, bo nie masz niczego wartościowego. Malware nie musi mieć numeru twojej karty kredytowej, zadowoli się twoim łączem i dostępem do mocy obliczeniowej twojego komputera. Czasem głównym celem ataku jest po prostu rozmnażanie (liczebność), a nie kradzież informacji. Im większy botnet, tym lepszy DDoS…

Są dni, w których odnotowujemy ok. 50 prób wlamań na Niebezpiecznika — you bastards! :) Nie zawsze jesteśmy online 24 godziny na dobę (tak, tak, czasem śpimy). Będąc u klienta, nie mamy możliwości ciągłego monitorowania bugtraq, czy innych list full-disclosure. A to oznacza tylko jedno:

    jeśli w tym czasie w sieci pojawi się 0day na WordPressa, to zawsze znajdzie się ktoś, kto dotrze do niego szybciej niż my i oczywiscie postanowi go na nas wypróbowac — w końcu zhackować Niebezpiecznika to +10 do lansu na dzielni, nie? :-)

Ryzyko ataku na serwis internetowy jest tym większe, im bardziej jest on popularny (kontrowersyjny?)

Błędy zdarzają się każdemu

Zauważmy, że dziury w serwisach internetowych często zdarzają się tym największym i kojarzonym z działką IT Security (por. udane ataki na Google). Błędy XSS, którymi ostatnio wszyscy tak mocno się ekscytują, poza “medialnością” wynikającą z łatwości zobrazowania (alert(/xss/) ftw!) nie stanowią jednak z reguły żadnego zagrożenia dla samego serwisu internetowego — bardziej dla klientów, którzy z niego korzystają. Zdecydowanie gorzej, kiedy błąd w serwisie może doprowadzić do wycieku danych

Niebezpiecznik Deface

Kiedyś pewnie tak będzie...

W naszym przypadku nie obawiamy sie deface’a, czy włamania na serwer WWW. Jedyne do czego dostęp uzyska włamywacz, to zakolejkowane do publikacji szkice artykułów. Ale mogę się założyć, że ktoś złośliwie rzuci hasłem “szewc bez butów chodzi” i trzeba będzie mu wtedy wytłumaczyć, że naszym core-produktem nie jest pisanie postów (webserwer) ale sprzedawanie szkoleń/pentestów, a danych klientów na webserwerze po prostu nie trzymamy.

Dlatego zdecydowanie gorzej poczulibyśmy się gdyby ktoś uzyskał dostęp do poczty (trzymanej w innym miejscu niż strona WWW), bo wtedy na jaw wyszłoby że vi.curry kupuje preparaty na porost włosów, a igH zawsze otwiera e-maile z ofertami viagry… ;-)

Przygotuj się!

Podsumowujac: prędzej czy później i na nas (i na was) przyjdzie kolej. Zastanówcie się zatem, drodzy właściciele serwisów internetowych, co trzymacie na swoim, wystawionym na ataki “z internetu” webserwerze i czy nie będzie wam wstyd, jeśli ktoś to zobaczy? Może pora na separację usług i przeniesienie kilku z nich w inne miejsce? W godzinie “zero” powinniście być przygotowani, powinniście wiedzieć, co robić. Zawsze też możecie przerzucić te nudne obowiązki na nas :-).

Bezpieczeństwo nie powinno polegać tylko na (niemożliwej do osiągnięcia) ochronie przed włamaniem, ale przede wszystkim na minimalizowaniu jego skutków.

P.S. Tak naprawdę, to my mocno liczymy na to, że kiedy już pojawi się 0day na Niebezpiecznika, to dobrzy ludzie, tacy jak Wy, Drodzy Czytelnicy, zareagują wcześniej niż ludzie źli. Mamy nadzieje, że ktoś z Was przy pomocy tego 0daya uzyska dostęp do naszego serwera, ale zamiast go zhackować, po prostu go zalata. My przecież zrobilibyśmy dla Was to samo ;-)

Przeczytaj także:

37 komentarzy

Dodaj komentarz
  1. wlamanie moze byc tez zupelnie bezinteresowne, ot, kolejny pukniety box :p

  2. Przecież wszystkie zwirzaczki w lesie wiedzą
    że bezpieczeństow jako takie nie istnieje i jako pojęcie jest tylko marektingowynm trikiem
    , iluzją !
    Co z etgo że pan pentester , audytor mający 55 certifkatów i zanjący wszystkie najnowsze standardy o nazwach typu ISO-AIII-28138782138278172
    zrobi nam dobrzez za 200 tysięcy :D
    Powie tak panie Czesiu pana sieć jest bezpieczna
    Przecież to że pan pentester audytor ma te wszystkie lolipopsy , dyplomy
    i pierdyliard innych pierdół nie czyni go alfą i omegą
    więc fakt że coś co jest połączone w jaki kolwiek sposób do neta (np przez milion zapór , DMZ-etów , natów ) jest według jednej opini bezpieczne nie oznacza wcale że takie jest :D
    a już napewno nie oznacza że takie będzie jutro

  3. co do xss, ja zawsze testuję XSSy przy pomocy – nikt nie używa, a takie ładne :P szczególnie, jak w pewnej grze zamiast nicka wstawiłem , a potem w moich statystykach było bardzo wyraźnie widoczne, gdzie jest XSS xD

    a odnośnie Post Scriptum, to tak, ja bym coś takiego zrobił, w końcu jestem ‘biało-kapeluszowcem’ :D (muszę sobie kupić biały, kowbojski kapelusz… )

  4. a z tym lansem na dzielni to sobie tak nie słodzcie lol
    zhakować wewnętrzną pentagonu to jest +10 do lansu na dzielni :D

  5. Jeśli można kogoś prosić to usuńcie te prosty powyżej (moje posty ofc)
    1‰ z 2kkk = 200k, pierwsze poprawnie, nie wiem jak się pomyliłem, więc jest błąd w tekście (może jedno zero mi się jebło w calcu, gdy sprawdzałem dla pewności)

    a np. Piotruś dotyczyło – że ofc zrobię to dla Ciebie, zaraz po tym jak o tym 0day’u przeczytam na Niebezpieczniku ;P

  6. tekst o niczym, ale kupcie nasze szkolenia. ziew.

    • asq: No tak, w waszym przypadku, kiedy to pracownik wyniósł Wam bazę użytkowników, to zgoda, teksty o braku możliwości ochrony przed 0day’ami rzeczywiście wydają się tekstami jakby o niczym — bo wy przecież powinniście (byli) pomyśleć o innych rodzajach zabezpieczeń :> A szkolenia, oczywiście, kupujcie, ale chyba nie u nas, a bardziej od kogoś, kto zajmuje się psychologią “etyka w biznesie”, “ograniczone zaufanie do pracowników”, etc. :-)

  7. CzzesiuZklanu : podobno jak hackniesz stronę Nasa oferują ci tam pracę więc do roboty ! xd

  8. Mnie najbardziej z tego tekstu zaciekawiło, co PK ma w mailu, skoro tak ładnie pisze o kolegach;P

  9. Dlatego mam Gmaila podpiętego pod domenę.

  10. O tyle lepsze są właśnie dedykowane rozwiązania systemów informatycznych – nikt nie ma bezpośredniego wglądu do kodu aplikacji, trudniej wykryć dziury, nie ma co liczyć na 0daye. Wiadomo jednak, że wcześniej czy później ktoś dorwie się do jakiegoś niezabezpieczonego miejsca w aplikacji (nie ma ludzie nieomylnych), jednak jeśli aplikacja jest robiona przez kogoś dobrego (z testami, sprawdzana przez innych) to potem trudniej o niezabezpieczone fragmenty aplikacji.

    Natomiast w przypadku popularnych CMS-ów czy bibliotek (zwłaszcza o otwartym kodzie dostępu) niewielu zapewne na bieżąco aktualizuje system (bo templatki się popsują, bo będą nieścisłości w pluginach, etc).

  11. Powinniście dodać na końcu arta obrazek wielkiego palca wskazującego na czytelnika z tekstem:
    “a czy TY masz akutalny backup i DZIAŁAJĄCY restore?”

  12. Czyli p0rn z jednorożcami?
    Ładnie to tak poprawiać literówki i usuwać komentarze, które zwróciły na to uwagę? Odbieracie chwałę łowcom baboli!
    @vi.curry: nie bój żaby, ja mam 20 lat i używam środka przeciw wypadaniu włosów. :P

  13. “Mnie najbardziej z tego tekstu zaciekawiło, co PK ma w mailu, skoro tak ładnie pisze o kolegach;P”

    Na pewnych warsztatach dane mi było zerknąć na rzutniku na jednym z dwóch setek otwartych zakładek lista maili PK :D

    … i fakt, miał maila o jednorożcach :o

  14. Ja nie boję się wycieku danych, bo tego, co uważam za istotne po prostu nie wrzucam nigdzie do internetu. Najgorzej zaś sen z powiek spędza mi myśl o tym, że ktoś włamie się na serwer “ot tak”, skasuje wszystko i wyjdzie zadowolony z siebie. Oczywiście backupy są robione na bieżąco, co niestety nie zmienia faktu, że przywracanie wszystkiego do stanu sprzed ataku nie należy do najprzyjemniejszych czynności.

    • Tomasz: zgoda, ale nie wszyscy są w tak dogodnej sytuacji co Ty ;-) Niektórzy muszą opiekować się serwerami klientów, na których trzymane są np. dane osobowe użytkowników…

  15. Tak swoją drogą to nie tylko WP, ale także popularne AdSerwery np. OpenX miewają dziury wielkości drzwi do stodoły, a łaskawi twórcy raczą oficjalnie informować o możliwości złapania malwere po fakcie o czym boleśnie przekonałem się nie tak dawno :P

  16. ja czekam na odpowiedź od redakcji :) Nie wiem czy dochodzą te maile czy nie. Pozdrawiam. “spec” od gpg

  17. “Mamy nadzieje, że ktoś z Was przy pomocy tego 0daya uzyska dostęp do naszego serwera, ale zamiast go zhackować, po prostu go zalata. My przecież zrobilibyśmy dla Was to samo ;-)”

    Faktura pocztą ;-)

  18. garbaty: nie ma problemu, zostaw nr konta w /root ;-)

  19. Defejsa się nie obawiacie bo macie jakąś super hiper mega zapylistą metodę antydefejsową czy wam to najnormalniej wisi?

  20. Piotrze, a dlaczego niebezpiecznik jest na WordPress? Dlaczego tworząc serwis zdecydowaliście się na WP a nie na dedykowane rozwiązanie? Zakładam, że rozważaliście obydwie opcje. Nie krytykuję – pytam z ciekawości.

    W większości przypadków o wyborze takiego skryptu jak WP decyduje wygoda, brak umiejętności czy zasobów $ itd itp. Ale niebezpiecznik jest na tyle prostą witryną, że wykonanie jej własnoręcznie byłoby proste dla zawodowców, może nawet tańsze w dłuższej perspektywie. Domyślam się, że były inne argumenty.

  21. Zamiast pisać usprawiedliwienie na zaś wystarczy zainwestować w jakiś autorski cms albo zaimplementować do WP metody ochrony webaplikacji, o których mówicie na szkoleniach, w końcu jeśli o tym mówicie to dlaczego nie wdrażacie? W przypadku deface’u najbardziej ucierpi Wasza marka, niekorzystnie wpływając na sprzedaż “core-produktu”, więc zamiast pisać bzdurny post i linkować po raz setny do szkoleń, zabezpieczcie się sami.

    No offence, jesteście profesjonalistami, ale ten post jest śmieszny…

    • Maciej: no offence, ale chyba nie zrozumiałeś postu. Niezależnie od wdrożonych zabezpieczeń, nigdy nie uzyskasz 100% ochrony przed włamaniem, choćbyś zastosował wszystkie wskazówki, które przekazujemy na szkoleniu (think: 0day, think: Tavis-like-people). Celem tego posta jest uświadomienie niektórych, że są na z góry straconej pozycji i jedyne co mogą robić, to wdrożyć takie zabezpieczenia, które pomogą nie usunąć, a zminimalizować szkody, jak już dojdzie do włamania. I tak, te “dobre praktyki” mamy wdrożone.

      Piotr: Tak, autorski CMS był przez nas rozważany, ale koszty (produkcja/czas/support) zdecydowanie przemawiały na jego niekorzyść zarówno w momencie startu Niebezpiecznika, jak i teraz kiedy miesięcznie notujemy ponad pół miliona odsłon (bo rozumiem, że wiesz, ile profesjonaliści liczą sobie za napisanie CMS-a i jego późniejszy support, prawda?). Dla mnie z kolei pisanie CMS-a to nie do końca ciekawa praca — a zatrudnianie dedykowanej osoby, która miałaby na nowo wynajdować koło, duplikując funkcje WP, jest trochę bezcelowe IMHO… Pamiętaj, że Niebezpiecznik to ciągle projekt robiony po godzinach, zasoby czasowe mamy mocno ograniczone. Na marginesie, WordPressa przecież tworzą, przywołani przez Ciebie “profesjonaliści”, z kolei jego OpenSource’owa natura daje możliwość audytu kodu społeczności i wyłapywania błędów (zakładam, że ktoś to robi przed releasem, ale jeśli nie — no cóż, akceptujemy ten risk factor i minimalizujemy skutki ew. włamania metodami, które zostały opisane w tym poście plus kilkoma innymi rozwiązaniami).

  22. @piotr “Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat” :b

  23. Maciej, piszesz że post ten jest bzdurny, a nawet nie przeczytałeś? Bo tyle wynika z Twojej wypowiedzi. Otóż we wpisie tym jest mowa o 0dayach, czyli najnowszych dziurach wykrytych w aplikacji. Co jakiś czas takie dziury są wynajdowane, szczególnie dlatego, że jest otwarty dostęp do kodu (i struktury bazy danych). Jedynym rozwiązaniem byłoby chyba przepisywanie WP od nowa, analizując każdy punkt wejścia/wyjścia danych, filtracji danych, etc.

  24. Piotr Konieczny:
    spodziewałem się podobnej odpowiedzi, choć naiwnie liczyłem na koronny argument, który pozwoli mi zaprzestać rozważania, jak napisałeś: czy odkrywać koło i mieć coś w zamian (nawet nie mam jasności co*) czy zaufać gotowym rozwiązaniom. Sam zrobiłem kilka aplikacji (wpółamatorsko, po godzinach) i zawsze gdy kolejny dzień ślęczałem przy odkrywaniu koła, to nachodziła mnie myśl, żeby użyć co najmniej bibliotek… No ale gdy już użyłem gotowca, to mnóstwo czasu schodziło później na modyfikacje, ulepszenia itd itp Kiedyś nawet napisałem własny skrypt forum dyskusyjnego… (dawno temu, w epoce ich popularności).
    *Własny unikalny kod, mimo lat doświadczeń, prowokuje do zgubnej, ale jakże pociągającej myśli, że nikt nie odkryje dziur :)

    Stworzyłem tylko aplikacje przeznaczone dla niewielkiej, ściśle określonej grupy userów, z dostępem przez Internet z uwagi na rozproszenie geograficzne użytkowników. Teraz mam zamówienie na aplikację, która okresowo może mieć duży napływ userów z zewnątrz (org. polityczna) i sam nie wiem który model wybrać, tym bardziej że zleceniodawca wymaga bajerów, a ja jestem zwolennikiem interfejsów a la bankowe.

    Z chęcią bym włączył “obcy kod”, ale w arch. klient-serwer. Czyli, np. wyprowadziłbym dane osobowe na serwery dostawcy rozwiązania (oczywiście plus odpowiednia umowa prawna). Tyle, że takich dostawców jeszcze brak…

  25. hmm, dobre WAFy :
    1) mają mechanizmy profilowania aplikacji web, pozwalające np. w okresie testowania zbudować profil korzystania z tejże aplikacji i późniejsze odstępstwa traktować jak incydenty. To w jakimś zakresie powinno jednak chronić przed 0-day..

    2) IPSy i WAFy działają na sygnaturach, które pojawiają się w reakcji na ogłoszone podatności. Im lepszy producent, tym szybsza sygnatura a więc zapewniają pewien poziom ochrony podczas gdy nie chcemy/ nie możemy łatać naszego serwisu bo np boimy się o jego stabilność lub też nie mamy czasu na bugtraqa.

    3) IDS to faktycznie bez sensu bo ewentualnie tylko wykryje ale nie zblokuje ataku.

    4) Tak wiem że IPSy, WAFy nie są idealne, można je oszukać i same w sobie mogą też być celem ataku.

    Reasumując, WAF, IPS pozwala spędzać inaczej czas niż wyczekując 24 godziny na bugtraq w poszukiwaniu podatności. Jest relatywnie prostą metodą wykrywania ataków 0-day oraz “wirtualnego patchowania” zarówno warstwy serwera web jak i samej aplikaacji .

  26. A adres e-mail podawany przy wpisywaniu komentarza też jest dla Was nic nie wart? To mnie obraża!

  27. Zabrakło przypisu do zagwiazdkowanego słowa pierdyliard. ;)

  28. XSS już jest http://img245.imageshack.us/img245/3435/hackvr.jpg :>

    • Komeniusz: Nasz dział programistów zosał do Pana wysłany, celem naprawy błędu :-)

  29. […] zasadą (zamiast tylko się bronić, pomyśl jak zminimalizować straty po skutecznym ataku, por. Jeden 0day i leżymy) na Macu wykorzystuję program w stylu Little Snitch, który ładnie wyłapuje wszelkie […]

  30. […] czas temu na Niebezpieczniku pojawił się wpis Jeden 0day na WordPressa i leżymy! Co do zasady muszę się zgodzić z prezentowanym w tym wpisie stanowiskiem, ale… No właśnie, […]

  31. Dekalog hakera, przykazanie 1: “Każde zabezpieczenie można
    złamać” ;)

  32. Dobra, dobra, Panie Redaktorze – z separacją usług w pytę pomysł i oczywiście jestem za, ale kto za to zapłaci? Właściciel strony z newsletterem, czy właściciel sklepu internetowego? Żaden z nich. Może takie allegro czy tam inny (j)ebaj ma na to kasę, ale nie przeciętna firma krzak, których jest najwięcej.

    A co do skutków ataków na mało istotne dane typu wordpress, to mam na to cytat z kogoś mądrego: “Ludzie dzielą się na dwa typy. Tych, którzy robią kopie zapasowe i tych, którzy dopiero będą je robić.”

Twój komentarz

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

RSS dla komentarzy: