Occhio al pop-up su iOS: sembra di Apple, ma ruba le password

Occhio al pop-up su iOS: sembra di Apple, ma ruba le password

Uno sviluppatore ha mostrato un attacco di phishing possibile su iOS che può depredare la password iCloud degli utenti. Meglio stare attenti

di Nino Grasso pubblicata il , alle 18:01 nel canale Apple
AppleiOSiPhone
 

Felix Krause è uno sviluppatore balzato agli onori della cronaca per aver mostrato un attacco phishing su iOS utilizzando icone e finestre in perfetto stile Apple all'interno delle app. Come spiega lo stesso professionista, gli utenti iPhone e iPad sono ormai abituati alle richieste da parte di Apple per l'inserimento delle credenziali d'accesso per effettuare acquisti ed accedere al servizio in cloud proprietario. E questo può avvenire anche al di fuori di App Store o di iTunes Store.

Il trucco dell'attacco di phishing dimostrato da Krause è utilizzare un "UIAlertController" che emula lo stile dell'interfaccia grafica di Apple, e nello specifico la finestra che richiede le credenziali d'accesso dell'utente per effettuare acquisti in-app o altre operazioni. Nascondendo nella finestra un tool di phishing capace di raccogliere i dati immessi, un utente malintenzionato può ottenerli senza capacità di programmazione avanzate o senza sfruttare alcuna vulnerabilità di sistema.

Queste le parole dello sviluppatore:

"Mostrando una finestra di avviso con le sembianze di un pop-up di sistema è veramente facile, non c'è nessuna magia o codice segreto alla sua base. Si può fare sfruttando gli esempi forniti nei documenti Apple, con un testo personalizzato.

Ho deciso di non rilasciare come open-source il codice del pop-up, tuttavia, c'è da dire che richiede meno di 30 linee di codice e ogni ingegnere iOS potrebbe essere in grado di sviluppare la propria versione del tool di phishing".

Il metodo di phishing descritto da Krause non è del tutto nuovo, e c'è anche da segnalare che Apple verifica l'affidabilità di ogni app prima di inserirla pubblicamente su App Store. È possibile che una richiesta così esplicita possa passare inosservata, ma è decisamente improbabile. Tuttavia vale la pena segnalare che è possibile inserire pop-up fraudolenti all'interno delle app di terze parti, soprattutto per informare gli utenti meno esperti del fenomeno.

L'unico metodo di protezione contro il phishing è, infatti, la consapevolezza. Quando si inseriscono dati sensibili in un pop-up è sempre necessario verificare la provenienza del pop-up e stabilirne a priori l'affidabilità. Su iOS, se non si è certi della provenienza della finestra di dialogo, basta premere il tasto Home per tornare nella schermata principale del dispositivo. Se il pop-up rimane è stato richiamato da iOS ed è affidabile, se scompare è legato all'app ed è fraudolento.

Krause ha comunque riportato l'anomala possibilità ad Apple raccomandando un fix che consenta agli utenti di inserire le proprie credenziali solo attraverso l'app Impostazioni, o con altri metodi, e non con un pop-up facilmente replicabile. Un metodo efficace e già esistente per proteggersi su iOS è abilitare l'autenticazione a due fattori, che impedisce ad un eventuale aggressore di effettuare il log-in su un account Apple senza un codice proveniente da un dispositivo verificato.

7 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
mattia.l11 Ottobre 2017, 18:07 #1
da sviluppatore Apple confermo che quello è un normale UIAlert con lo stesso testo di quello di Apple, basta inserirlo nell'app e chiamare un web service quando l'utente ha premuto su ok...

Il problema è come farlo arrivare all'utente finale, se l'app passa dallo store e dentro trovano un popup simile la bocciano all'istante...e bocciano per molto molto meno

