Come vedere se il telefono Android è sotto controllo

Analizziamo le principali minacce alla sicurezza dei dispositivi Android: dai malware tradizionali ai RAT e rootkit, spiegando perché codici come *#21# non rilevano intrusioni sofisticate. L’importanza di controllare permessi ad alto rischio delle app per verifiche più approfondite.

La diffusione dei dispositivi mobili e la loro integrazione in ogni aspetto della nostra vita quotidiana hanno reso gli smartphone Android bersagli privilegiati per attacchi informatici, spyware e intrusioni non autorizzate. In molti casi gli utenti si chiedono se il loro telefono Android sia sotto controllo perché osservano comportamenti anomali del dispositivo come un certo surriscaldamento, una durata ridotta della batteria, un aumento del consumo dati.

Sebbene questi indizi possano essere, essi stessi, una spia di qualcosa che non va, nella stragrande maggioranza dei casi non sono direttamente indice di un telefono Android sotto controllo. Con buona pace dei tanti articoli allarmistici che citano questi comportamenti come “cartina tornasole”.

Tipologie di controllo remoto e spyware su Android

Un telefono Android può essere compromesso in diversi modi, ciascuno con implicazioni tecniche diverse.

Gli aggressori possono usare spyware tradizionali, ovvero software progettati per raccogliere informazioni sull’utente, come cronologia delle chiamate, SMS, posizione GPS e app in uso. Questi programmi possono essere installati tramite file APK scaricati da fonti non sicure (e Google vuole spezzare questo meccanismo bloccando dal 2026 l’installazione di app Android di sviluppatori non verificati), phishing via email o messaggi, exploit di vulnerabilità note del sistema operativo.

Ci sono i poi i software RAT (Remote Access Trojan) che permettono il controllo completo del dispositivo Android, inclusa la possibilità di registrare conversazioni tramite microfono, scattare foto o registrare video a distanza, trasferire file, password e credenziali sensibili. Questi trojan sfruttano spesso permessi elevati o vulnerabilità zero-day per nascondersi.

Strumenti più sofisticati che operano a livello del kernel sono i rootkit Android, in grado di rendere quasi invisibile qualsiasi processo malevolo loro collegato. L’individuazione di questi software malevoli richiede strumenti di analisi avanzati come adb, strace, logcat e analisi della memoria a basso livello.

Codice per vedere se il telefono Android è sotto controllo

Per anni si è continuato a citare il codice *#21# come strumento miracoloso per verificare se il telefono Android sia sotto controllo.

Questo codice è un codice di servizio USSD/SSDI, utile per verificare lo stato di inoltro delle chiamate sul telefono. Digitandolo con il tastierino virtuale dello smartphone Android, il telefono mostra informazioni su eventuali deviazioni di chiamata, SMS, fax o dati attive. Nello specifico, si può verificare se le chiamate in arrivo siano inoltrate verso un altro numero e in quali condizioni (quando occupato, non risponde, non raggiungibile, ecc.).

È evidente che il codice *#21# risulta utile solo per diagnosticare eventuali problemi di chiamata o verificare se qualcuno, in possesso del terminale fisico, abbia impostato un inoltro senza che l’utente lo sappia. Tutto qui. Non è certo una soluzione per accertare eventuali intromissioni evolute.

La minaccia arriva da app malevole con troppi permessi

Oggi come oggi, la minaccia per la privacy degli utenti, la riservatezza, l’integrità e la disponibilità dei loro dati, memorizzati nei dispositivi Android, arriva principalmente da app malevole che in qualche modo arrivano sul telefono.

Queste applicazioni, spesso camuffate da software legittimi o distribuite tramite store alternativi non ufficiali, richiedono permessi eccessivi o ingiustificati rispetto alla funzionalità dichiarata. Ad esempio, un’app “torcia” che richiede accesso ai contatti, SMS, microfono o fotocamera sta oltrepassando i confini normali dei permessi e rappresenta un potenziale vettore di spyware.

Dal punto di vista tecnico, le app Android devono dichiarare tutti i permessi richiesti nel file AndroidManifest.xml. Permessi classificati come “pericolosi” includono:

  • READ_SMS e SEND_SMS: permettono di leggere o inviare messaggi senza che l’utente lo sappia, utile per intercettare codici OTP o inviare spam.
  • ACCESS_FINE_LOCATION: consente il tracciamento preciso della posizione GPS.
  • RECORD_AUDIO e CAMERA: permettono di registrare audio o video a insaputa dell’utente, tipico dei RAT (Remote Access Trojan).
  • Permessi speciali come SYSTEM_ALERT_WINDOW o BIND_ACCESSIBILITY_SERVICE: consentono di creare sovrapposizioni (overlay) su altre app o di interagire con le app installate, esponendo il dispositivo a phishing, keylogging o furto di credenziali.

