التحقق من توقيعات APK: كيفية التأكد من أن تطبيقك آمن

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

يوفر التحميل الجانبي للتطبيقات على Android الحرية والمرونة، ولكنه يأتي مع مخاطرة كبيرة: التطبيقات العبثية. غالبًا ما تقوم الجهات الفاعلة الضارة بتعديل التطبيقات الشائعة لتشمل برامج التجسس أو برامج الإعلانات المتسللة قبل إعادة توزيعها على مواقع غير رسمية. كيف يمكنك التأكد من أن ملف APK الذي قمت بتنزيله للتو هو نفسه الذي قام المطور بتحميله على Google Play؟

الجواب يأتي إلى APK التوقيعات الرقمية. أدناه، سنغطي كيفية عمل توقيع التطبيق فعليًا ونستعرض استخدام أداة التحقق من APK عبر الإنترنت للتحقق من تجزئة ملف APK وشهادته قبل أن تقرر الوثوق به.

نسخة 60 ثانية:

يقوم Android بتوقيع كل ملف APK باستخدام مفتاح الناشر. يرفض الهاتف "التحديث" الذي لا يتطابق توقيعه مع التثبيت الحالي؛ هذا هو الدفاع الرئيسي لنظام التشغيل ضد انتحال الشخصية. للتحقق من ملف APK تم تحميله على الجانب، قم بحساب تجزئة SHA-256 وبصمة شهادة التوقيع الخاصة به، ثم قارنهما بالقيم التي تثق بها (تثبيت متجر Play الحالي، أو البصمة المنشورة للمطور، أو نسخة سابقة معروفة جيدة). تعني المطابقة أن الملف متطابق بالبايت وموقع من قبل نفس الناشر؛ عدم التطابق يعني لا تقم بتثبيت.

ما هو توقيع APK؟

التوقيع الرقمي هو إثبات تشفير للهوية. عندما ينتهي المطور من تطبيق ما، فإنه "يوقعه" باستخدام مفتاح خاص (مخزن المفاتيح). يستخدم Android بعد ذلك المفتاح العام المقابل المضمن في APK لضمان ما يلي:

  1. النزاهة: الملف لم يتغير منذ التوقيع عليه.
  2. الأصالة: المطور هو من يقولون أنهم هم.
  3. التحديثات: فقط ملفات APK الموقعة بنفس المفتاح يمكنها تحديث تطبيق موجود على هاتفك.

تطور التوقيع: V1، V2، V3، وV4

قامت Google باستمرار بتحسين أمان APK على مر السنين:

كيفية التحقق من توقيعات APK عبر الإنترنت

لا يقوم أداة التحقق من APK الخاص بنا بحساب التجزئات فقط؛ يقوم بإجراء تدقيق تشفير كامل لسلسلة الشهادات. هنا كيفية استخدامه:

خطوات التحقق:

  1. انتقل إلى صفحة أداة التحقق من APK.
  2. حدد ملف APK أو XAPK الخاص بك.
  3. تقوم أداتنا بتوزيع دليل META-INF/ واستخراج بيانات الشهادة (.RSA أو .DSA أو .EC).
  4. انتظر حتى يكتمل التحليل (يستغرق ثواني فقط).
  5. قم بمراجعة معلومات الشهادة: اسم المطور والمؤسسة وبلد المنشأ.
  6. تحقق من التجزئة: قارن SHA-256 المعروض على موقعنا بالقيمة التي نشرها الناشر على موقعه الرسمي أو صفحة إصدار المشروع أو بيان التوقيع.

تحذير أمني

إذا أظهر برنامج التحقق "شهادة التصحيح" أو كيانًا غير معروف "موقّع ذاتيًا" لتطبيق رئيسي مثل Facebook أو WhatsApp، لا تقم بتثبيته. يكاد يكون من المؤكد أنه معرض للخطر.

فهم المجاميع الاختبارية (MD5، SHA-1، SHA-256)

المجموع الاختباري عبارة عن سلاسل ذات طول ثابت تمثل الملف بأكمله. إذا قمت بتغيير بكسل واحد في أيقونة التطبيق، فسوف يتغير تجزئة SHA-256 بالكامل.

نوع التجزئة مستوى الأمان ملاحظات
MD5 تراث عرضة للاصطدامات. ليس من أجل الأمن.
SHA-1 معتدل لا يزال يستخدم على نطاق واسع لعمليات البحث السريعة.
SHA-256 ممتاز المعيار الحديث للتحقق من التطبيق.

ما الذي تخبرك به شهادة التوقيع فعليًا