Se invece si vuole oltrepassare lo store bisogna mettere in piedi un account Enterprise e convincere l'utente ad installare l'app malevola tramite una pagina web apposita, ma la licenza enterprise non viene rilasciata a privati, bisogna registrarsi con partita IVA, D.U.N.S number e passare la verifica telefonica da parte di Apple. Una volta installata poi per avviarla è necessario autorizzarla dalle impostazioni...
recoil11 Ottobre 2017, 18:16 #2
Originariamente inviato da: mattia.l
da sviluppatore Apple confermo che quello è un normale UIAlert con lo stesso testo di quello di Apple, basta inserirlo nell'app e chiamare un web service quando l'utente ha premuto su ok...

Il problema è come farlo arrivare all'utente finale, se l'app passa dallo store e dentro trovano un popup simile la bocciano all'istante...e bocciano per molto molto meno

Se invece si vuole oltrepassare lo store bisogna mettere in piedi un account Enterprise e convincere l'utente ad installare l'app malevola tramite una pagina web apposita, ma la licenza enterprise non viene rilasciata a privati, bisogna registrarsi con partita IVA, D.U.N.S number e passare la verifica telefonica da parte di Apple. Una volta installata poi per avviarla è necessario autorizzarla dalle impostazioni...


passare i controlli Apple è piuttosto semplice
io ho tutte le mie app aggiornabili con chiamate rest, per me sarebbe un attimo mandare in approvazione un'app con un comportamento e modificarla da remoto una volta su store
certo, una volta segnalata verrebbe eliminata e probabilmente sospenderebbero pure l'account, ma intanto avrei raggiunto il mio scopo

il problema è che quei popup compaiono un po' troppo spesso e in modo non predicibile, quindi l'utente è abituato a vedere la alert e mettere la password, a furia di farlo diventa una cosa automatica e non ti accorgi di essere dentro un app e non nella springboard
Apple non può risolvere cambiando semplicemente il modo in cui presenta l'informazione, perché copiare una view custom sarebbe facile tanto quanto richiamare una UIAlertView

secondo me Apple non dovrebbe più chiedere la password in quel modo, ma se proprio ha bisogno delle credenziali icloud dovrebbe riportare l'utente dentro l'app impostazioni, farle inserire lì e consentire di tornare all'app precedente con il link in alto a sinistra, cosa che già fa
mattia.l11 Ottobre 2017, 18:22 #3
Originariamente inviato da: recoil
passare i controlli Apple è piuttosto semplice
io ho tutte le mie app aggiornabili con chiamate rest, per me sarebbe un attimo mandare in approvazione un'app con un comportamento e modificarla da remoto una volta su store
certo, una volta segnalata verrebbe eliminata e probabilmente sospenderebbero pure l'account, ma intanto avrei raggiunto il mio scopo

il problema è che quei popup compaiono un po' troppo spesso e in modo non predicibile, quindi l'utente è abituato a vedere la alert e mettere la password, a furia di farlo diventa una cosa automatica e non ti accorgi di essere dentro un app e non nella springboard
Apple non può risolvere cambiando semplicemente il modo in cui presenta l'informazione, perché copiare una view custom sarebbe facile tanto quanto richiamare una UIAlertView

secondo me Apple non dovrebbe più chiedere la password in quel modo, ma se proprio ha bisogno delle credenziali icloud dovrebbe riportare l'utente dentro l'app impostazioni, farle inserire lì e consentire di tornare all'app precedente con il link in alto a sinistra, cosa che già fa

quando ti beccano ed annullano l'account (e di conseguenza i provisioning profiles, certificati di sviluppo, ecc...) l'app ha solo più 2 giorni di funzionamento, prima di crashare all'avvio

Nel frattempo bisogna vedere quanti utenti hanno scaricato un'app sconosciuta...a meno che non anneghi il messaggio dentro l'app realizzata con l'idea del secolo

Che poi è lo stesso discoro di avere una finta pagina che chiede il numero VISA sul sito Microsoft o sul primo sito porno trovato in giro, sul sito ms viene inserito, sul secondo no...