WhatsApp, Signal e altre app utilizzando la crittografia end-to-end ma se sul telefono Android c’è un’app malevola in grado di leggere il contenuto delle schermate, la riservatezza viene meno. Così come cadono tutte le misure di sicurezza utilizzate dalle app bancarie, spesso bersaglio dei criminali informatici.

Controllo dei permessi assegnati alle app Android installate

Il miglior modo per proteggersi, quindi, consiste nell’accedere alle impostazioni di Android, cercare la sezione Permessi e concentrarsi sull’esame dei Permessi ad alto rischio.

Toccando sulle varie Azioni sensibili in elenco, si può verificare nel dettaglio quali app hanno la facoltà di porre in essere operazioni potenzialmente dannose per la privacy dell’utente e la sicurezza dei dati personali memorizzati nel telefono.

Protezione privacy: permessi app Android sotto controllo

La sezione Permessi speciali riveste un’importanza cruciale: è qui che sono enumerate le app Android che hanno richiesto e acquisito autorizzazioni estremamente profonde. Ad esempio che consentono di accedere a tutti i file, di amministrare il dispositivo, mostrare elementi sopra altre app, modificare impostazioni di sistema, leggere e controllare le notifiche, abilitare servizi SMS premium e usare i dati mobili senza limiti.

Permessi speciali app Android

Utilissima è anche l’app Malwarebytes per Android che, diversamente rispetto a quanto riportato da molti, è ancora utilizzabile senza attivare un abbonamento. Basta toccare Inizia subito quindi premere la “X” in alto a sinistra alla comparsa del messaggio “Scegli il piano giusto per te”. Alla comparsa della schermata Proteggiti, si deve toccare Consenti e autorizzare la visualizzazione delle notifiche da parte di Malwarebytes. Non è necessario attivare alcuna prova di 7 giorni, né collegare l’app con l’account Google o inserire dati di carte di credito. Qualora comparisse una schermata del genere, basta semplicemente chiuderla.

Toccando Scansione (ignorare il “punteggio di protezione”) si può ricercare la presenza di eventuali app Android riconosciute come dannose. Suggeriamo però di toccare l’icona Strumenti in basso quindi scegliere Controllo privacy.

Controllo privacy su Android

Nella schermata Controllo privacy, Malwarebytes divide le app installate sul telefono Android per tipologia di permessi: anche qui potete esaminare con cura i permessi più ampi e quali applicazioni li stessero utilizzando.

Lista permessi app su Android

Metodo più tecnico e professionale: usare ADB

Per svolgere un’analisi ancora più approfondita, si possono attivare le Opzioni per gli sviluppatori nelle impostazioni di Android quindi abilitare la modalità Debug USB e collegare lo smartphone a un PC.

Dopo aver scaricato i Google Android Platform Tools sul computer ed estratto il contenuto dell’archivio in una cartella di riferimento, si può usare lo strumento software chiamato ADB (Android Debug Bridge) per dialogare con il telefono Android.

Il comando seguente mostra tutte le app installate e il percorso dei loro APK:

adb shell pm list packages -f

Per ottenere i permessi di una singola app si può usare la seguente istruzione:

adb shell dumpsys package <nome-pacchetto> | grep permission

È eventualmente possibile ricorrere a uno script per estrarre tutte le app che hanno permessi speciali:

adb shell pm list packages -3 | while read package; do
adb shell dumpsys package $package | grep -q "android.permission.SYSTEM_ALERT_WINDOW" && echo $package
done

Nell’esempio, verifichiamo quali app hanno il permesso di sovrapporre elementi grafici su altre applicazioni, sistema – come spiegato in precedenza – molto usato da malware e adware. L’opzione -3 mostra solo le app installate dall’utente, cioè quelle che non fanno parte del sistema.

App nascoste su Android: come operano e come individuarle

Su Android, alcune app malevole o spyware adottano strategie avanzate per nascondersi all’utente e persino al sistema operativo, rendendo difficile rilevarle con i normali strumenti. Queste applicazioni utilizzano diversi trucchi:

  • Mascheramento del nome del pacchetto e dell’icona. Cambiano il nome del pacchetto (package name) con nomi simili a processi di sistema o servizi legittimi. L’icona può essere trasparente o identica a quella di un’app di sistema, rendendola invisibile nella home o nel drawer delle app.
  • Uso di permessi speciali. Come già detto permessi quali BIND_ACCESSIBILITY_SERVICE permettono all’app di operare in background senza notifiche evidenti, leggendo dati da altre app o intercettando input.
  • Servizi e processi in background. Alcune app avviano servizi persistenti che si riattivano automaticamente dopo un riavvio, spesso con priorità elevata (startForeground) per evitare l’arresto da parte del sistema.
  • Sfuggire alla lista delle app. Alcune app nascoste sono installate come app di sistema tramite exploit conosciuti, facendo sì che il comando adb shell pm list packages -3 non le rilevi. Alcune sfruttano root o vulnerabilità per collocarsi in partizioni di sistema, diventando praticamente invisibili a utenti sprovvisti di privilegi elevati.

