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.
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:
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.
Tags und Links android security passwords networking proguard