La falla con iMessage reference aboved era che era:
A) Vulnerabile a un attacco di forza bruta
Questo a causa di un bug scoperto dai ricercatori che permetteva di configurare un attacco man-in-the-middle, a causa di:
- Il blocco rigoroso dei certificati non è stato utilizzato fino a iOS 9, pertanto un utente malintenzionato potrebbe creare un certificato di impostore e hackerare DNS sulla rete locale per poter iniziare a intercettare i dati e iniziare l'attacco.
- Nessun MAC viene utilizzato nel carico utile crittografato dopo aver ricevuto una firma ECDSA, quindi non viene controllato il contenuto dell'integrità messaggio / messaggio.
- La firma può quindi essere manomessa o sostituita con un'altra firma. Guarda l'immagine fornita dai ricercatori:
- L'attaccodicompressione"error oracle" che descrivi consente di decifrare scrupolosamente un messaggio bit per bit sfruttando il modo in cui i checksum CRC vengono calcolati sui dati originali, ma non viene creato il carico utile crittografato di AES.
B) Utilizzo di una chiave di crittografia simmetrica a 64 cifre per la crittografia dei messaggi.
- Piuttosto che usare un sistema di chiavi simmetriche, un sistema asimmetrico o uno che utilizza il perfetto segreto in avanti potrebbe essere stato in grado di impedirlo. Una volta impostato l'attacco uomo centrale, è possibile avviare un attacco di forza bruta fino a quando, con successo, si recupera la chiave a 64 cifre.
Come?
Al di là della risposta tecnica immediata, la domanda su come è successo è la stessa per questo caso, così come lo è per la maggior parte degli altri prodotti commerciali, a codice chiuso; e anche molti pacchetti open source: la crittografia e la creazione di crittosistemi antiproiettile è difficile. Anche dato l'azienda più preziosa al mondo, Apple, con i migliori ingegneri e risorse apparentemente illimitate; gli errori possono essere e sono fatti.
Per ulteriori informazioni, suggerisco di consultare l'articolo di Bruce Schneier sull'argomento , e il post del blog del ricercatore sull'argomento.