Vai al contenuto

Intervista esclusiva: hackerare l’iPhone tramite SMS

    1652314862

    introduzione

    Di recente abbiamo parlato con l’esperto di sicurezza Charlie Miller di Independent Security Evaluators in merito alla vulnerabilità dell’iPhone recentemente divulgata che avrebbe consentito a un hacker malintenzionato di assumere il controllo di un iPhone attraverso una serie di messaggi SMS accuratamente predisposti.

    Alan: Grazie per aver dedicato del tempo a chattare, Charlie. Perché non inizi parlandoci un po’ della vulnerabilità degli SMS?

    Charlie: Il bug dell’iPhone ha a che fare con il dire al telefono che c’è una certa quantità di dati e quindi non inviarli quanto avevi detto che avresti fatto. La funzione che legge i dati inizia a restituire -1 per indicare un errore, ma le altre parti del programma non controllano questo errore e pensano effettivamente che -1 siano dati dal messaggio. Questo mostra quanto può essere complesso scrivere codice sicuro, poiché separatamente ogni parte del programma sembra corretta, ma il modo in cui interagiscono è pericoloso!

    Ad ogni modo, a seconda di ciò che invii, possono succedere diverse cose brutte. A un certo punto, puoi farlo uscire perché sta per allocare -1 byte (che è visto come 0xffffffff, un numero molto grande). Questa è una negazione del servizio che interromperà temporaneamente il telefono dalla rete.  

    Durante il mio discorso su BlackHat, abbiamo continuato a inviare questo messaggio di negazione del servizio ogni 10 secondi a un volontario del pubblico per tenerlo fuori dalla rete. Come sfortunata conseguenza, i messaggi venivano ricevuti in rete e il suo telefono veniva ancora spento ore dopo il discorso. Da allora è tornato attivo e funzionante.

    Alan: Nota per i nostri lettori: ogni volta che Charlie dice che ha bisogno di un volontario, non guardarti negli occhi. Allora, come hai inviato il messaggio? Lo stavi inviando tramite l’interfaccia SMS di un altro iPhone o facendo qualcosa come inviare un’e-mail con l’ approccio ” numero di telefono@attwireless “?

    Charlie: Per inviare l’SMS attraverso la rete dell’operatore, avevamo una piccola applicazione sul nostro iPhone di attacco che avrebbe parlato con il modem usando i comandi GSM AT. Per testare e trovare i bug, abbiamo utilizzato questo framework di iniezione davvero interessante che il mio co-presentatore Collin Mulliner ha scritto, che ti consente di testare le implementazioni dei messaggi SMS inviando dati solo su TCP. Ciò ti evita di dover inviare dati tramite la rete dell’operatore e non costa nulla, inoltre ti consente di testare molti messaggi molto rapidamente.

    Alan: Allora come si passa da un denial-of-service a un exploit completo?

    Charlie: Il caso peggiore ha a che fare con il modo in cui il programma gestisce i messaggi concatenati. Questo è un modo per inviare più di 140 byte alla volta. Puoi inviare un messaggio lungo in una serie di messaggi e il telefono lo ricostruirà in una lunga stringa. Accede a un array basato su un valore dai dati. Nel caso in cui pensa di leggere -1, accede effettivamente alla memoria prima dell’array, non nell’array. Impostando le cose nel modo giusto ed essendo complicato, puoi effettivamente sfruttarlo per ottenere il controllo completo del dispositivo.

    L’intero attacco richiede poco più di 500 messaggi, anche se la vittima non sa che vengono inviati perché non si vedono al telefono. La maggior parte di questi messaggi ha a che fare con l’impostazione “giusta” delle cose. Sedici di loro accedono effettivamente all’array fuori dai limiti.

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