APK-aláírások ellenőrzése: Hogyan biztosítható az alkalmazás biztonsága

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

Az Android-alkalmazások oldalbetöltése szabadságot és rugalmasságot kínál, de komoly kockázattal jár: manipulált alkalmazások. A rosszindulatú szereplők gyakran módosítják a népszerű alkalmazásokat, hogy kémprogramokat vagy reklámprogramokat tartalmazzanak, mielőtt újraterjesztenék őket nem hivatalos webhelyeken. Hogyan lehet biztos abban, hogy a most letöltött APK pontosan ugyanaz, mint amit a fejlesztő töltött fel a Google Playre?

A válasz a APK digitális aláírások. Az alábbiakban bemutatjuk, hogyan működik valójában az alkalmazás-aláírás, és végigvezetjük a Online APK-ellenőrző-nket, hogy ellenőrizzük az APK kivonatát és tanúsítványát, mielőtt úgy döntene, hogy megbízik benne.

A 60 másodperces verzió:

Az Android minden APK-t kiadói kulccsal ír alá. A telefon elutasítja az olyan „frissítést”, amelynek aláírása nem egyezik a meglévő telepítésével – ez az operációs rendszer legfőbb védelme a megszemélyesítés ellen. Egy külső forrásból származó APK ellenőrzéséhez számítsa ki annak SHA-256 kivonatát és az aláíró tanúsítvány ujjlenyomatát, majd vesse össze mindkettőt egy megbízható értékkel (egy meglévő Play Áruházbeli telepítéssel, a fejlesztő által közzétett ujjlenyomattal vagy egy igazoltan tiszta korábbi verzióval). Az egyezés azt jelenti, hogy a fájl bájtról bájtra azonos és ugyanaz a kiadó írta alá; az eltérés viszont azt jelenti, hogy nem szabad telepíteni.

Mi az APK aláírás?

A digitális aláírás a személyazonosság kriptográfiai igazolása. Amikor a fejlesztő befejez egy alkalmazást, privát kulccsal (kulcstárral) "aláírja". Az Android ezután az APK-ba ágyazott megfelelő nyilvános kulcsot használja a következők biztosítására:

  1. Integritás: A fájl aláírása óta nem változott.
  2. Hitelesség: A fejlesztő az, akinek mondják magukat.
  3. Frissítések: Csak az azonos kulccsal aláírt APK-k frissíthetik a telefonon meglévő alkalmazásokat.

Az aláírás fejlődése: V1, V2, V3 és V4

A Google az évek során folyamatosan javította az APK biztonságát:

Az APK aláírások online ellenőrzése

A APK-ellenőrző eszköz-ünk nem csak kivonatokat számol; teljes kriptográfiai ellenőrzést végez a tanúsítványláncon. Így használhatja:

Az ellenőrzés lépései:

  1. Navigáljon a APK-ellenőrző oldalra.
  2. Válassza ki az APK- vagy XAPK-fájlt.
  3. Eszközünk elemzi a META-INF/ könyvtárat, és kivonja a tanúsítvány adatait (.RSA, .DSA vagy .EC).
  4. Várja meg, amíg az elemzés befejeződik (csak másodpercekig tart).
  5. Tekintse át a Tanúsítvány információ: Fejlesztő neve, szervezete és származási országa.
  6. Ellenőrizze a Hashes-t: Hasonlítsa össze a webhelyünkön megjelenő SHA-256-ot azzal az értékkel, amelyet a kiadó a saját hivatalos webhelyén, a projekt kiadási oldalán vagy az aláírási jegyzékben tett közzé.

Biztonsági figyelmeztetés

If the verifier shows a "Hibakeresési tanúsítvány" or an unknown "Self-Signed" entity for a major app like Facebook or WhatsApp, NE TELEPÍTSE. Szinte biztos, hogy kompromittált.

Az ellenőrző összegek megértése (MD5, SHA-1, SHA-256)

Az ellenőrző összegek rögzített hosszúságú karakterláncok, amelyek az egész fájlt reprezentálják. Ha egyetlen képpontot módosít egy alkalmazás ikonjában, az SHA-256 hash teljesen megváltozik.

Hash típus Biztonsági szint Megjegyzések
MD5 Örökség Ütközésekre érzékeny. Nem a biztonság kedvéért.
SHA-1 Mérsékelt Még mindig széles körben használják gyors keresésekhez.
SHA-256 Kiváló Az alkalmazások ellenőrzésének modern szabványa.

Mit mond az aláírási tanúsítvány valójában

