أمن المعلومات · الفصل 7

مبادئ تصميم الأمن
النماذج والقدرات

دليل دراسة مرئي شامل لمبادئ البنية الأمنية، نماذج الأمن، وتقنيات CIA.

🔐

مبادئ البنية الأمنية

9 قواعد أساسية لتصميم أنظمة آمنة

ما هي البنية الأمنية؟

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

المبدأ #1

🏗️ الأمن بالتصميم

يجب أن تؤخذ المتطلبات الأمنية في الاعتبار من بداية التطوير - وليس كفكرة لاحقة. بناء الأمن مبكرًا يوفر الوقت والمال والجهد.

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

✂️ البساطة

قلل التعقيد في الضوابط الأمنية. الأنظمة الأبسط بها أخطاء أقل، وأسهل في الإدارة، ويتم حل المشكلات الأمنية بشكل أسرع.

💡 نصيحة كلما كان النظام أكثر تعقيدًا، زادت احتمالية الأخطاء في التكوين. اختر ضوابط بسيطة ومفهومة بدلاً من المعقدة.
📌 مثال استخدام حل MFA واحد عبر جميع الأنظمة أبسط من خمس طرق مصادقة مختلفة - وأسهل في المراجعة.
المبدأ #3

🧅 الدفاع في العمق

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

📌 مثال واقعي شبكة مؤسسة تستخدم: جدار ناري محيطي → نظام كشف التسلل → تجزئة الشبكة → أمن نقاط النهاية → تشفير. إذا تم تجاوز جدار الحماية، لا تزال طبقات IDS والأخرى تمنع المهاجم.
📝 ركز في الاختبار "الأمن متعدد الطبقات" = الدفاع في العمق. ابحث عن إجابات تذكر ضوابط متعددة تعمل معًا.
المبدأ #4

🔑 أقل صلاحية

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

📌 مثال مسؤول قاعدة بيانات يجب أن يصل فقط إلى قواعد البيانات المخصصة له - وليس خوادم التطبيقات أو ملفات الموارد البشرية غير المرتبطة بدوره. مستخدم للقراءة فقط لا يجب أن يكون لديه صلاحيات كتابة أو حذف.
📝 ركز في الاختبار أقل صلاحية هو المبدأ الأكثر اختبارًا. أي سيناريو عن "إعطاء الحد الأدنى من الوصول" ينطبق هنا.
المبدأ #5

🚫 الرفض الافتراضي

الإعداد الافتراضي هو رفض كل الوصول. يجب منح الوصول صراحةً من خلال التكوين. لا شيء مسموح به ما لم يُصرح به على وجه التحديد.

💡 نصيحة فكر في حارس أمن في نادٍ: لا تدخل ما لم يكن اسمك على القائمة. القائمة فارغة افتراضيًا.
📝 ركز في الاختبار يُسمى أيضًا "الرفض الضمني" في سياقات جدران الحماية وقوائم ACL. إذا لم تطابق أي قاعدة، يتم رفض الوصول.
المبدأ #6

🔒 الفشل الآمن

عند فشل النظام، يجب أن يفشل في حالة آمنة - تمنع الوصول لحماية سلامة البيانات، حتى لو تسبب ذلك في رفض الخدمة.

الوضعالنتيجةالخطر
فشل آمنالوصول محظوررفض الخدمة
فشل آمن (بديل)التحكم معطلوصول غير مشروع
📝 ركز في الاختبار الفشل الآمن = أولوية الأمن (يمنع الوصول). الفشل الآمن (البديل) = أولوية التوفر (يسمح بالوصول). اختبارات الأمن تفضل الفشل الآمن.
المبدأ #7

👥 الفصل بين الواجبات

لا يوجد شخص واحد لديه سيطرة كاملة على معاملة بأكملها. يتم تقسيم المهام أو تظليلها بين عدة أشخاص لمنع الاحتيال.

تظليل المهام تقسيم المهام
📌 مثال في البنك: الشخص أ يبدأ تحويلًا مصرفيًا، الشخص ب يجب أن يأذن به. الاحتيال يتطلب تواطؤ شخصين.
📝 ركز في الاختبار الفصل بين الواجبات يمنع أي موظف منفرد من ارتكاب وإخفاء الاحتيال. إنه أيضًا تحكم رئيسي ضد التهديدات الداخلية.
المبدأ #8

🌐 لا تثق في الأنظمة الخارجية

الأنظمة الخارجية ليست تحت سيطرة مؤسستك. تعامل معها على أنها غير آمنة افتراضيًا حتى يتم تأسيس الثقة صراحةً من خلال التحقق.

