Nell'ultimo anno ho lavorato allo sviluppo di Follow Guard, un'app mobile progettata come prodotto reale in produzione, dove la sfida principale non è stata solo funzionale, ma soprattutto di sicurezza mobile.
Perché la sicurezza mobile è complessa
In un contesto mobile:
- il client non è affidabile
- il codice è distribuibile e analizzabile
- non esiste una vera sicurezza lato app
- l'assenza di autenticazione utente introduce ulteriori vincoli architetturali
Approccio defensive-first
Il progetto è stato quindi impostato fin dall'inizio con un approccio defensive-first, adottando contromisure concrete:
- APK offuscato per ridurre la leggibilità del codice e aumentare la difficoltà di reverse engineering
- Protezione da manomissione e reverse engineering tramite strumenti di runtime protection
- Verifica che le richieste provengano da un'istanza dell'app non compromessa
- Assenza di identificazione dell'utente: nessun account o credenziali utente
- Identificazione dell'istanza applicativa tramite device token, hashato lato client e verificato dal backend
- Validazioni e controlli lato backend, riducendo al minimo la fiducia nel client
- Riduzione della superficie di attacco, spostando la logica sensibile sul backend
Risultato
Il risultato è un'architettura che non presume fiducia nel client, ma la verifica continuamente, accettando i limiti intrinseci del mobile e lavorando per mitigarli in modo pragmatico. Un progetto che mi ha permesso di affrontare problematiche reali di sicurezza mobile, bilanciando protezione, usabilità e sostenibilità operativa.