معظم مواقع الانترنت عرضة لهجوم حجب خدمة Hashdos
علن باحثون أمنيون عن ثغرة في غالبية لغات البرمجة تؤدي الى شغل المعالج بعملية طويلة تؤدي الى تعطل الخادم وبالتالي حجب المواقع التي يخدمها. هذا الكشف جاء في الثامن والعشرين من الشهر الحالي في المؤتمر الأمني 28C3.
نظرة عامة
جداول الهاش هي أحد بنى البيانات (data structure) المستخدمة بكثرة في لغات البرمجة. خوادم الويب بشكل عام تقوم بتحليل القيم التي يزودها المستخدم عبر نموذج من خلال ما يعرف ب Post في جدول هاش حتى يتمكن المطورون من الوصول اليها والتعامل معها. يمكن الاطلاع على التفاصيل التقنية في مقالة على ويكيبيديا.
كيف يعمل الهجوم؟
سبب وجود الثغرة هو طريقة تعامل لغات البرمجة مع القيم المعطاة عبر نموذج form والتي تؤدي الى تصادم في الهاش. هذا يعطي الامكانية للمهاجم لارسال عدد صغير من المدخلات (عبر POST) الى الخادم مما يؤدي تباطئ الخادم بشكل كبير وهو ما يؤدي في النهاية الى هجوم حجب خدمة.
حسب نشرة مايكروسوفت في ما يخص التطبيقات المبنية باستخدام ASP.NET فإن طلب واحد بحجم يقارب 100 كيلو بت يمكنه استهلاك 100% من معالج واحد لمدة تتراوح ما بين 90 و110 ثانية.
حسب العرض الذي قدمه الباحثون في حالة استخدام PHP مثلاً فإن بيانات:
-بحجم 8 ميغابيت ستستغرق 288 دقيقة
-بحجم 500 كيلو ستستغرق دقيقة
-بحجم 300 كيلو ستستغرق 30 ثانية من وقت المعالج
-بحجم 500 كيلو ستستغرق دقيقة
-بحجم 300 كيلو ستستغرق 30 ثانية من وقت المعالج
وبالتالي يمكن للمهاجم جعل 10 الاف معالج Core i7 مشغول بطلبات PHP مستخدماً اتصال انترنت 1 جيجا. او 30 الف معالج Core2 في حالة ASP.NET او 100 الف معالج في حالة Java Tomcat.
ما يجعل الهجوم خطيراً هو ان غالبية مواقع الانترنت معرضة له لانها تستخدم لغات برمجة مثل PHP و ASP.NET وجافا و روبي وبايثون وغيرها.
الأمر الآخر هو ان المهاجم لا يحتاج الى مصادر واسعة مثل botnet من أجل تنفيذ هجومه وانما حاسوب واحد يمكنه الحاق الضرر بالعديد من المواقع.
الحل
باستثناء لغتي بيرل و Cruby واللتان تستخدمان العشوائية في الهاش فإنّه لا يوجد حلول نهائية لباقي اللغات ولكن هناك حلول مؤقتة منها
ASP.NET
اذا كنت تستخدم ViewState فإن مايكروسوفت تنصحك بتحديد حجم الطلب الى 200 كيلو
اما اذا لم تكن تستخدم ViewState فإنها تنصح باستخدم طلبات بحجم 20 كيلو
وذلك في ملف اعدادات ASP.NET
PHP
قامت 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
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
ليست هناك تعليقات: