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

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

أمان Linux

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

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

  • نموذج أذونات مستند إلى المستخدم
  • عزل العمليات
  • آلية قابلة للتوسّع لتوفير ميزة "التواصل بين العمليات" الآمنة
  • إمكانية إزالة الأجزاء غير الضرورية والمُحتمَلة أن تكون غير آمنة من kernel

بما أنّه نظام تشغيل متعدّد المستخدمين، فإنّ أحد أهداف الأمان الأساسية لقلب نظام التشغيل 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 يفرض قيودًا على عمليات مساحة المستخدم التي تعمل بصلاحيات الجذر. تمنع ميزة "التمهيد التحقق منه" أي مستخدم أو خدمة لديها أذونات root من تعديل نظام التشغيل نهائيًا.

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

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

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

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

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

تشفير مساحة التخزين

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

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

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

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

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

إدارة الجهاز

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

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