أمن النظام والنواة

على مستوى نظام التشغيل ، يوفر نظام Android الأساسي أمان Linux kernel ، بالإضافة إلى وسيلة اتصال آمن بين العمليات (IPC) لتمكين الاتصال الآمن بين التطبيقات التي تعمل في عمليات مختلفة. تضمن ميزات الأمان هذه على مستوى نظام التشغيل أنه حتى التعليمات البرمجية الأصلية مقيدة بواسطة Application Sandbox. سواء كان هذا الرمز ناتجًا عن سلوك التطبيق المضمن أو استغلال ثغرة في التطبيق ، فقد تم تصميم النظام لمنع التطبيق المارق من إلحاق الضرر بالتطبيقات الأخرى أو نظام Android أو الجهاز نفسه. راجع تكوين Kernel للتعرف على الإجراءات التي يمكنك اتخاذها لتقوية النواة على أجهزتك. راجع مستند تعريف توافق Android (CDD) للإعدادات المطلوبة.

أمان Linux

أساس نظام Android الأساسي هو Linux kernel. تم استخدام نواة Linux على نطاق واسع لسنوات ، ويتم استخدامها في ملايين البيئات الحساسة للأمان. من خلال تاريخه في البحث والهجوم والإصلاح المستمر من قبل الآلاف من المطورين ، أصبح Linux نواة مستقرة وآمنة موثوق بها من قبل العديد من الشركات ومحترفي الأمن.

كقاعدة لبيئة الحوسبة المتنقلة ، توفر Linux kernel لنظام Android العديد من ميزات الأمان الرئيسية ، بما في ذلك:

  • نموذج أذونات المستخدم
  • عزل العملية
  • آلية قابلة للتوسيع لـ IPC الآمن
  • القدرة على إزالة الأجزاء غير الضرورية والتي من المحتمل أن تكون غير آمنة من النواة

كنظام تشغيل متعدد المستخدمين ، فإن الهدف الأمني ​​الأساسي لنواة Linux هو عزل موارد المستخدم عن بعضها البعض. تتمثل فلسفة أمان Linux في حماية موارد المستخدم من بعضها البعض ، مثل Linux:

  • يمنع المستخدم "أ" من قراءة ملفات المستخدم "ب"
  • يضمن أن المستخدم "أ" لا يستنفد ذاكرة المستخدم "ب"
  • يضمن أن المستخدم أ لا يستنفد موارد وحدة المعالجة المركزية للمستخدم ب
  • يضمن أن المستخدم "أ" لا يستنفد أجهزة المستخدم "ب" (على سبيل المثال ، الاتصالات الهاتفية ونظام تحديد المواقع العالمي (GPS) والبلوتوث)

وضع الحماية للتطبيق

يتم فرض أمان تطبيقات Android من خلال وضع الحماية للتطبيق ، والذي يعزل التطبيقات عن بعضها البعض ويحمي التطبيقات والنظام من التطبيقات الضارة. لمزيد من التفاصيل ، راجع Application Sandbox .

قسم النظام والوضع الآمن

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

أذونات نظام الملفات

في بيئة نمط UNIX ، تضمن أذونات نظام الملفات عدم قدرة مستخدم واحد على تغيير أو قراءة ملفات مستخدم آخر. في حالة Android ، يتم تشغيل كل تطبيق كمستخدم خاص به. ما لم يشارك المطور الملفات بشكل صريح مع تطبيقات أخرى ، لا يمكن قراءة الملفات التي تم إنشاؤها بواسطة تطبيق أو تغييرها بواسطة تطبيق آخر.

لينكس المحسن للأمان

يستخدم Android نظام Linux المحسن للأمان (SELinux) لتطبيق سياسات التحكم في الوصول وإنشاء التحكم الإلزامي في الوصول (mac) على العمليات. راجع Linux المحسّن للأمان في Android للحصول على التفاصيل.

تم التحقق من التمهيد

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

