Sicurezza mobile - Vettori di attacco

Per definizione, un Attack Vector è un metodo o una tecnica che un hacker utilizza per ottenere l'accesso a un altro dispositivo informatico o rete al fine di iniettare un "codice errato" spesso chiamato payload. Questo vettore aiuta gli hacker a sfruttare le vulnerabilità del sistema. Molti di questi vettori di attacco sfruttano l'elemento umano in quanto è il punto più debole di questo sistema. Di seguito è riportata la rappresentazione schematica del processo dei vettori di attacco che possono essere molti contemporaneamente utilizzati da un hacker.

Alcuni dei vettori di attacco mobile sono:

  • Malware

    • Virus e rootkit

    • Modifica dell'applicazione

    • Modifica del sistema operativo

  • Esfiltrazione dei dati

    • I dati lasciano l'organizzazione

    • Schermata di stampa

    • Copia su USB e perdita di backup

  • Manomissione dei dati

    • Modifica da un'altra applicazione

    • Tentativi di manomissione non rilevati

    • Dispositivi con jailbreak

  • Perdita di dati

    • Perdita del dispositivo

    • Accesso non autorizzato al dispositivo

    • Vulnerabilità dell'applicazione

Conseguenze dei vettori di attacco

I vettori di attacco sono il processo di hacking come spiegato e ha successo, di seguito è riportato l'impatto sui tuoi dispositivi mobili.

  • Losing your data - Se il tuo dispositivo mobile è stato violato o è stato introdotto un virus, tutti i tuoi dati memorizzati vengono persi e presi dall'aggressore.

  • Bad use of your mobile resources- Ciò significa che la tua rete o il tuo dispositivo mobile può andare in sovraccarico, quindi non puoi accedere ai tuoi servizi originali. Negli scenari peggiori, per essere utilizzato dall'hacker per collegare un'altra macchina o rete.

  • Reputation loss- Nel caso in cui il tuo account Facebook o l'account di posta elettronica aziendale venga violato, l'hacker può inviare messaggi falsi ai tuoi amici, partner commerciali e altri contatti. Questo potrebbe danneggiare la tua reputazione.

  • Identity theft - Può esserci un caso di furto di identità come foto, nome, indirizzo, carta di credito, ecc. E lo stesso può essere utilizzato per un crimine.

Anatomia di un attacco mobile

Di seguito è riportata una rappresentazione schematica dell'anatomia di un attacco mobile. Inizia con la fase di infezione che include i vettori di attacco.

Infezione del dispositivo

L'infezione del dispositivo con spyware mobile viene eseguita in modo diverso per i dispositivi Android e iOS.

Android- Gli utenti sono indotti a scaricare un'app dal mercato o da un'applicazione di terze parti in genere utilizzando un attacco di ingegneria sociale. L'infezione remota può anche essere eseguita tramite un attacco Man-in-the-Middle (MitM), in cui un avversario attivo intercetta le comunicazioni mobili dell'utente per iniettare il malware.

iOS- L'infezione da iOS richiede l'accesso fisico al cellulare. L'infezione del dispositivo può avvenire anche sfruttando uno zero-day come l'exploit JailbreakME.

Installazione di una backdoor

Per installare una backdoor sono necessari privilegi di amministratore tramite il rooting dei dispositivi Android e il jailbreak dei dispositivi Apple. Nonostante i produttori di dispositivi impongano meccanismi di rilevamento di rooting / jailbreak, lo spyware mobile li aggira facilmente:

Android - I meccanismi di rilevamento del rooting non si applicano al rooting intenzionale.

iOS - La "comunità" di jailbreak è rumorosa e motivata.

Bypassare i meccanismi di crittografia ed esfiltrare le informazioni

Lo spyware invia contenuto mobile come e-mail e messaggi crittografati ai server degli aggressori in testo normale. Lo spyware non attacca direttamente il contenitore protetto. Prende i dati nel punto in cui l'utente estrae i dati dal contenitore protetto per leggerli. In quella fase, quando il contenuto viene decrittografato per l'utilizzo da parte dell'utente, lo spyware prende il controllo del contenuto e lo invia.

Come può un hacker trarre profitto da un cellulare compromesso con successo?

Nella maggior parte dei casi la maggior parte di noi pensa a cosa possiamo perdere nel caso in cui il nostro cellulare venga violato. La risposta è semplice: perderemo la nostra privacy. Il nostro dispositivo diventerà un sistema di sorveglianza per consentire agli hacker di osservarci. Altre attività di profitto per l'hacker sono prendere i nostri dati sensibili, effettuare pagamenti, svolgere attività illegali comeDDoS attacks. Di seguito è una rappresentazione schematica.

I 10 principali rischi di OWASP Mobile

