ثغرة “اليوم صفر”، ما هي وما أوجه خطورتها؟
المجد- خاص
كثيراً ما تتداول الأخبار مصطلح ثغرة "اليوم صفر" zero-day exploit مقترناً بأخبار عن فيروسات عالية الخطورة تستغل هذه الثغرات، وفي الغالب فإن هذا المصطلح قد يكون ضبابياً وغير واضح للمستخدم العادي الذي يسمعه لأول مرة، فما هي ثغرات "اليوم صفر" وكيف يمكن أن تشكل خطراً علينا؟
ثغرات اليوم صفر أو (الساعة صفر) هي تصنيف تندرج تحته أي ثغرة حديثة الإكتشاف لم تكن معروفة من قبل، ولها عدة مصطلحات باللغة الإنجليزية مثل zero-day – zero-hour – day zero وجميعها تعني : خللاً برمجياً غير معروف سابقاً في أي تطبيق أو نظام حاسوبي. ووجه خطورة هذه الثغرات يكمن في كونها جديدة مما يعني أن أنظمة عديدة معرضة للهجوم عبر إستغلال هذه الثغرات وذلك حتى إصدار رقعة برمجية Patch لإغلاق هذه الثغرة.
ونعطيكم مثالاً لتقريب الفكرة، لو إفترضنا أن نظام ويندوز يعاني من خلل في برمجته يجعله يسمح بدخول المستخدمين الآخرين عليه عن بعد بإستخدام كود معين (وقد حدث ذلك فعلاً في ثغرات عديدة) فإن جهل العالم والمستخدمين بهذا الخلل يجعل جميع الأجهزة في العالم التي تشغل أنظمة مصابة عرضة للهجوم عليها في حال إكتشف الخلل أحد الهكرز وذلك حتى تقوم مايكروسوفت بإصدار التحديثات updates التي تصلح هذه العلة bug.
وقد كانت دائماً أخطر الفيروسات والهجمات تتم بإستخدام هذا النوع من الثغرات، فعلى سبيل المثال فإن فيروسات مثل ساسر وبلاستر قبل سنوات وغيرها تمت إعتماداً على ثغرات تمكن المستخدم من ولوج نظام ويندوز عن بعد بمجرد إرسال حزمة بيانات ملغومة إليه عبر الإنترنت أو الشبكة ودون أن يقوم المستخدم بأي عمل مثل تصفح موقع معين أو فتح ملف معين، ما عليه سوى شبك كابل الشبكة في الجهاز ليصاب الجهاز فورياً بالفيروس !
إذن وجه الخطورة في هذه الثغرات جهل العالم بوجودها، ومع ذلك فهناك دوماً ثغرات في جميع النظم والبرامج، هذه الثغرات يتم إغلاق ما تم معرفته منها بواسطة مطوري البرامج، لهذا يعتبر من التجاوزات الأمنية الكبيرة إستخدام برامج قديمة وغير محدثة حيث أنه في الغالب قد تكون قد ظهرت بعض ثغراتها وبحاجة للتحديث.
كيف تظهر الثغرات ؟
بداية هذه الثغرات لا يتم إختراعها، إنها أخطاء برمجية موجودة (ونادراً قد تكون مقصودة) تجعل البرامج المصابة بها عرضة للهجمات، حيث إن كل برنامج في الغالب يحتاج من مبرمجيه لكتابة آلاف الأسطر وربما عشرات الآلاف أو أكثر من أجل برمجته، وفي خضم هذا العمل الدؤوب فإن الأخطاء البشرية من المبرمجين تحدث مما يتسبب في ثغرات غير مرئية بسهولة في البداية، ورغم أن لتفاوت خبرات المبرمجين دوراً أيضاً في زيادة أو إنقاص عدد الثغرات، إلا أن الثغرات محتملة حتى في عمل أمهر المبرمجين، وكلما زاد تعقيد البرنامج كلما زادت إحتمالات الأخطاء والثغرات.
وما يحدث بعد إطلاق البرامج أن هناك عشرات الآلاف أو أكثر من المبرمجين والباحثين الأمنيين في طول العالم وعرضه يقومون طوال الوقت بتحليل البرمجيات المنتشرة في العالم في محاولات دؤوبة وعمل لا ينقطع بغية تسجيل أي إكتشاف من هذا القبيل بإسمهم، حيث أن من يمكنه إكتشاف ثغرة يمكنه أن يشتهر في عالم الأمن التقني بسرعة البرق ويجعل عروض العمل تنهمر عليه وكذلك المعامل البحثية التي يمكنها تحصيل هذه الإكتشافات يمكنها الحصول على عقود أمنية من الشركات الكبرى، وهناك العديد من المزايا الشخصية لمن يكتشف مثل هذه الثغرات.
وهنا تبرز إشكالية كبيرة!
يجدر بنا التنويه لقضية مهمة وهي أن عملية البحث عن ثغرات تصبح أسهل بكثير في حال توفر لدى الباحث الأمني الكود المصدري للبرنامج، حيث أن توفر الكود المصدري يعني الإلمام التام بآليات عمل البرنامج وبالتالي نقاط ضعفه، وبناء على هذه النقطة فإن البرامج مفتوحة المصدر (أي تلك التي يتوفر إمكانية الوصول إلى كودها المصدري من قبل مجتمع المستخدمين) تعد أعلى أماناً بكثير من تلك مغلقة المصدر (أي التي يتم حجب كودها المصدري البرمجي عن عامة الناس).
وذلك ببساطة لأن توفر الأكواد المصدرية بشكل علني يساعد الباحثين الأمنيين على سرعة إكتشاف الثغرات الموجودة وبالتالي نسبة الفضل لأنفسهم من جانب ومن جانب آخر حل المشكلة مبكراً، بعكس البرمجيات مغلقة المصدر والتي يصعب إكتشاف الثغرات بها سوى بالتخمين والتجريب دون الإطلاع على آليات العمل للتطبيقات، مما قد يجعل ثغرات خطيرة تعمر وقتاً طويلاً قبل إكتشافها من جانب، ومن جانب آخر يتيح ذلك للجهات المطلعة على الكود المصدري مثل بعض الحكومات إنتاج برامج إختراق خطيرة تتعامل مع الثغرات التي أمكن لباحثيها إكتشافها بسبب إطلاعهم على الكود المصدري للبرنامج.
إستغلال الثغرات والفترة الذهبية :
تتنوع آليات إستغلال هذه الثغرات بحسب التطبيقات والبرامج المصابة بها، ولكن إجمالاً فإن أفضل وقت إستغلال ممكن لهذه الثغرات يتم بين إكتشاف الثغرة من قبل شخص أو جهة وإصدار فيروسات تستغلها للإنتشار، وبين إكتشاف مطور البرنامج وجود الثغرة وإصدار ترقيع لها، وأما طرق إستغلال الثغرات فتتنوع بشكل كبير بحسب البرنامج أو التطبيق المصاب، فمنها ما يتم زرعه في صفحة ملغومة في حال كان التطبيق المصاب هو متصفح أو أحد إضافات المتصفح، ومنها ما يكون على شكل إشارات إلكترونية معينة يتم إرسالها إلى آيبي نظام معين مصاب بالثغرة مما يؤدي للولوج إليه عن بعد، ومنها ما قد يتم إرفاقه بملف وورد أو صورة أو غيرها من أنواع الملفات وكل ذلك بحسب التطبيق المصاب بالثغرة ونوع الثغرة المكتشفة.
حرب إلكترونية
فيروس ستكسنت ومن بعده دوكو اللذان يقول الخبراء إن مصدرهما واحد ثبت قيامهما بإستغلال ثغرات غير معروفة من قبل (أي ثغرات اليوم صفر) في الولوج لأنظمة الوندوز والتخفي هناك، ويقول المحلل المختص بالشئون التقنية لموقع المجد .. نحو وعي أمني أن توفر الكود المصدري لنظام الوندوز للحكومة الأمريكية والإسرائيلية قد يكون ساعد بشكل كبير مخترقين يعملون لصالح إحدى الحكومتين أو كلتيهما على كتابة فيروس خطير جداً يستغل نقاط ضعف سرية لدى نظام الوندوز، مما أدى لإيذاء برنامج إيران النووي في السابق.
وبينما يلج فيروس ستكسنت عن بعد إلى الأنظمة دون سابق إنذار فإن فيروس دوكو يمكن تلغيم ملفات نصية حقيقية (وورد) به بشكل غير مرئي بحيث يتم تفعيله فور فتح الملف مما يؤدي لإصابة الجهاز ومراقبته عن بعد دون أن يلاحظ المستخدم ذلك حيث يكمن الفيروس في نواة النظام مما يجعل إكتشافه صعباً جداً حتى على المختصين.
الحماية من ثغرات "اليوم صفر":
هناك إجراءات يمكن إتخاذها للحماية من ثغرات اليوم صفر، وهذه الإجراءات تمكن المختصين من تجاوز أزمة هذه الثغرات عبر الإحتياط الأمني المبكر من إحتمال وجود ثغرات الصفر هذه، مثل :
* إستخدام جدار ناري للتطبيقات التي تتعامل مع الإنترنت: فعلى سبيل المثال فقد قامت مايكروسوفت بإصدار جدار ناري إلزامي لجميع أنظمة الوندوز منذ إصدارها SP2 للويندوز إكس بي فصاعداً، وذلك بعد إكتشاف ثغرة خطيرة في نظام ويندوز تمكن المخترق من الولوج عن بعد لنظام الوندوز بمجرد معرفة رقم الآيبي، وقد إستغل فيروس ساسر وبلاستر ذلك أبشع إستغلال في الإنتشار في أنحاء العالم بسرعة البرق، ورغم خطورة الثغرة ولكن لو توفر للوندوز جدار ناري في وقتها لما أمكن إستغلال الثغرة.
* التشغيل بصلاحيات مقلصة: يسمح نظام صلاحيات المستخدمين بتشغيل التطبيقات بصلاحيات محدودة بحيث يعجز التطبيق المصاب حتى لو تعرض للإختراق بإحدى الثغرات عن إحداث أي تغيير أو ضرر على النظام بسبب عدم إمتلاكه صلاحية لذلك والتي تسمى Administrator Privileges.
* القوائم البيضاء والسوداء : القوائم البيضاء هي تلك القوائم بالمستخدمين أو التطبيقات أو أرقام الآيبي التي تتمتع بالثقة في التواصل مما يساهم بحجب الهجمات من الجهات الغير موثوقة ويوفر أريحية أكبر في العمل، وأما القوائم السوداء فهي قوائم بأرقام وأجهزة غير موثوقة وغالباً تكون قد صدرت منها هجمات سابقاً.
* الحماية ضد التصرف: دراسة سلوك البرمجيات الخبيثة وحجب أي برامج تتصرف مثلها ولو لم تكن على القائمة السوداء مسبقاً، على سبيل المثال : إنهاء وحجب أي برنامج يحاول إضافة نفسه لقائمة بدء التشغيل، أو يقوم بنسخ نفسه بشكل متكرر في مجلدات عديدة، أو يزرع ملفات بدء التشغيل Autorun على الأقراص المتصلة بالجهاز والقابلة للنقل، أو حجب أي رقم آيبي يحاول الإتصال بمنافذ متعددة في النظام، وتسمى هذه الطريقة IPS/IDS (Intrusion Detection System/Intrusion Prevention System).