💡 نصيحة دائمًا تحقق، عقم، وصادق البيانات من واجهات برمجة التطبيقات الخارجية، شبكات الشركاء، وخدمات الطرف الثالث - لا تفترض أبدًا أنها آمنة.
📌 مثال مستشفى يتلقى بيانات مرضى من عيادة خارجية يجب أن يشفر الاتصال ويحقق من البيانات قبل استيرادها إلى أنظمتهم.
المبدأ #9

🛡️ الثقة المعدومة (Zero Trust)

لا يُثق بأي فاعل، نظام، أو خدمة - داخل أو خارج الشبكة - افتراضيًا. يجب التحقق من كل تفاعل قبل منح الوصول.

📌 مثال موظف داخل المكتب الرئيسي لا يزال بحاجة إلى MFA + التحقق من الجهاز للوصول إلى نظام ملفات الشركة. التواجد على الشبكة الداخلية ليس كافيًا.
📝 ركز في الاختبار الثقة المعدومة هي تطور "لا تثق في الأنظمة الخارجية" - ممتدة إلى الأنظمة الداخلية أيضًا. العبارة الرئيسية: "لا تثق أبدًا، تحقق دائمًا."

⏳ الأمن هو عملية - وليس منتجًا

كل نظام به ثغرات. الهدف هو الضمان، وليس الكمال. الأنظمة، المتطلبات، وسياقات التهديد تتغير بمرور الوقت. الأنظمة الآمنة تحتاج إلى صيانة مستمرة:

التحقق من المستخدمين المنتهية صلاحياتهم تحديث توقيعات مكافحة الفيروسات تصحيح الثغرات الأمنية اختبار جدران الحماية بانتظام مراجعة ضوابط الوصول
⚠️

عيوب البنية الأمنية الشائعة

أنواع الهجمات التي تستغل نقاط الضعف في التصميم والبرمجة

📡 القنوات الخفية (Covert Channels)

القناة الخفية هي تقنية هجوم تستخدم لـ نقل المعلومات بطريقة سرية، غير مصرح بها، أو غير مشروعة. يمكن استخدامها لاستخراج معلومات من - أو زرع معلومات في - مؤسسة دون اكتشاف.

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

🪤 خطاف الصيانة (باب خلفي)

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

📝 ركز في الاختبار إذا وصف سيناريو وصول مخفي للمطورين يتجاوز الفحوصات العادية → خطاف صيانة / باب خلفي.

🧂 هجوم السلامي (التجميعي)

هجمات صغيرة لا تُكتشف بشكل فردي، لكنها تتراكم لتشكل هجومًا كبيرًا. يُسمى أيضًا الهجوم التدريجي.

📌 مثال موظف بنك يُقرّب كل معاملة إلى أقرب قرش ويحول هذه الكسور إلى حسابه. كل معاملة لا تُذكر؛ عبر الملايين تصبح هائلة.

✏️ تلاعب بالبيانات (Data Diddling)

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

📌 مثال موظف رواتب يغير ساعات عمل موظف من 40 إلى 400 قبل إرسال جدول الوقت إلى نظام الرواتب.

👑 برامج مميزة (Privileged Programs)

برامج يمكنها منح المستخدمين صلاحيات إضافية تتجاوز ما تم تعيينه لهم أصلاً - مما يخلق مسارًا لهجمات تصعيد الصلاحيات.

📝 ركز في الاختبار البرامج المميزة تنتهك مبدأ أقل صلاحية. المهاجم الذي يستغل أحدها يمكنه الحصول على وصول مرتفع عبر النظام.

🛠️ كيف تحمي نفسك من هذه العيوب

الاسترداد الموثوق
آليات لضمان أن حالات الفشل لا تعرض التشغيل الآمن للخطر. يعود النظام إلى حالة آمنة معروفة بعد الفشل.
التحقق من المدخلات
التحقق وتنقية جميع المدخلات قبل معالجتها يمنع التلاعب بالبيانات، هجمات الحقن، والتلاعب بالمعاملات.
🛡️

تقنيات CIA

ضمان السرية، السلامة، والتوفر

ثالوث CIA في تصميم البرمجيات

يستخدم مصممو البرمجيات تقنيات لضمان أن البرامج تفعل فقط ما هو مطلوب ولا شيء أكثر. عندما تفشل الضوابط: البرامج المتأثرة تهدد السرية → تغييرات غير متوقعة في البيانات تكسر السلامة → تلف البيانات يسبب فقدان التوفر.

🔒 الحصر (Confinement) السرية

حصر العمليات يقيد العملية لتقرأ وتكتب فقط مواقع وموارد ذاكرة محددة. يُستخدم في أنظمة التشغيل لعزل العمليات وحماية الذاكرة.

📌 مثال - العزل (Sandboxing) برنامج Sandboxie يشغل البرامج في بيئة معزولة بحيث لا يمكن لأي تغييرات أو برمجيات خبيثة التأثير على النظام المضيف أو البرامج الأخرى. متصفحات الويب تستخدم العزل لعزل التبويبات عن بعضها وعن نظام التشغيل.
💡 نصيحة الحصر = المفهوم. العزل = تطبيق شائع للحصر.

