APK-Signaturen überprüfen: So stellen Sie sicher, dass Ihre App sicher ist

A magnifying glass over a phone showing a certificate and fingerprint, illustrating verifying APK signatures

Das Querladen von Apps auf Android bietet Freiheit und Flexibilität, birgt jedoch ein großes Risiko: manipulierte Anwendungen. Böswillige Akteure modifizieren häufig beliebte Apps so, dass sie Spyware oder Adware enthalten, bevor sie sie auf inoffiziellen Websites weiterverbreiten. Wie können Sie sicher sein, dass die APK, die Sie gerade heruntergeladen haben, genau dieselbe ist, die der Entwickler auf Google Play hochgeladen hat?

Die Antwort lautet Digitale APK-Signaturen. Im Folgenden erläutern wir, wie die App-Signierung tatsächlich funktioniert, und führen Sie durch die Verwendung unseres Online-APK-Verifizierer, um den Hash und das Zertifikat eines APK zu überprüfen, bevor Sie sich entscheiden, ihm zu vertrauen.

Die 60-Sekunden-Version:

Android signiert jedes APK mit einem Herausgeberschlüssel. Das Telefon lehnt ein „Update“ ab, dessen Signatur nicht mit der vorhandenen Installation übereinstimmt; Das ist der Hauptschutz des Betriebssystems gegen Identitätsdiebstahl. Um ein seitlich geladenes APK zu verifizieren, berechnen Sie seinen SHA-256-Hash und seinen Signaturzertifikat-Fingerabdruck und vergleichen Sie dann beide mit Werten, denen Sie vertrauen (der vorhandenen Play Store-Installation, dem veröffentlichten Fingerabdruck des Entwicklers oder einer bekanntermaßen funktionierenden früheren Kopie). Eine Übereinstimmung bedeutet, dass die Datei byteidentisch und vom selben Herausgeber signiert ist; Eine Nichtübereinstimmung bedeutet nicht installieren.

Was ist eine APK-Signatur?

Eine digitale Signatur ist ein kryptografischer Identitätsnachweis. Wenn ein Entwickler eine App fertigstellt, „signiert“ er sie mit einem privaten Schlüssel (Keystore). Android verwendet dann den entsprechenden im APK eingebetteten öffentlichen Schlüssel, um Folgendes sicherzustellen:

  1. Integrität: Die Datei wurde seit dem Signieren nicht geändert.
  2. Authentizität: Der Entwickler ist der, für den er sich ausgibt.
  3. Aktualisierungen: Nur APKs, die mit demselben Schlüssel signiert sind, können eine vorhandene App auf Ihrem Telefon aktualisieren.

Entwicklung des Signierens: V1, V2, V3 und V4

Google hat die APK-Sicherheit im Laufe der Jahre kontinuierlich verbessert:

So überprüfen Sie APK-Signaturen online

Unser APK-Verifizierungstool berechnet nicht nur Hashes; Es führt eine vollständige kryptografische Prüfung der Zertifikatskette durch. So verwenden Sie es:

Schritte zur Überprüfung:

  1. Navigieren Sie zur Seite APK-Verifizierer.
  2. Wählen Sie Ihre APK- oder XAPK-Datei aus.
  3. Unser Tool analysiert das META-INF/-Verzeichnis und extrahiert die Zertifikatsdaten (.RSA, .DSA oder .EC).
  4. Warten Sie, bis die Analyse abgeschlossen ist (es dauert nur Sekunden).
  5. Überprüfen Sie Zertifikatsinformationen: Entwicklername, Organisation und Herkunftsland.
  6. Überprüfen Sie den Hashes: Vergleichen Sie den auf unserer Website angezeigten SHA-256 mit dem Wert, den der Herausgeber auf seiner eigenen offiziellen Website, Projektfreigabeseite oder Signaturmanifest veröffentlicht hat.

Sicherheitswarnung

Wenn der Prüfer ein „Debug-Zertifikat“ oder eine unbekannte „selbstsignierte“ Entität für eine große App wie Facebook oder WhatsApp anzeigt, INSTALLIEREN SIE ES NICHT. Es ist mit ziemlicher Sicherheit kompromittiert.

Prüfsummen verstehen (MD5, SHA-1, SHA-256)

Prüfsummen sind Zeichenfolgen fester Länge, die die gesamte Datei darstellen. Wenn Sie ein einzelnes Pixel im Symbol einer App ändern, ändert sich der SHA-256-Hash vollständig.

Hash-Typ Sicherheitsstufe Notizen
MD5 Vermächtnis Anfällig für Kollisionen. Nicht aus Sicherheitsgründen.
SHA-1 Mäßig Wird immer noch häufig für schnelle Suchvorgänge verwendet.
SHA-256 Exzellent Der moderne Standard für die App-Verifizierung.

