9:35
28/8/2018

Smartfony 11 producentów są podatne na ataki z użyciem komend AT. Tak, tych samych komend, które zapewne z nostalgią wspominają nasi starsi czytelnicy łączący się 20 lat temu z internetem przy pomocy modemu telefonicznego.

+++ATH0

Od lat 80-tych, komendy AT(ention) służyły do komunikacji z modemami i sterowania połączeniem dial-upowym oraz jego parametrami. To co może dla wielu będzie zaskoczeniem, to fakt, że modem jest wbudowany w większość smartfonów.

Funkcjonalnie jest podobny do modemów z lat 80-90, choć oczywiście z racji miniaturyzacji żaden posiadacz współczesnego telefonu komórkowego go nie widzi. Modem w smarfonie — i tu niespodzianki nie ma — służy do podłączania go do internetu przez sieć telefoniczną.

I choć istnieje ustandardyzowany zestaw komend AT, które powinny być wspierane przez wszystkie modemy, to niektórzy producenci dodają swoje “ukryte” komendy. Niektóre z nich mogą kontrolować tak niemodemowe części telefonu, jak …ekran dotykowy czy aparat.

Analiza firmware Androida wykazała, że…

Naukowcy z uniwersytetu na Florydzie, Uniwersytetu Stony Brook i oddziału Samsunga postanowili przyjrzeć się tym “ukrytym” komendom. Przeanalizowali 2000 obrazów Androida (tym skryptem) od 11 producentów:

    ASUS
    Google
    HTC
    Huawei
    Lenovo
    LG
    LineageOS
    Motorola
    Samsung
    Sony
    ZTE

…i odkryli ponad 3500 różnych wariantów komend AT. Swoje wyniki opublikowali w tej pracy.

Podłącz Androida po USB

Komendy można wywoływać po podłączeniu się do smartfona po USB. A więc potencjalny atakujący, który chciałby namieszać komendami AT musi albo uzyskać fizyczny dostęp do telefonu ofiary albo zainfekować jej komputer albo (i to jest ciekawy wektor ataku) podmienić ofierze jej ładowarkę na złośliwą (por. kablom USB już nie można ufać, ten ma złośliwy mikrochip ).

Co można zrobić komendami AT na smartfonach niektórych producentów?

  • Nadpisać firmware
  • Odblokować ekran i ominąć inne zabezpieczenia Androida
  • Wykraść dane użytkownika
  • Symulować “tapnięcia” na ekranie (co pozwala na instalację złośliwego oprogramowania)

Teoretycznie dostęp do komend AT powinien zostać udzielony tylko jeśli Android ma włączony tryb debugowania. Ale badacze zauważyli, że czasem nawet przy wyłączonym debugowaniu, niektóre komendy AT działały.

Aby sprawdzić, jakie komendy wspiera Twój telefon (czyli co złego może Ci zrobić port USB z którego ładujesz baterię) wejdź na stronę badaczy. Badacze poinformowali producentów o swoich odkryciach i dlatego najlepszą formą zabezpieczenia będzie wgranie najnowszych aktualizacji. O ile, jako posiadacz telefonu z Androidem, masz do nich dostęp. Bo większość producentów telefonów z Androidem niestety szybko zarzuca dla nich wsparcie i nie wypuszcza aktualizacji…

Wygląda też na to, że ładowanie bezprzewodowe może być dobrym pomysłem dla paranoików. Ładowarki trochę cięższe od kabelków i czas ładowania dłuższy, ale czego się nie robi dla bezpieczeństwa ;)

PS. W temacie ataków na telefony przez port USB warto też przypomnieć tę prelekcję.

Przeczytaj także:

52 komentarzy

