9:39
30/8/2010

Wczoraj wieczorem zauważyliśmy ciekawą aktwność na Facebooku. Jedna z Facebookowych aplikacji to internetowy robak, który rozprzestrzenia się w ciekawy i niewymagający żadnych działań ze strony użytkownika sposób.

http://apps.facebook.com/makemelaughnow/

Wystarczy samo przejście na stronę aplikacji lub otwarcie w przeglądarce adresu
http://apps.facebook.com/makemelaughnow/ …i nasz status zmieni się na:

Statusy dodawane przez złośliwą aplikację

no bulls.. if you are my friend you need this.. you will thank ME
jersey shore scandel
only go here if you are my TRUE friend

Dodatkowo, aplikacja wyśle prywatne wiadomości z naszego konta do naszych wybranych znajomych.

Co ważne, aplikacja do zainfekowania użytkownika nie wymaga od żadnych kliknięć (np. na przycisk “lubię to” czy “wyślij wiadomość”). Magia? Nie. Status dodawany jest przez skrypt http://touch.facebook.com/submit_status.php, czyli wersję mobilną serwisu po uprzednim odczytaniu odpowiednich tokenów.

Żądanie wysyłane przez złośliwą aplikację do Facebooka

Podsumowując:

Do czasu załatania luki przez Facebook, nie klikaj w linki prowadzące do nieznanych aplikacji na Facebooku. Za moment pewnie pojawią się kolejne aplikacje wykorzystujące tą samą dziurę. Jeśli już kliknąłeś, pamiętaj aby wejść w ustawienia aplikacji i zablokować aplikację “Make Me Laugh Now”.

Na naszych szkoleniach z atakowania i ochrony aplikacji kładziemy nacisk na to, żeby “badać” (lub jak kto woli zabezpieczać ;) nie tylko główną wersję serwisu, ale i wszelkiego rodzaju inne forki serwisu, np. wersje “mobilne”. Częsty błąd: programiści implementują np. ochronę przed atakiem CSRF w podstawowej wersji serwisu (np. po zgłoszeniu błędu przez użytkownika) , ale zapominają już o wdrożeniu tych samych zabezpieczeń w wersji mobilnej… Ciekawą kwestią w przypadku mobilnych wersji serwisu jest obsługa sesji… ale to chyba temat na kolejny post ;)

Konkursik?

Póki aplikacja “żyje” — czyli do czasu, kiedy Facebook ją zablokuje, proponujemy mały konkurs na dokładne wyjaśnienie “robaczywości” aplikacji (timeline, pliki ze złośliwym kodem) — wysyłajcie je na adres redakcja@domenategoserwisu — nie zapomnijcie wspomnieć z jakich narzędzi korzystaliście! Najlepsze opisy analizy opublikujemy na Niebezpieczniku.


Przeczytaj także:



36 komentarzy

