Resistenza alla manomissione Android: BuildConfig.DEBUG spoofing?

1

Il nostro team sta cercando di proteggere un'app mobile Android nativa.

Tra le altre cose stiamo usando Dexguard per alcuni controlli come manomissione , root e rilevamento emulatore .

Per farla breve: alcuni di questi controlli falliscono nei nostri build di debug, principalmente perché vogliamo mantenere i tempi di compilazione brevi per gli sviluppatori e abbiamo bisogno di un modo per ignorarli [1].

Il suggerimento del supporto ufficiale di Dexguard era di usare qualcosa del genere:

if(!BuildConfig.DEBUG){
    // do actual check if app has been tampered with
}

Ora mi preoccupo:

Non è così condizionale che i controlli di manomissione siano molto facili da aggirare per un utente malintenzionato?

La mia paura è che se un utente malintenzionato tenta di manomettere l'app, può farlo facilmente se è anche in grado di pensare che si tratti di una build DEBUG. Quindi con un piccolo sforzo tutti i (costosi) controlli antimanomissione di Dexguard vengono elusi ...

Le mie preoccupazioni sono giustificate? Includere un condizionale come sopra rende più facile la manomissione dell'app per gli aggressori?

[1]: Lo sfondo qui è: Dexguard rende le build impiegate da tempo. Come 50 secondi invece di 5 secondi per un nuovo test di unità di prova. Per questo motivo disabilitiamo Dexguard per la nostra build di debug, che a sua volta rende certi controlli (come il rilevamento di manomissioni) non riusciti, poiché si basano sull'APK che viene elaborato da Dexguard.

    
posta fgysin 16.05.2017 - 10:47
fonte

1 risposta

2

Come il tuo codice di esempio mostra se l'utente malintenzionato utilizza una versione di debug, può facilmente aggirare i controlli di sicurezza. In realtà hai bisogno di direttive del compilatore per farlo.

Usando le direttive del compilatore la parte dei codici contrassegnati come DEBUG non viene mai compilata nell'applicazione finale e per questo sei sicuro di usare quel metodo.

    
risposta data 16.05.2017 - 13:31
fonte

Leggi altre domande sui tag