Pag-verify sa Mga Lagda ng APK: Paano Tiyakin na Ligtas ang Iyong App

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

Ang pag-sideload ng mga app sa Android ay nag-aalok ng kalayaan at flexibility, ngunit ito ay may malaking panganib: pinakialaman na mga aplikasyon. Madalas na binabago ng mga nakakahamak na aktor ang mga sikat na app upang isama ang spyware o adware bago muling ipamahagi ang mga ito sa mga hindi opisyal na site. Paano mo matitiyak na ang APK na iyong na-download ay eksaktong kapareho ng na-upload ng developer sa Google Play?

Ang sagot ay bumababa sa Mga digital na lagda ng APK. Sa ibaba, tatalakayin namin kung paano aktwal na gumagana ang pag-sign ng app at gagawin gamit ang aming Online na Tagasuri ng APK upang suriin ang hash at certificate ng isang APK bago ka magpasya na pagkatiwalaan ito.

Ang 60-segundong bersyon:

Nilalagdaan ng Android ang bawat APK gamit ang isang publisher key. Ang telepono ay tumatanggi sa isang "update" na ang lagda ay hindi tumutugma sa kasalukuyang pag-install; iyon ang pangunahing depensa laban sa pagpapanggap ng OS. Para i-verify ang isang naka-sideload na APK, kalkulahin ang SHA-256 hash nito at ang signing-certificate fingerprint nito, pagkatapos ay ihambing ang dalawa sa mga value na pinagkakatiwalaan mo (ang kasalukuyang pag-install sa Play Store, na-publish na fingerprint ng developer, o isang kilalang-mahusay na naunang kopya). Ang tugma ay nangangahulugan na ang file ay byte-magkapareho at nilagdaan ng parehong publisher; ang ibig sabihin ng mismatch ay huwag i-install.

Ano ang APK Signature?

Ang digital signature ay isang cryptographic na patunay ng pagkakakilanlan. Kapag natapos ng developer ang isang app, "pinipirmahan" nila ito gamit ang pribadong key (keystore). Pagkatapos ay ginagamit ng Android ang kaukulang pampublikong key na naka-embed sa APK upang matiyak na:

  1. Integridad: Ang file ay hindi nabago mula noong ito ay nilagdaan.
  2. Authenticity: Ang developer ay kung sino ang sinasabi nila.
  3. Mga update: Ang mga APK lang na nilagdaan gamit ang parehong key ang makakapag-update ng umiiral nang app sa iyong telepono.

Ebolusyon ng Pagpirma: V1, V2, V3, at V4

Patuloy na pinahusay ng Google ang seguridad ng APK sa mga nakaraang taon:

Paano I-verify ang Mga Lagda ng APK Online

Ang aming Tool ng Tagasuri ng APK ay hindi lamang nagkalkula ng mga hash; nagsasagawa ito ng buong cryptographic audit ng chain ng certificate. Narito kung paano ito gamitin:

Mga Hakbang para I-verify:

  1. Mag-navigate sa pahina ng Tagasuri ng APK.
  2. Piliin ang iyong APK o XAPK file.
  3. Pina-parse ng aming tool ang direktoryo ng META-INF/ at kinukuha ang data ng certificate (.RSA, .DSA, o .EC).
  4. Hintaying makumpleto ang pagsusuri (ito ay tumatagal ng ilang segundo).
  5. Suriin ang Impormasyon ng Sertipiko: Pangalan ng developer, organisasyon, at bansang pinagmulan.
  6. Suriin ang Hashes: Ikumpara ang SHA-256 na ipinapakita sa aming site sa halaga na inilathala ng publisher sa kanilang sariling opisyal na site, page ng paglabas ng proyekto, o signing manifest.

Babala sa Seguridad

Kung nagpapakita ang verifier ng "Debug Certificate" o hindi kilalang entity na "Self-Signed" para sa isang pangunahing app tulad ng Facebook o WhatsApp, HUWAG I-INSTALL ITO. Ito ay halos tiyak na nakompromiso.

Pag-unawa sa Mga Checksum (MD5, SHA-1, SHA-256)

Ang mga checksum ay mga fixed-length na string na kumakatawan sa buong file. Kung babaguhin mo ang isang pixel sa icon ng isang app, ganap na magbabago ang SHA-256 hash.

Uri ng Hash Antas ng Seguridad Mga Tala
MD5 Legacy Mahina sa banggaan. Hindi para sa seguridad.
SHA-1 Katamtaman Malawak pa ring ginagamit para sa mabilisang paghahanap.
SHA-256 Magaling Ang modernong pamantayan para sa pag-verify ng app.

Ang Talagang Sinasabi sa Iyo ng Sertipiko ng Pagpirma

