Protezione delle autorizzazioni di accesso ai file .so

1

Lavoro per un luogo che offre una suite di crittografia per le app Android sotto forma di una libreria di .so C da integrare nelle app Android.

Il problema è che nella libreria .so sono presenti solo due funzioni esportate: una funzione encrypt e una funzione decrypt . Da quello che so, si possono semplicemente chiamare queste due funzioni esportate dall'ambiente ANY , non solo dalle nostre app.

L'idea qui è di proteggere il meccanismo di crittografia / decrittografia. Supponendo che l'analisi statica non sia possibile (solo umorami per favore :)): c'è un modo per assicurarti che la libreria .so possa SOLO eseguire dalle nostre app?

    
posta Solidak 11.04.2018 - 16:00
fonte

1 risposta

1

Se ignori la minaccia di reverse engineering (non dovresti), puoi nascondere le funzioni di crittografia / decrittografia della tua SO e lasciarle solo essere utilizzate da un ambiente fidato (vedi JNI_OnLoad() ). Per esempio. puoi controllare il nome del pacchetto dell'applicazione che carica la tua libreria. Tuttavia, è possibile eseguire gli stessi controlli nella crittografia () e decrittografare ().

Un altro trucco è non utilizzare il normale processo di pacchettizzazione della libreria, ma decomprimerlo manualmente dal tuo APK in un percorso accessibile solo dalla tua applicazione. Questa protezione non è di aiuto sui dispositivi rooted.

    
risposta data 12.04.2018 - 17:03
fonte

Leggi altre domande sui tag