Wie sicher ist proguard gegen Reverse Engineering?

8

Ich werde mit sehr sensiblen Daten in einer App arbeiten. Verschleierung durch meine Definition ist keine zusätzliche Sicherheit, es verzögert den Cracker nur mit endlicher Zeit. Ist es möglich, dass Proguard das so gut macht, kann es zusätzliche Sicherheit genannt werden?

Am empfindlichsten sind einige Netzwerkanrufe. Es wird schwer sein, das Passwort zu erkennen, da wir das Passwort auf beiden Seiten generieren und überprüfen, ob es mit Zeitstempeln gültig ist. Problem ist, dass die App reverse engineered ist und der generierte Algorithmus ausgenutzt werden kann.

Es ist nicht möglich, den Algorithmus lokal in einer Datei zu behalten, da der Cracker mit einem gerooteten Telefon diesen möglicherweise abrufen kann. Es funktioniert nicht, den Algorithmus vom Server herunterzuladen, da das gleiche Problem hier gilt, wenn der Cracker die App zurückentwickelt, um zu sehen, woher der Algorithmus stammt.

Jede Eingabe zum weiteren Vorgehen wird sehr geschätzt!

Bearbeiten

Was ich zu schützen versuche, ist der Generierungsalgorithmus, so dass der Cracker möglicherweise nicht viele Daten an unseren Server sendet.

    
Simon Zettervall 15.07.2013, 15:41
quelle

1 Antwort

12

Im Allgemeinen können Sie den Crackern das Leben schwerer machen. Je härter du es machst, desto weniger werden bleiben. Vor allem, wenn der finanzielle Anreiz begrenzt ist.

Ihre Codeverschleierungsoptionen sind:

  • Benutze proguard, es macht einen guten Job, natürlich nicht perfekt, aber gut
  • Verwenden Sie DexGuard, was das Reverse Engineering noch schwieriger machen kann durch Verschlüsseln von Zeichenfolgen oder Erkennen von Code-Manipulationen
  • Schreiben Sie kritische Teile in C

Machen Sie Ihr Netzwerkprotokoll unabhängig von der Codeverschleierung auch schwer zu durcheinander: verschlüsseln und signieren Sie Nachrichten, stellen Sie sicher, dass Nachrichten nicht wiederholt werden können (durch Verwendung von Zeit oder Sequenz) und authentifizieren Sie den Client

Speichern Sie keine klaren Texte auf der Festplatte, die empfindlich sind.

    
yoah 15.07.2013, 16:35
quelle