هكرها به ابزارهای حملات خودكار تزریق 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 كشف كرده است كه حملات خودكار از یك آدرس آیپی یكتا معمولا تمایل دارند بین سه تا پنج روز از آن آدرس منتشر گردند. اما برخی آدرسهای آیپی برای هفتهها یا حتی ماهها منبع ترافیك خودكار خرابكارانه باقی میمانند. این بدان معنی است كه آدرسهای لیست سیاه میتوانند در جلوگیری از حملات خودكار آتی از آن منبع بسیار سودمند باشند. ارائه دهندگان امنیت ابری میتوانند با قرار دادن هر سایتی كه منبع حملات خودكار بر روی هریك از كلاینتها است در لیست سیاه، سایر كلاینتها را نیز در برابر آن محافظت نمایند.
منبع : مرکز ماهر