حملات بروت فورس Brute Force برخلاف دیگر حملات سایبری نظیر حملات DDoS و XSS ارتباطی با آسیب پذیری های موجود در وبسایت ندارد. در حقیقت کاربرانی که دارای نام کاربری (Username) و کلمه عبور (Password) ضعیف هستند مورد هدف حملات بروت فورس قرار می گیرند. در این مطلب به آشنایی هر چه بیشتر با این نوع از حملات پرداخته و روش های جلوگیری از آن را نیز به شما معرفی می کنیم.
حمله بروت فورس چیست؟
حملات بروت فورس زمانی اتفاق می افتد که یک هکر با تلاش زیاد و تست تعداد بالایی نام کاربری و کلمه عبور، حساب کاربری شخص یا اشخاصی را مورد هدف قرار دهد. هکرها در حملات بروت فورس معمولا تعداد بسیاری زیادی کلمه عبور را امتحان می کنند به امید اینکه یکی از آنها بالاخره صحیح باشد. این حمله شبیه به این است که فردی تمام ترکیبات ممکن در یک قفل را امتحان کند، با این تفاوت که هکرها در حملات بروت فورس در مقیاس بسیار بزرگتری تمام احتمال های مربوطه را امتحان می کنند.
پسوردها تنها منابعی نیستند که در خطر حملات بروت فورس قرار دارند بلکه لینک ها، دایرکتوری ها، نام کاربری و ایمیل نیز از طریق این حمله توسط سارقین اینترنتی هک می شوند.
هدف حملات بروت فورس
هدف از حملات بروت فورس نفوذ به اطلاعات و منابعی است که دسترسی به آنها برای کاربران دیگر محدود شده است. برای مثال دسترسی به اکانت ادمین، صفحات رمزنگاری شده یا ایمیل های ثبت نام کرده در یک وبسایت از اهداف اجرای حمله بروت فورس به شمار می روند.
در حقیقت دسترسی به اطلاعات یک اکانت واقعی امنیت کل وبسایت را به خطر می اندازد و هکرها می توانند از آن به عنوان بخشی از شبکه آلوده خود استفاده کنند.
نحوه عملکرد حملات بروت فورس
متداول ترین نوع از حملات بروت فورس حمله دیکشنری است که شامل لیستی از مدارک هویتی می شود به گونه ای که هکر سعی می کند تا با استفاده از نام های کاربری و رمزهای عبور متداول به اکانت ادمین وبسایت دسترسی پیدا کند. حملات دیکشنری معمولا با ساده ترین مدارک هویتی نظیر نام کاربری : Admin و پسورد : ۱۲۳۴۵۶ کار خود را شروع می کنند و به مرور موارد پیچیده تری را امتحان می کنند.
درک عمومی در شناسایی حملات بروت فورس از اهمیت بسیار بالایی برخوردار است. برای مثال اگر در جایی دید که یک فرد مرتبا برای ورود به یک حساب کاربری مشخص تلاش می کند به احتمال خیلی زیاد در حال اجرای یک حمله بروت فورس می باشد.
از نشانه های دیگر حملات بروت فورس می توان به موارد زیر اشاره کرد:
- یک آدرس IP پس از چند بار تلاش نتوانسته است به یک حساب کاربری وارد شود.
- چندین آدرس IP پس از چند بار تلاش نتوانسته اند به یک حساب کاربری مشخص وارد شوند.
- چندین IP آدرس در یک بازه زمانی کوتاه قادر به لاگین به حساب خود نبوده اند.
در برخی اوقات هکرها با استفاده از حملات بروت فورس اکانت های مختلف را به یک Botnet اضافه می کنند تا از آنها در حملات DDoS استفاده کنند. علاوه بر این، هکرهای بروت فورس با در اختیار گرفتن اکانت ادمین یک وبسایت کارهایی نظیر اضافه کردن اسپم، منتشر کردن بدافزار و فیشینگ حساب های بانکی کاربران را نیز انجام می دهند.
انواع حمله Brute Force
به طور کلی بروت فورس به معنی امتحان کردن تمام ترکیبات ممکن برای دسترسی به یک حساب کاربری است. البته هکرها برای اینکه شانس موفقیت خود را افزایش دهند از انواع مختلف این حمله استفاده می کنند که متداول ترین آنها به شرح زیر است :
۱- بروت فورس ساده :
هکر در حملات ساده بروت فورس می تواند از چندین متد نظیر امتحان کردن تمام گذرواژه های ممکن استفاده کند. این نوع حمله معمولا در فایل های لوکال (Local Files) استفاده می شوند چون در این بخش محدودیتی برای لاگین وجود ندارد و بیشتر حملات سایبری در آن موفقیت آمیز است.
۲- حملات دیکشنری :
هکر در این نوع از حمله به جای اینکه از گزینه های تصادفی استفاده کند، یک فهرست کامل از کلمات و پسوردهای مختلف تهیه کرده و تمام گزینه های ممکن را برای دسترسی به اکانت کاربر امتحان می کند. استفاده از یک فهرست جامع شانس موفقیت هکر را افزایش می دهد ولی به طور کلی می توان گفت که حملات دیکشنری عموما مستلزم زمان و تلاش زیادی هستند.
۳- حمله بروت فورس هیبریدی :
هکر در حمله هیبریدی از هر دو روش حمله دیکشنری و بروت فورس ساده به صورت همزمان استفاده می کند. البته هکر به جای اینکه تمام پسووردهای ممکن را امتحان کند، کلمات موجود در دیکشنری را اصلاح و یا تغییر می دهد؛ برای مثال هکر کاراکترهای عددی را به لیست دیکشنری اضافه کرده و یا حروف بزرگ و کوچک را بر روی آن ها اعمال می کند.
۴- استفاده مجدد از مدارک هویتی کاربر :
از آنجایی که نشت دیتا و اطلاعات شخصی در دنیای امروز به وفور اتفاق می افتد بنابراین استفاده از یک گذرواژه برای چند حساب کاربری امنیت تمامی آن حساب ها را در معرض خطر قرار می دهد. شانس موفقیت در این نوع از حملات بسیار پایین است و اغلب به میزان دیتای لو رفته (نام کاربری و پسورد) در نشت اطلاعاتی بستگی دارد.
هکرها با استفاده از مدارک هویتی دزدیده شده سعی می کنند به حساب های دیگر یک فرد نیز متصل شوند. بنابراین اگر احساس می کنید که اطلاعات شما در اینترنت نشت پیدا کرده است باید فورا گذرواژه و نام کاربری حساب های دیگر خود را به روز رسانی کنید.
نحوه جلوگیری از حملات بروت فورس
از آنجایی که حملات بروت فورس به عنوان نقطه ضعف یا آسیب پذیری یک نرم افزار به شمار نمی رود بنابراین بروز نگه داشتن آن برای محافظت از کاربران کافی نیست. البته شما می توانید با رعابت نکات زیر تا حدودی امنیت خود را در برابر حملات بروت فورس تضمین کنید:
۱- استفاده از گذرواژه قوی :
شانس موفقیت حملات بروت فورس در پسوردهای ضعیف بیشتر است بنابراین یک گذرواژه قوی که شامل ویژگی های زیر باشد را برای حساب خود انتخاب کنید:
گذرواژه منحصر به فرد :
شما باید از انتخاب پسورد تکراری اجتناب کنید، در غیر این صورت امنیت گذرواژه و حساب شما به خطر می افتد. به عبارت دیگر هکرها می توانند با استفاده از نام کاربری و پسورد تکراری، حساب های دیگر شما در وبسایت ها و اپلیکیشن های مختلف را به خطر بیاندازند.
گذرواژه بلند :
هر چقدر که بلندی پسورد بیشتر باشد، هکر برای حدس زدن آن باید احتمالات بیشتری را امتحان کند. بنابراین پسوردهای بلندتر به راحتی قابل هک شدن نیستند.
گذرواژه غیرقابل حدس زدن :
شما معمولا برای اینکه پسورد خود را بدون هیچ دردسری به خاطر بسپارید از اطلاعاتی مانند نام یا محل زندگی خود در آن استفاده می کنید. در این صورت افراد دیگری که این اطلاعات را داشته باشند می توانند پسورد شما را به راحتی حس بزنند و وارد حساب های کاربری شما شوند. برخی از گزینه های معمول مانند ۱۲۳۴۵۶ و یا پسوردهای متداول نیز به راحتی توسط سارقین سایبری هک می شوند.
شما با رعایت نکات بالا امنیت اکانت خود را تا حدود زیادی در برابر حملات بروت فورس تقویت خواهید کرد. پرسش های ریکاوری (Recovery Question) گذرواژه نیز باید از همین قواعد تبعیت کنند؛ در حقیقت اگر پسورد شما قدرتمند باشد هکر می تواند از طریق پاسخ به پرسش های ریکاوری به راحتی پسورد شما را عوض کند. بنابراین همیشه پرسش های ریکاوری حساب کاربری را سوالات و پاسخ هایی در نظر بگیرید که جز شما هیچ شخص دیگری از آن اطلاع ندارد.
۲- محدودکردن دسترسی به URLهای احراز هویت :
شرط اولیه اجرای حملات بروت فورس ارسال مدارک هویتی (نام کاربری و پسورد) است و اگر شما آدرس URL صفحه لاگین را تغییر دهید، اکثر ابزارهای مخرب خودکار متوقف می شوند. متاسفانه در صورتی که لینک در صفحه قابل مشاهده باشد و یا اینکه هکر بتواند آنرا حدس بزند، این اقدام تاثیر چندانی در عملکرد حملات ندارد. (این نکته مخصوصا در وبسایت های وردپرسی از اهمیت بالایی برخوردار است. حتما آدرس پیش فرض دسترسی به داشبورد ادمین را که wp-login می باشد به کمک افزونه های موجود به آدرس دلخواه دیگری تغییر دهید که غیرقابل حدس نیز باشد.)
۳- محدود کردن تعداد لاگین
حملات بروت فورس از طریق پسوردها و اکانت های بی شمار کار می کنند و اگر تعداد لاگین مشخصی برای هر کاربر در نظر بگیرید، هکر نمی تواند بیش از چند گذرواژه را در یک بازه زمانی مشخص امتحان کند. یکی از روش های معمول برای محدود کردن لاگین این است که دسترسی یک IP آدرسی که ۵ مرتبه موفق به ورود نشده است را برای زمان کوتاهی مسدود کنید. (اگر وبسایت شما وردپرسی است این محدودیت ها را می توانید به راحتی به کمک افزونه های امنیتی مثل Wordfence اعمال کنید.)
۴- استفاده از کدهای کپچا CAPTCHA
استفاده از کدهای کپچا بهترین روش برای مقابله با ربات ها و ابزارهای مخرب خودکار است به گونه ای که هویت آنها را قبل از لاگین به چالش می کشد. از آنجایی که کدهای کپچا برای انسان ها طراحی شده است بنابراین ربات های مخرب نمی توانند به راحتی از آن عبور کنند و حملات بروت فورس در این مرحله مسدود می شوند.
۵- استفاده از احراز هویت دو مرحله ای (Two Factor Authentication) :
احراز هویت دو مرحله ای یک لایه امنیتی دیگر به بخش لاگین اضافه می کند. در حقیقت کاربران پس از وارد کردن نام کاربری و پسورد باید کد ارسالی به ایمیل یا شماره تلفن و یا کدهای یکبار مصرف تولید شده در ابزارهای احراز هویت (مثل Google authenticator) را نیز برای ورود به سیستم وارد کنند. به عبارت دیگر هکرهایی که به هر طریق به اطلاعات شخصی شما دسترسی پیدا کرده اند بدون عبور از مرحله احراز هویت دو مرحله ای نمی توانند وارد اکانت شما شوند.