اگر بخواهیم به بیان ساده بگوییم که حمله بروت فورس چیست، باید بگوییم این نوع حمله، در واقع اقداماتی شامل تلاش های تکراری و مداوم برای شکستن رمز عبور با استفاده از ترکیب کلمات عبور مختلف می باشد. این تلاش ها توسط هکر هایی انجام می شود که از ربات هایی که نصب کرده اند به صورت مخرب در سایر سیستم ها استفاده می کنند تا قدرت محاسباتی مورد نیاز برای انجام چنین حملاتی را تقویت کنند.
حمله Brute force چیست؟
به زبان ساده، حمله بروت فورس به معنای حمله حدس پسورد است. یعنی نفوذگر پسورد هایی مختلف که شامل اطلاعات قربانی مورد نظرش است را بر روی اکانت هدف خود تست می کند تا به نتیجه برسد و بتواند به حساب کاربری مورد نظر خود به صورت غیر مجاز ورود کند.
حمله بروت فورس (Brute Force Cracking | Brute Force Attack) یک حمله سایبری است که طی آن همه حالتهای ممکن برای یافتن رمز صحیح و نفوذ به حساب کاربری، امتحان میشود. حملات Brute Force ساده و قابل اطمینان هستند. مهاجمان معمولاً کار را به کامپیوترها میسپارند تا آنها ترکیبهای مختلفی از نامهای کاربری و گذرواژهها را تا زمان رسیدن به ترکیب درست امتحان کنند. از این رو، نرخ بالایی از رخدادهای نفوذ اطلاعاتی در دهه نود شمسی به وسیله Brute Force انجام شده است.
ابر کامپیوترها در خدمت حمله Brute force
ترتیب دادن یک حمله Brute Force با کامپیوترهای معمولی امکانپذیر نیست. حتی اگر خفنترین لپتاپ یا کامپیوتر را هم داشته باشید، بازهم امکانات لازم برای این کار را در اختیار ندارید. حتی نزدیکش هم نیستید. چراکه یک برای بدست آوردن یه پسورد ۸ کاراکتری بایستی ۲ به توان ۶۳ پسورد را آزمایش کند و برای این کار نیاز به پردازنده و پهنای باند بالا نیاز دارد در حالی که یک کامپیوتر معمولی (در حال حاضر) می تواند حدود ۱۰ پسورد را در ثانیه آزمایش کند.
با استفاده از یک ابرکامپیوتر خیلی کاردرست می توانند در کمتر از ۳۰ ثانیه میلیون ها پسورد را برای نفوذ به حساب کاربری چک می کنند.از این رو، کاربران وب سایت ها به ویژه مدیران سایت و افرادی که حساب های کاربری حیاتی دارند بایستی کلمه عبور طولانی و قوی انتخاب کنند و آن را به مرور تغییر دهد.
هدف از حمله بروت فورس چیست؟
حملات Brute Force معمولاً برای بهدست آوردن اطلاعات شخصی نظیر پسوردها، Passphraseها، نامهای کاربری و کدهای شناسایی شخصی به کار گرفته میشوند. در زیر چند مورد از اهداف هکرها از انجام حملات بروت فورس آورده شده است.
۱. منفعت بردن از تبلیغات و دادهها
هکرها میتوانند با هک کردن وبسایتها و قرار دادن تبلیغات اسپم برای بالا بردن نرخ کلیک و در نتیجه کسب درآمد و همچنین هدایت ترافیک به یک سایت مشخص بهمنظور گرفتن پورسانت درآمد کسب کنند.
۲. سرقت اطلاعات شخصی و با ارزش
یکی از مهم ترین اهداف هکرها از این حمله، به سرقت بردن اطلاعات شخصی و با ارزش قربانیان برای سوء استفاده از آنها و کسب درآمد در اعتبار قربانیان. برای مثال هکرها با استفاده از بورت فورس می توانند با این حمله به اطلاعات مالی ما دسترسی داشته باشند.
۳. در اختیار گرفتن دستگاه شما برای فعالیت های پلید
هکرها پس از هک رمز عبور سیستم شما، وارد سیستم شده، بدافزارها و فایل های مخرب خود رو روی سیستم شما نصب می کنند. از این طرق هرگاه اراده کنند وارد سیستم شما شده و پس از سرقت اطلاعات شما، از شما باج می گیرند برای عدم افشای آن اطلاعات.
۴. از بین بردن اعتبار یک سایت
هکرها و مجرمان سایبری غیر از سرقت اطلاعات که از اهداف اصلی حملات بروت فورس است، می توانند با آلوده کردن سایت شما با محتوای ناپسند مانند متن، عکس، ویدیو و حتی صوت باشد و اغلب پیام این محتواها خشونتآمیز، غیراخلاقی و نژادپرستانه است، می تواند اعتبار وب سایت شما را نابود کند.
انواع حمله بروت فورس چیست
حملات بروت فورس انواع مختلفی دارد که در زیر به چند مورد از آنها اشاره می کنیم.
۱. امتحان کردن دستی رمز عبور
این متد قدیمیترین نوع حمله بروت فورس است و میتوان گفت هیچ استراتژیای پشت آن نیست! پسوردهای خیلی ضعیف در برابر این نوع حمله آسیبپذیر هستند. در این روش هکر بهصورت دستی نام کاربری و رمز عبور فرم ورود را توسط روش آزمون و خطا بررسی میکند. مثلاً ۱۲۳۴۵.
۲. حمله بروت فورس دیکشنری
این حمله از رمز عبوری که یک کلمه است و بتوان آن را در یک دیکشنری پیدا کرد استفاده میکند. تنها محدودیت واقعی که حمله Brute Force همیشه با آن مواجه بوده، زمان لازم برای پایان جستوجو و همچنین قدرت محاسباتی است. این روش یکی از معروفترین و پراستفادهترین راهها برای کشف رمز عبور ذخیرهشده در جدول دیتابیس سرور است.
حملات دیکشنری در واقع ابزاری هستند که فقط مختص استفاده در بروت فورس نیستند و محدوده گستردهتری از نیازهای یک هکر را پوشش میدهند. این نوع حملات تلاش و زمان زیادی لازم دارند و همیشه کارآمد نیستند.
حمله دیکشنری فقط در صورتی موفقیتآمیز خواهد بود که رمز عبور یک کلمه حقیقی باشد، مثلا asreertebat. در نتیجه این نوع حمله با محدودیتهایی همراه است؛ چراکه اگر کاربر هوشمندی کرده و رمز عبور پیچیده و قوی انتخاب کرده باشد در این صورت کار هکر بسیار سخت و دشوار خواهد بود.
۳. حمله بروت فورس ترکیبی
هکر در این روش دو دیکشنری جداگانه را همزمان با یکدیگر مورد استفاده قرار میدهد و عبارات هر دیکشنری را با هم ترکیب و بررسی میکند و هر دو عبارت متناظر با یکدیگر ترکیب و مورد آزمایش قرار میگیرند. میزان ترکیب و رنج کاراکتر در این روش کاملا انعطافپذیر بوده و هکر قدرت انتخاب زیادی را دارد.
۴. حمله بروت فورس هیبریدی
این روش یکی از جدیدترین و کارآمدترین روشهای هک رمز عبور است که نهتنها عبارات حقیقی و تکی بلکه عبارات ترکیبی مانند اعداد، سمبلها و کاراکترهای ویژه را نیز شامل میشود و از قدرت مانور بیشتری برخوردار است. در واقع بسیاری از کاربران تصور میکنند صرفا با اضافه کردن عدد پس از نام خود، رمز عبور ایمن است، درصورتیکه هکر پس از ناموفق بودن در کشف رمز عبور توسط متد dictionary به روش hybrid یا دورگه روی میآورد که با اضافه کردن رنج اعداد مشخصی که توسط هکر انتخاب میشود و ترکیب علايم و سمبلهای مشخص اقدام به بررسی صحت رمز عبور خواهد کرد.
راه های مقابله با حمله بروت فورس چیست
با توجه به اینکه حملات بروت فورس وسعت بسیاری داشته و در جاهای متعددی قابل استفاده هستند، ما در این قسمت راهکارهای متفاوتی برای این نوع حمله ذکر خواهیم کرد.
۱. استفاده از کد captcha در کنار فرم ورود به پنل
در حالت عادی یک فرم ورود شامل دو کادر نام کاربری و رمز عبور است، اما با اضافه کردن کادر captcha که یک عبارت مشخص در داخل آن نوشته شده یا به صورت یک سوال می باشد، کاربر باید آن را در کادر پایینتر وارد كند که بهاصطلاح به آن عبارت امنیتی گفته میشود.
با توجه به اینکه حملات brute force توسط ربات و نرم افزارها انجام میشوند، بنابراین با ایجاد کد کپچا ربات یا نرمافزار از هوش لازم برای پاسخگویی به کد کپچا برخوردار نیستند؛ چراکه سوالات از نوع انسانی مطرح میشود.
۲. بلاک کردن آی پی های مهاجم
یکی از اقدامات موثری که می تواند تا حدود بسیار زیادی با حملات بروت فورس مقابله کند، بلاک کردن آیپیهایی است که بیش از سه بار رمز عبور را اشتباه وارد میکنند.
۳. تغییر پورت های پیش فرض سرور
یکی دیگر از روشهای محافظت در مقابل اینگونه حملات، تغییر پورت پیش فرض برنامهها توسط سرور است. بهعنوان مثال پورت ssh را که بهصورت پیش فرض ۲۲ است، به یک پورت بیکار دیگر تغییر داد؛ چون بر حملات بروت فورس به تعیین پورت نیاز بوده که همیشه پورت پیش فرض مدنظر است. همچنین پورت پیش فرض ورود به پنل مدیریت هاست نیز که مثلا در directadmin ۲۲۲۲ است نیز بهتر است تغییر یابد یا در cpanel که ۲۰۸۳ است نیز در صورت تغییر پورت، کار هکر بسیار سختتر خواهد شد.
۴. ایمن سازی فرم ورود
یکی دیگر از راهکارهای ایمنسازی، اسکریپت فرم ورود است؛ چراکه از فرم ورود به پنل مدیریت سایتها در صورت مشکلات امنیتی و رعایت نکردن اصول برنامهنویسی برای سایت خطرناک و امکان نفوذ را افزایش میدهد.
۵. انتخاب نام کاربری مناسب و تغییر مداوم آن
برای انجام حملات بروت فورس فهمیدن نام کاربری الزامی است؛ بنابرین انتخاب نام کاربری مناسب و تعویض مرتب آن میتواند سد امنیتی مناسبی در برابر حملات ایجاد کند.
۶. انتخاب رمز عبور مناسب
شاید بتوان گفت مهمترین عامل در جلوگیری از حملات بروت فورس، انتخاب رمز عبور مناسب است. انتخاب رمز عبور بین ۱۵ تا ۲۵ رقم، استفاده از جملات، استفاده نکردن از اسامی معروف، استفاده نکردن از علايم و رمزهای ساده و قابل حدس، ترکیب اعداد و علايم ویژه در رمز، از معيارهای مناسب برای انتخاب رمز عبور ایمن محسوب میشوند.
سخن پایانی
در پایان باید تاکید کرد که حملات Brute force قربانیان زیادی را تا به امروز گرفته که دلایل متعددی مانند ضعف امنیتی فرمهای ورود، رمز عبور ناامن، پیش فرض بودن پورتها، نام کاربری قابل حدس، استفاده نکردن از افزونه های امنیتی، فقدان تنظیمات بهینه فایروال سرور در آن دخیل بودهاند، که با بر طرف شدن این ایرادات تا حدود بسیار زیادی از این حملات جلوگیری شده است.