forumApri un argomento

Ho password, token e API key nella mia app mobile — è possibile fare reverse engineering dell'app?

KKemal S***8 giorni fa·44 messaggi·2,3K visualizzazioni#mobile#sicurezza#offuscamento
KKemal S***Partecipante
Ruolo
Rappresentante vendite sul campo
Settore
Costruzione macchinari
Tipo di organizzazione
attività con due sedi
Iscrizione
giu 2023
Messaggio
62
#1

Ci metto 5 minuti a fare reverse engineering del mio APK Android. Con i decompiler (ApkTool, Frida) si vedono password e token. Come posso proteggermi?

Ho capito che nn devo hardcodare le API key. Ma prenderle dinamicamente dal server carica il server. C'è una via di mezzo?

C'è lo stesso rischio nell'app iOS? Su dispositivi jailbroken possiamo leggere i dati dell'app?

DDoki ekibiTeam Doki
Ruolo
Account ufficiale
Settore
Sicurezza informatica e digitale
Tipo di organizzazione
Doki
Iscrizione
mar 2023
Messaggio
310
Più utile#2

Sicurezza App Mobile: rischio reverse engineering (APK Android/IPA iOS decompilabili facilmente). Strategie di protezione: 1) Storage dati sensibili: Keychain (iOS), KeyStore (Android), SharedPreferences crittografati, 2) Offuscamento (ProGuard Android, SwiftShield iOS), 3) API key: storage lato server (mai embedded), certificate pinning (valida identità server), refresh token dinamico (token a breve scadenza, emessi dal server), 4) Rilevamento Root/Jailbreak (chiamata API fallisce se rilevato, non infallibile), 5) Protezione runtime (virtualizzazione codice: difficile/complesso, rapporto costi/benefici basso per PMI), 6) Sicurezza di rete: TLS 1.2+, certificate pinning (previene MITM), 7) Anti-instrumentation Frida (difficile, gioco del gatto e del topo). Consiglio pratico: tieni la API key sul server, app → richiesta al server → server restituisce token autenticato, token in cache sul client (scadenza: 1-24 ore). Storage dati: dati sensibili = crittografati (libreria Encrypter Android, Keychain iOS), non sensibili = SharedPreferences/UserDefaults. Rischio Jailbreak: accesso ai dati possibile (privilegi root), mitigazione = crittografia + certificate pinning (limita vettori di attacco). Rischio iOS inferiore (ecosistema chiuso), Android superiore (aperto, rooting facile). Pentest: scan vulnerabilità con tool (Burp Suite mobile, checklist OWASP Mobile Top 10).

YYavuz A***PartecipanteMembro della community
Iscrizione
nov 2022
Messaggio
139
#3

nn hardcodare api key. tienile sul server richiedi token dall'app. usa certificate pinning (per prevenire MITM). usa keystore/keychain per i dati sensibili. offusca l'apk con proguard. aggiungi check root/jailbreak...

EEsra O***Partecipante
Ruolo
Responsabile qualità
Settore
Agricoltura
Tipo di organizzazione
Team di 8 persone
Iscrizione
mag 2023
Messaggio
84
#4

Sicurezza app mobile: 1) AndroidKeyStore: KeyStore.getInstance('AndroidKeyStore'), generazione chiavi con crittografia, 2) iOS Keychain: SecItemAdd() per storage sicuro, 3) Autenticazione API: refresh token OAuth (scadenza 1 ora, emesso dal server), 4) Certificate pinning (TrustKit iOS, Network Security Configuration Android), 5) Offuscamento (regole ProGuard: proteggi le classi API, offusca il resto), 6) Controlli runtime (RootBeer Android, DTTJailbreakDetection iOS), 7) Hardening contro Frida (rilevamento anti-hook: verifica firma funzioni API). Gerarchia storage: Pubblico (nessuno), Locale (crittografato), Keychain/Keystore (hardware-backed se disponibile). Tool per penetration test: Burp Suite mobile proxy, Frida instrumentation interattiva, decompiler APK (apktool, dex2jar), debugger (gdb su Android, lldb su iOS).

UUğur V***PartecipanteMembro della community
Iscrizione
ago 2023
Messaggio
282
#5

non hardcodare le API key tienile sul server. insomma app fa login → invia token al server → client fa cache. token scade in 1-4 ore. usa Keystore/Keychain per salvare i dati e offusca con ProGuard. aggiungi check jailbreak/root se rilevato chiudi l'app...

UUğur Y***Veteran
Ruolo
Direttore clinico
Settore
Catering
Tipo di organizzazione
media impresa
Iscrizione
mar 2023
Messaggio
253
#6

