21:06
17/8/2012

Niebawem zapewne przetoczy się przez polski internet fala artykułów o “strasznej dziurze w obsłudze SMS przez iPhone’a” (zagraniczny internet już wre). Uprzedzając panikę, wyjaśniamy na czym polega ta nowa-stara podatność i co faktycznie przy jej pomocy można zrobić.

Co to jest SMS?

SMS, to tak naprawdę nie tylko tekst, który wpisujemy, ale również nagłówki UDH (SMS można utożsamić z e-mailem). W nagłówkach znajdziemy m.in. numer nadawcy SMS-a, numer odbiorcy, ale także pole Reply-To. Podobnie jak w poczcie elektronicznej, niezależnie od tego co znajduje się w polu nadawca, po naciśnięciu “odpowiedz” wiadomość zostanie dostarczona do adresu znajdującego się w nagłówku Reply-To jeśli jest on ustawiony (bo ma on wyższy priorytet).

Na czym polega “błąd” w iPhone iOS 6?

Jak zauważono iPhone z oprogramowaniem iOS beta (ale nie jest pewne, czy przypadkiem błąd nie dotyczy też wcześniejszych wersji systemu) po otrzymaniu SMS-a z nagłówkiem Reply-To ustawionym na wartość inną niż ta z nagłówka nadawca wysyła odpowiedź (jak można się spodziewać) pod numer z nagłówka Reply-To. Niestety — i w tym problem — nie zakomunikuje tego w żaden sposób właścicielowi telefonu. Dlatego odbiorca SMS-a myśli, że odpisał do oryginalnego nadawcy, a tymczasem atakujący cieszy się z otrzymanych właśnie sekretów ;)

Iphone SMS fail

iPhone SMS fail

Ale to już było! (..no prawie)

Podrabianie, czyli spoofing SMS-ów to nie nowość. Podobny atak “podszywania się pod nadawcę SMS-a” nie dość, że można wykonać od dawna, to zadziała on na każdym telefonie (niezależnie czy działa pod kontrolą iOS-a, Androida czy Windows Mobile). Przykłady bramek internetowych pozwalających na fałszowanie numeru nadawcy SMS-a opisywaliśmy już przeszło 2 lata temu. Wtedy jednak komunikacja była jednokierunkowa — bo jeśli ofiara odpowiedziała na SMS-a z bramki, to odpowiedź trafiała do osoby, pod którą się podszywaliśmy, a nie do nas, czyli atakującego.

Dlatego w trakcie wykonywania przez zespół Niebezpiecznik.pl testów penetracyjnych, stosując technikę spoofing SMS zawsze wyznaczaliśmy w podrobionej wiadomości (korzystając z socjotechniki) drugi, zwrotny kanał komunikacji. Zakładając, że Janusz to administartor w firmie X, a my podszywamy się pod jednego z managerów tej firmy, którego — jak sprawdziliśmy — nie ma dziś w pracy, wysyłamy takiego SMS-a:

Janusz, zapomniałem firmowego laptopa, jestem na lotnisku i muszę pilnie dostać się do maila żeby odpisać na oferte. Zresetuj mi hasło na abc123. Aha, pada mi telefon, w razie czego pisz na 12345678

Dzięki temu Janusz zamiast odpisać na oryginalny numer managera (i dać mu do myślenia, że dzieje się coś dziwnego) zazwyczaj odpisuje na podany na końcu numer …a my mamy dostęp do skrzynki (lub vpna) managera. Ten atak to kolejny przykład na to, że warto mieć wdrożone w firmie 2 factor authentication.

Jak się zabezpieczyć przed tym atakiem?

Użytkownicy iPhone’a muszą czekać na patcha od Apple (to poprawi błąd związany z nieświadomą odpowiedzią do kogoś innego, ale nie wyeliminuje fałszowania nadawcy SMS-a). Dlatego pamiętajcie, że nigdy nie macie pewności, że otrzymany SMS został rzeczywiście wysłany przez osobę, która widnieje jako jego nadawca.

Do SMS-ów należy więc zawsze podchodzić z dystansem i jeśli wymagają one wykonania jakiś ryzykownych czynności (reset hasła, przesłanie poufnych danych), lepiej zadzwonić do nadawcy i przekazać mu tego typu informacji ustnie. Albo nawet spotkać się w ciemnym zaułku, w 4 oczy, bo przecież wiemy, że służby potrafią podsłuchiwać telefonię GSM ;)

Przeczytaj także:

27 komentarzy