IMHO Apple per quel messaggio non dovrebbe usare l'alert standard ma un alert custom accessibile tramite api private...
calabar11 Ottobre 2017, 19:00 #4
Originariamente inviato da: mattia.l
Nel frattempo bisogna vedere quanti utenti hanno scaricato un'app sconosciuta...

Non necessariamente. Da quando dice recoil, puoi creare una buona app (non necessariamente complessa), aspettare che si diffonda, e quindi modificare da remoto l'aspetto del popup.
In teoria non hai neppure bisogno di farlo da remoto, basterebbe un tema "nascosto" che magari si attiva da solo dopo diversi mesi e modifica quel che serve dell'aspetto dell'applicazione.

Il problema dell'alert custom è che può sempre essere riprodotto, occorre qualcosa di diverso, per esempio un cambiamento in una zona non accessibile dalle applicazioni (che so, la barra delle notifiche che si colora di rosso, dei led del telefono a cui ha accesso solo il sistema, o qualcosa del genere).
Apocalysse12 Ottobre 2017, 08:01 #5
Originariamente inviato da: mattia.l
quando ti beccano ed annullano l'account (e di conseguenza i provisioning profiles, certificati di sviluppo, ecc...) l'app ha solo più 2 giorni di funzionamento, prima di crashare all'avvio

Nel frattempo bisogna vedere quanti utenti hanno scaricato un'app sconosciuta...a meno che non anneghi il messaggio dentro l'app realizzata con l'idea del secolo


Non hai fantasia di pensiero: Se il tuo scopo è rubare le credenziali, ti metti a creare una serie di programmi / giochetti che diffondi il più possibile col metodo illustrato da recoil modificherai in un secondo momento il programma e non farai una raccolta a tappeto ma in periodi diversi chiederai le credenziali e fai in modo che non verranno chieste più di 2 volte dal solito utente a distanza di 10 giorni magari in modo da non destare sospetti.
Fai questo giochetto a periodi, in cui ripristini alternativamente il funzionamento fraudolento e quello normale .... A quel punto penso sia molto difficile anche solo capire se l'applicazione ha avuto comportamenti anomali ... Ma da ignorante è quello che farei se quello fosse il mio obbiettivo ^^
mattewRE12 Ottobre 2017, 08:40 #6
Come proposto dal ricercatore, Apple dovrebbe invitare l'utente ad aprire l'app impostazioni e digitare la password lì.

Comunque, io credo e spero che una grandissima fetta di utenti abbia ormai l'autenticazione a due fattori: alla fine iOS ultimamente è stato molto invasivo nel richiedere tale configurazione. Ho visto anche gente non esperta avere l'autenticazione a due fattori abilitata.
recoil12 Ottobre 2017, 08:45 #7
Originariamente inviato da: calabar
Non necessariamente. Da quando dice recoil, puoi creare una buona app (non necessariamente complessa), aspettare che si diffonda, e quindi modificare da remoto l'aspetto del popup.
In teoria non hai neppure bisogno di farlo da remoto, basterebbe un tema "nascosto" che magari si attiva da solo dopo diversi mesi e modifica quel che serve dell'aspetto dell'applicazione.

Il problema dell'alert custom è che può sempre essere riprodotto, occorre qualcosa di diverso, per esempio un cambiamento in una zona non accessibile dalle applicazioni (che so, la barra delle notifiche che si colora di rosso, dei led del telefono a cui ha accesso solo il sistema, o qualcosa del genere).


la cosa è molto semplice
una volta una mia app B2B (quindi non va nemmeno su store pubblico) mi è stata rifiutata per un messaggio a loro dire "fuorviante" (ma richiesto dal cliente)
risultato? ho mandato app in approvazione cambiando il testo e una volta distribuita ho rimesso il mio messaggio di prima, fine del problema

avrei potuto fare altrettanto con una popup che chiedeva la password

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^