Amikor a hitelesítő visszaküld egy tanúsítványt, az oldalbetöltés biztonsága szempontjából nem az X.509 metaadatainak színes részei számítanak, hanem néhány mező. Gyakorlati szempontból:

Hash vs Signature: A különbség A legtöbb oktatóanyag kihagyja

Az emberek gyakran összekeverik a "kivonatot" és az "aláírást". Nagyon eltérő célokat szolgálnak, és a biztonságos ellenőrzéshez mindkettőre szükség van:

Oldalról betöltött APK esetén a legerősebb biztosíték a kettőt ötvözi: a tanúsítvány ujjlenyomata megegyezik a kiadó ismert ujjlenyomatával, és a fájl SHA-256-ja megegyezik a kiadó által az adott buildhez közzétett értékkel.

Hol szerezhet be megbízható referencia-ujjlenyomatot

Az ellenőrzés legnehezebb része az összehasonlításhoz szükséges megfelelő érték ismerete. Néhány megbízható megközelítés durva megbízhatósági sorrendben:

  1. A kiadó saját webhelye vagy kiadási oldala. Számos nyílt forráskódú projekt és biztonságtudatos szállító teszi közzé aláírási tanúsítványának SHA-256 ujjlenyomatát a letöltések mellett. Ez az aranystandard.
  2. Meglévő Play Áruház-telepítés. Ha az alkalmazás már telepítve van egy Play által felügyelt eszközre, a tanúsítvány ujjlenyomata értelemszerűen a kiadó ujjlenyomata. Hasonlítsa össze az oldalról betöltött APK ujjlenyomatát ezzel. Az olyan eszközök, mint az Apk Analyzer (Android Studio-ban) vagy a apksigner verify --print-certs, közvetlenül olvassák be a telepített APK-ból.
  3. Az első APK, amelyet valaha telepített ebből az alkalmazásból. Ha egy ideje használja az alkalmazást, és soha nem kapott „aláírási eltérés” üzenetet, referenciaként használhatja bármelyik régebbi példányát. Az ugyanattól a kiadótól származó későbbi frissítéseknek ugyanazt a kulcsot kell használniuk (vagy forgatniuk kell a v3-on keresztül, ebben az esetben a lánc továbbra is ellenőrzi).
  4. Archivált nyilvános pillanatkép. Az Internet Archívum és a hasonló szolgáltatások időnként megőrzik a régi APK kiadási oldalakat a deklarált hashekkel együtt. Nagyon régi buildeknél hasznos, ahol az eredeti kiadói oldal eltűnt.

Gyakori ellenőrzési hibák

Biztonságos az alkalmazása?

Ne találgass. Másodpercek alatt igazolja az oldalt betöltött APK-kat a hivatalos fejlesztői tanúsítványok alapján.

Indítsa el az APK ellenőrzését

Gyakran Ismételt Kérdések (GYIK)

Miért tiltja le az Android egy módosított APK telepítését?

Mert az új APK aláírása nem egyezik a már telepítettével. Ez megakadályozza, hogy a hackerek „felülírják” valódi banki alkalmazását egy hamis alkalmazással.

Újra aláírhatok egy APK-t a módosítás után?

Igen, de Ön egy más kulcs-t fog használni. Az alkalmazás továbbra is települ egy "tiszta" telefonra, de már nem kap frissítéseket az eredeti fejlesztőtől.

Mi az a tanúsítvány rögzítése?

Ez egy fejlett biztonsági funkció, amelyben az alkalmazás kifejezetten ellenőrzi, hogy van-e egy adott tanúsítvány, mielőtt kommunikálna a szervereivel, így a manipulált alkalmazásokat akkor is használhatatlanná teszi, ha megfelelően telepítik őket.

Tegye az aláírás-ellenőrzést minden oldalbetöltés részévé

Az aláírások nagy részét teszik ki a modern Android biztonság terén. Az extra néhány másodperc elköltése a fájlok APK-ellenőrző-n keresztüli futtatására egy olcsó módja annak, hogy távol tartsa a manipulált alkalmazást az eszközről, mielőtt az telepítésre kerülne.

Mst Shaefale tervezte és dokumentálta Vezető fejlesztő és Android Package Architect • Ellenőrizve Android 12–15

Az Mst Shaefale karbantartja az ügyféloldali XAPK/APKS egyesítést, bináris jegyzékelemzőt és APK v1+v2 aláíró eszközöket a xapktoapk.com-nél. Elavult parancsot vagy operációs rendszerváltozást észlel? Szerkesztői megjegyzés küldése.