2013-09-26 11 views
6

Con la tecnologia cycript, tutte le applicazioni iOS sono in grado di eseguire il debug e di accedere a variabili e metodi all'interno dell'applicazione.Applicazioni iOS sicure con cycript

E inoltre è possibile sovrascrivere le variabili e i metodi di runtime.

C'è un modo per proteggere l'applicazione per accedere a tali istanze per evitare che gli hacker accedano a valori di sicurezza elevati?

risposta

1

Con la tecnologia cycript, tutte le applicazioni iOS sono in grado di eseguire il debug e di accedere a variabili e metodi all'interno dell'applicazione. Inoltre, è possibile sovrascrivere le variabili e i metodi di runtime.

YESCycript (facile)/MobileSubstrate (intermedio)/GDB per iOS (più avanzato) consentono di modificare l'ambiente di runtime (vale a dire metodi/oggetti/i.variables) e fare molto di più

C'è un modo per proteggere l'applicazione per accedere a tali istanze per evitare che gli hacker accedano a valori di sicurezza elevati?

Non esiste un modo sicuro al 100%. Come qualcuno ha detto una volta non è possibile fermare tutti gli hacker, ma è possibile rallentare e scoraggiare la maggior parte di loro. Quindi, se proteggi la tua app da alcuni tipi di attacchi, la tua app rimarrà un po 'più a lungo senza essere hackerata.

Per lo sviluppo iOS, c'è una cosa da ricordare: Objective-C (e Swift) lo rendono davvero facile per gli hacker per manipolare il runtime e fare analisi statica. In breve: questo è dovuto al modo in cui queste lingue sono compilate e organizzate nel binario.

Poiché è dovuto alla lingua, è possibile utilizzare altre lingue per evitare questo! Ecco perché si consiglia di utilizzare altri linguaggi come C/C++ invece di Objective-C/Swift per il codice di sicurezza che elabora le informazioni sensibili. Ad esempio, Cycript non può accedere al codice C/C++ e quindi non può modificare un ambiente codificato in quelle lingue.

In pratica, se si utilizzano strumenti cross-platform per sviluppare le vostre applicazioni (come Cocos2d, Unità, ...) si può essere protetti contro tali attacchi debugger-based (come Cycript, GDB) perché la maggior parte delle questi strumenti di sviluppo multipiattaforma usano solo Objective-C/Swift per i primissimi passaggi all'avvio dell'applicazione e compilano la logica dell'app in qualsiasi lingua si sviluppi (ad esempio C++ per Cocos2d e Unity).

Problemi correlati