Livelli di sicurezza app mobile: Rete (TLS 1.2+, certificate pinning), API (autenticazione basata su token OAuth validità breve), Storage (keystore crittografato), Codice (offuscamento anti-tampering), Runtime (rilevamento jailbreak/root). Modello di minaccia: accesso fisico (device rootato debugger), accesso di rete (intercettazione proxy — bloccata dal cert pinning), analisi codice (reverse engineering — mitigata dall'offuscamento). OWASP Mobile Top 10: trasmissione insicura (previeni bypass TLS) storage insicuro (crittografia keystore), autenticazione insicura (best practice OAuth) crittografia debole (AES-256) injection lato client (validazione input).

JJülide A***Partecipante
Ruolo
Direttore amministrativo
Settore
Gioielleria
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
mag 2024
Messaggio
103

Doki · Scansione vulnerabilità · 2026

#7

Approfondisco l'aspetto tecnico. comunque quando decidiamo senza misurare, finiamo sempre nello stesso punto.

Sono curioso di sapere se qualcuno lo fa in modo diverso.

GGamze E***PartecipanteMembro della community
Iscrizione
mag 2022
Messaggio
248
#8

Anche da noi è così.

SSena B***PartecipanteMembro della community
Iscrizione
lug 2024
Messaggio
353
#9

Direi di non avere fretta. Quando decidiamo senza misurare finiamo sempre nello stesso punto.

È tutto scusate se mi sono dilungato.

YYiğit D***Esperto
Ruolo
Direttore finanziario
Settore
Servizi sanitari
Tipo di organizzazione
catena di negozi
Iscrizione
dic 2023
Messaggio
176
#10

Il mio dubbio è stato chiarito, grazie.

AAv. Kemal U***Esperto
Ruolo
Avvocato · IT
Tipo di organizzazione
Azienda da 300 dipendenti
Iscrizione
set 2023
Messaggio
168
#11

C'è una trappola qui, non posso non segnalarla. Se permessi e ambito non sono scritti, quel test non deve iniziare.

Non fidatevi di una sola misura di sicurezza; procedete per livelli.

GGürkan K***Partecipante
Ruolo
Pianificazione produzione
Settore
Imballaggio
Tipo di organizzazione
startup appena avviata
Iscrizione
mag 2024
Messaggio
109

Doki · Penetration test · 2026

#12

Vorrei fare una domanda. Se cerchi di cambiare tutto insieme, niente si stabilizza.

Spero che le sia utile.

CCem B***PartecipanteMembro della community
Iscrizione
set 2023
Messaggio
50
#13

Sono nella stessa situazione per questo chiedo. Se permessi e ambito non sono scritti, quel test non deve iniziare.

OOrhan D***Esperto
Ruolo
Addetto al negozio
Settore
Servizi IT
Tipo di organizzazione
startup appena avviata
Iscrizione
nov 2024
Messaggio
228
#14

Grazie mille, proverò oggi. L'errore commesso da sicurezza app mobile è generalmente reversibile ma costoso.

FFeyza K***Partecipante
Ruolo
Stagista
Settore
Catering
Tipo di organizzazione
laboratorio
Iscrizione
nov 2024
Messaggio
2
#15

Salvato. Più è difficile tornare indietro su una decisione più lentamente dovreste prenderla.

L'errore commesso da sicurezza app mobile è generalmente reversibile ma costoso.

SSimgePartecipante
Ruolo
Organizzatore di eventi
Iscrizione
mag 2024
Messaggio
88

Doki · Configurazione gestione log · 2025

#16

Non lo sapevo.

ZZübeyde B***Esperto
Ruolo
Grafico
Settore
Agricoltura
Tipo di organizzazione
ditta individuale
Iscrizione
ott 2024
Messaggio
128
#17

Mi chiedo anch'io. Gran parte del tempo perso si accumula nelle pratiche in attesa di approvazione.

Se scrivete qui il risultato, sarà utile anche ad altri.

LLale Ç***Nuovo membro
Ruolo
Tecnico di supporto sistemi
Settore
Turismo
Tipo di organizzazione
catena di negozi
Iscrizione
giu 2026
Messaggio
161
#18

La mia domanda sarà un po' da principiante, scusate. Avere il backup accessibile sulla stessa rete e con le stesse credenziali lo rende parte del bersaglio.

Le modifiche ai dati di pagamento non vanno mai verificate tramite il canale di provenienza. Io seguirei questa strada.

EElif Z***Esperto
Ruolo
Pianificazione produzione
Settore
Cam
Tipo di organizzazione
media impresa
Iscrizione
feb 2023
Messaggio
164
#19

Preso nota, grazie. Se è la prima volta, inizia in piccolo, il ridimensionamento viene dopo.

Correggetemi se sbaglio.

HHavva G***PartecipanteMembro della community
Iscrizione
feb 2023
Messaggio
384
#20

Questo thread è archiviato. Le modifiche ai dati di pagamento non vanno mai verificate tramite il canale di provenienza.

Correggetemi se sbaglio.

Rispondi