🔬 عزل العمليات السلامة

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

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

📝 ركز في الاختبار عزل العمليات هو آلية نظام التشغيل التي تمنع عملية مخترقة من قراءة بيانات حساسة لعملية أخرى (مثل كلمات المرور في الذاكرة).

⭕ الحدود (مستويات الصلاحية) التحكم بالوصول

كل عملية تعمل على النظام تُعطى مستوى صلاحية يخبر نظام التشغيل بما يُسمح للعملية بفعله. نموذج الحلقات يحدد مستويات الصلاحية:

الحلقة 0 - أعلى صلاحية النواة (Kernel) - وصول مباشر للعتاد
الحلقتان 1 و 2 برامج تشغيل الأجهزة - إدارة العتاد
الحلقة 3 - أقل صلاحية التطبيقات - برامج المستخدم
📝 ركز في الاختبار أكثر مستويي صلاحية يتم اختبارهما هما وضع المستخدم (الحلقة 3) ووضع النواة (الحلقة 0). وضع النواة = وصول كامل. وضع المستخدم = وصول مقيد.
🗂️

نظرة عامة على نماذج الأمن

أطر لتحديد وتنفيذ السياسات الأمنية

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

قاعدة الحوسبة الموثوقة (TCB)
نموذج آلة الحالة
نموذج تدفق المعلومات
نموذج عدم التداخل
نموذج Take-Grant
مصفوفة التحكم بالوصول
نموذج Bell-LaPadula ⭐
نموذج Biba ⭐
نموذج Clark-Wilson
Brewer & Nash (الجدار الصيني)
نموذج Goguen-Meseguer
نموذج Sutherland
نموذج Graham-Denning
💡 نصيحة للدراسة ركز تحضيرك للاختبار على: Bell-LaPadula (السرية)، Biba (السلامة)، مصفوفة التحكم بالوصول، و Take-Grant. هذه تظهر بشكل متكرر.
⚖️

Bell-LaPadula مقابل Biba

النموذجان الأكثر اختبارًا

🔵 نموذج Bell-LaPadula السرية

مصمم لحماية السرية في أنظمة التصنيف العسكرية. يستخدم ترتيبًا خطيًا للمستويات الأمنية.

المستوىالموضوعالكائن
سري جدًاتماراملفات الموظفين
سريصموئيلملفات البريد الإلكتروني
سري (محدود)كليرسجلات النشاط
غير مصنفأليسقوائم الهاتف
قاعدتان أساسيتان لا تقرأ أعلى - لا يمكن لموضوع قراءة كائنات بمستوى أعلى من تصنيفه.

لا تكتب أسفل - لا يمكن لموضوع كتابة بيانات إلى مستوى تصنيف أدنى (يمنع تسريب الأسرار).
📌 أمثلة ✅ تمارا (سري جدًا) يمكنها قراءة جميع الملفات.
❌ كلير (سري محدود) لا يمكنها قراءة ملفات الموظفين أو البريد الإلكتروني.
✅ أليس (غير مصنف) يمكنها فقط قراءة قوائم الهاتف.
📝 ركز في الاختبار Bell-LaPadula = السرية. "لا تقرأ أعلى، لا تكتب أسفل." التصنيفات العسكرية. تذكر: لا يحمي السلامة.

🟢 نموذج Biba السلامة

مصمم لحماية سلامة البيانات. الفلسفة المعاكسة لـ Bell-LaPadula - تركز على منع تلوث البيانات عالية السلامة.

قاعدتان أساسيتان لا تكتب أعلى - لا يمكن لموضوع الكتابة إلى مستوى سلامة أعلى من مستواه (لا يمكنه تلويث البيانات الموثوقة).

لا تقرأ أسفل - لا يمكن لموضوع القراءة من مستوى سلامة أدنى (يمنع التلوث ببيانات غير موثوقة).
📌 مثال محلل بمستوى سري لا يمكنه كتابة تغييرات على وثائق سرية جدًا (لا تكتب أعلى). أيضًا لا يمكنه قراءة مصادر إنترنت غير مصنفة ودمجها في تقارير سرية (لا تقرأ أسفل - خطر تلوث البيانات).
📝 ركز في الاختبار Biba = السلامة. "لا تكتب أعلى، لا تقرأ أسفل." إنه عكس اتجاه القراءة لـ Bell-LaPadula. Biba لا يحمي السرية.
الخاصيةBell-LaPadulaBiba
الهدفالسريةالسلامة
لا تقرألا تقرأ أعلى (لا تقرأ فوق مستواك)لا تقرأ أسفل (لا تقرأ تحت مستواك)
لا تكتبلا تكتب أسفل (لا تكتب تحت مستواك)لا تكتب أعلى (لا تكتب فوق مستواك)
حالة الاستخدامالتصنيف العسكري/الحكوميأنظمة السلامة المالية/قواعد البيانات
القيدلا يعالج السلامةلا يعالج السرية
📝 حيلة للحفظ Bell-LaPadula: فكر في جاسوس - الجواسيس لا يمكنهم قراءة ملفات فوق مستوى تصريحهم (لا تقرأ أعلى) ولا يمكنهم كتابة أسرار لمستويات أدنى (لا تكتب أسفل) لمنع التسريبات.

