حمله شمارش چیست؟ نحوه کار آنها + نکات پیشگیری
حمله شمارش زمانی اتفاق می افتد که مجرمان سایبری از روش های brute-force برای بررسی وجود داده های خاص در پایگاه داده وب سرور استفاده می کنند.
برای حملات شمارش ساده، این داده ها می تواند شامل نام کاربری و رمز عبور باشد. حملات پیچیده تر می تواند نام های میزبان، SNMP و جزئیات DNS را کشف کند و حتی پیکربندی های ضعیف تنظیمات شبکه را تأیید کند.
هر ماژول برنامه وب که با یک پایگاه داده کاربر ارتباط برقرار می کند، در صورت ناامنی می تواند به طور بالقوه به یک بردار حمله شمارش تبدیل شود.
دو هدف رایج برنامه وب برای حملات شمارش عبارتند از:
- صفحه ورود
- صفحه بازنشانی رمز عبور

از آنجایی که آسیب پذیری هایی که این حملات را تسهیل می کنند، به هکرها اجازه می دهد تا از مرز امنیت اطلاعات عبور کنند، شمارش یک جزء حیاتی از تست نفوذ است.
حملات شمارش کاربران چگونه کار می کنند؟
در طول یک حمله شمارش، هکرها به دنبال پاسخ های سرور منحصر به فردی هستند که اعتبار اعتبار ارسال شده را تأیید می کند.
واضح ترین پاسخ، پیام احراز هویت فیلد پس از ارسال فرم وب است. برای توضیح این فرآیند، از نمونه ای از حمله شمارش نام کاربری استفاده می کنیم - زمانی که مهاجمان سعی می کنند نام های کاربری را در یک پایگاه داده وب سرور پیدا کنند.
حملات شمارش نام کاربری
این دنباله حمله معمولا فقط با تمرکز بر نام های کاربری شروع می شود. هدف در این مرحله یافتن هرچه بیشتر نام های کاربری معتبر در یک پایگاه داده است.
یک وب سرور با امنیت ضعیف برنامه، نام کاربری ناموجود را با یک پیام نام کاربری نامعتبر مشابه این شناسایی می کند:

از آنجایی که این پیام فقط اعتبار نام کاربری را تأیید می کند، یک عامل تهدید می تواند تأیید کند که نام کاربری در پایگاه داده وب سرور یافت نمی شود.
سپس یک مجرم سایبری همان رمز عبور را با تغییرات مختلف نام کاربری ارسال می کند تا زمانی که لیست کافی از نام های کاربری معتبر ایجاد شود.
انواع نام کاربری یا در لیست های خریداری شده اعتبارنامه های فاش شده یافت می شوند یا با تکنیک های حمله brute force ایجاد می شوند.
سپس مهاجمان سایبری این فرآیند را با رمزهای عبور تکرار می کنند و تکنیک های brute force را علیه تمام نام های کاربری معتبر انجام می دهند تا زمانی که در نهایت یک ترکیب برنده به دست آید.

این نوع حمله را می توان بر روی هر عملکرد برنامه وب که شامل تأیید پایگاه داده در فرآیندهای آن است، انجام داد.
چگونه از حملات شمارش پیام پاسخ سرور جلوگیری کنیم؟
بهترین روش برای مبهم کردن پیام های تأیید سرور، نمایش یک پیام عمومی پس از تلاش های ناموفق برای ورود است، پیامی که مشخص نمی کند کدام فیلد نادرست است.
در اینجا یک مثال آورده شده است:

اعتبارسنجی ورودی ها با زمان پاسخ سرور
مکانیسم بازخورد فوق سناریوی ایده آل برای حملات سایبری است. معمولا پاسخ های سرور برای اعتبارسنجی ورودی های فرم بسیار ظریف تر هستند.
یک رویکرد پیچیده تر نظارت بر زمان پاسخگویی سرور با ابزارهای تست نفوذ است. معمولا سرورها بیشتر از پاسخ دادن به ورودی های نام کاربری معتبر طول می کشد تا به ورودی های نام کاربری معتبر پاسخ دهند.
در اینجا نمونه ای از چنین احراز هویت زمان پاسخگویی سرور است که با ابزار تست نفوذ Metasploit شناسایی شده است.

