Ci sono diversi modi per entrare in possesso della combinazione username e password di una persona e questi vanno dall'hacking dei sistemi informatici all'ingegneria sociale. Per chi non lo sapesse, quest'ultima è una particolare tipologia di attacco messa in atto utilizzando tecniche che studiano il comportamento della vittima, tanto da indurla in errore e utilizzarla per i propri scopi. Un esempio concreto è stata la truffa perpetrata ai danni di Confindustria Nazionale qualche giorno fa: un dipendente ha ricevuto una email proveniente da un malintenzionato, il quale (con una banale tecnica di mascheramento dell'indirizzo del mittente) ha finto di essere un dirigente. Il testo recitava più o meno "Ciao, disponi un bonifico di 500.000 € a questo IBAN. Ora non posso parlare, sono in giro con il presidente. Fai subito, è urgente". La vittima si è fidata dell'autorevolezza del mittente dell'email e ha disposto il pagamento. Chiunque abbia realizzato l'attacco, quindi, deve conosce bene il funzionamento di quegli uffici e le abitudini dei soggetti coinvolti, tanto da non dover nemmeno scrivere una riga di codice malevolo.

Lo sfruttamento della buona fede della vittima e delle sue abitudini è anche alla base dell'attacco descritto da Felix Krause per rubare la password di un utente iOS, visto che sostiene che basta semplicemente chiedergliela. Siamo nel territorio del più classico phishing, ma invece di una mail, che sempre più persone hanno imparato a guardare con diffidenza, viene utilizzato un pop-up che un campo di testo nel quale inserire la password di App Store o iTunes Store.

Come ben sappiamo, questo viene mostrato in diverse occasioni: dopo un aggiornamento di sistema, all'interno di alcune app, nel Game Center e per gli acquisti in app. Ma se apparisse solo nei casi appena descritti e quando ce lo si aspetta, il sistema ideato da Kraus sarebbe in gran parte invalidato. Il fatto è che, invece, popup del genere appaiono anche in situazioni inspiegabili ed apparentemente casuali. Siamo dunque abituati a subirli passivamente e ad inserire la nostra password in modo meccanico, esattamente il tipo di errore (in questo caso indotto) che l'ingegneria sociale può prendere di mira. Ovviamente l'autenticazione in due fattori aiuta a proteggere l'Apple ID, ma ancora troppo spesso la stessa coppia di email e password viene riciclata dagli utenti per altri servizi. Realizzare un pop-up simile a quello di sistema non è per niente complesso ed è alla portata di qualsiasi bravo sviluppatore.

Cosa fare per proteggersi? Se avete il sentore che un'app possa essere strutturata in modo da rubarvi gli accessi, verificate innanzitutto se, prima della chiusura delle virgolette all'interno delle quali è segnato il vostro indirizzo email, via sia o meno un punto. Nel pop-up legittimo dovrebbe esserci, strano a dirsi, per cui potrebbe essere un modo semplice per identificare un attacco. Ovviamente è altrettanto semplice per un malintenzionato accorgersene e copiare anche questo particolare, per cui se la sua assenza è certamente sintomo di un tentativo di truffa la sua presenza non certifica l'autorevolezza del pop-op. La situazione peggiora con le finestre che richiedono la sola password, le quali risultano praticamente irriconoscibili da quelle originali.

Alcuni metodi per cercare di portare alla luce un tentativo di phishing sono:

  • Premendo il tasto Home: se la finestra di dialogo si chiude insieme all'app attiva, vuol dire che era essa stessa a generarla ed è quasi sicuramente malevola (vi sono delle rare eccezioni ma è meglio essere più prudenti che meno).
  • Non inserire mai le proprie credenziali alla prima richiesta: a meno che non sia un'app conosciuta come Evernote o altre, rifiutate la richiesta ed aprire le Impostazioni di iOS per autenticarvi manualmente (ove possibile).
  • Premere Annulla in un secondo momento non aiuta: l'app ha comunque accesso a quanto avete digitato nel campo di testo e, quindi, può registrare i primi caratteri o primi tentativi di inserimento della vostra password.

Per quanto Apple controlli singolarmente ogni nuova app caricata nell'App Store, non è difficile per uno sviluppatore aggirare l'ostacolo: basta richiamare del codice JavaScript remoto (l'unico accettato da Apple) o mettere un trigger per far eseguire la porzione di codice incriminata dopo qualche giorno, di modo che in fase di test il team di revisione possa non accorgersi dell'inganno (ma non è detto). Dunque, per quanto la procedura descritta non costituisca un allarme globale, occorre, come sempre, utilizzare un po' di accortezza per evitare di incappare in situazioni spiacevoli.