Was Ihnen ein Signaturzertifikat tatsächlich sagt

Wenn der Verifizierer ein Zertifikat zurückgibt, sind die Teile, die für die Sideloading-Sicherheit von Bedeutung sind, nicht die bunten Teile der X.509-Metadaten, sondern eine kleine Handvoll Felder. In der Praxis:

Hash vs. Signatur: Der Unterschied, den die meisten Tutorials überspringen

Menschen verwechseln oft „Hash“ und „Signatur“. Sie dienen ganz unterschiedlichen Zwecken und eine sichere Verifizierung erfordert beides:

Bei einem seitlich geladenen APK kombiniert die stärkste Sicherheit beides: Der Zertifikat-Fingerabdruck stimmt mit dem bekannten Fingerabdruck des Herausgebers überein Und Der SHA-256 der Datei stimmt mit dem Wert überein, den der Herausgeber für genau diesen Build veröffentlicht hat.

Wo Sie einen vertrauenswürdigen Referenz-Fingerabdruck erhalten

Der schwierigste Teil der Verifizierung besteht darin, den richtigen Vergleichswert zu ermitteln. Einige zuverlässige Ansätze, grob nach Vertrauen geordnet:

  1. Die eigene Website oder Veröffentlichungsseite des Herausgebers. Viele Open-Source-Projekte und sicherheitsbewusste Anbieter veröffentlichen neben ihren Downloads den SHA-256-Fingerabdruck ihres Signaturzertifikats. Das ist der Goldstandard.
  2. Eine vorhandene Play Store-Installation. Wenn die App bereits auf einem von Play verwalteten Gerät installiert ist, ist ihr Zertifikatsfingerabdruck per Definition der Fingerabdruck des Herausgebers. Vergleichen Sie den Fingerabdruck Ihrer seitlich geladenen APK damit. Tools wie Apk Analyzer (in Android Studio) oder apksigner verify --print-certs lesen es direkt aus einer installierten APK.
  3. Die erste APK, die Sie jemals von dieser App installiert haben. Wenn Sie die App schon länger verwenden und nie die Meldung „Signaturkonflikt“ erhalten haben, können Sie eine Ihrer älteren Kopien als Referenz verwenden. Nachfolgende Updates desselben Herausgebers müssen denselben Schlüssel verwenden (oder über Version 3 rotieren, wobei die Kette in diesem Fall weiterhin überprüft).
  4. Ein archivierter öffentlicher Schnappschuss. Das Internetarchiv und ähnliche Dienste bewahren gelegentlich alte APK-Veröffentlichungsseiten zusammen mit ihren deklarierten Hashes auf. Nützlich für sehr alte Builds, bei denen die ursprüngliche Herausgeberseite nicht mehr vorhanden ist.

Häufige Verifizierungsfehler

Ist Ihre App sicher?

Raten Sie nicht. Überprüfen Sie Ihre seitlich geladenen APKs in Sekundenschnelle anhand offizieller Entwicklerzertifikate.

Starten Sie die APK-Verifizierung

Häufig gestellte Fragen (FAQ)

Warum blockiert Android die Installation einer modifizierten APK?

Weil die Signatur des neuen APK nicht mit der bereits installierten übereinstimmt. Dies verhindert, dass Hacker Ihre echte Banking-App mit einer gefälschten „überschreiben“.

Kann ich ein APK erneut signieren, nachdem ich es geändert habe?

Ja, aber Sie werden ein anderer Schlüssel verwenden. Die App wird weiterhin auf einem „sauberen“ Telefon installiert, erhält jedoch keine Updates mehr vom ursprünglichen Entwickler.

Was ist Zertifikat-Pinning?

Dabei handelt es sich um eine erweiterte Sicherheitsfunktion, bei der eine App explizit nach einem bestimmten Zertifikat sucht, bevor sie mit ihren Servern kommuniziert, wodurch manipulierte Apps selbst bei korrekter Installation unbrauchbar werden.

Machen Sie die Signaturüberprüfung zu einem Teil jedes Sideloads

Signaturen leisten bei der modernen Android-Sicherheit einen großen Beitrag. Wenn Sie die zusätzlichen Sekunden aufwenden, um eine Datei über einen APK-Verifizierer auszuführen, können Sie eine manipulierte App kostengünstig von Ihrem Gerät fernhalten, bevor sie überhaupt installiert wird.

Entwickelt und dokumentiert von Mst. Shaefale Leitender Entwickler und Android-Paketarchitekt • Verifiziert auf Android 12–15

Mst Shaefale unterhält bei xapktoapk.com die clientseitige XAPK/APKS-Fusion, den Binärmanifest-Parser und die APK v1+v2-Signaturtools. Erkennen Sie einen veralteten Befehl oder eine Betriebssystemänderung? Senden Sie eine redaktionelle Notiz.