Przejdź do treści

Ekskluzywny wywiad: Hakowanie iPhone’a przez SMS

    1652314862

    Wstęp

    Niedawno rozmawialiśmy z ekspertem ds. bezpieczeństwa Charliem Millerem z Independent Security Evaluators na temat niedawno ujawnionej luki w zabezpieczeniach iPhone’a, która pozwoliłaby złośliwemu hakerowi przejąć kontrolę nad iPhonem za pomocą serii starannie spreparowanych wiadomości SMS.

    Alan: Dzięki za poświęcenie czasu na rozmowę, Charlie. Dlaczego nie zaczniesz od opowiedzenia nam trochę o luce w SMS-ach?

    Charlie: Błąd iPhone’a polega na tym, że mówisz telefonowi, że ma określoną ilość danych, a następnie nie wysyłasz ich tak dużo, jak powiedziałeś. Funkcja odczytująca dane zaczyna zwracać -1, aby wskazać błąd, ale inne części programu nie sprawdzają tego błędu i faktycznie myślą, że -1 to dane z wiadomości. To pokazuje, jak skomplikowane może być pisanie bezpiecznego kodu, ponieważ osobno każda część programu wygląda poprawnie, ale sposób ich interakcji jest niebezpieczny!

    W każdym razie, w zależności od tego, co wyślesz, mogą się zdarzyć różne złe rzeczy. W pewnym momencie możesz zmusić go do wyjścia, ponieważ ma zamiar przydzielić -1 bajtów (co jest postrzegane jako 0xffffffff – bardzo duża liczba). Jest to odmowa usługi, która tymczasowo wyłączy telefon z sieci.  

    Podczas mojej przemowy w BlackHat, co 10 sekund wysyłaliśmy wiadomość o odmowie usługi do wolontariusza z publiczności, aby trzymać go z dala od sieci. Niefortunną konsekwencją było to, że wiadomości były przesyłane do sieci, a jego telefon wciąż był wyłączany kilka godzin po rozmowie. Od tego czasu wrócił do pracy.

    Alan: Uwaga dla naszych czytelników: ilekroć Charlie mówi, że potrzebuje wolontariusza, nie nawiązuj kontaktu wzrokowego. Jak więc wysłałeś wiadomość? Czy wysyłałeś go przez interfejs SMS innego iPhone’a, czy robiłeś coś takiego jak wysyłanie e-maila z podejściem „ numer [email protected] ”?

    Charlie: Aby wysłać SMS przez sieć operatora, mieliśmy małą aplikację na naszym atakującym iPhonie, która komunikowała się z modemem za pomocą komend GSM AT. Do testowania i znajdowania błędów wykorzystaliśmy ten naprawdę fajny framework do wstrzykiwania, który napisał mój współprowadzący Collin Mulliner, który pozwala testować implementacje wiadomości SMS tylko poprzez wysyłanie danych przez TCP. Zapobiega to konieczności wysyłania danych przez sieć operatora i nic nie kosztuje, a także pozwala bardzo szybko przetestować wiele wiadomości.

    Alan: Jak więc przejść od ataku typu „odmowa usługi” do pełnego wykorzystania exploita?

    Charlie: Najgorszy przypadek dotyczy tego, jak program obsługuje połączone wiadomości. Jest to sposób na przesłanie więcej niż 140 bajtów na raz. Możesz wysłać długą wiadomość w serii wiadomości, a telefon zrekonstruuje ją w jeden długi ciąg. Uzyskuje dostęp do tablicy na podstawie wartości z danych. W przypadku, gdy myśli, że odczytuje -1, faktycznie uzyskuje dostęp do pamięci przed tablicą, a nie w tablicy. Konfigurując wszystko dobrze i podstępnie, możesz faktycznie wykorzystać to, aby uzyskać pełną kontrolę nad urządzeniem.

    Cały atak obejmuje nieco ponad 500 wiadomości, chociaż ofiara nie wie, że są wysyłane, ponieważ nie pojawiają się w telefonie. Większość z tych wiadomości ma związek z ustawieniem rzeczy „w sam raz”. Szesnaście z nich faktycznie uzyskuje dostęp do tablicy poza granicami.

    0 0 votes
    Rating post
    Subscribe
    Powiadom o
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x