عندما يقوم المدقق بإرجاع شهادة، فإن الأجزاء المهمة لسلامة التحميل الجانبي ليست البتات الملونة لبيانات تعريف X.509 ولكن مجموعة صغيرة من الحقول. من الناحية العملية:

التجزئة مقابل التوقيع: الفرق بين معظم البرامج التعليمية

غالبًا ما يخلط الناس بين "التجزئة" و"التوقيع". إنها تخدم أغراضًا مختلفة جدًا ويحتاج التحقق الآمن إلى ما يلي:

بالنسبة لملف APK الذي تم تحميله على الجانب، فإن أقوى ضمان يجمع بين الاثنين: بصمة الشهادة تتطابق مع بصمة الناشر المعروفة و، وSHA-256 للملف يطابق القيمة التي نشرها الناشر لهذا الإصدار المحدد.

أين يمكن الحصول على بصمة مرجعية جديرة بالثقة

أصعب جزء من عملية التحقق هو معرفة القيمة الصحيحة للمقارنة بها. بعض الأساليب الموثوقة، بترتيب تقريبي للثقة:

  1. موقع الويب الخاص بالناشر أو صفحة الإصدار. تقوم العديد من المشاريع مفتوحة المصدر والبائعين المهتمين بالأمان بنشر بصمة SHA-256 لشهادة التوقيع الخاصة بهم إلى جانب التنزيلات الخاصة بهم. هذا هو المعيار الذهبي.
  2. تثبيت متجر Play موجود. إذا كان التطبيق مثبتًا بالفعل على جهاز يديره Play، فإن بصمة الشهادة الخاصة به هي بصمة الناشر حسب التعريف. قارن بصمة ملف APK الذي تم تحميله على الجانب مع ذلك. أدوات مثل Apk Analyzer (في Android Studio) أو apksigner verify --print-certs تقرأه من ملف APK مثبت مباشرةً.
  3. أول APK قمت بتثبيته لهذا التطبيق على الإطلاق. إذا كنت تستخدم التطبيق لفترة من الوقت ولم تظهر لك رسالة "عدم تطابق التوقيع"، فيمكنك استخدام أي من نسخك القديمة كمرجع. يجب أن تستخدم التحديثات اللاحقة من نفس الناشر نفس المفتاح (أو يتم التدوير عبر الإصدار 3، وفي هذه الحالة تستمر السلسلة في التحقق).
  4. لقطة عامة مؤرشفة. يحتفظ أرشيف الإنترنت والخدمات المشابهة أحيانًا بصفحات إصدار APK القديمة بالإضافة إلى تجزئاتها المعلنة. مفيد للإصدارات القديمة جدًا حيث اختفت صفحة الناشر الأصلية.

أخطاء التحقق الشائعة

هل تطبيقك آمن؟

لا تخمن. تحقق من ملفات APK التي تم تحميلها على الجانب مقابل شهادات المطورين الرسمية في ثوانٍ.

ابدأ التحقق من APK

الأسئلة المتداولة (الأسئلة الشائعة)

لماذا يمنعني Android من تثبيت ملف APK معدّل؟

لأن توقيع APK الجديد لا يتطابق مع التوقيع المثبت بالفعل. وهذا يمنع المتسللين من "استبدال" تطبيقك المصرفي الحقيقي بتطبيق مزيف.

هل يمكنني إعادة التوقيع على ملف APK بعد تعديله؟

نعم، ولكنك ستستخدم مفتاح مختلف. سيستمر تثبيت التطبيق على هاتف "نظيف"، لكنه لن يتلقى التحديثات من المطور الأصلي بعد الآن.

ما هو تثبيت الشهادة؟

إنها ميزة أمان متقدمة حيث يتحقق التطبيق بشكل صريح من شهادة معينة قبل الاتصال بخوادمه، مما يجعل التطبيقات التي تم العبث بها عديمة الفائدة حتى إذا تم تثبيتها بشكل صحيح.

اجعل التحقق من التوقيع جزءًا من كل عملية تحميل جانبية

تقوم التوقيعات بالكثير من المهام الثقيلة في مجال أمان Android الحديث. يعد قضاء الثواني القليلة الإضافية لتشغيل ملف من خلال أداة التحقق من APK طريقة رخيصة لإبعاد التطبيق الذي تم العبث به عن جهازك قبل تثبيته.

تم تصميمها وتوثيقها بواسطة Mst Shaefale المطور الرئيسي ومهندس حزم Android • تم التحقق منه على Android 12–15

يحتفظ Mst Shaefale بدمج XAPK/APKS من جانب العميل، ومحلل البيانات الثنائية، وأدوات توقيع APK v1+v2 في xapktoapk.com. اكتشاف أمر قديم أو تغيير نظام التشغيل؟ أرسل مذكرة تحريرية.