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

أصدرت Google للتو قيودًا تجعل تثبيت التطبيقات من خارج متجر Play أصعب بكثير. تتطلب العملية الجديدة فترة انتظار مدتها 24 ساعة للتطبيقات المثبتة جانبيًا والتي لم يتحقق منها Google Play Protect، وخلالها يُرفع ملف APK إلى خوادم Google لفحصه. إذا ثبّتّ تطبيقًا من مصدر خارجي، عليك أن تنتظر يومًا كاملًا قبل أن تتمكن من استخدامه. المبرر الأمني واضح: ملفات APK المحمّلة بالبرمجيات الخبيثة مشكلة حقيقية، خاصة في المناطق التي يشيع فيها التثبيت الجانبي. أما ردّ فعل المطورين والمستخدمين المتقدمين فكان... أقل ترحيبًا بكثير.
يقع هذا التغيير الأخير في قلب توتر لازم أندرويد منذ نشأته: كيف تمنح المستخدمين حرية تثبيت ما يريدون، مع حماية من لا يعرفون ما يفعلون؟ ظل أندرويد يعالج هذا السؤال على مدى 18 عامًا، والإجابة لا تفتأ تتغير.
نظرة تاريخية سريعة على تثبيت التطبيقات في أندرويد
كان أندرويد في بداياته أشبه بالغرب المتوحش. يمكن تثبيت أي تطبيق من أي مصدر بنقرة واحدة. كان مفتاح «مصادر غير معروفة» في الإعدادات مفتاحًا عامًا: إذا فعّلته، صار بإمكان أي تطبيق على الجهاز أن يثبّت ملفات APK. كان هذا بسيطًا ويمنح المستخدم سلطة كاملة، لكنه كان كارثة أمنية حقيقية.
في أندرويد 8 (Oreo، 2017) انتقل النظام إلى صلاحيات لكل مصدر. بدلًا من مفتاح عام، صار على كل تطبيق أن يطلب بشكل فردي صلاحية «تثبيت التطبيقات غير المعروفة». قد يُسمح لمتصفحك بتثبيت ملفات APK بينما يُمنع ذلك عن تطبيق البريد الإلكتروني. كان هذا تحسنًا حقيقيًا، إذ حدّ من الضرر الذي قد يُحدثه تطبيق مخترق.
أضاف أندرويد 13 الإعدادات المقيّدة. لم تعد التطبيقات المثبتة جانبيًا قادرة على الوصول إلى بعض واجهات برمجة التطبيقات الحساسة (مثل خدمات إمكانية الوصول ومستمعي الإشعارات) دون أن يمرّ المستخدم عبر حوارات تأكيد إضافية. المنطق هنا أن التطبيقات القادمة من خارج متجر Play لم تُفحص، لذا لا ينبغي أن تحصل بسهولة على أقوى الصلاحيات.
والآن تضيف فترة التحقق المكونة من 24 ساعة طبقة احتكاك جديدة. كل تحديث يجعل التثبيت الجانبي أصعب، وكل تحديث يُبرَّر ببيانات أمنية حقيقية. السؤال هو: هل تجاوز الاحتكاك التراكمي الحد الفاصل بين «حماية المستخدمين» و«إجبارهم على اللجوء إلى متجر Play»؟
لماذا يشكّل التثبيت الجانبي مشكلة أمنية حقيقية
قبل أن نرفض مخاوف Google: البرمجيات الخبيثة المثبتة جانبيًا مشكلة حقيقية وواسعة النطاق. تُظهر بيانات Google نفسها أن التطبيقات المثبتة من خارج متجر Play أكثر احتمالًا بخمسين مرة لاحتواء برمجيات خبيثة مقارنةً بتطبيقات المتجر. وفي أسواق مثل جنوب شرق آسيا، حيث تنتشر متاجر التطبيقات الخارجية، تكون معدلات الإصابة أعلى بكثير مما هي عليه في الأسواق التي يهيمن عليها متجر Play.
ناقل الهجوم فعّال بشكل مؤلم. يتلقى المستخدم رسالة عبر واتساب أو رسالة نصية أو بريدًا إلكترونيًا تحتوي على رابط لتحميل «تحديث أمني من البنك» أو «منظف للهاتف» أو «تطبيق مميز مجانًا». يحمّل ملف APK، ويتجاهل تحذيرات الأمان (لأنه اعتاد على تجاهل التحذيرات)، ثم يثبّته. يحصل البرنامج الخبيث على صلاحية خدمات إمكانية الوصول (مرة أخرى بإقناع المستخدم بمنحها)، ثم يسرق بيانات الدخول المصرفية، أو يعترض رموز التحقق عبر الرسائل النصية، أو يشفّر الجهاز طلبًا لفدية.
هذه ليست هجمات معقدة. إنها تنجح لأن الهندسة الاجتماعية فعّالة، ولأن معظم المستخدمين لا يفهمون مخاطر تثبيت شيفرة برمجية عشوائية. ترى Google أن الاحتكاك، أي جعل التثبيت الجانبي أبطأ وأصعب، هو أنجع دفاع، لأنه يمنح المستخدم وقتًا للتفكير، ويمنح Google وقتًا لفحص ملف APK.
لماذا يشعر المطورون بالإحباط
الاعتراض من المطورين لا يتعلق بالبرمجيات الخبيثة. بل يتعلق بالتحكم والتوزيع والاحتكاك المتزايد في الوصول إلى المستخدمين خارج منظومة Google.
- الاختبار والتطوير. يثبّت المطورون التطبيقات جانبيًا باستمرار أثناء التطوير. انتظار 24 ساعة مع كل نسخة تجريبية أمر مثير للسخرية. تعالج Google ذلك باستثناء التطبيقات المثبتة عبر ADB (Android Debug Bridge)، لكن ليس كل سير عمل للاختبار يعتمد على ADB، ففرق ضمان الجودة ومختبرو النسخ التجريبية وعروض العملاء كثيرًا ما تستخدم التثبيت المباشر لملفات APK.
- توزيع المؤسسات. تواجه الشركات التي توزّع تطبيقاتها الداخلية خارج متجر Play (عبر حلول إدارة الأجهزة المحمولة MDM) احتكاكًا إضافيًا. ورغم أن منصات MDM المؤسسية قد تتجاوز بعض القيود، فإن المؤسسات الصغيرة التي لا تملك بنية MDM تأثرت بذلك.
- متاجر التطبيقات البديلة. متاجر مثل F-Droid وAmazon Appstore وSamsung Galaxy Store، وكلها قنوات توزيع مشروعة، تُعد تثبيتًا جانبيًا من منظور Google. وكل قيد إضافي يُسيء إلى تجربة مستخدميها مقارنةً بمتجر Play، وهو بالضبط ما يتهم المنتقدون Google بالسعي إليه.
- الامتثال التنظيمي. يُلزم قانون الأسواق الرقمية الأوروبي (DMA) حرّاس البوابة، ومنهم Google، بالسماح بالتثبيت الجانبي دون احتكاك غير مبرر. وجعل التثبيت الجانبي أسوأ بشكل ملموس مع الإبقاء عليه نظريًا ممكنًا هو بالضبط نوع «المسرحية الامتثالية» الذي صُمم قانون DMA لمنعه.
المشكلات الأعمق في نموذج الصلاحيات
قيود التثبيت الجانبي ليست سوى ترقيع لمشكلة أعمق: يطلب نموذج الصلاحيات في أندرويد من المستخدمين اتخاذ قرارات أمنية لا يملكون أدواتها. «هل تسمح لهذا التطبيق بالوصول إلى جهات الاتصال؟» «هل تسمح له بقراءة رسائلك النصية؟» «هل تسمح له باستخدام خدمات إمكانية الوصول؟» معظم المستخدمين لا يدركون النتائج، فيقبلون كل شيء أو يرفضون كل شيء.
المشكلة الجوهرية أن الصلاحيات تُعرض كخيارات ثنائية حول القدرات، بينما يفكر المستخدمون في الأغراض. لا يريد المستخدم أن يقرر هل يستطيع التطبيق قراءة الرسائل النصية، بل يريد أن يقرر هل يمكن للتطبيق التحقق من رقم هاتفه (وهذا معقول) أو اعتراض رموز التحقق الثنائي من بنكه (وهذا غير معقول). كلاهما يتطلب الصلاحية نفسها.
<!-- AndroidManifest.xml -->
<!-- Both of these use the same permission: -->
<uses-permission android:name="android.permission.READ_SMS" />
<!-- Use case 1: Auto-fill SMS verification code during signup -->
<!-- Perfectly legitimate, saves the user time -->
<!-- Use case 2: Intercept banking 2FA codes and forward to attacker -->
<!-- Malware, obviously -->
<!-- The permission system can't distinguish between these.
The user is asked to make a security decision that requires
understanding the app's implementation, which they can't see. -->
حلّ iOS المشكلة بعدم السماح بالتثبيت الجانبي أصلًا (حتى أجبرته الضغوط التنظيمية على إتاحة بدائل محدودة). وهذا نهج مشروع، إذ يُزيل القرار من يد المستخدم تمامًا، لكنه يحمل تكاليفه الخاصة: ارتهان المطورين، واستغلال متجر التطبيقات لموقعه الاحتكاري، والعجز عن تشغيل برمجيات لم توافق عليها Apple.
كيف قد يبدو نظام أفضل
لا يُعد نهج iOS القائم على منع التثبيت الجانبي ولا نهج أندرويد القائم على «التثبيت الجانبي مع احتكاك متزايد» مثاليًا. النظام الأفضل يجب أن يعالج عدة أمور في آنٍ واحد.
- احتكاك يتناسب مع المخاطر. ينبغي أن يُثبَّت التطبيق الذي لا يطلب صلاحيات خطرة ووقّعه مطور معروف فورًا. أما التطبيق الذي يطلب خدمات إمكانية الوصول والرسائل النصية وصلاحيات مدير الجهاز فينبغي أن يخضع لتدقيق أكبر. فالنظام الحالي يُطبّق الاحتكاك نفسه على آلة حاسبة مفتوحة المصدر لا تضر، وعلى تطبيق نهم للصلاحيات يطلب كل شيء.
- صلاحيات مرتبطة بغرض محدد. بدلًا من منح صلاحية «قراءة الرسائل النصية» بشكل واسع، تُمنح صلاحية «قراءة الرسائل لتعبئة رمز التحقق تلقائيًا»، وهي صلاحية محدودة لا تُستخدم إلا في سياقات واجهات برمجة تطبيقات محددة. وقد سار أندرويد في هذا الاتجاه مع SMS Retriever API، لكن معظم الصلاحيات ما زالت واسعة النطاق.
- فحص شفاف دون انتظار. الرفع والفحص أمر معقول. أما الانتظار 24 ساعة فليس كذلك، خاصة أن معظم عمليات الفحص تكتمل في دقائق. اعرض للمستخدم نتيجة الفحص، ودعه يكمل فورًا إذا كان التطبيق نظيفًا، ونبّهه إذا كشف الفحص عن مشكلات.
- تكافؤ بين متجر المنصة والمتاجر الخارجية. إذا كان متجر Play يستطيع تثبيت التطبيقات فورًا، فينبغي أن تستطيع المتاجر البديلة فعل ذلك أيضًا، بشرط أن تطبّق فحوصات أمنية مكافئة. فالحجة الأمنية لا تصمد إلا إذا كانت القيود متعلقة بالسلامة، لا بالميزة التنافسية.
ماذا ينبغي للمطورين أن يفعلوا الآن
بغض النظر عن رأيك في نهج Google، فالواقع العملي أن احتكاك التثبيت الجانبي يتزايد ومن غير المرجح أن ينخفض. إذا كنت توزع تطبيقاتك خارج متجر Play، فخطط لذلك.
- استخدم برنامج Play App Signing. قد تواجه التطبيقات الموقّعة عبر برنامج Google احتكاكًا أقل أثناء التحقق من التثبيت الجانبي، لأن Google تستطيع مطابقة التوقيع مع المفاتيح المعروفة.
- للتطوير، استخدم ADB. التطبيقات المثبتة عبر ADB تتجاوز انتظار 24 ساعة. تأكد من أن خطوط CI/CD وسير عمل الاختبار لديك تعتمد على ADB بدلًا من تثبيت ملفات APK مباشرة.
- فكّر في تطبيقات الويب التقدمية (PWA). بالنسبة للتطبيقات التي لا تحتاج تكاملًا عميقًا مع المنصة، تتجاوز تطبيقات PWA متجر التطبيقات وسؤال التثبيت الجانبي تمامًا. تُثبَّت من المتصفح، وتتحدث تلقائيًا، ولا تحتاج إلى أي صلاحيات خاصة للتثبيت.
- إذا كنت تدير متجرًا بديلًا، فطبّق فحصًا قويًا. المتاجر التي تُظهر ممارسات أمنية قوية قد تحصل في النهاية على استثناءات أو احتكاك أقل، فالبيئة التنظيمية تدفع في هذا الاتجاه.
- أبلغ المستخدمين بالتأخير مسبقًا. إذا كان توزيعك يعتمد على التثبيت الجانبي، فحذّر المستخدمين من انتظار 24 ساعة منذ البداية. التأخير المتوقع أقل إزعاجًا من تأخير مفاجئ.
كان انفتاح أندرويد دائمًا طيفًا وليس مطلقًا. كل إصدار حرّك هذا الطيف قليلًا نحو مزيد من التحكم، مبررًا بمخاوف أمنية حقيقية ومنتقدًا لتزامنه بدقة مع المصالح التجارية. تأخير التثبيت الجانبي البالغ 24 ساعة هو أحدث محطة في هذا المسار، وعلى الأرجح ليس الأخير. وما إذا كنت تراه حماية معقولة أم احتكاكًا مصطنعًا يعتمد إلى حد كبير على رأيك في موضع التوازن بين الأمان والحرية. لكن الواقع التقني واضح: لقد انتهت أيام التثبيت الجانبي الخالي من الاحتكاك على أندرويد، وعلى المطورين أن يكيّفوا استراتيجيات التوزيع وفقًا لذلك.