Usando comandi ADB come adb shell ps -A o adb shell top -n 1, si possono vedere tutti i processi, anche quelli non mostrati nel drawer. Un meccanismo che aiuta a capire cosa sta succedendo sul sistema.

Intercettazioni su reti 4G e 5G in Italia: tra crittografia avanzata e strumenti legali di sorveglianza

Le intercettazioni di comunicazioni vocali e SMS su reti 4G e 5G sono invece regolamentate e tecnicamente complesse: la voce in LTE e 5G viaggia su canali IP cifrati (VoLTE o protocolli 5G SBA) con crittografia avanzata come AES, rendendo praticamente impossibile intercettarla “over the air” senza accesso al core network dell’operatore.

Analogamente, gli SMS moderni viaggiano su IP tramite SMSC o IMS e non più tramite SS7 come nei vecchi GSM, rendendo l’intercettazione diretta molto difficile.

Nella pratica, le intercettazioni legali autorizzate dal magistrato avvengono quasi esclusivamente tramite collaborazione con l’operatore, che fornisce i dati già decifrati, mentre strumenti come IMSI catcher o Stingray possono intercettare le comunicazioni solo se i dispositivi attivano un fallback verso reti 2G vulnerabili, cosa sempre meno comune.

Perché gli attacchi agli SMS e SIM swapping hanno così tanto successo se è tutto crittografato?

In questi casi non ci troviamo di fronte alla presenza di falle nella crittografia della rete 4G/5G, ma a vulnerabilità dei processi esterni alla trasmissione cifrata.

L’attacco di tipo SIM swapping, infatti, non aggredisce la rete direttamente, ma l’operatore e le procedure di gestione della SIM. L’attaccante convince l’operatore (tramite phishing, social engineering o furto di credenziali) a trasferire il numero dell’utente-vittima su una nuova SIM da lui controllata. Una volta ottenuto il controllo del numero, può ricevere SMS di verifica o chiamate a due fattori, aggirando qualsiasi crittografia della rete. Ecco perché è altamente sconsigliato usare gli SMS come strumento di autenticazione.

Anche se gli SMS viaggiano generalmente cifrati su 4G/5G, spesso gli attacchi sfruttano vulnerabilità esterne, come:

  • Servizi cloud dove i messaggi vengono memorizzati o sincronizzati.
  • Phishing o malware che leggono i messaggi sul telefono prima della cifratura.
  • SS7 o vulnerabilità di operatori stranieri per intercettare SMS internazionali (meno comuni in Italia ma teoricamente possibili).

In generale, comunque, gli SMS sono intrinsecamente insicuri: bisogna considerarli come cartoline postali, che possono essere letti da terzi. L’affermazione nasce dal fatto che gli SMS non sono cifrati end-to-end come i messaggi di app moderne (WhatsApp, Signal, iMessage,…), quindi nel percorso tra mittente e destinatario possono teoricamente essere letti da chi ha accesso alla rete dell’operatore.

Intercettazioni avanzate: malware e accesso ai dati cloud

Oltre ai metodi tradizionali basati sulla collaborazione con gli operatori (i.e. dipendenti infedeli), esistono strumenti più invasivi e tecnicamente sofisticati per intercettare comunicazioni su 4G e 5G, che bypassano completamente la rete mobile.

Tra questi, il dito è ancora puntato contro i malware installati direttamente sui dispositivi, come Pegasus, che consentono di leggere messaggi, ascoltare chiamate, monitorare app di messaggistica e raccogliere dati sensibili senza che la crittografia della rete possa opporsi.

Il caso Paragon Graphite ha poi fatto scuola: ha messo in evidenza come anche sistemi apparentemente sicuri possano essere compromessi sfruttando vulnerabilità software, presenti nei dispositivi degli utenti. In questo caso siamo dinanzi ad aggressioni di alto profilo, perpetrate utilizzando vulnerabilità zero-day irrisolte e non note neppure agli sviluppatori (Graphite bersagliava WhatsApp per l’esecuzione di codice arbitrario sui terminali degli utenti).

Allo stesso modo, l’accesso ai dati memorizzati su cloud permette di ottenere informazioni già sincronizzate dai dispositivi, rendendo irrilevante la protezione dei canali di trasmissione.

Ti consigliamo anche

Link copiato negli appunti