Biba: فكر في طاهٍ - لن يقرأ وصفة من طباخ أقل خبرة (لا تقرأ أسفل = لا تلوث) ولا يمكنه إعادة كتابة كتاب وصفات رئيس الطهاة (لا تكتب أعلى = لا فساد).
📊

مصفوفة التحكم بالوصول

رسم الخرائط بين الفاعلين، الكائنات، وحقوق الوصول

مصفوفة التحكم بالوصول هي جدول يربط الفاعلين (المستخدمين) بـ الكائنات (الموارد) و الحقوق التي يملكها كل فاعل على كل كائن.

الأعمدة ← قوائم ACL (مرتبطة بالكائنات) الصفوف ← قوائم الصلاحيات (مرتبطة بالفاعلين)
الفاعل \ الكائن ملف 1ملف 2ملف 3ملف 4 حساب 1حساب 2
جون ملكية، قراءة، كتابة - ملكية، قراءة، كتابة - استعلام، إيداع -
أليس قراءةملكية، قراءة، كتابةكتابةقراءة استعلام، سحباستعلام، إيداع
بوب قراءة، كتابةقراءة - ملكية، قراءة، كتابة - استعلام، سحب
📌 قراءة المصفوفة إذا نظرت إلى عمود "ملف 1" (قائمة ACL): جون (ملكية،قراءة،كتابة)، أليس (قراءة)، بوب (قراءة،كتابة) - هؤلاء هم جميع الفاعلين الذين لديهم وصول للملف 1.

إذا نظرت إلى صف "أليس" (قائمة صلاحياتها): ملف 1 (قراءة)، ملف 2 (ملكية،قراءة،كتابة)، ملف 3 (كتابة)، ملف 4 (قراءة)، حساب 1 (استعلام، سحب)، حساب 2 (استعلام، إيداع) - هذه كل الأشياء التي يمكن لأليس فعلها.
📝 ركز في الاختبار ACL = عرض لكل كائن (من يمكنه الوصول لهذا الملف؟). قائمة الصلاحيات = عرض لكل فاعل (ما الذي يمكن لهذا المستخدم الوصول إليه؟). كلاهما يأتي من نفس المصفوفة - فقط يُقرأ في اتجاهات مختلفة.
🔄

نموذج Take-Grant

تتبع كيفية انتشار الحقوق عبر النظام

نموذج Take-Grant يحدد كيف يمكن تمرير الحقوق بين الفاعلين. يُستخدم لتحديد متى يمكن أن تتغير الحقوق وأين يحدث تسريب الصلاحيات.

القاعدةالوصفالترميز
قاعدة الأخذ (Take) تسمح لفاعل بأخذ حقوق على كائن من فاعل آخر "x يأخذ (α إلى z) من y"
قاعدة المنح (Grant) تسمح لفاعل بمنح حقوق على كائن لفاعل آخر "x يمنح (α إلى z) إلى y"
قاعدة الإنشاء (Create) تسمح لفاعل بإنشاء حقوق جديدة "x-ينشئ-(α-إلى)-{فاعل/كائن}-جديد-n"
قاعدة الإزالة (Remove) تسمح لفاعل بإزالة حقوق يملكها "x يزيل (α إلى) y"
💡 نقطة رئيسية نموذج Take-Grant يسمح لمحللي الأمن بتحديد متى يمكن أن تتغير الحقوق في النظام وتحديد أين قد يحدث تسريب للصلاحيات - أي كيف يمكن لطرف غير مصرح له الحصول على حقوق وصول من خلال سلسلة من عمليات المنح والأخذ.
📌 مثال على التسريب أليس تمنح بوب حق "القراءة" على الملف X. ثم يأخذ بوب هذا الحق ويمنحه لتشارلي (الذي لم يكن مصرحًا له). من خلال سلسلة من عمليات Take-Grant، تشارلي الآن لديه وصول غير مصرح به - هذا هو تسريب الصلاحيات.
📝 ركز في الاختبار Take-Grant يتعلق بتتبع انتشار الصلاحيات. أسئلة الاختبار قد تطلب منك متابعة سلسلة من القواعد لتحديد ما إذا كان يمكن لفاعل الحصول على وصول لمورد لم يكن مصرحًا له به أصلاً.