0Pricing
Ethical Hacking Academy · Lezione

Archiviazione e comunicazioni non sicure

Vulnerabilità comuni

Archiviazione e comunicazioni non sicure è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.

Le due vulnerabilità classiche

Due delle vulnerabilità mobile più comuni sono la memorizzazione non sicura dei dati e le comunicazioni non sicure. Sono incluse nell'OWASP Mobile Top 10.

Entrambe derivano dal fatto che gli sviluppatori si fidano eccessivamente del dispositivo e proteggono i dati in modo insufficiente.

Dove memorizzano i dati le app

Le app conservano i dati in /data/data/<package>/:

  • SharedPreferences: file XML di coppie chiave-valore.
  • Database SQLite.
  • File interni ed esterni.

I pentester esaminano ciascuna di queste aree alla ricerca di segreti memorizzati in chiaro.

/data/data/com.app/shared_prefs/prefs.xml

Segreti in chiaro

Un problema frequente consiste nel memorizzare password, token o PII in chiaro in SharedPreferences o in un database.

Su un dispositivo con root, tramite un backup o con Objection, un aggressore può leggerli direttamente. I dati sensibili devono essere cifrati o conservati in hardware sicuro.

<string name="auth_token">eyJhbGci...plaintext...</string>

Rischi dello storage esterno

I dati scritti nello storage esterno (l'area della scheda SD) sono leggibili da chiunque nelle versioni meno recenti di Android e accessibili a qualsiasi app dotata dell'autorizzazione di archiviazione.

Salvare lì file sensibili li espone alle altre app. I log scritti su disco costituiscono una fuga di dati correlata.

Il modo corretto di memorizzare i segreti

Tra le opzioni sicure figurano Android Keystore (le chiavi sono memorizzate nell'hardware e non vengono mai esposte all'app) e EncryptedSharedPreferences.

Keystore può eseguire operazioni crittografiche senza rivelare la chiave, una soluzione molto più sicura rispetto a una chiave hardcoded nel codice.

Comunicazioni non sicure

Per comunicazioni non sicure si intende la trasmissione di dati senza una protezione adeguata. Il caso peggiore è l'HTTP in chiaro, in cui chiunque si trovi sulla rete può leggere o modificare il traffico.

Tutto il traffico sensibile deve usare HTTPS/TLS.

http://api.app.com/login   # cleartext, credentials exposed

Intercettazione del traffico

Per ispezionare il traffico, instradi il dispositivo attraverso un proxy d'intercettazione come Burp Suite. Installi il certificato CA di Burp sul dispositivo per poter leggere il traffico HTTPS.

Questo mostra gli endpoint API, i parametri e gli eventuali dati sensibili in transito.

Certificate pinning

Le app ben realizzate usano il certificate pinning per rifiutare qualsiasi certificato diverso dal proprio, impedendo il funzionamento di un proxy di base.

Come ha imparato, un bypass del certificate pinning SSL con Frida lo disabilita, consentendo di intercettare e valutare comunque la sicurezza effettiva delle API.

TLS debole e convalida

Anche con HTTPS, tra i problemi figurano l'accettazione di tutti i certificati, di quelli scaduti o la disattivazione della verifica del nome host, spesso introdotte per semplificare lo sviluppo.

Queste impostazioni consentono a un aggressore di eseguire un attacco man-in-the-middle nonostante la presenza di TLS.

Backup e log

Altre due fughe di dati:

  • android:allowBackup="true" consente a chiunque abbia accesso al dispositivo di estrarre i dati dell'app tramite adb backup.
  • Un output logcat dettagliato potrebbe stampare token o PII.

In produzione, entrambi devono essere disabilitati oppure sottoposti a sanitizzazione.

adb backup -f data.ab com.app

Clipboard e screenshot

Due fughe di dati spesso trascurate: copiare dati sensibili negli appunti (leggibili dalle altre app nelle versioni meno recenti di Android) e lo screenshot di sistema acquisito quando un'app passa in background.

Le app bancarie mitigano il problema con il flag della finestra FLAG_SECURE, che blocca gli screenshot e l'anteprima nel selettore delle attività.

Verifica rapida

Ricordi il luogo più sicuro in cui conservare le chiavi crittografiche su Android.

Riepilogo

Ora comprende lo storage e le comunicazioni non sicuri:

  • Le app espongono segreti in chiaro in SharedPreferences, nei database, nello storage esterno e nei log.
  • Conservi i segreti in Android Keystore o in EncryptedSharedPreferences.
  • Le comunicazioni non sicure vanno dall'HTTP in chiaro alla convalida TLS debole; le intercetti con Burp.
  • Eluda il certificate pinning con Frida; disabiliti allowBackup e sanifichi i log.

Ha completato il corso di Mobile App Pentesting.

Domande Frequenti

La lezione «Archiviazione e comunicazioni non sicure» è gratuita?

Sì — il testo completo di «Archiviazione e comunicazioni non sicure» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.

Cosa imparerò in «Archiviazione e comunicazioni non sicure»?

Vulnerabilità comuni Eserciti Ethical Hacking Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ethical Hacking Academy?

Non è richiesta alcuna esperienza precedente. Ethical Hacking Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Archiviazione e comunicazioni non sicure»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ethical Hacking Academy?

Sì. Ogni lezione Ethical Hacking Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Struttura delle app Android
  2. Analisi statica degli APK
  3. Analisi dinamica con Frida
  4. Archiviazione e comunicazioni non sicure
← Torna a Ethical Hacking Academy