Kapag nagbalik ng certificate ang verifier, ang mga bahagi na mahalaga para sa kaligtasan ng pag-sideload ay hindi ang mga makukulay na piraso ng X.509 metadata kundi isang maliit na dakot ng mga field. Sa praktikal na termino:

Hash vs Signature: Ang Pagkakaiba ng Karamihan sa Mga Tutorial Laktawan

Madalas pinagsasama ng mga tao ang "hash" at "pirma." Ang mga ito ay nagsisilbi sa ibang layunin at ang isang ligtas na pag-verify ay nangangailangan ng parehong:

Para sa naka-sideload na APK, pinagsasama ng pinakamatibay na katiyakan ang dalawa: tumutugma ang fingerprint ng certificate sa kilalang fingerprint ng publisher na at ang SHA-256 ng file ay tumutugma sa halagang na-publish ng publisher para sa eksaktong build na iyon.

Saan Makakakuha ng Mapagkakatiwalaang Reference Fingerprint

Ang pinakamahirap na bahagi ng pag-verify ay ang pag-alam sa tamang halaga na ihahambing. Ilang maaasahang diskarte, sa magaspang na pagkakasunud-sunod ng kumpiyansa:

  1. Ang sariling website o release page ng publisher. Maraming open-source na proyekto at mga vendor na may kamalayan sa seguridad ang nag-publish ng SHA-256 fingerprint ng kanilang signing certificate kasama ng kanilang mga download. Ito ang pamantayang ginto.
  2. Isang umiiral nang pag-install sa Play Store. Kung naka-install na ang app sa isang device na pinamamahalaan ng Play, ang fingerprint ng certificate nito ay fingerprint ng publisher ayon sa kahulugan. Ihambing ang fingerprint ng iyong naka-sideload na APK laban doon. Ang mga tool tulad ng Apk Analyzer (sa Android Studio) o apksigner verify --print-certs ay direktang nagbabasa nito mula sa isang naka-install na APK.
  3. Ang unang APK na na-install mo ng app na ito. Kung matagal mo nang ginagamit ang app at hindi kailanman nagkaroon ng "signature mismatch" na prompt, maaari mong gamitin ang alinman sa iyong mga lumang kopya bilang reference. Ang mga kasunod na update mula sa parehong publisher ay dapat gumamit ng parehong key (o i-rotate sa pamamagitan ng v3, kung saan ang chain ay nagbe-verify pa rin).
  4. Isang naka-archive na pampublikong snapshot. Paminsan-minsan, pinapanatili ng Internet Archive at mga katulad na serbisyo ang mga lumang page ng release ng APK kasama ng kanilang mga ipinahayag na hash. Kapaki-pakinabang para sa mga lumang build kung saan nawala ang orihinal na pahina ng publisher.

Mga Karaniwang Pagkakamali sa Pagpapatunay

Ligtas ba ang Iyong App?

Huwag hulaan. I-verify ang iyong mga naka-sideload na APK laban sa mga opisyal na certificate ng developer sa ilang segundo.

Simulan ang Pag-verify ng APK

Mga Madalas Itanong (FAQ)

Bakit ako hinaharangan ng Android sa pag-install ng binagong APK?

Dahil hindi tumutugma ang lagda ng bagong APK sa naka-install na. Pinipigilan nito ang mga hacker na "i-overwrit" ang iyong tunay na banking app gamit ang pekeng app.

Maaari ko bang muling lagdaan ang isang APK pagkatapos itong baguhin?

Oo, ngunit gagamit ka ng magkaibang susi. Mag-i-install pa rin ang app sa isang "malinis" na telepono, ngunit hindi na ito makakatanggap ng mga update mula sa orihinal na developer.

Ano ang certificate pinning?

Isa itong advanced na feature sa seguridad kung saan tahasang tumitingin ang isang app para sa isang partikular na certificate bago makipag-ugnayan sa mga server nito, na ginagawang walang silbi ang mga na-tamper na app kahit na tama ang pag-install ng mga ito.

Gawing Bahagi ng Bawat Sideload ang Signature Verification

Ang mga lagda ay gumagawa ng maraming mabigat na pag-angat sa modernong seguridad ng Android. Ang paggugol ng dagdag na ilang segundo upang magpatakbo ng isang file sa pamamagitan ng isang Tagasuri ng APK ay isang murang paraan upang hindi maalis ang isang na-tamper na app sa iyong device bago ito ma-install.

Ininhinyero at Dokumento ni Mst Shaefale Punong Developer at Arkitekto ng Package sa Android • Na-verify sa Android 12–15

Pinapanatili ni Mst Shaefale ang client-side na XAPK/APKS merger, binary manifest parser, at APK v1+v2 signing tool sa xapktoapk.com. Makita ang isang hindi napapanahong command o pagbabago ng OS? Magpadala ng editoryal na tala.