التشفير

يوفر Android مجموعة من واجهات برمجة التطبيقات المشفرة لتستخدمها التطبيقات. يتضمن ذلك تطبيقات أساسيات التشفير القياسية والمستخدمة بشكل شائع مثل AES و RSA و DSA و SHA. بالإضافة إلى ذلك ، يتم توفير واجهات برمجة التطبيقات لبروتوكولات المستوى الأعلى مثل SSL و HTTPS.

قدم Android 4.0 فئة KeyChain للسماح للتطبيقات باستخدام تخزين بيانات اعتماد النظام للمفاتيح الخاصة وسلاسل الشهادات.

تجذير الأجهزة

بشكل افتراضي ، في نظام التشغيل Android ، يتم تشغيل النواة ومجموعة فرعية صغيرة من الخدمات الأساسية فقط بأذونات الجذر. لا يزال SELinux يقيد عمليات مساحة المستخدم التي تعمل كجذر. التمهيد الذي تم التحقق منه يمنع المستخدم أو الخدمة التي لديها أذونات الجذر من تعديل نظام التشغيل بشكل دائم.

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

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

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

يتمثل النهج الأكثر قوة لحماية البيانات من المستخدمين الجذر في استخدام حلول الأجهزة. قد تختار الشركات المصنعة للمعدات الأصلية تنفيذ حلول الأجهزة التي تحد من الوصول إلى أنواع معينة من المحتوى مثل DRM لتشغيل الفيديو ، أو التخزين الموثوق به المتعلق بـ NFC لمحفظة Google. في حالة فقدان الجهاز أو سرقته ، يضمن تشفير التخزين عدم إمكانية الوصول إلى بيانات المستخدم دون معرفة بيانات اعتماد قفل الشاشة الخاصة بالمستخدم.

ميزات أمان المستخدم

تشفير التخزين

يتطلب CDD أن تعمل جميع الأجهزة التي تعمل بنظام Android 10 أو أعلى ، ومعظم الأجهزة التي تعمل بنظام Android 6.0 أو أعلى ، على تمكين تشفير التخزين خارج الصندوق.

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

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

حماية بيانات الاعتماد لشاشة القفل

يمكن تكوين Android للتحقق من بيانات اعتماد شاشة القفل التي يوفرها المستخدم (رقم التعريف الشخصي أو كلمة المرور أو النمط) قبل توفير الوصول إلى الجهاز. بالإضافة إلى منع الاستخدام غير المصرح به للجهاز ، تحمي بيانات اعتماد قفل الشاشة مفتاح التشفير للبيانات المشفرة ببيانات الاعتماد. يمكن أن يطلب مسؤول الجهاز استخدام بيانات اعتماد قفل الشاشة و / أو قواعد تعقيد بيانات الاعتماد.

إدارة الجهاز

يوفر Android 2.2 والإصدارات الأحدث واجهة برمجة تطبيقات إدارة جهاز Android ، والتي توفر ميزات إدارة الجهاز على مستوى النظام. على سبيل المثال ، يستخدم تطبيق Android Email المدمج واجهات برمجة التطبيقات لتحسين دعم Exchange. من خلال تطبيق البريد الإلكتروني ، يمكن لمسؤولي Exchange فرض سياسات بيانات اعتماد قفل الشاشة - بما في ذلك كلمات المرور الأبجدية الرقمية أو أرقام التعريف الشخصية الرقمية - عبر الأجهزة. يمكن للمسؤولين أيضًا مسح الهواتف المحمولة المفقودة أو المسروقة (أي استعادة إعدادات المصنع الافتراضية) عن بُعد.

بالإضافة إلى استخدامها في التطبيقات المضمنة مع نظام Android ، فإن واجهات برمجة التطبيقات هذه متاحة لموفري حلول إدارة الأجهزة من الجهات الخارجية. يتم توفير تفاصيل حول API في إدارة الأجهزة .