Bug di notifica Unicode iOS

3

Evidentemente, qualcuno ha scoperto un bug Unicode in iOS , dove se un'app riceve una sequenza Unicode specifica (punto di codice Unicode a ripetizione infinita), il sistema operativo uccide il trampolino quando assegna troppa memoria, riavviandola immediatamente. Non posso includere la sequenza qui, perché SE la rileva e nega di includerla nel corpo.

Ora, questo non sembra un problema serio; "Oh, il mio telefono è stato resettato in modo casuale. Fantastico.", Ma questo rappresenta un grande rischio per la disponibilità di dispositivi iOS ovunque . Ad esempio, se conosco una persona con un dispositivo iOS, potrei inviare questo messaggio in modo anonimo tramite un falso account Apple tramite iMessage su un dispositivo Mac OSX / iOS per ripristinare il proprio telefono (anche nel mezzo di una chiamata, poiché si tratta di un bug di notifica).

Se fossi veramente malizioso, potrei scrivere uno script su Mac OSX per generare un elenco di numeri telefonici (semi) -random per inviare questo messaggio ogni X minuti, in modo permanente mettendo il loro dispositivo in uno stato di reimpostazione (prevenendoli dalle patch, facendo qualcosa di importante, ecc.)

Apple è a conoscenza del problema e i suoi sviluppatori lo stanno aggiustando, ma una grande quantità di utenti ritardano gli aggiornamenti il più a lungo possibile, o semplicemente non si preoccupano di aggiornarli; questo significa che il problema potrebbe essere una minaccia permanente per loro.

Metodi che ho pensato per risolvere il problema che sembra impossibile:

1.) Invia una hot-fix ai dispositivi iOS (anche questo è implementato?)

2.) Forzare un aggiornamento all'ultima versione del sistema operativo (sembra violare la privacy / accordo ToS)

Poiché ciò rappresenta una minaccia per la disponibilità dei dispositivi Apple, ho pensato che avrei chiesto agli esperti di sicurezza: come può Apple garantire che questo problema non affligga (software obsoleto) iOS dispositivi nei prossimi anni?

Modifica : il problema è duplice:

1.) La convalida pre-invio in iOS richiede un aggiornamento, in quanto il codice per la whitelist dei caratteri Unicode non esiste ancora, altrimenti questo non sarebbe un problema; questo è il motivo per cui ho posto la domanda.

2.) Questo problema non può essere risolto realisticamente lato server come Apple sta trasmettendo il messaggio, perché Apple crittografa i messaggi prima che vengano inviati e se decodificassero i messaggi per eliminare Unicode errato, sarebbe una violazione della privacy degli utenti.

    
posta Chris Cirefice 27.05.2015 - 19:17
fonte

2 risposte

0

Si scopre che Apple ha effettivamente "sistemato" questo lato server. Evidentemente avevano un meccanismo per forzare l'invio di iMessage quando un dispositivo tentava di inviare un iMessage.

Questo è aneddotico :

Il mio iPhone è tornato agli SMS standard anche quando comunicavo con altri iPhone (anch'esso convertito in SMS) e iMessage sul mio iPad ha smesso di funzionare.

Apple ha menzionato questo bug nell'aggiornamento iOS 8.4.1 e, una volta aggiornato, l'iMessage del mio dispositivo ha iniziato a funzionare di nuovo, ma solo con dispositivi iOS che erano stati aggiornati anche alla versione 8.4.1.

Pertanto, è lecito ritenere che Apple stia disattivando iMessage lato server in base alla versione iOS e ha consentito a iMessages di passare solo quando il destinatario era su iOS > 8.4.1 (che aveva la correzione degli errori Unicode).

    
risposta data 26.08.2015 - 19:09
fonte
1

In generale, se ho un'applicazione che so che non ha bisogno dell'intero set di caratteri UTF8, UTF16 o UTF32, la limiterò a ciò che è necessario.

Detto questo, ho lista bianca determinati set di caratteri all'interno di una codifica. I caratteri speciali di controllo possono essere ignorati o sostituiti usando un'espressione regolare o simile.

Questo concetto è portabile ad altre piattaforme e tecnologie.

    
risposta data 27.05.2015 - 19:26
fonte

Leggi altre domande sui tag