📚 استنادًا إلى الفصل الخامس عشر من كتاب: Operating Systems: Internals and Design Principles – William Stallings – الإصدار التاسع
🔗 بالربط مع: مقرر "أمن أنظمة التشغيل" ضمن مشروع Cybersecurity-Path
يُعد أمان أنظمة التشغيل تحديًا مستمرًا في ظل التطور السريع للتهديدات السيبرانية. فهم هذه التهديدات هو الخطوة الأولى نحو بناء أنظمة آمنة.
المخترق هو شخص (أو مجموعة من الأشخاص) يسعى للوصول غير المصرح به إلى نظام حاسوبي أو شبكة، عادةً لأغراض خبيثة مثل سرقة البيانات، التخريب، أو تعطيل الخدمات. يمكن تصنيف المخترقين بناءً على نواياهم وأخلاقياتهم:
مخترقون أخلاقيون يعملون بشكل قانوني لاختبار الأنظمة الأمنية واكتشاف الثغرات قبل أن يستغلها المخترقون السيئون. يُعرفون أيضًا بـ "مختبري الاختراق" (Penetration Testers).
مخترقون يهاجمون الأنظمة لأغراض خبيثة وغير قانونية، مثل سرقة المعلومات، نشر البرمجيات الضارة، أو تعطيل الخدمات. هدفهم هو الإضرار أو تحقيق مكاسب شخصية.
يتنقلون بين النوايا الحسنة والسيئة. قد يكتشفون الثغرات دون إذن، ثم يبلغون عنها للمنظمات (أحيانًا مقابل مكافأة)، أو قد يستغلونها بشكل محدود لإثبات نقطة معينة.
البرمجيات الخبيثة هي أي برنامج مصمم لإلحاق الضرر بالنظام، سرقة البيانات، أو تعطيل العمليات.
| النوع | الوصف | آلية العمل | مثال شهير |
|---|---|---|---|
| الفيروسات (Viruses) | برامج ضارة تلصق نفسها بملفات شرعية (مثل البرامج التنفيذية أو المستندات) وتُفعَّل عند تشغيل الملف المضيف. | تنتشر عن طريق إصابة الملفات، وتُنفذ حمولتها الخبيثة (Payload) عند تشغيل الملف المصاب. تحتاج إلى تدخل المستخدم لتنتشر. | ILoveYou, Melissa |
| الديدان (Worms) | برامج ضارة قائمة بذاتها تنتشر عبر الشبكة دون الحاجة لملف مضيف أو تدخل بشري. | تستغل الثغرات الأمنية في الشبكات أو الأنظمة لتنتشر ذاتيًا من جهاز لآخر، مما يستهلك موارد الشبكة ويُسبب بطئًا أو تعطيلاً. | WannaCry, Stuxnet |
| أحصنة طروادة (Trojans) | برامج تبدو شرعية ومفيدة (مثل لعبة أو أداة مساعدة) لكنها تحتوي على كود ضار مخفي. | تُخدع المستخدم لتثبيتها وتشغيلها، ثم تُنفذ وظيفتها الخبيثة في الخلفية (مثل فتح باب خلفي - Backdoor، سرقة معلومات، أو تثبيت برمجيات ضارة أخرى). | Fake Flash Player, NetBus |
| برامج الفدية (Ransomware) | برامج ضارة تقوم بتشفير بيانات المستخدم أو قفل الوصول إلى النظام، ثم تطلب فدية (عادةً بالعملات المشفرة) لفك التشفير أو استعادة الوصول. | تُصيب النظام، تُشفر الملفات الهامة، ثم تعرض رسالة فدية للمستخدم مع تعليمات الدفع. | CryptoLocker, Ryuk |
| الروتكيتات (Rootkits) | مجموعة من البرامج المصممة لإخفاء وجود البرمجيات الضارة الأخرى (أو المخترق نفسه) داخل النظام، ومنح المخترق تحكمًا كاملاً وغير مكتشف. | تُعدّل أجزاء من نواة نظام التشغيل (Kernel) أو مكتبات النظام لإخفاء العمليات، الملفات، أو اتصالات الشبكة الخاصة بالمخترق. يصعب اكتشافها وإزالتها. | ZeroAccess, TDSS |
| برامج التجسس (Spyware) | برامج تُجمع معلومات عن المستخدم (مثل عادات التصفح، كلمات المرور، معلومات شخصية) دون علمه أو موافقته. | تعمل في الخلفية، تُراقب نشاط المستخدم، وتُرسل البيانات المجمعة إلى طرف ثالث. | Keyloggers, Adware |
📘 للتوسع: CISA - أنواع البرمجيات الخبيثة
تُعد ثغرة تجاوز سعة الذاكرة المؤقتة (Buffer Overflow) واحدة من أقدم وأخطر الثغرات الأمنية في البرمجيات، ولا تزال تُستغل حتى اليوم.
هي ثغرة أمنية تحدث عندما يحاول برنامج كتابة بيانات في منطقة ذاكرة مؤقتة (تُسمى "Buffer" أو "مخزن مؤقت") بسعة محدودة، ولكن كمية البيانات المراد كتابتها تتجاوز السعة المخصصة لهذا المخزن. نتيجة لذلك، "تفيض" البيانات الزائدة وتنتقل إلى مناطق الذاكرة المجاورة غير المخصصة لها.
لنفترض أن لدينا برنامجًا بسيطًا بلغة C يحاول نسخ سلسلة نصية إلى مخزن مؤقت صغير:
#include <stdio.h>
#include <string.h>
int main() {
char buffer[10]; // مخزن مؤقت بسعة 10 بايت (لـ 9 أحرف + حرف النهاية '\0')
char input_string[] = "this string is too long for the buffer"; // سلسلة نصية أطول من السعة
printf("قبل النسخ: محتوى المخزن (قد يكون عشوائيًا): %s\n", buffer);
// استخدام strcpy() غير الآمنة
strcpy(buffer, input_string); // هنا يحدث تجاوز سعة الذاكرة!
printf("بعد النسخ: محتوى المخزن: %s\n", buffer);
// قد تظهر سلوكيات غير متوقعة هنا أو يتعطل البرنامج
return 0;
}
في هذا المثال، `buffer` يمكنه تخزين 9 أحرف بالإضافة إلى حرف النهاية `\0`. عندما نستخدم `strcpy()` لنسخ `input_string` (التي تحتوي على 36 حرفًا) إلى `buffer`، فإن البيانات الزائدة ستُكتب خارج حدود `buffer`، مما يؤدي إلى الكتابة فوق أجزاء أخرى من الذاكرة (مثل مؤشر الإرجاع - Return Address في الـ Stack)، وهذا ما يستغله المهاجمون.
📘 للتوسع: OWASP - Buffer Overflow
تُعد ضوابط التحكم بالوصول (Access Control) من الركائز الأساسية لأمان أنظمة التشغيل. تحدد هذه الضوابط من يمكنه الوصول إلى الموارد (مثل الملفات، المجلدات، الأجهزة، العمليات) وما هي الإجراءات التي يمكنه القيام بها (قراءة، كتابة، تنفيذ).
🔍 مثال عملي في Linux (chmod):
الأمر
chmod 640 report.txtيعني:
- الرقم الأول (
6): يمثل أذونات المالك (Owner) = قراءة (4) + كتابة (2) = 6.- الرقم الثاني (
4): يمثل أذونات المجموعة (Group) = قراءة (4).- الرقم الثالث (
0): يمثل أذونات الآخرين (Others) = لا شيء.لذا، هذا الأمر يمنح مالك الملف صلاحية القراءة والكتابة، ويمنح أعضاء المجموعة صلاحية القراءة فقط، ولا يمنح أي صلاحيات للآخرين.
📘 للتوسع: Access Control – GeeksforGeeks
تشديد النظام (System Hardening) هي عملية تقليل سطح الهجوم (Attack Surface) على النظام، بجعله أكثر صلابة ومقاومة ضد التهديدات الأمنية. الهدف هو إزالة أو تعطيل أي نقاط ضعف غير ضرورية يمكن للمهاجمين استغلالها.
أي برنامج أو خدمة غير مستخدمة تُعد نقطة ضعف محتملة. يجب إزالة أو تعطيل كل ما لا يلزم لتقليل فرص الاستغلال. على سبيل المثال، إذا لم يكن الخادم يستخدم خادم FTP، فيجب تعطيل أو إزالة خدمة FTP.
يجب تعطيل أو حذف حسابات المستخدمين التي لم تعد قيد الاستخدام. كما يجب تغيير كلمات المرور الافتراضية أو تعطيل الحسابات الافتراضية التي تأتي مع النظام (مثل حسابات "Guest" أو "Administrator" بكلمات مرور ضعيفة).
تكوين جدار الحماية للسماح فقط بحركة المرور الضرورية (Ports and Protocols) ومنع جميع الاتصالات الأخرى. يجب أن يكون هناك جدار حماية على مستوى المضيف (Host-based Firewall) وعلى مستوى الشبكة (Network Firewall).
هذه أدوات أمان إلزامية (Mandatory Access Control) تُمكن من فرض سياسات أمنية دقيقة على العمليات والملفات، حتى لو كان المستخدم يمتلك صلاحيات الجذر. تُقلل من تأثير الهجمات في حالة اختراق أحد التطبيقات.
ضمان أن نظام التشغيل والتطبيقات يتم تحديثها تلقائيًا بأحدث التصحيحات الأمنية لسد الثغرات المكتشفة حديثًا. هذا يقلل من نافذة التعرض (Window of Vulnerability).
مراقبة سجلات النظام (System Logs) وسجلات التطبيقات (Application Logs) بانتظام لاكتشاف أي أنشطة مشبوهة، مثل محاولات تسجيل الدخول الفاشلة المتكررة، أو الوصول إلى ملفات حساسة، أو تغييرات غير مصرح بها في التكوين.
فرض استخدام كلمات مرور معقدة وطويلة، وتغييرها بانتظام، وتفعيل المصادقة متعددة العوامل (Multi-Factor Authentication - MFA) حيثما أمكن.
إغلاق أي منافذ شبكة غير ضرورية وتعطيل الخدمات التي لا تُستخدم على النظام (مثل SSH إذا لم يكن ضروريًا، أو خدمات الطباعة إذا لم يكن الجهاز طابعة).
📘 مرجع: Microsoft Security Baselines
أمان النظام ليس عملية تتم لمرة واحدة، بل هو دورة مستمرة تتطلب يقظة وصيانة منتظمة لمواكبة التهديدات المتطورة.
التحقق من وجود تحديثات أمنية جديدة لنظام التشغيل والتطبيقات وتثبيتها فورًا. هذا يشمل تحديثات النواة، المكتبات، وبرامج التشغيل.
مراجعة سجلات النظام بانتظام للبحث عن أي مؤشرات على اختراق أو نشاط مشبوه. استخدام أدوات لمراقبة سلامة الملفات (File Integrity Monitoring - FIM) للكشف عن أي تغييرات غير مصرح بها في ملفات النظام الهامة.
توظيف مختبرين أمنيين (أو استخدام أدوات آلية) لمحاكاة هجمات حقيقية على النظام لاكتشاف الثغرات قبل أن يستغلها المهاجمون. هذا يساعد في تقييم مدى فعالية الضوابط الأمنية.
استخدام أدوات مثل Lynis (في Linux) أو Microsoft Baseline Security Analyzer (MBSA) (في Windows) لإجراء تدقيقات أمنية شاملة للنظام، والتحقق من التكوينات الأمنية، واكتشاف نقاط الضعف المحتملة.
📘 أداة: Lynis Security Auditing Tool: هي أداة تدقيق أمنية مفتوحة المصدر لـ Unix/Linux. تقوم بفحص النظام بحثًا عن معلومات التكوين، مشكلات الأمان، معلومات حول التصحيحات، أخطاء التكوين، وأكثر من ذلك. تُقدم توصيات لتحسين أمان النظام.
عملية مستمرة لتحديد، تقييم، معالجة، والإبلاغ عن الثغرات الأمنية في الأنظمة والتطبيقات.
ضمان أن جميع الأنظمة مُكونة وفقًا لمعايير أمنية محددة ومُوثقة، وأن أي تغييرات يتم تتبعها ومراجعتها.
تُقدم أنظمة تشغيل Windows مجموعة واسعة من الميزات والأدوات الأمنية المدمجة لمساعدة المستخدمين والمسؤولين على حماية أنظمتهم.
هو حل مكافحة البرمجيات الخبيثة المدمج في Windows. يوفر حماية في الوقت الحقيقي ضد الفيروسات، برامج التجسس، برامج الفدية، وغيرها من التهديدات. يتم تحديثه بانتظام من Microsoft.
ميزة تشفير القرص الكامل التي تُستخدم لحماية البيانات عن طريق تشفير محركات الأقراص بأكملها. إذا سُرق الجهاز، فلن يتمكن المخترقون من الوصول إلى البيانات المشفرة.
آلية أمان تُقلل من صلاحيات المستخدمين الافتراضية. عندما يحاول تطبيق إجراء تغييرات تتطلب صلاحيات إدارية، يطلب UAC من المستخدم تأكيدًا، حتى لو كان المستخدم الحالي يمتلك صلاحيات إدارية. هذا يمنع البرامج الضارة من إجراء تغييرات غير مصرح بها.
أداة قوية لإدارة وتطبيق السياسات الأمنية بشكل مركزي في بيئات الشبكة الكبيرة (مثل بيئات Active Directory). تسمح للمسؤولين بتكوين إعدادات الأمان، كلمات المرور، قيود البرامج، وغيرها عبر مئات أو آلاف الأجهزة.
جدار حماية مدمج يُراقب ويتحكم في حركة مرور الشبكة الواردة والصادرة، ويسمح للمسؤولين بتحديد القواعد للسماح أو حظر الاتصالات.
ميزة أمان تُساعد في حماية المستخدمين من مواقع الويب الضارة وعمليات تنزيل الملفات المشبوهة عن طريق فحصها مقابل قائمة من المواقع والملفات المعروفة بأنها خطيرة.
تُعرف أنظمة Unix وLinux بمرونتها وقوتها في الأمان، وتوفر مجموعة واسعة من الأدوات والميزات لتعزيز الحماية.
نظام قوي لإدارة الأذونات باستخدام الأوامر مثل chmod (لتغيير الأذونات)، chown (لتغيير المالك)، و umask (لتعيين الأذونات الافتراضية للملفات والمجلدات الجديدة). يتم تحديد الأذونات للمالك، المجموعة، والآخرين (Read, Write, Execute).
مثال عملي:
# تغيير أذونات ملف
chmod 755 script.sh # المالك: قراءة/كتابة/تنفيذ، المجموعة والآخرون: قراءة/تنفيذ
# تغيير مالك ومجموعة ملف
chown user1:group1 myfile.txt
# تعيين umask (يؤثر على الأذونات الافتراضية للملفات الجديدة)
umask 022 # الملفات الجديدة ستكون 644، المجلدات 755
هذه آليات أمان إلزامية (MAC) تُوفر طبقة إضافية من الحماية عن طريق تحديد ما يمكن للعمليات القيام به، حتى لو تم اختراقها.
يُستخدم الأمر sudo (superuser do) لمنح المستخدمين العاديين صلاحية تنفيذ أوامر معينة بصلاحيات المستخدم الجذر (root) أو مستخدم آخر، دون الحاجة لمعرفة كلمة مرور الجذر. هذا يُقلل من الحاجة لتسجيل الدخول كـ root مباشرة، مما يُحسن الأمان.
مثال عملي:
# إضافة مستخدم جديد
sudo adduser trainee
# إضافة المستخدم 'trainee' إلى مجموعة 'sudo' ليتمكن من استخدام sudo
sudo usermod -aG sudo trainee
تُستخدم أدوات مثل `iptables` أو `ufw` (Uncomplicated Firewall) لتكوين جدار حماية قوي على مستوى المضيف، والتحكم في حركة مرور الشبكة الواردة والصادرة.
نظام قوي لإدارة المستخدمين والمجموعات، مع القدرة على تعيين أذونات دقيقة للملفات والموارد بناءً على الانتماء للمجموعة.
باستخدام أدوات مثل LUKS (Linux Unified Key Setup) لتشفير الأقراص الكاملة وحماية البيانات المخزنة.
📘 دليل: Linux Security Hardening Guide
أمان أنظمة التشغيل ليس مجرد إضافة، بل هو عنصر جوهري في بنية أي نظام تقني حديث. في هذه الوحدة، قمنا بتحليل **التهديدات الأمنية الشائعة** التي تواجه أنظمة التشغيل، بدءًا من أنواع المخترقين وصولاً إلى **البرمجيات الخبيثة** المتنوعة مثل الفيروسات، الديدان، برامج الفدية، والروتكيتات، وفهمنا آلية عمل كل منها. تعمقنا في **ثغرة تجاوز سعة الذاكرة (Buffer Overflow)**، وهي ثغرة خطيرة يمكن أن تؤدي إلى تنفيذ كود خبيث، واستعرضنا طرقًا فعالة لمنعها. كما درسنا **نماذج التحكم في الوصول (Access Control Models)** مثل DAC, MAC, و RBAC، التي تُمكن من إدارة الصلاحيات بشكل فعال. ثم انتقلنا إلى **تشديد النظام (System Hardening)**، وهي عملية حيوية لتقليل سطح الهجوم من خلال إزالة المكونات غير الضرورية وتكوين الخدمات بشكل آمن. وأكدنا على أهمية **الصيانة الأمنية المستمرة** من خلال التحديثات، مراقبة السجلات، واختبار الاختراق الدوري. أخيرًا، قارنا بين **آليات الأمان** المطبقة في أنظمة Windows وUnix/Linux، مع تسليط الضوء على أدوات وميزات كل نظام. من خلال دمج المفاهيم النظرية بالتطبيقات العملية، تؤهل هذه الوحدة المتدرب لفهم عميق يُمكّنه من بناء وصيانة بيئات تشغيل آمنة وفعالة، وهو ما يرتبط بشكل مباشر بمقرر "أمن أنظمة التشغيل" ضمن مسار الأمن السيبراني.