معظم مواقع الانترنت عرضة لهجوم حجب خدمة Hashdos

أعلن باحثون أمنيون عن ثغرة في غالبية لغات البرمجة  تؤدي الى شغل المعالج بعملية طويلة تؤدي الى تعطل الخادم وبالتالي حجب المواقع التي يخدمها. هذا الكشف جاء في الثامن والعشرين من الشهر الحالي في المؤتمر الأمني 28C3.

نظرة عامة

جداول الهاش هي أحد بنى البيانات (data structure) المستخدمة بكثرة في لغات البرمجة. خوادم الويب بشكل عام تقوم بتحليل القيم التي يزودها المستخدم عبر نموذج من خلال ما يعرف ب Post في جدول هاش حتى يتمكن المطورون من الوصول اليها والتعامل معها. يمكن الاطلاع على التفاصيل التقنية في مقالة على ويكيبيديا.

كيف يعمل الهجوم؟

سبب وجود الثغرة هو طريقة تعامل لغات البرمجة مع القيم المعطاة عبر نموذج form والتي تؤدي الى تصادم في الهاش. هذا يعطي الامكانية للمهاجم لارسال عدد صغير من المدخلات (عبر POST) الى الخادم مما يؤدي تباطئ الخادم بشكل كبير وهو ما يؤدي في النهاية الى هجوم حجب خدمة.

حسب نشرة مايكروسوفت في ما يخص التطبيقات المبنية باستخدام ASP.NET فإن طلب واحد بحجم يقارب 100 كيلو بت يمكنه استهلاك 100% من معالج واحد لمدة تتراوح ما بين 90 و110 ثانية.

حسب العرض الذي قدمه الباحثون في حالة استخدام PHP مثلاً فإن بيانات:

-بحجم 8 ميغابيت ستستغرق 288 دقيقة
-بحجم 500 كيلو ستستغرق دقيقة
-بحجم 300 كيلو ستستغرق 30 ثانية من وقت المعالج

وبالتالي يمكن للمهاجم جعل 10 الاف معالج Core i7 مشغول بطلبات PHP مستخدماً اتصال انترنت 1 جيجا. او 30 الف معالج Core2 في حالة ASP.NET او 100 الف معالج في حالة Java Tomcat.

ما يجعل الهجوم خطيراً هو ان غالبية مواقع الانترنت معرضة له لانها تستخدم لغات برمجة مثل PHP و ASP.NET وجافا و روبي وبايثون وغيرها.

هذه الصورة مأخوذة عن موقع - Naked Security

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

الحل

باستثناء لغتي بيرل و Cruby واللتان تستخدمان العشوائية في الهاش فإنّه لا يوجد حلول نهائية لباقي اللغات ولكن هناك حلول مؤقتة منها

ASP.NET

اذا كنت تستخدم ViewState فإن مايكروسوفت تنصحك بتحديد حجم الطلب الى 200 كيلو

اما اذا لم تكن تستخدم ViewState فإنها تنصح باستخدم طلبات بحجم 20 كيلو

وذلك في ملف اعدادات ASP.NET

PHP
قامت PHP باصدار ترقيع يضيف توجيه جديد يمنع الهجوم

max_input_vars

لمزيد من التفاصيل يمكنكم الاطلاع على الروابط التالية

1- http://www.nruns.com/_downloads/advisory28122011.pdf
2-https://cryptanalysis.eu/blog/2011/12/28/effective-dos-attacks-against-web-application-plattforms-hashdos/
3- http://technet.microsoft.com/en-us/security/advisory/2659883
4-http://blogs.technet.com/b/srd/archive/2011/12/27/more-information-about-the-december-2011-asp-net-vulnerability.aspx
5- nakedsecurity.sophos.com/2011/12/28/large-percentage-of-websites-vulnerable-to-hashdos-denial-of-service-attack/
6- http://svn.php.net/viewvc?view=revision&revision=321040

نبذة عن الكاتب

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

التعليقات:

أضف تعليقاً | عدد التعليقات: (1)

  1. محمد امين العطاب قال:

    بصراحه نستفيد كثيراً مما تقدمونه في مجال الشروحات ولكوننا مبتدئين في عالم الحمايه المعلوماتيه فأننا نستهمل قليلا وكثيراً في مجال القراءه ولكن حبناً لهذا الشي جعلنا مدركين أننا في عالم كبير وملئ بالتنقاضات ولا تعرف من عدوك ومن صديقك يعطيكم الف مليون عافيه على هذه المعلومات المجانيه

أكتب تعليق