الثلاثاء، سبتمبر 13، 2011

الدودة الحاسوبية

 كثيراً من المستخدمين، يحملون أفكار سلبية عن الدودة الحاسوبية. ويرجع هذا بسبب كمية التخريب، والخسائر الهائلة التي أصابت قطاع واسع من مستخدمين الإنترنت (سواء حكومات، أو شركات، أو مستخدمين) نتيجة هجمات واختراقات قامت بها ديدان تحمل صفات تخريبية. لكن ماذا لو حاولنا استخدام هذه البرمجيات – التي تتمتع بخصائص متميزة – في حماية الشبكات، بدل تدميرها. في هذا المقال، نلقي الضوء على الدودة الحاسوبية، ونبحث إمكانية تجنيدها لمهام حماية المعلومات، والشبكات. ونقدم في هذا الإطار دودة حاسوبية دفاعية تحمل اسم موجة البحر لحماية شبكات الشركات.
نظراً لتاريخها المليء بالاختراق، والتخريب، وتكبيد الخسائر الاقتصادية في القطاعات المعلوماتية، يُنظر – بشكل عام – للدودة الحاسوبية بأنها برمجيات سيئة السمعة، ومؤذية. وأصبح هذا الحكم الإستباقي ملازماً لهذا النوع من البرمجيات لسنين عدة؛ رغم أن أول دودة حاسوبية موثقة (في نهاية السبعينات)، كانت قد اُستخدمت لمهام مفيدة [١١]. ولكن لو استطعنا التخلص من الانطباعات الغير محايدة، وأعدنا النظر من جديد للدودة الحاسوبية، وإمكانياتها، وخصائصها، فقد نستطيع توظيفها لحماية المعلومات، والحفاظ عليها. فلو تأملنا بعض ميزاتها مثل ١:
• القدرة على التواصل مع الأجهزة الشبكية من مسافة قريبة.
• اكتشاف الأجهزة الشبكية المتقطعة الاتصال (مثل الأجهزة المتنقلة، أو الأجهزة التي تستخدم أنظمة تشغيل متعددة.(
• اكتشاف مكونات الشبكة خلال عملية الانتشار.
• توزيع عبء العمل على أكثر من جهاز شبكي.
عندها ربما سنستطيع تكوين تصور أشمل، وأدق، لهذا النوع من البرمجيات.
2 الدودة الحاسوبية
تتعدد التعريفات للدودة الحاسوبية في البحوث العلمية، لكن معظم هذه التعريفات توحي بعدائية هذا النوع من البرمجيات، ربما للأسباب المذكورة في قسم ١. ولكنها في مجملها تتمحور حول خاصيتين[١٣]: ذاتية الدفع، والاستنساخ. ذاتية الدفع حيث أنها لا تحتاج لتدخلات خارجية تحركها، وتنتقل من جهاز شبكي إلى آخر عن طريق نسخ نفسها. لكن هناك خصائص أخرى مثل كونها برنامج قائم بنفسه، وأنها تستخدم الشبكة للانتشار. ولعل تعريف المعهد الوطني للمقاييس والتكنولوجيا (في الولايات المتحدة الأمريكية) للدودة الحاسوبية، أجدر بالاستخدام لكونه يصف الدودة اعتماداً على خصائصها الوظيفية بتجرد من الأحكام الإستباقية ١٠:
الدودة الحاسوبية: برنامج مستقل بذاته؛ ذاتي الدفع، والاستنساخ، ويستخدم آليات الشبكة لنشر نفسه.
يجب أن ننوه هنا، أن الدودة الحاسوبية تأخذ من الفيروس الحاسوبي خاصية ذاتية النسخ، وتبني عليها، حتى تبدوا كأنها فيروس ذو صفات متقدمة (إن لم تكن فعلاً كذلك ١٢
3 الدودة الحاسوبية الخبيثة
التعريفات التي توحي بعدائية الدودة الحاسوبية، وأنها تخريبية، كفيلة بوصف الدودة الخبيثة. لكن هناك إشكالية في تحديد ما هو تخريبي وما هو إصلاحي، فكما يقول الشاعر العربي:
بذا قضت الأيام ما بين أهلها * مصائب قوم عند قوم فوائد
فمثلاً الدودة الحاسوبية ستكسنت ، استهدفت برمجيات صناعية – كالتي تُستخدم في مفاعل إيران النووي – لتقويضها، فهي دودة قد تكون مفيدة لجهة قامت بإطلاقها، لكن في نفس الوقت خبيثة من وجهة نظر جهة تضررت منها. وهناك من أطلق دودة حاسوبية – ادعى أنها دفاعية – للتصدي لدودة خبيثة، لكن أتت بنتائج عكسية، مثال على ذلك دودة ويلتشيا . ولذلك يبدوا أن القانون هو الفاصل في تحديد طبيعة الدودة الإلكترونية، وعليه نعرف الدودة الحاسوبية الخبيثة:الدودة الحاسوبية الخبيثة: برنامج شبكي مستقل بذاته؛ ذاتي الدفع، والاستنساخ، عند إطلاقه يخالف قانون صادر من هيئة تشريعية.
وإن كانت الدودة مسالمة، كأن لم تتسبب في أضرار ملموسة، مثلاً لم تؤذي الحواسيب، ولا حتى الشبكة، فبمجرد قيامها بانتهاك خصوصية المستخدم باختراقها جهازه، تصبح قد خالفت قانون الخصوصية، وعليه تُصنف على أنها دودة حاسوبية خبيثة. وعادتاً ما تتصف الديدان الخبيثة بالعشوائية في الإنتشار، فيصعب على من أطلقها التحكم بها، فتنتشر كالنار في الهشيم، فتُرهق الشبكة، ويصعب ازالتها، أو تتبعها. من الأمثلة على الدودة الخبيثة: موريس ، ويتّي ، بلاستر ، كود رد إثنين ، وستكسنت .
4 الدودة الحاسوبية الدفاعية
حتى الآن، الإرث العلمي المهتم باستخدام الدودة الحاسوبية لمهام مفيدة لم يصل لمرحلة النضوج، وذلك لتخوف السوق الصناعي من هذا النوع من البرمجيات، فحتى الآن لا تجد في سوق أمن المعلومات منتج يستخدم دودة حاسوبية لحماية الشبكات. ولعل تكثيف مادة البحث في هذا الموضوع الجدلي قد يُساهم في إزالة حالة الغموض التي تحيط بهذا المجال، ويعطي دافع لتبني شركات الحماية لهذا النوع من وسائل أمن المعلومات (قد يكون استخدام الديدان الحاسوبية لحماية الشبكات مجال بحث جذاب لمن يبحث عن مواضيع بحثية غير تقليدية.(
رغم أن بعض الباحثين لم يشترط أن تكون الدودة الدفاعية منضبطة في انتشارها [٥]، إلا أن بعض الديدان الدفاعية التي تنتشر عشوائياً تسببت في تخريب وإرهاق الشبكة. فليست خطوات الحماية التي تقوم بها الدودة في الأجهزة المخترقة كفيلة باعتبارها دفاعية، بل كذلك طريقة انتشارها يجب أن تكون منضبطة، أو متحكم بها. وعليه نُعرِّف الدودة الدفاعية بأنها:
الدودة الحاسوبية الدفاعية: برنامج شبكي مستقل بذاته؛ ذاتي الدفع، والاستنساخ، ومنضبط في انتشاره، وعند إطلاقه لا يخالف قانون صادر من هيئة تشريعية.
ونلحظ من التعريف السابق أن الدودة الحاسوبية، يمكن استخدامها في مهام خارج إطار أمن المعلومات، مثل البحث عن ملفات معينة في الشبكة، أو رسم الشبكة ومكوناتها، أو اكتشاف أجهزة غير موثقة ، والكثير من المهام الإدارية. لكن في هذا المقال نقتصر على الجانب الدفاعي لهذا النوع من البرمجيات. وهناك بعض الطرق لتفادي الانتشار العشوائي للدودة الدفاعية، مثل استخدام أسلوب طلب الإذن، كأن تسأل الدودة خادم مركزي طلباً للضوء الأخضر قبل القيام بعملية الاختراق – شيء مشابه لنظام أسماء النطاقات [1] (DNS). وكذلك، وضع عمر للدودة بحيث تنتهي بمجرد انتهاء الوقت المتاح لانتشارها، أو الاعتماد على المعلومات المأخوذة من الشبكة، كاستخدام بروتوكول اكتشاف طبقة الارتباط (LLDP) ، أو جدول الذاكرة المعنونة (CAM Table) المخزن في مبدل شبكة الاتصال، أو بروتوكول الشجرة الممتدة (STP) وذلك لتحديد المسار الذي يمكن أن تستخدمه الدودة الدفاعية [٢][٣.[
5 محاولات لإطلاق ديدان حاسوبية دفاعية
هناك القليل من المحاولات لإطلاق ديدان دفاعية، في هذا القسم نُلقي الضوء على بعضها:
ويلشيا . وهي دودة حاسوبية أُطلقت لإزالة دودة خبيثة كانت منتشرة بشكل كبير تدعى بلاستر [٧]. ويلتشيا قامت باختراق أجهزة المستخدمين باستخدام نفس الثغرة الأمنية (في نظام مايكروسوفت ويندوز) التي استخدمها بلاستر. وبعد عملية الاختراق، تقوم بالاتصال بخادم شركة مايكروسوفت لتحميل تحديث أمني يقوم بسد الثغرة الأمنية. لكن ويلتشيا فشلت في مهمتها، بل أدت لأضرار قد تفوق الضرر الذي قام به بلاستر. وذلك لسببين: أولاً: أن ويلتشيا ولّدت معدل عالي جداً من نقل البيانات في الشبكة نتيجة تحميل التحديث الأمني، مما أدى لإرهاق الشبكة، وإضعاف خدماتها. ثانياً: الطلبات المتكررة لخادم مايكروسوفت، أدى لعملية اغراق ساهمت في حجب الخادم عن الخدمة. كذلك تم تصميم ويلتشيا على أن تكون أسرع من بلاستر، فهي تنتشر بمعدل ثلاثمائة نسخة، مقابل بلاستر الذي ينتشر بمعدل خمسين فقط، بالإضافة لاستخدامها ماسح شبكي نشط جداً، ساهم في زيادة اضطراب هذه الدودة . وقد اختلفت الآراء بخصوص ويلتشيا، فهل هي دفاعية أم خبيثة؟ حتى أن هناك من تسائل عن النية خلف إطلاق مثل هذه الدودة، حيث وردت تقارير عن أن أحد أنواع ويلتشيا زرع منفذ يتيح لآخرين دخول الجهاز، مما جعل البعض يرى أن ويلتشيا، ليست إلا دودة خبيثة، تنافس دودة خبيثة أخرى [٥]. عموماً، بنائاً على تعريف الدودة الخبيثة في قسم ٣، نجد أن ويلتشيا لا تخرج عنه، فهي وإن كانت أُطلقت بنية حسنة (دفاعية)، فهي بموجب الأضرار التي الحقتها بالشبكة، والمستخدمين، خالفت عدة قوانين صادرة من هيئة تشريعية، وعليه يمكن اعتبارها دودة خبيثة.
سي آر كلين . وهي دودة حاسوبية دفاعية ضد الدودة الخبيثة كود رد إثنين[6] ، وتستخدم هذه الدودة طريقة مبتدعة ومثيرة للاهتمام في تقصي الأجهزة المصابة بالدودة الخبيثة، حيث تبقى ساكنة في الجهاز، تتصنت لأي محاولة تخريبية من كود رد اثنين، وعندما ترصد أحد هذه المحاولات ترد باختراق الجهاز الذي أتى منه محاولة الاختراق – مستخدمة نفس الثغرة الأمنية (في أحد منتجات مايكروسوفت ويندوز) التي تستخدمها الدودة الخبيثة. وبات يُعرف هذا النوع من محاولات الانتقال، بالانتشار الغير نشط. بعد الاختراق تقوم سي آر كلين بإزالة كود رد اثنين، واضعة لها بصمة تساعد مختص أمن المعلومات في التعرف عليها، وإزالتها بسهولة حيث أنها تستقر فقط في الذاكرة العشوائية، التي تُمسح بعد عملية إعادة التشغيل. يجدر بالذكر بأن سي آر كلين لم يتم إطلاقها على الإنترنت[٥]. ولو تم إطلاقها لربما تعرض مُطلقها للمسائلة القانونية حيث في اختراقها لأجهزة المستخدمين مخالفة محتملة لقوانين الخصوصية.
كود جرين . وهي دودة حاسوبية دفاعية ضد الدودة الخبيثة كود رد إثنين [١٢] ولأن الثغرة الأمنية التي تستخدمها الدودة الخبيثة قابلة للاختراق أكثر من مرة، أصبح كود جرين قادراً على اختراق الأجهزة التي سبق اختراقها من كود رد إثنين. وبعد الاختراق تقوم الدودة الدفاعية بإزالة الدودة الخبيثة وتحميل تحديث أمني لسد الثغرة الأمنية، ووضع بصمة في الذاكرة توهم كود رد إثنين بأن الجهاز مصاب بالدودة الخبيثة، فينصرف عنه. وحتى الأجهزة الغير مصابة بالدودة الخبيثة، تكون عرضة لكود جرين، وذلك لأن الدودة الدفاعية تبحث عن الأجهزة التي يوجد بها الثغرة الأمنية المستهدفة، بغض النظر إن كانت مصابة بالدودة الخبيثة أم لا [٥و٨.شيز . على غير العادة، هذه الدودة الحاسوبية استخدمت لحماية أجهزة اللينكس من دودة خبيثة تحمل اسم لايون <1i0n> [٩] . شيز تبحث عن الأجهزة الشبكية المعرضة للاختراق من قبل لايون عن طريق المسح الشبكي العشوائي، فتختار معرف رقمي لجهاز شبكي بصفة عشوائية، ومن ثم تتحقق ما إذا كان هذا الجهاز يحوي الثغرة الأمنية المستهدفة، فإن كان كذلك، تقوم الدودة بعملية الاختراق، ومن ثم إغلاق هذه الثغرة، وإزالة الدودة الخبيثة لايون في حالة وجودها، وأي أبواب خلفية تتركها. وقد تم إطلاق شيز على الإنترنت بشكل محدود، وقد لوحظ بعض الخلل في الشبكة، ربما نتيجة المسح الشبكي العشوائي، وغير معروف مدى تأثر الشبكة بالدودة شيز [٥][٩]. وهنا نلحظ أن شيز تستخدم المسح الشبكي العشوائي، مخالفتاً بذلك صفة مهمة في الديدان الدفاعية، وهي الانتشار المنضبط أو المتحكم به، وكذلك وجودها على الإنترنت يجعلها عرضة لانتهاك قانون الخصوصية.
6 الدودة الحاسوبية الدفاعية: موجة البحر (Seawave)
في هذا القسم نلقي لمحة بسيطة على دودة حاسوبية دفاعية تمت تسميتها موجة البحر (تمت تسميتها بموجة البحر لأننا لاحظنا أن منحنى الانتشار الخاص بها يحاكي في شكله موجات البحر). وقد تم تصميمها بحيث أنها تنتشر في شبكات الشركات المحلية فقط، أي أنها غير قابلة للاستخدام على الإنترنت، وهذه ميزة مهمة، نضمن بها أن الدودة لا تنتهك خصوصيات المستخدمين. ولعلها تكون أول دودة حاسوبية تعتمد في معظم مراحل انتشارها على طبقة الارتباط، وهي الطبقة الثانية من نموذج الاتصال المتبادل للأنظمة المفتوحة (OSI Model). وكون موجة البحر تنتشر في شبكات الشركات، فهذا يعني أن الإذن بإطلاق الدودة الدفاعية موكل للشركة التي تمتلك الشبكة، مما يعني استبعاد احتمال انتهاك قانون الخصوصية، والملكية، وغيره. وقد صُممت موجة البحر بحيث تنتشر بانضباط، في محاولة لتقليل معدل تدفق البيانات في الشبكة قدر الإمكان، تفادياً لإرهاق وصلات الشبكة، وفي نفس الوقت تحقيق أكبر قدر من الانتشار. ومهمة الدودة هي سد الثغرات الأمنية في أجهزة الشبكة، بكفاءة وفعالية. فإذا افترضنا أن جميع الأجهزة في الشركة تحوي ثغرة أمنية مصنفة على أنها خطيرة، وأن الشبكة تدعم بروتوكول الشجرة الممتدة – الذي يمنع تكون دوائر شبكية مغلقة. فعندها يقوم فريق حماية المعلومات في الشركة من إطلاق موجة البحر لمعالجة الثغرة الأمنية على وجه السرعة، ولسد أي محاولة اختراق غير مشروعة. وتبدأ العملية بتحميل موجة البحر في أي جهاز في الشبكة ، وتبدأ الدودة الانتشار كالتالي:
1. تقوم موجة البحر بقراءة جدول الذاكرة المعنونة (CAM Table) وكذلك بيانات بروتوكول الشجرة الممتدة (STP) المخزنة في مبدل الشبكة (Network Switch) المرتبط مباشرة بالجهاز الذي يحوي الدودة الدفاعية.
2. تقوم موجة البحر باستخدام جدول الذاكرة المعنونة في تحديد عناوين الأجهزة المتصلة بمبدل الشبكة، ثم تقوم بعملية سد ثغرات الأجهزة الأمنية (بدون استنساخ) .
3. تقوم موجة البحر باستخدام جدول الذاكرة المعنونة، وبيانات بروتوكول الشجرة الممتدة، لتحديد مبدلات الشبكة المتصلة مباشرة (الجارة) بمبدل الشبكة الحالي، وقراءة جدول الذاكرة المعنونة لهذه المبدلات لمعرفة عناوين الأجهزة المتصلة بها.
4. تقوم موجة البحر باستخدام جدول الذاكرة المعنونة الخاصة بالمبدلات الشبكية الجارة، لتحديد جهاز في كل مبدل شبكة ثم تقوم بنسخ نفسها وتوسيع انتشارها.
5. تكرر موجة البحر نفس العملية حتى تغطي الشبكة المحلية (LAN).
 عملية الاستنساخ تكون باختراق الجهاز من خلال الثغرة الأمنية المراد معالجتها (وليست هذه الطريقة الوحيدة، فيمكن تزويد موجة البحر بكلمة سر تتيح لها الدخول إلى أجهزة حاسوب الشركة، أو الاستئذان من المستخدم، أو غيره). وإذا افترضنا أن الشبكة تستخدم بروتوكول فتح أقصر مسار أولاً (OSPF) ، فعندما تصل موجة البحر إلى المسيّر الشبكي (Network Router) المتصل بالعمود الفقري الشبكي (Network Backbone) الخاص بشبكة الشركة، فإنها تحاول الانتقال إلى باقي الشبكات المحلية عن طريق عبور العمود الفقري الشبكي، كالتالي:
1. تقوم موجة البحر بالتواصل مع المسيّر الشبكي، وقراءة قاعدة بيانات حالة الروابط (LSD) – التي تعطي خريطة العمود الفقري الشبكي – وكذلك الذاكرة المؤقتة لبروتوكول إيجاد العناوين (ARP Cache) – الذي يحوي عناوين بعض الأجهزة في الشبكات المحلية المجاورة .
2. بناءً على المعلومات المستقاة من الخطوة السابقة، تقوم موجة البحر بتحديد عنوان جهاز خاص بكل واجهة شبكية (Network Interface) باستثناء شبكة المصدر. ثم تقوم باستنساخ نفسها إلى هذه الأجهزة لتحقيق الانتشار في الشبكات المحلية المجاورة المتصلة بالمسيّر الشبكي الحالي.
3. تقوم موجة البحر بقراءة الذاكرة المؤقتة لبروتوكول إيجاد العناوين لباقي المسيّرات الشبكية في العمود الفقري الشبكي اعتماداً على المعلومات المستقاة من قاعدة بيانات حالة الروابط.
4. اعتماداً على معلومات الخطوة السابقة، تقوم موجة البحر بتحديد جهاز واحد في كل واجهة شبكية، ومن ثم تقوم بنسخ نفسها إلى كل شبكة محلية لتحقيق انتشار كامل ضمن شبكة الشركة.
تتسارع الهجمات التخريبية على الشبكات، وتتواصل الخسائر المالية للشركات في ضِل غياب وسائل دفاعية فعّالة وقادرة على صد هذا السيل من الهجمات الضارة. مما يدفع الباحثون في أمن المعلومات إلى محاولة ابتكار وسائل غير تقليدية لتقوية وسائل الحماية، خاصة مع تزايد حجم، وعشوائية، وتعقيد الشبكات. الدودة الحاسوبية موجة البحر تأتي في هذا الإطار، حيث تجند الملامح المميزة للدودة الحاسوبية، كفحص الأجهزة من مسافة قريبة، والإحاطة بالأجهزة متقطعة الاتصال، واكتشاف هيكل ومكونات الشبكة، وغيرها من الميزات، في توفير الحماية اللازمة للشبكات. ولا يوجد الكثير من الديدان الحاسوبية الدفاعية في العالم الرقمي، وذلك لوجود حكم استباقي بأن الدودة الحاسوبية ضارة ومخربة في أصلها، مما جعل القطاع الصناعي المختص بأمن المعلومات يتفادى الخوض في هذا المضمار. وهذا يزيد أهمية البحث في هذا المجال الجدلي، لكسر حاجز الخوف، وفتح أُفق جديد في عالم أمن المعلومات.
المصادر
[1] D. Aitel. Nematodes–beneficial worms. 2006.
[2] Z. Al-Salloum and S. Wolthusen. Semi-Autonomous Link Layer Vulnerability Discovery and Mitigation Dissemination. IT Security Incident Management and IT Forensics, 2009. IMF’09. Fifth International Conference on, pages 41–53, 2009.
[3] Z. Al-Salloum and S. Wolthusen. A Link-Layer-Based Self-Replicating Vulnerability Discovery Agent. Computers and Communications (ISCC), 2010 IEEE Symposium on, pages 704–707, 2010.
[4] Z. Al-Salloum and S. Wolthusen. Agent-Based Host Enumeration and Vulnerability Scanning Using Dynamic Topology Information. The 9th Conference of Information Security for South Africa (ISSA), Jan 2010.
[5] F. Castaneda, E. Sezer, and J. Xu. Worm vs. worm: preliminary study of an active counter-attack mechanism. Proceedings of the 2004 ACM workshop on Rapid malcode, pages 83–93, 2004.
[6] James Middleton. ’anti-worms’ fight off code red threat. http://www.v3.co.uk/v3-uk/news/1962686/anti-worms-fight-code-redthreat, 2001. [Online; accessed 10-March-2011].
[7] John Leyden. Blaster variant offers ‘fix’ for pox-ridden pcs. http://www.theregister.co.uk/2003/08/19/blaster_variant_offers_fix/, 2003. [Online; accessed 10-March-2011].
[8] Mark Joseph Edwards. Code red turns codegreen. http://www.windowsitpro.com/article/antivirus/code-red-turns-codegreen. aspx, 2001. [Online; accessed 10-March-2011].
[9] J. Nazario. Defense and detection strategies against Internet worms. 2004.
[10] K. Scarfone, T. Grance, and K. Masone. Computer security incident handling guide. NIST Special Publication, 800:61, 2008.
[11] J. Shoch and J. Hupp. The “worm” programs—early experience with a distributed computation. Communications of the ACM, 25(3):172–180, 1982.
[12] P. Szor. The Art of Computer Virus Research and Defense. Addison-Wesley Professional, 2005.
[13] B. Wang, B. Fang, and X. Yun. The propagation model and analysis of worms together with anti-worms. WSEAS transactions on information sci- ence and applications, 4(1):967–982, 2004.