تجربه نیز اینگونه ثابت کرده است که در موارد متعدد سایت‌هایی که اهمیت و بازدید بیش‌تری دارند بیش از سایر سایت‌ها مورد علاقه هکرها قرار می‌گیرند و در معرض حملات بیش‌تری قرار دارند. اما راه تشخیص این حملات از چه قرار است؟

اگر جست‌وجویی کوتاه در اینترنت داشته باشید علاوه بر مواجهه با لیستی بلند بالا از سایتهایی که هک شده‌اند و هر لحظه هم بر تعداد آن‌ها افزوده می‌شود، در موارد متعدد حتی با سایتهایی روبه رو خواهید شد که مدعی آموزش اینترنتی شیوه‌های هک کردن هستند.

هکرها به ابزارهای حملات خودکار تزریق SQL و Remote File Inclusion علاقه ویژه‌ای دارند و با استفاده از نرم‌افزارهایی مانند sqlmap، Havij یا NetSparker، پیدا کردن و سوء استفاده از آسیب‌پذیری‌های وب‌سایت‌ها حتی برای مهاجمان تازه‌کار سریع و آسان است.

هکرها به سه دلیل کلیدی به ابزارهای خودکار علاقه دارند.


1:برای اینکه این ابزارها نیاز به مهارت بسیار کمی برای استفاده دارند و اغلب به‌طور رایگان در دسترس هستند (از طریق فروم‌های هکرها یا سایت‌های تولید کنندگان آن‌ها که این ابزارها را به عنوان ابزارهای معتبر تست نفوذ طراحی کرده‌اند).
2: این ابزارها هکر را قادر می‌سازند که در زمانی کوتاه و با تلاشی کم به تعداد زیادی سایت حمله کند
3: این ابزارها استفاده بهینه را از سرورهای آلوده که ممکن است تنها برای مدت محدودی در اختیار آنها باشند، به عمل می‌آورند.

اما نکته مثبت اینجاست که درصورتی‌که شما بتوانید راهی برای کشف و مسدود کردن حملات خودکار پیدا کنید، خواهید توانست حجم زیادی از حملات هکری را بر روی سایت خود متوقف کنید. در این گزارش نحوه شناسایی ترافیک خرابکارانه تولید شده توسط این ابزارهای خودکار شرح داده خواهد شد.

نشانه اول: نرخ بالای درخواست ورودی

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

اما برخی آدرس‌های آی‌پی برای هفته‌ها یا حتی ماه‌ها منبع ترافیک خودکار خرابکارانه باقی می‌مانند. این بدان معنی است که آدرس‌های لیست سیاه می‌توانند در جلوگیری از حملات خودکار آتی از آن منبع بسیار سودمند باشند. ارائه دهندگان امنیت ابری می‌توانند با قرار دادن هر سایتی که منبع حملات خودکار بر روی هریک از کلاینت‌ها است در لیست سیاه، سایر کلاینت‌ها را نیز در برابر آن محافظت کنند.