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

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

أمن لينكس

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

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

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

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

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

رمل التطبيق

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

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

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

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

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

نظام Linux المعزز بالأمان

يستخدم 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 تثبيت نظام تشغيل جديد يوفر امتيازات الجذر للمستخدم. لحماية أي بيانات مستخدم حالية من الاختراق، تتطلب آلية إلغاء قفل أداة تحميل التشغيل أن تقوم أداة تحميل التشغيل بمسح أي بيانات مستخدم موجودة كجزء من خطوة إلغاء القفل. يمكن للوصول إلى الجذر الذي يتم الحصول عليه من خلال استغلال خطأ في kernel أو ثغرة أمنية تجاوز هذه الحماية.

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

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

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

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

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

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

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

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

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

إدارة الجهاز

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

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