Dodaj komentarz
  1. Jak nazywa się ta podatność? Albo inaczej – czego dokładnie szukać w release notes/ changelog przy aktualizacji aby stwierdzić, że aktualizacja naprawia ten problem?

    • “Wprowadzano optymalizacje wydajności i poprawki błędów”

    • To nie jest podatność i nie da się tego usunąć inaczej niż wyrywając bluetooth z telefonu. Fachowo to się nazywa: komendy Hayesa, tutaj link do wiki: https://en.wikipedia.org/wiki/Hayes_command_set

      Dawno, na prawdę dawno temu informatykom nie chciało się biegać po piętrach i podłączać do modemów po kolei, albo chodzić między budynkami lub jeździć od miasta do miasta, więc Pan Hayes stworzył w roku 1981 zestaw komend do zdalnego sterowania modemami.

      Technologia bluetooth powstał w latach 90-tych i inżynierowie wpadli na pomysł, aby bluetooth działał jak modem, a skoro działa jak modem to i komendy potrzebne do jego zarządzaniem. Stąd są zabudowane w technologię. Jedyny powód dla którego mogą nie działać to wycięcie części komend w implementacji, albo wprowadzenie własnych.

      Dlatego na jednym z obozów koleżanka mogła swoim starym sony ericssonem sterować moim telefonem, a nawet zdalnie zgrywać z niego dane za pomocą bluetootha właśnie. Dwa lata temu udało mi się starą nokią sterować smartfonem, niestety filmik zaginął, ale na youtube jest tego pełno.

      Tak więc wszystko co ma bluetooth jest potencjalnie zagrożone, chyba, że producent o tym wiedział i celowo to usunął.

  2. Przejrzałem i problem dotyczy wszystkich wersji od 7.1.x w dół. Na liście nie znalazłem wersji 8.x, więc można uznać je za niepodatne.

    • Janek, nie popełniaj błędów poznawczych. 8 wyszła bardzo niedawno i bardzo możliwe że nie było takich telefonów w momencie kiedy badanie było w toku. Android ma bardzo niewiele wspólnego z modemem telefonicznym i jego wersja nie powinna mieć znaczenia. Bardziej liczy się fantazja producentów

    • Patrząc po datach dla LineageOS można wywnioskować, że badanie zostało przeprowadzone na wersji systemu z października zeszłego roku. Oficjalne Oreo na Pixele wypuszczono w grudniu.

    • 9 wyszła niedawno, 8 ma już trochę…

  3. No i teraz hasztag #xiaomilepsze ma sens :D

    • Nie do końca. To, że nie ma xiaomi, to raczej powód do niepokoju niż radości, bo oznacza to, że badacze nie brali tych telefonów pod uwagę. Nie wiadomo więc jakie komendy i w jakich sytuacjach są przez słuchawki xiaomi wspierane. W artykule linkujemy do skryptu, z którego korzystali badacze — posiadacze telefonów z xiaomi mogą więc go uruchomić i zobaczyć, co jest możliwe do zrobienia (i zweryfikować kiedy).

  4. Ciekawe na liście nie P10 ani P10 lite, a chciałem sprawdzić bo mam takie słuchawki w pracy do testów. Dodatkowo nie ma żadnego Huawei Nova ??.

  5. W sekcji “co robić jak żyć” warto dopisać: kupić kondoma USB ;)

    • A jakieś tanie źródło takowych ktoś może polecić. Bez płacenia jak za zboże za przesyłkę.

    • Zawsze można zrobić samemu ;) Z tego, co pamiętam, styki do wymiany danych muszą być ze sobą zwarte, żeby smartfon rozpoznawał, że jest podłączony do ładowarki.

    • Nie do końca – musi być między nimi pewna rezystancja zapodana, na jej podstawie telefon określa amperaż, który może pobrać z ładowarki. Bodajże słynny już Mehdi ma grafikę na jutubach, jaka tam rezystancja potrzebna :)

  6. Pozwolę zapytać – czy jeśli nie widzę na liście swojego modelu HTC mogę odetchnąć z ulgą, czy wręcz przeciwnie (jak mniemam oznacza to, że nie zaktualizuję firmware)? Jako laik muszę się upewnić.

  7. I znowu napiszą, że polecacie iPhone’a :D

    • Pewnie tak – co ciekawe w przypadku procesorów niebezpiecznik przy artykułach o bezpieczeństwie wcale tak gorąco nie poleca AMD zamiast Intela mimo iż jest bardziej bezpieczne. Ale iPhona to już nie raz tak polecał ze względu na bezpieczeństwo. Widać podwójne standardy…

    • Pewnie Konieczny ma bezpośredni kontakt do Tim Cooka, który obiecał mu nowego iPhone’a za promowanie jabłka, co nie? :D

    • Tak, wczoraj dzwonił. Pozdrawia Was.

  8. Jest tyle łatwiejszych sposobów na przejęcie sprzętu, że ta podatność to taka ciekawostka, jak odczyt zawartości dysku przez diodę na obudowie PC.

  9. Czyli jeśli ktoś ma dostęp do mojego telefonu, to już nie jest to mój telefon? Strasze… do tej pory myślałem ze dotyczny to tylko komputerów :P

    Sporo użytkowników nawet nie zabezpiecza swoich telefonów, a jak już to robi to by ominąc blokadę usb wystarczy poczekać aż odblokują swój telefon(np sprawdzajac wiadomość).

    Normalnie straszna podatność która wymaga fizycznego dostepu do sprzętu… przerażające… już nigdy nie zostawie swojego telefonu przy niezaufanej osobie.

    • A ładowarkę lub kabelek do niej też zawsze nosisz przy sobie?

    • To nie ‘Twój’ telefon. To telefon googla…. inna opcja appla. Ty jesteś ‘tylko’ userem ;-)

    • Chyba że masz LineageOS albo nawet czysty AOSP bez gappsów ;)

  10. Jak się to ma do tego że telefon (przynajmniej mój [Xiaomi lepsze] ) domyślnie łączy się przez USB w trybie tylko ładowania?

    • Po to jest tam skrypt, który może zmienić tryb łączenia telefonu, jeśli tylko wystawia interfejs ;) IMHO chyba nawet Xiaomi coś wystawia, bo Mac zawsze mi wariuje jak go podłączam, jakby tylko ładował, to by Mac nie wariował ;)

    • Mac wariuje, bo podłączyłeś “niekompatybilne” urządzenie.

  11. Nie jest to jakie wielkie odkrycie. Wicej: it’s a feature, not a bug…

    • Problem nie w tym, że są komendy, tylko w tym, że niektóre działają na zablokowanym telefonie. A nie powinny.

    • I nie powinny i powinny… nie powinny chyba tak śmiało odblokowywać telefonu, z drugiej strony blokada ekranu w Androidzie nie jest jakimś świetnym zabezpieczeniem, żeby specjalnie martwić się o jej obejście. Jeśli, przyjmijmy takie karkołomne założenie, ktoś chce mieć bezpieczne dane na telefonie, to wybór Androida jest już na starcie poważnym błędem – pod względem kierunku rozwoju jest on jednak nastawiony bardziej na swobodę dysponowania urządzeniem. Natomiast te komendy są celowo utrzymywane w dostępności, bo pozwalają na (w miarę) swobodne użycie modemu telefonu po usb. Chyba rzeczywistość mówi nam, że jeśli chcemy bezpiecznie, to wybierzmy iOS…

    • @jbhn
      Co jak mam Telefon z zainstalowanym AOSP 8.1 (rom ze wszystkim open source) , aplikacje instaluję z F-droida, usług google play nie mam,cały dysk szyfrowany wieloznakowym hasłem a ważniejsze dane szyfrowane jeszcze za pomocą gnupg. Hasła trzymane w KeePassie. Dodatkowo powyłączane patchami nieużywane funkcje mogące prowadzić do jakiejkolwiek eksploitacji (np tryb multiuser). Zainstalowane Xposed + XprivacyLua żeby poodbierać aplikacjom niepotrzebne uprawnienia takie jak czytanie schowka (obrona przed zdalnym wykonaniem kodu w aplikacjach) Jakieś pomysły na łamanie takiego setupu? Android może być bezpieczny jak używasz go z głową i handluj z tym.

      Btw ten setup nie jest nieużywalny bo sam taki mam ;)

  12. Niby tacy wielcy, badacze, a dodawać nie umieją o_o

  13. Mam wrazenie, ze slowa ‘naukowiec’ uzywacie nieadekwatnie do kontekstu. Rozumiem, ze chcecie w ten sposob nobilitowac wysilek roznych ludzi.

    Czy czlowiek, ktory probuje wytrychami otworzyc zamek jest naukowcem? Wszak ‘odkrywa’ on dzialanie mechanizmow stworzonych przez innych ludzi.

    • A jeśli ten człowiek na co dzień zajmuje się innymi badaniami w nowatorskich dziedzinach, a w ramach hobby robi sobie włam na telefon – to nagle przestaje być naukowcem? Ech, ludzie…

  14. Tak się trochę zdziwiłem, że działanie komend AT bez debug mode zaskoczyło kogokolwiek…
    W sumie to te 4 lata temu bawiłem się za pomocą komend AT i myślałem, że ich działanie nawet bez debug mode jest czymś normalnym.
    W ogóle bardziej mnie zdziwiło, że nie wszystkie komendy AT działały bez debug mode :(
    Ale może ja jestem jakiś dziwny :P

    • No właśnie. I co że są dostępne? Fakt kiedyś numer 0202122 był podatny na przesłanie ++++ ATH0…. Rozłączało połączenie. Ale jak wycelować w …. telefon. Chyba że ktoś instaluje co popadnie..

  15. to nie tak ze te AT komendy to te same w starych telefonach do dzwonienia badz wysylania sms po kablu ?

    • To są komendy AT ze specyfikacji GSM 07.07 (do zestawiania połączeń i sterowania) oraz GSM 07.05 (do wysyłania, odczytywania i zapisywania SMS-ów).

  16. Ja na Samsungu Galaxy S4 dalej mam sierpniowe poprawki z tego roku. Dzieki custom ROMie!

  17. Naukowcy oddziału Samsunga sprawdzili czy zainstalowali sobie podatności i odkryli, że tylu podatności co oni, to nie zainstalował nikt.
    Niezwykły zaiste sposób działania.

  18. Poprawki nie wiele(nic) zmieniają w tym wypadku, ponieważ:
    * modem jest obsługiwany przez blob firmware, który może aktualizować tylko producent
    * “poprawki zabezpieczeń” to tylko string, w rzeczywistości tylko część luk jest załatana, np z powodu jak wyżej

  19. Przypomniało mi się że jedne z pierwszych modemów dostępowych TPSA były źle skonfigurowane, escape string nie wymagał odczekania.
    Modne było wplatanie sekwencji +++ATH0 w stopki postów na usenecie, co rozłączało korzystających z 020…

    • To była kwestia opatentowania i licencjonowania tego mechanizmu.

  20. Jeśli już ktoś ma dostęp do telefonu i może go odblokować i uruchomić tryb dewelopera to nie potrzebne mu już te komendy AT. Gorzej że telefony wystawiają interfejs bez odblokowania i włączenia trybu dev. Mnie bardziej zastanawia ile z tych komend można wywołać z samego modemu, tzn zdalnie przez sieć GSM.

  21. Kluczowy zwrot: dostęp fizyczny.

    • Kluczowy zwrot: zawsze go udzielasz każdemu miejscu, gdzie podpinasz telefon do ładowania

    • Dlatego ja używam kabla do ładowania bez możliwości komunikacji między telefonem i urządzeniem, są to kable posiadające tylko linie zasilania.

  22. To ladowanie bezprzewodowe jest takie bezpieczne? LOL!
    NFC pewnie tez? :)

  23. Mam nogi 3310 żOdyn haker mi nie straszy xD

  24. Zastanawia mnie, czy te komendy będą działały na Androidzie 9 Pie wgranym na Nexus 5 :)
    Link: https://www.firstever.eu/first-ever-android-9-0-for-nexus-5/

  25. Widzę bardzo ciekawe zastosowanie tej luki: malutki mikrokontroler (np ATTINY85 lub większy) wszystko umieszczamy w spreparowanej wtyczce/powerbanku i błyskawicznie dowiadujemy się, kto nam podkrada nasz kabel czy powerbank : telefon sam do nas zadzwoni !

  26. Droga redakcjo a gdzie “Mam nie iPhona — co robić, jak żyć?” ;-)?

Twój komentarz

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