IRCAR201210154
تاريخ: 25/07/91
هكرها به ابزارهاي حملات خودكار تزريق SQL و Remote File Inclusion علاقه ويژهاي دارند. با استفاده از نرمافزارهايي مانند sqlmap، Havij يا NetSparker، پيدا كردن و سوء استفاده از آسيبپذيريهاي وبسايتها حتي براي مهاجمان تازهكار سريع و آسان است.
هكرها به سه دليل كليدي به ابزارهاي خودكار علاقه دارند. نخست اينكه اين ابزارها نياز به مهارت بسيار كمي براي استفاده دارند و اغلب بهطور رايگان در دسترس هستند (از طريق فرومهاي هكرها يا سايتهاي توليد كنندگان آنها كه اين ابزارها را به عنوان ابزارهاي معتبر تست نفوذ طراحي كردهاند). دومين دليل اين است كه اين ابزارها هكر را قادر ميسازند كه در زماني كوتاه و با تلاشي كم به تعداد زيادي سايت حمله كند. و بالاخره اينكه اين ابزارها استفاده بهينه را از سرورهاي آلوده كه ممكن است تنها براي مدت محدودي در اختيار آنها باشند، به عمل ميآورند.
اما نكته مثبت اينجاست كه درصورتيكه شما بتوانيد راهي براي كشف و مسدود كردن حملات خودكار پيدا كنيد، خواهيد توانست حجم زيادي از حملات هكري را بر روي سايت خود متوقف نماييد. در اين مقاله نحوه شناسايي ترافيك خرابكارانه توليد شده توسط اين ابزارهاي خودكار شرح داده خواهد شد.
نشانه اول: نرخ بالاي درخواست ورودي
يكي از نشانههاي كليدي يك حمله خودكار، نرخ رسيدن درخواستهاي ورودي است. احتمال اينكه يك انسان بتواند بيش از يك درخواست HTTP در هر 5 ثانيه توليد نمايد بسيار پايين است. اما ابزارهاي خودكار اغلب حدود 70 درخواست در دقيقه توليد ميكنند (يعني بيش از يك درخواست در ثانيه). يك انسان نميتواند بهطور عادي با اين سرعت كار كند.
اكنون مسأله ساده به نظر ميرسد. هر ترافيكي كه با نرخي بيش از يك درخواست در 5 ثانيه برسد، بايد توسط اين ابزارها توليد شده باشد. اما متأسفانه قضيه به اين سادگي نيست.
نخست اينكه تمامي ترافيكهاي توليد شده توسط ابزارهاي خودكار، خرابكارانه نيستند. حجم قابل توجهي از ترافيك خودكار توسط كساني مانند گوگل توليد ميشود كه تنها كاري كه انجام ميدهند اين است كه سايت شما را در فهرست خود قرار داده و اصطلاحا ايندكس مينمايند تا ديگران بتوانند به سادگي شما را پيدا كنند. از طرف ديگر تمام ترافيكهايي كه با نرخ بالا وارد ميشوند، لزوما توسط ابزارهاي خودكار توليد نميشوند. ممكن است به نظر برسد كه سرويسهايي مانند شبكههاي تحويل محتوا (content delivery) و پراكسيها، منبع حجم زيادي از ترافيك هستند، اما ممكن است قضيه صرفا تراكم تعداد زيادي كاربر مختلف باشد.
اما نكته مهمتر اين است كه بسياري از هكرها آنقدر پيچيده هستند كه بدانند كه توليد درخواست با نرخ بالا به سادگي قابل تشخيص است و در نتيجه تاكتيكهايي را براي جلوگيري از تشخيص اين ابزارها به كار ميبرند. اين تاكتيكها ميتوانند به شرح زير باشند:
- كم كردن عمدي سرعت ابزار براي شبيه كردن الگوي ترافيك آن به ترافيك توليد شده توسط انسان
- حمله به سايتهاي ديگر بهطور موازي. اين كار عبارت است از استفاده از ابزارهاي حمله خودكار براي ارسال ترافيك به چند سايت به صورت گردشي. در نتيجه اگرچه ابزار درخواستها را با نرخ بالايي توليد ميكند، اما هر سايت ترافيكي با نرخي مشابه ترافيك انساني دريافت مينمايد.
- استفاده از چندين ميزبان براي اجراي حملات. اين روش پيچيدهتر، هكرها را قادر ميسازد كه به يك سايت طوري حمله كنند كه تمامي ترافيك از يك آدرس آيپي واحد و قابل شناسايي ارسال نگردد.
در نتيجه، نرخ بالاي ترافيك درخواستهاي ورودي فقط يك نشانه از حمله خودكار است. نشانههاي ديگري نيز در اين مورد وجود دارند.
نشانه دوم: هدرهاي HTTP
هدرهاي HTTP ميتوانند نشانه ارزشمند ديگري از طبيعت ترافيك ورودي باشند. براي مثال، ابزارهاي خودكار تزريق SQL مانند sqlmap، Havij و Netsparker همگي به درستي خود را در هدرهاي درخواستهاي HTTP توسط رشتههاي توصيفي عامل كاربر (User Agent) معرفي ميكنند. اين بدان علت است كه اين ابزارها با اين هدف ساخته شدهاند كه براي تست نفوذ معتبر مورد استفاده قرار گيرند. همينطور حملات نشأت گرفته از اسكريپتهاي Perl نيز ممكن است توسط يك عامل كاربر libwww-perl شناسايي گردند.
روشن است كه هر ترافيكي كه حاوي نام اين ابزارها در رشته عامل كاربر (User Agent) باشد بايد مسدود گردد. قطعا اين رشتهها ميتوانند تغيير كنند، ولي هكرهاي تازهكار اغلب از اين موضوع ناآگاه هستند.
حتي اگر ابزارها شامل رشتههاي معرفي كننده نباشند، تحقيقات Imperva نشان داده است كه بسياري از اين ابزارها بخشهايي از اطلاعات هدرها را كه اغلب مرورگرها در درخواستهاي وب انتظار آن را دارند، ارسال نميكنند. اين بخشها شامل هدرهايي مانند Accept-Language و Accept-Charset ميگردد.
البته يك هكر زرنگ ميتواند سيستم خود را طوري پيكربندي نمايد كه اين هدرها را اضافه كند. ولي بسياري نيز اين كار را انجام نميدهند. عدم وجود اين هدرها بايد يك نشانه هشدار دهنده به شمار رود و در تركيب با نرخ بالاي درخواستها، نشانهاي بسيار قوي از ترافيك خرابكارانه محسوب ميگردد.
نشانه سوم: ردپاي ابزار حمله
ابزارهاي حمله گستره محدودي از فعاليتهاي مختلف را ميتوانند انجام دهند. Imperva كشف كرده است كه برخي اوقات با تحليل ركوردهاي ترافيكي كه توسط حملات خودكار توليد ميشوند، ميتوان به الگوهايي دست يافت (مانند رشتههاي خاص در دستورات SQL توليد شده در تزريق SQL) كه به طور يكتا يك ابزار خاص را معرفي ميكنند. برخي اوقات اين رشتهها با بررسي كد منبع يك ابزار قابل كشف هستند.
اين ردپاها ميتوانند اساس قوانين مسدود كردن در فايروال را تشكيل دهند، ولي توجه به اين نكته مهم است كه ممكن است اين ردپاها در نسخههاي بعدي ابزار تغيير نمايند.
نشانه چهارم: جغرافياي غير معمول
Imperva كشف كرده است كه 30 درصد از حملات تزريق SQL با نرخ بالا از چين نشأت گرفتهاند و ساير حملات از كشورهاي غير معمول نشأت ميگيرند. توصيه ميشود كه در مورد ترافيكهاي توليد شده از كشورهايي كه انتظار آن را نداريد، مشكوك باشيد.
يك افزايش ناگهاني در ترافيك توليد شده توسط مناطق جغرافيايي غير منتظره به تنهايي اثبات كننده هيچ چيز نيست، اما در تركيب با ساير نشانهها مانند هدرهاي HTTP يا نرخ بالاي درخواست ورودي، بايد مورد توجه قرار گرفته و يا حتي منجر به مسدود كردن كل ترافيك گردد.
نشانه پنجم: ليستهاي سياه آيپي
هر زمان كه حملهاي توسط متدي تشخيص داده ميشود، آدرس آيپي منبع ميتواند ثبت گردد. گروه تحقيقاتي Imperva كشف كرده است كه حملات خودكار از يك آدرس آيپي يكتا معمولا تمايل دارند بين سه تا پنج روز از آن آدرس منتشر گردند. اما برخي آدرسهاي آيپي براي هفتهها يا حتي ماهها منبع ترافيك خودكار خرابكارانه باقي ميمانند. اين بدان معني است كه آدرسهاي ليست سياه ميتوانند در جلوگيري از حملات خودكار آتي از آن منبع بسيار سودمند باشند. ارائه دهندگان امنيت ابري ميتوانند با قرار دادن هر سايتي كه منبع حملات خودكار بر روي هريك از كلاينتها است در ليست سياه، ساير كلاينتها را نيز در برابر آن محافظت نمايند.
- 5