در مثال بالا، یک نام کاربری نادرست منجر به پیام ورود ناموفق پس از 30 ثانیه شد.
>برعکس، هنگامی که نام کاربری معتبر "مدیر" ارسال شد، سرور در عرض 5 ثانیه پاسخ داد، جلسه را تغییر مسیر نداد و همچنین پیام تأیید "نام کاربری معتبر است" را نیز اضافه کرد.
حتی بدون این پیام اعتبارسنجی صریح، یک هکر می تواند به راحتی ارسال های نادرست را از زمان پاسخ سرور گسترده ای که ایجاد می کند متمایز کند.
چگونه از حملات شمارش مبتنی بر پاسخ زمان سرور جلوگیری کنیم؟
برای جلوگیری از شناسایی روابط بین زمان پاسخ سرور و ورودی های داده معتبر، توسعه دهندگان برنامه های کاربردی وب باید از توالی های زمانی قابل پیش بینی اجتناب کنند.
پاسخ های سرور باید با بازه های زمانی تصادفی برای ورودی های صحیح و نادرست پر شوند.
نمونه هایی از حملات شمارش پیچیده
حملات شمارش پیچیده در ماموریت های شناسایی برای شناسایی آسیب پذیری های نرم افزاری قابل کشف استفاده می شود. چند نمونه از این حملات در زیر ذکر شده است.
شمارش LDAP
پروتکل دسترسی به دایرکتوری سبک وزن (LDAP) پروتکلی است که برای دسترسی به سرویس های دایرکتوری - ساختارهای سلسله مراتبی سوابق کاربر استفاده می شود.
یک حمله موفقیت آمیز شمارش LDAP می تواند اطلاعات حساس زیر را آشکار کند:
- نام کاربری
- آدرس
- اطلاعات تماس
- اطلاعات بخش کسب و کار
شمارش NetBIOS
سیستم خروجی ورودی پایه شبکه (NetBIOS) به عنوان یک API استفاده می شود که نقاط پایانی را قادر می سازد به منابع LAN دسترسی داشته باشند.
هر پروتکل NetBIOS از یک رشته 16 کاراکتری منحصر به فرد تشکیل شده است که دستگاه های شبکه را از طریق TCP/IP شناسایی می کند.
برای تسهیل حملات شمارش NetBIOS، خدمات چاپگر و فایل باید فعال شوند. این حملات از طریق پورت 139 در سیستم عامل مایکروسافت رخ می دهد.
یک حمله موفقیت آمیز شمارش NetBIOS می تواند حملات زیر را به دستگاه در معرض خطر امکان پذیر کند.
- نقطه پایانی در معرض خطر می تواند در یک بات نت استخدام شود و برای راه اندازی حملات DDoS استفاده شود.
- مجرمان سایبری می توانند حساب های دسترسی ممتاز بیشتری را برای دسترسی به منابع حساس اجرا کنند.
شمارش SNMP
پروتکل مدیریت شبکه ساده (SNMP) چارچوبی برای درخواست یا اصلاح اطلاعات در دستگاه های شبکه است. SNMP یک نرم افزار آگنوستیک است، به این معنی که دستگاه های شبکه ای می توانند بدون توجه به نوع نرم افزاری که در حال اجرا هستند، دسترسی داشته باشند.
حملات سایبری SNMP را در دستگاه های راه دور شمارش می کنند تا اطلاعات زیر را جمع آوری کنند:
- رفتار ترافیکی
- شناسه های دستگاه از راه دور
- شناسایی اطلاعات مربوط به دستگاه ها و منابع شبکه
چگونه از حملات شمارش جلوگیری کنیم؟
برخی از کنترل های امنیت سایبری که می توانند از انواع حملات شمارش جلوگیری کنند در زیر فهرست شده اند.
- احراز هویت چند عاملی (MFA) - با نیاز به MFA با هر تلاش برای ورود به سیستم، cybecriminals بدون ارسال توکن های احراز هویت صحیح ابتدا به هیچ پاسخ سروری دسترسی نخواهند داشت. بعید است که مهاجمان سایبری نقاط پایانی جداگانه ای را که این توکن ها را دریافت می کنند نیز به خطر انداخته باشند.
- از CAPTCHA در همه فرم ها استفاده کنید - CAPTCHA ها به اندازه MFA موثر نیستند اما به طور موثر حملات شمارش خودکار را مسدود می کنند.
- تلاش های ورود به سیستم را محدود کنید - حملات سایبری CAPTCHAS و MFA با افزودن تأخیر به هر تلاش برای ورود به سیستم. این ناامیدی را می توان با محدود کردن نرخ بیشتر تقویت کرد، زمانی که فرآیند ورود به سیستم فراتر از تعداد مشخصی از تلاش های ناموفق از همان آدرس IP مسدود می شود.
- از فایروال برنامه وب (WAF) استفاده کنید - WAF ها می توانند تلاش های مشکوک برای ورود از یک آدرس IP را مسدود کنند.
- اجرای آموزش آگاهی سایبری - آموزش کارکنان برای شناسایی تاکتیک های رایج مورد استفاده برای سرقت اطلاعات حساس خارج از روش های شمارش، مانند مهندسی اجتماعی و فیشینگ.
- مبهم کردن پاسخ های API - اگر یک فرم ورود به سیستم یک API را فراخوانی می کند، مطمئن شوید که این پیام ها اعتبار هر ورودی فیلد جداگانه را نشان نمی دهند.