Dodaj komentarz
  1. Mam Freerunnera. Jestem pewny, że jestem bezpieczny, bo nie napisałem nigdzie obsługi nagłówka Reply-To ;D

    • Jesteś hipsterem.

  2. “Albo nawet spotkać się w ciemnym zaułku, w 4 oczy, bo przecież wiemy, że służby potrafią podsłuchiwać telefonię GSM ;)”

    Zapomnieliście dodać o zakładaniu czapek z aluminium :)

    • amelinium….

    • Jeśli chodzi o “służby”, to wcale aż tak często nie sięgają po treść korespondencji. Czasami wystarczy wiedzieć, z kim się delikwent kontaktuje. Znacznie częściej jest stosowany sam namiar, bo nawet w przypadku zwykłych barowych leszczy, ale nie będę niepotrzebnie straszył. No i co ja tam mogę o tym wszystkim wiedzieć ;)

  3. “Zapomnieliście dodać o zakładaniu czapek z aluminium :)”

    Z amelinium. Aluminium jest passe ;]

  4. A i wstrzyknac cos od sie, w transmisyje, dzis nie trudno. Fake BTS i inne feeee rzeczy. Ale kogo to w ogole?

  5. “zagraniczny internet już wre” chyba wrze?

    • http://www.sjp.pl/wre

    • sjp.pl nie budzi mojego zaufania (istnieją formy “wrze” jak i “wre”, “wrzę” jak i “wrę”, w tym “słowniku” nie wszystkie są). Aczkolwiek zwracam honor, w tym kontekście forma “wre” jest to poprawna: http://poradnia.pwn.pl/lista.php?id=9043
      Niemniej, zwrot “internet wre” brzmi bardzo dziwnie. Forma “wre” jednoznacznie kojarzy się z pracą.

    • A to faktycznie powinno być wrze – przecież wiadomo, że internet != praca :D

    • wrzy woda, wre -> zasuwa na przód, mniej więcej tak

    • @Michał, chyba Mihał?

    • @Maciek chyba michlał

  6. Przecież iOS w wersji 6 nie został jeszcze oficjalnie wydany więc co mają patchować? Betę developerską?

    • Czyli uważasz, że bety developerskie to ostateczne wydania i nie wymagają już patchowania?

      Tak, mają załatać betę developerską, aby finalny produkt był tego błędu pozbawiony.
      A to, że błąd (o ile występuje tylko w tej becie i nie we wcześniejszych wersjach iOS) dotyczy może ułamka promila użytkowników, którzy sami się prosili o potencjalnie błędne oprogramowanie, w związku z czym raban jest nieuzasadniony, to inna sprawa.

    • A czy ja gdzieś tak napisałem? Nie.
      Beta trafia do developerów po to, aby ją przetestowali. Czasami Apple świadomie wypuszcza bety z błędem z jakichś dziwnych powodów. O tej sprawie zostali poinformowani od razu, bo jak wiecie, albo nie, do developerów należą tysiące, którzy też mają głowę na karku. WIĘC Apple prawdopodobnie w kolejnej becie załata tę wielką aferę, do której dostęp mają tylko dev.

      Więc tak, artykuł tendencyjny, z gównianym tytułem, który w połączeniu z autorytetem serwisu może sugerować poważną dziurę dla OBECNYCH użytkowników iP, zagrożenia ich biznesu, tajemnicy państwowej i ciul wie czego jeszcze.

      Tymczasem nikt nawet nie zajrzał do iOS 5. Ale news jest news, nie? Ładnie się indeksuje w google i w ogóle…

  7. To zdanie mnie ciekawi szczególnie “nie jest pewne, czy przypadkiem błąd nie dotyczy też wcześniejszych wersji systemu”. Rozumiem, że cały internet wre na ten temat ale nikt nie sprawdził czy da się coś takiego zrobić na wcześniejszej wersji?

  8. No co tu paczowac w sumie… Takie feature znany od lat. Nie wiem czy to sie da spaczowac tak zeby bylo zgodne ze standardem sms…

    • Wystarczy wyświetlać popupa przed odpowiedzią, że reply poleci na inny numer niż ten z którego przyszedł sms (i pokazać ten numer)?

  9. Da radę zrobić spoofing numeru nadawczego SMS zestawem modem + oprogramowanie? W jaki sposób? (nie pytam o reply-to)

    • Jasne, musisz wdzwonić się tylko na ten numer : 22 621 02 51

  10. Piotr Skonieczny: No w sumie racja.

  11. Piotr Konieczny oczywiscie, przepraszam :)

  12. A mi się wydaje ciekawszy internet na którym można by zarobić trochę kasy nie do końca legalnie. Mając dostęp do jakiejś fajnej bramki SMSc i mając konto providera na SMS Premium można by wysłać SMS z Reply-To, właśnie na Premium. Jestem pewien że u nas w kraju znalazłoby się sporo ludzi którzy odpowiedzieli by właśnie na jakiegoś neutralnego SMSa pochodzącego od nadawcy ‘Tata’ lub ‘Mama’, a zasilającego nasze konto na 12zeta z groszami (już po odjęciu wszystkich kosztów) ;)

    • Ooo rany, czemu nie ma opcji EDIT, co też ja na początku napisałem :D

Twój komentarz

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