Quando parliamo di sicurezza mobile, basiamo i tipi di vulnerabilità su OWASP, un'organizzazione di beneficenza senza scopo di lucro negli Stati Uniti, fondata il 21 aprile. OWASP è un'organizzazione internazionale e la Fondazione OWASP sostiene gli sforzi di OWASP in tutto il mondo.

Per i dispositivi mobili, OWASP ha 10 vulnerability classifications.

Utilizzo improprio della piattaforma M1

Questa categoria copre l'uso improprio di una funzionalità della piattaforma o il mancato utilizzo dei controlli di sicurezza della piattaforma. Potrebbe includere intenti Android, autorizzazioni della piattaforma, uso improprio di TouchID, portachiavi o altri controlli di sicurezza che fanno parte del sistema operativo mobile. Esistono diversi modi in cui le app mobili possono sperimentare questo rischio.

Dati M2 non sicuri

Questa nuova categoria è una combinazione di M2 e M4 da Mobile Top Ten 2014. Ciò copre l'archiviazione dei dati non sicura e la fuga di dati non intenzionale.

Comunicazione M3 insicura

Ciò copre un handshake scadente, versioni SSL errate, negoziazione debole, comunicazione in chiaro di risorse sensibili, ecc.

Autenticazione M4 non sicura

Questa categoria cattura le nozioni di autenticazione dell'utente finale o di cattiva gestione delle sessioni. Ciò include:

  • Non riuscire a identificare l'utente quando dovrebbe essere richiesto
  • Mancato mantenimento dell'identità dell'utente quando richiesto
  • Debolezze nella gestione delle sessioni

M5-Crittografia insufficiente

Il codice applica la crittografia a una risorsa di informazioni sensibili. Tuttavia, la crittografia è in qualche modo insufficiente. Nota che qualsiasi cosa relativa a TLS o SSL va in M3. Inoltre, se l'app non riesce a utilizzare la crittografia quando dovrebbe, probabilmente appartiene a M2. Questa categoria è per i problemi in cui è stata tentata la crittografia, ma non è stata eseguita correttamente.

Autorizzazione M6-Insecure

Questa è una categoria per acquisire eventuali errori di autorizzazione (ad esempio, decisioni di autorizzazione sul lato client, navigazione forzata, ecc.) È distinta dai problemi di autenticazione (ad esempio, registrazione del dispositivo, identificazione dell'utente, ecc.)

Se l'app non autentica affatto gli utenti in una situazione in cui dovrebbe (ad esempio, concedere l'accesso anonimo a una risorsa o un servizio quando è richiesto un accesso autenticato e autorizzato), si tratta di un errore di autenticazione e non di un errore di autorizzazione.

Qualità codice cliente M7

Si trattava delle "decisioni di sicurezza tramite input non attendibili", una delle nostre categorie meno utilizzate. Questo sarebbe il catch-all per i problemi di implementazione a livello di codice nel client mobile. Questo è diverso dagli errori di codifica lato server. Ciò catturerebbe cose come overflow del buffer, vulnerabilità delle stringhe di formato e vari altri errori a livello di codice in cui la soluzione è riscrivere parte del codice in esecuzione sul dispositivo mobile.

Manomissione codice M8

Questa categoria copre le patch binarie, la modifica delle risorse locali, l'hooking del metodo, lo swizzling del metodo e la modifica della memoria dinamica.

Una volta che l'applicazione è stata consegnata al dispositivo mobile, il codice e le risorse di dati risiedono lì. Un utente malintenzionato può modificare direttamente il codice, cambiare dinamicamente il contenuto della memoria, modificare o sostituire le API di sistema utilizzate dall'applicazione oppure modificare i dati e le risorse dell'applicazione. Ciò può fornire all'autore dell'attacco un metodo diretto per sovvertire l'uso previsto del software per guadagno personale o monetario.

M9-Reverse Engineering

Questa categoria include l'analisi del binario core finale per determinarne il codice sorgente, le librerie, gli algoritmi e altre risorse. Software come IDA Pro, Hopper, otool e altri strumenti di ispezione binaria forniscono all'autore dell'attacco informazioni dettagliate sul funzionamento interno dell'applicazione. Questo può essere utilizzato per sfruttare altre vulnerabilità nascenti nell'applicazione, oltre a rivelare informazioni su server back-end, costanti crittografiche e crittografie e proprietà intellettuale.

Funzionalità M10-Extraneous

Spesso, gli sviluppatori includono funzionalità backdoor nascoste o altri controlli di sicurezza interni per lo sviluppo che non devono essere rilasciati in un ambiente di produzione. Ad esempio, uno sviluppatore potrebbe includere accidentalmente una password come commento in un'app ibrida. Un altro esempio include la disabilitazione dell'autenticazione a 2 fattori durante il test.