البرمجة

تحليل ثغرات توقيع التطبيقات في أندرويد

عندما يقوم Zipsigner بتوقيع التطبيق الذي تم تعديله (unsigned apk)، يتم توقيعه باستخدام نفس المفتاح الخاص (private key) الذي تم استخدامه أثناء إنشاء التطبيق الأصلي. هذا يعني أن التطبيق الجديد سيكون بمثابة تحديث لتطبيقك الأصلي، وليس تطبيقًا مختلفًا. وبما أن التطبيق الجديد يتم توقيعه بنفس المفتاح، فسيحتفظ بنفس اسم التطبيق وستكون النسخة الجديدة تمامًا كالنسخة السابقة من حيث الاسم والهوية.

بالنسبة للثغرات التي يمكن أن تسمح بإدراج برامج ضارة في التطبيقات الموقعة، فهي نتيجة لعدم تضمين مجموعات التجزئة (message digest) للملفات داخل مجلد META-INF في ملف MANIFEST.MF أو في ملف XXX.SF. هذا يعني أنه في النظام الحالي، يمكن لأي شخص إدراج برمجيات ضارة في هذه المجلدات، إعادة تعبئة التطبيق، وإعادة توقيعه باستخدام Zipsigner أو أي أداة أخرى.

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

المزيد من المعلومات

فيما يتعلق بالتوقيع الرقمي في أندرويد، يُستخدم نظام التوقيع الرقمي لضمان أمان التطبيقات والتحقق من هويتها. عند توقيع تطبيق أندرويد، يتم إنشاء مجموعة من الملفات داخل مجلد META-INF تحتوي على البيانات الخاصة بالتوقيع. هذه البيانات تشمل ملفات مثل MANIFEST.MF و CERT.SF و CERT.RSA.

  • MANIFEST.MF: يحتوي على معلومات حول الملفات الموجودة في التطبيق ومعلومات أخرى مهمة.
  • CERT.SF: يحتوي على معلومات حول التوقيع الرقمي للتطبيق، بما في ذلك مجموعات التجزئة للملفات في META-INF.
  • CERT.RSA: يحتوي على مفتاح التوقيع الرقمي الذي تم استخدامه لتوقيع التطبيق.

عندما تقوم بتوقيع التطبيق باستخدام Zipsigner أو أي أداة أخرى، فإنك تقوم بتوقيع التطبيق مرة أخرى باستخدام نفس مفتاح التوقيع الرقمي الخاص الذي تم استخدامه في البداية. هذا يعني أن التطبيق المعدل سيظل يحمل نفس اسم التوقيع وسيكون قابلاً للتثبيت كتحديث للتطبيق الأصلي.

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

زر الذهاب إلى الأعلى