Dodaj komentarz
  1. dostałem to, ale stwierdziłem, że nie znam człowieka który mi to przysłał więc zaniechałem, a parę sekund później przeczytałem wasz tekst :D jednak ma się ten zmysł do spamu :D

  2. Ano, gdy dana osoba jest zainfekowana, to rozsyła prywatne wiadomości do różnych ciekawych osób z listy kontaktów.

    • O, ciekawe :-) Nasz testowy profil tylko update’ował status, bez rozsyłania prywatnych wiadomości. No ale na liście kontaktów miał tylko jedną osobę… może im nierówna reszta z dzielenia wychodziła ;)

  3. Też dostałem invite via PM od osoby z listy kontaktów. Of course nie kliknąłem bo w treści wiadomości była informacja, że użytkownik zbiera FB credits w zamian za automatyczne reklamy (czyli ta wiadomość z linkiem to była reklama i nie było to tajemnicą).

  4. Dostaję ten spam od prawie wszystkich znajomych na FB, w adresie jest cała lista osób, do których poza mną została wysłana.

  5. Heh, ja kliknąłem z ciekawości bo myślałem, że to jakiś clickjacking będzie :P A tu coś nowego… Status mi się nie ustawił, ale wysłana została wiadomość do znajomych :/

  6. Potwierdzam – dostałem dzisiaj linki do tego w prywatnych wiadomościach od kilku osób.

  7. Zgłaszam wszystkie wiadomości z makemelaughnow jako spam lepiej niech im FaceBook konta zablokuje niż
    A. będą mi zaśmiecać skrzynkę :P
    B. Zostaną Zombie (Już są).

  8. ja mam jakichś słabych znajomych, jeszcze nie dostałem żadnego spamu ;(

  9. Wiadomości (spam) z tego co widzę są rozsyłane za każdym razem przy logowaniu na konto FB

  10. Swoją drogą ma ciekawą technikę obfuskacji. Analiza utrudniona, bo po drodze trzeba zrozumieć (i emulować ;) ) Facebookowe API.

  11. Jeżeli jesteś zainfekowany wejdź w ustawienia aplikacji na FB i odznacz aplikację “makemelaughnow” jako posiadającą dostęp do twojego konta.

  12. tak to już jest, jak się bawi barachłem pokroju fejsbóka, trzeba się liczyć z tym, że ludzie którzy mają od juzerów o kilka fałd na mózgu więcej będa chcieli im coś ‘popsuć’ ;)

  13. Czy aplikacja robi jakieś szkody także na komputerze czy jej działalność ogranicza się do profilu na facebooku?

  14. Nie korzystałem do dzisiaj z facebooka, ale coraz częściej czytam o tym siedlisku podatności ;) Właśnie założyłem testowe konto, żeby zobaczyć o co chodzi z tymi aplikacjami. Na pierwszy rzut oka wygląda całkiem ciekawie. Jak rozumiem w normalnych, przewidzianych przez programistów fb warunkach, aplikacja nie powinna mieć prawa ustawiać nam statusu oraz wysyłać wiadomości do znajomych bez naszej zgody?
    Orientuje się ktoś, czy nk planuje wprowadzić podobną funkcjonalność (obsługa aplikacji użytkowników)?

  15. dostałem ten spam, z głupoty otworzyłem, potem czytam wasz artykuł :P
    robal wysłał w ciągu 15 min z 20 wiadomości do moich znajomych :P

  16. Mój antywirus (Avira) postrzega ten artykuł jako wirusa. Ciekawe na co reaguje.

    • @Amly: odinstaluj tego false-positive makera ;)

  17. Proszę o uzupełnienie treści wiadomości o instrukcję jak usunąć dostęp MakeMeLaughNow do konta na FB (patrz moja wypowiedź wyżej)

  18. Ja tylko jedną taką wiadomość dostałem :(
    Co ciekawe, robak radzi sobie z capchą dość nieźle. Odpisałem zombiakowi (i wszystkim którzy dostali tą wiadomość) żeby usunął dostęp do profilu aplikacji i wyskoczyło okienko z capchą.

  19. Napisalem do redakcji ale napisze i tutaj.

    Moge sie calkowicie mylic, ale to jest to do czego doszedlem:

    W wielkim skrocie:
    Facebook umozliwia dzialanie aplikacji na zenwetrznym serwerze z pewnymi limitami – nazywa sie to canvas.

    Nasza aplikacja pobiera z http://www.bestplazadel.com/makemelaugh/index.php (gdy poda sie odpowiednie parametry) skrypt JS, ktory juz na stronie facebooka tworzy dwa iframe.

    W pierwszym przypadku pierwszy iframe ma src=”reqs.php?…” z parametrami, ktory potwierdza ze uzytkownik autoryzuje dana aplikacje (strona sie nie przeladuje – tylko iframe) – wysyla GET

    W drugim przypadku, juz wewnatrz iframe tworzony jest i ustawia sie action odpowiedni, ktory ustawia status (submit_status.php) a nastepnie po 1.2 sekundzie automatycznie zatwierdzany. Wysyla POST

    W obu przypadkach laczy sie z touch.facebook.com.

  20. @Krzysztof Kotowicz
    W tym przypadku problemem nie jest samo API (to tylko metoda dostępu do poszczególnych informacji), lecz sposób tworzenia aplikacji na Facebooka. Generalnie – sprawa wygląda następująco. Możemy albo wykorzystać iframe i Javascriptowe SDK, albo skorzystać ze specjalnego języka znaczników – FBML, który później jest parsowany do htmla i javascriptu. Problem w tym, że tylko deweloper aplikacji może podejrzeć, jak wygląda kod przez wyrenederowaniem, podczas którego kod ulega znacznej zmianie przejrzystości i długości. Dodatkowo, każde zapytanie AJAX w aplikacji FBML przechodzi przez Facebookowe proxy, co w praktyce bardzo utrudnia debugowanie. Kolejna rzecz – zewnętrzne skrypty są cachowane przez serwery Facebooka.

    Co do samego skryptu – podczas wczorajszego zgłaszania tej aplikacji do Facebooka spojrzałem na profil osoby, która dodała tą aplikację – http://www.facebook.com/profile.php?id=100000783340058
    Warto zauważyć, że ma ona zalajkowe kilka podejrzanie wyglądających stron, takich jak http://www.ebestplaza.com. Myślę, że to ciekawy trop.

  21. Tu analiza – całkowicie poza konkursem.

    http://blog.kotowicz.net/2010/08/makemelaughnow-analysis-of-new.html

  22. Aplikacja już została wyłączona. Fajnie, że co najmniej 2 osoby zdążyły przeprowadzić jakąś bardziej szczegółową analizę.

  23. @Mikołaj Smal
    Tak, rozumiem sposób działania i metody integracji z FB. Problem polegał na tym, że w wypadku analizy tej aplikacji trzeba było jeszcze poznać, choć pobieżnie, Facebookowe mechanizmy sandboxa i zaemulować je w innym środowisku. Na szczęście było to dość proste. Tak jak piszesz, w gruncie rzeczy debugujesz FBML czy jakieś inne ichniejsze pieroństwo ;)

    Sama aplikacja jest prosta, tylko delikatnie zaciemniona, ciekawe jest użycie elementu DOM do przechowywania części informacji do deszyfracji – no i sama luka w stronie mobilnej.

    Co do tropu – najprawdopodobniej masz rację, chodzi o zyski z reklamy lub SEO. Tak, jak w przypadku zeszłorocznej złośliwej aplikacji – http://blog.kotowicz.net/2009/12/new-facebook-clickjagging-attack-in.html – wykorzystano dość poważną lukę w bezpieczeństwie do właściwie nieszkodliwych działań – reklamy. Mogło być znacznie gorzej (ataki drive-by-download etc).

  24. no bulls.. if you are my friend you need this.. you will thank ME = hxxp://apps.facebook.com/goodpeoplelaugh/

    Ten status działa tak samo. Co gorsza teraz nie ma się własnego statusu na Home, więc nie widać, że się status zmienił :(

  25. […] и обновлять свой статус. Как сказано в новости на niebezpiecznik.pl, для распространения оно использует мобильный сайт […]

  26. Świetny konkurs! Ja nawet nie wiem o czego zacząć, a to wcale nie jest dobre :)

  27. Ciekawe jakie inne tagi html są dostępne?
    xxx

  28. @ukash – No ciekawe

  29. […] Mimo wszystko, polecamy jej włączenie — jeśli nie uda się uchronić konta przed kradzieżą, to przynajmniej dowiecie się czy padliście ofiarą phishingu lub modnych ostatnio złośliwych aplikacji na Facebooku. […]

  30. witam historia powtórzyła się dzisaj,
    macie jakąś rade co z tym badziewiem zrobic?

  31. […] tak naprawdę ochrona przed click-jackingiem często wykorzystywanym w atakach przez złośliwe Facebookowe aplikacje. Facebook nie precyzuje co dokładnie ulepszył w swoim mechanizmie detekcji, ale ma on […]

  32. Mhm.. Ja nie kozystalam z zadnej podejrzanej apki, nie wchodzilam w zadne linki a jednak mnie tez dopadlo ;D Tyle ze mnie wysyla do wszystkich znajomych usmiechniete buzki w wiadomosci prywatnej i to zeby tylko raz zrobilo to bylo by dobrze, dostaja niby ode mnie 10 usmiechnietych buziek w ciagu 20 minut co jest irytujace bardzo :)

Twój komentarz

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

RSS dla komentarzy: