Masterkey-Exploit, was macht er denn wirklich?

E

effgeh

Neues Mitglied
1
Hallo,
ich recherchiere gerade zum Thema "Sicherheitslücken in Android" und bin gerade auf den Masterkey-Exploit gestoßen.
So wie ich ihn verstanden habe, bietet er die Möglichkeit, dass ein Benutzer eine apk-Datei nimmt, den Inhalt verändert und zusätzlich hinzufügt, aber Aufgrund des Fehlers wird der alte Inhalt mit der gespeicherten Prüfsumme verglichen, der neue Inhalt wird aber ausgeführt.

Da gibts schon meine erste Frage, wieso verändert man nicht einfach die Prüfsummen?

Frage 2: Wieso dekompiliert man nicht einfach die App, manipuliert sie und kompiliert sie erneut?

Grüße
 
Ist ja inzwischen patched, aber hier ein guter write up mit weiterführenden Links: Exploit (& Fix) Android "Master Key" - Jay Freeman (saurik)

Da gibts schon meine erste Frage, wieso verändert man nicht einfach die Prüfsummen?

On Android, all applications are signed by their developers using private cryptographic keys; it is by comparing the certificates used to verify these signatures that Android's package manager determines whether applications are allowed to share information, or what permissions they are able to obtain.
Even the system software itself is signed by the manufacturer of the device; applications signed by that same key are thereby able to do anything that the system software can. Normally, this is only possible if you are the manufacturer; however, using bug #8219321, anyone could steal those signatures for their own.
A key concern this raises is that applications in the wild might be signed with the system keys of your device; while you think you are just installing a harmless game, that application would look to the package manager as if it came from the manufacturer, giving it elevated and dangerous system permissions.
 
Danke, mein Englisch ist zwar etwas eingerostet, aber ich versuche es einmal zusammenzufassen:
Die Signatur besteht aus einem Hash, welcher aus dem Inhalt der Quelldateien erstellt wurde und einem privateKey vom Entwickler. Da der privateKey nicht bekannt ist, kann man diese Signaturen eben auch nciht fälschen.
Mit diesem Bug kann man aber eine App von einem Entwickler nehmen, mit eigenem Quellcode füttern, aber die Geräte denken alle, dass sie von dem Entwickler xyz mit eben dieser Signatur ist.
Nun hat sich bei mir aber eine nächste Frage aufgetan:

A key concern this raises is that applications in the wild might be signed with the system keys of your device; while you think you are just installing a harmless game, that application would look to the package manager as if it came from the manufacturer, giving it elevated and dangerous system permissions.

Die Rechte der App müssen doch aber in der ManifestDatei angefordert und bei der Installation vom Benutzer freigegeben werden. Nur weil 2 Apps die Signatur vom gleichen Entwickler tragen, bekommen sie doch nicht automatisch die selben Rechte? Oder müssen Apks, welche mit einem System-Entwickler-Key signiert sind bei der Installation nicht bestätigt werden?

Grüße
 

Ähnliche Themen

B
Antworten
1
Aufrufe
312
BuechsenmacherDerPandora
B
E4_
Antworten
3
Aufrufe
130
Fembre
Fembre
A
Antworten
7
Aufrufe
192
maik005
maik005
Zurück
Oben Unten