Brute Force (بروت فورس) یکی از انواع حملات هکر ها برای بدست آوردن رمز های عبور است. در این روش هکر با استفاده از نرم افزار های مخصوص سعی می کند تمام عبارت های ممکن را بررسی کند. آشنایی با حملات brute force برای همه مدیران سایتها و کاربران اینترنتی که دارای پنل مدیریت اینترنتی یا نام کاربری و رمز عبور در یک سایت خاص هستند لازم و ضروری است، چراکه با شناخت این نوع حمله و راهکار های مقابله با آن گامی بلند در جهت ارتقای امنیت سایبری برداشته شده و میزان کمتری از سایتها توسط این روش خطرناک مورد نفوذ قرار میگیرند.
در این نوع حملات هکر ها با استفاده از نرم افزارهای روبوت (Bots) با ارسال میلیاردها میلیارد نام کاربری و کلمه عبور بر روی بخش Login وب سایت شما و با استفاده از قاعده زمان بی نهایت و حالت بی نهایت که احتمال ۱۰۰% نتیجه می دهد، به یافتن نام کاربری و کلمه عبور اقدام می کنند. پس هر چه نام کاربری و کلمه عبور پیچیده تری انتخاب کنید، هکر دیرتر به موفقیت دست پیدا می کند. اما در صورتی که سرور میزبان فضای وب پورتال شما از قدرت کافی برخوردار باشد و اصطلاحاً کرش نکند و از قابلیت Brute Force Detection نیز برخوردار نباشد باز هم هکر می تواند به نتیجه دلخواهش که همانا دستیابی به نام کاربری و کلمه عبور شماست برسد.

در حمله بروت فورس ما یک کار ساده برای انجام دادن داریم که آزمایش هر ترکیب حرفی-عددی ممکن تا زمان رسیدن به کلمه عبور واقعی است. به صورت تئوری، ما یک شانس ۱۰۰ درصدی را برای یافتن کلمه عبور در اختیار داریم، اما در عمل یک مشکل واقعاً بزرگ وجود خواهد داشت: زمان و قدرت. یک کلمه عبور هشت کاراکتری بایستی با ۲ به توان ۶۳ تلاش آزمایش گردد. به این ترتیب برای آنکه در زمان های انسانی به نتیجه ای دست پیدا کنید، به یک پردازنده بسیار قدرتمند نیاز خواهید داشت. یک کامپیوتر معمولی می تواند ۱۰ کلمه عبور را در هر ثانیه آزمایش کند. این یکی از دلایلی است که باعث می شود هیچکس معمولاً یک حمله Brute Force خالص را آغاز نکند. به همین علت، این روش آن قدر که برای پیدا کردن رمز های آفلاین موثر است، برای پیدا کردن رمز های آنلاین مثل سایت ها موثر نیست چون سرعت آن خیلی کاهش پیدا می کند. با این حال متأسفانه، یک فناوری محاسباتی جدید وارد میدان شده که می تواند این وضعیت را تغییر دهد.
روشهای عمومی بروتفورس
1-امتحان کردن دستی رمز عبور
در این روش هکر بهصورت دستی نام کاربری و رمز عبور فرم ورود را توسط روش آزمون و خطا بررسی میکند. در این روش با توجه به تنظیمات امنیتی، سایت هکر میتواند تا میزان مجازی برای آزمودن رمز عبور مورد نظر اقدام کند. این روش سادهترین راه برای کشف رمز عبور است که بیشتر به ضعف امنیت رمز عبور انتخابشده بستگی دارد.
۲-روش Dictionary
حمله Dictionary را میتوان بهعنوان یک حمله Brute Force هوشمند تعریف کرد. این حمله از رمز عبوری که یک کلمه است و بتوان آن را در یک دیکشنری پیدا کرد استفاده میکند. تنها محدودیت واقعی که حمله Brute Force همیشه با آن مواجه بوده، زمان لازم برای پایان جستوجو و همچنین قدرت محاسباتی است. این روش یکی از معروفترین و پراستفادهترین راهها برای کشف رمز عبور ذخیرهشده در جدول دیتابیس سرور است.
در یک حمله Brute Force عادی، ما هر ترکیب احتمالی از اعداد، حروف و سمبلها را آزمایش میکنیم تا به کلمه عبور واقعی برسیم. در این روش، هکر با در اختیار داشتن میلیونها کاراکتر پیشنهادی برای امتحان در فرم ورود به پنل مدیریت و با استفاده از ابزارهای بروتفورس، به حمله به هدف مورد نظر خود اقدام میکند که یک پروسه زمانبر و طولانی بوده و با قدرت سختافزاری سیستم مخصوصا کارت گرافیک ارتباط کاملا مستقیم دارد. هر چقدرGPU قویتر باشد، روند انجام کار سریعتر است. در واقع هکر مانند یک فرد مسلح به سمت هدف با سرعت بالا شلیک میکند تا هدف مورد نظر آسیبپذیر شود.
حمله دیکشنری فقط در صورتی موفقیتآمیز خواهد بود که رمز عبور یک کلمه حقیقی باشد، مثلا asreertebat. در نتیجه این نوع حمله با محدودیتهایی همراه است؛ چراکه اگر کاربر هوشمندی کرده و رمز عبور پیچیده و قوی انتخاب کرده باشد در این صورت کار هکر بسیار سخت و دشوار خواهد بود. این روش در برابر پسوردهای قوی که ترکیبی از کلمات و شمارهها و سمبلها هستند زیاد کارآمد نیست.
۳-Mask Attack
درصورتیکه هکر رنج تعداد کاراکترهای رمز عبور را حدس بزند، این روش کارآمدترین راه محسوب میشود؛ چراکه با توجه به طولانی و زمانبر بودن پروسه حمله بروتفورس، کاهش میزان احتمالات باعث سرعتبخشیدن بهطرز چشمگیری به روند کار خواهد شد. همچنین درصورتیکه هکر کاراکترهای مشخصی از رمز عبور را تشخیص دهد، در این روش برای كشف بقيه کاراکترها امتحان خواهد کرد. به عنوان مثال هکر یقین دارد که مقدار ابتدایی رمز asreertebat است، بنابرین توسط این روش بهدنبال کاراکترهای بعد از asreertebat میگردد. براي مثال، از asreertebat1000 تا asreertebat10000000 و کلیه اعداد در این رنج را توسط ابزار بررسی میکند یا هر نوع رنج و کاراکتری که هکر احتمال آن را بدهد.
۴- Combination
هکر در این روش دو دیکشنری جداگانه را همزمان با یکدیگر مورد استفاده قرار میدهد و عبارات هر دیکشنری را با هم ترکیب و بررسی میکند و هر دو عبارت متناظر با یکدیگر ترکیب و مورد آزمایش قرار میگیرند. میزان ترکیب و رنج کاراکتر در این روش کاملا انعطافپذیر بوده و هکر قدرت انتخاب زیادی را دارد.
۵- روش hybrid
این روش یکی از جدیدترین و کارآمدترین روشهای هک رمز عبور است که نهتنها عبارات حقیقی و تکی بلکه عبارات ترکیبی مانند اعداد، سمبلها و کاراکترهای ویژه را نیز شامل میشود و از قدرت مانور بیشتری برخوردار است. در واقع بسیاری از کاربران تصور میکنند صرفا با اضافه کردن عدد پس از نام خود، رمز عبور ایمن است، درصورتیکه هکر پس از ناموفق بودن در کشف رمز عبور توسط متد dictionary به روش hybrid یا دورگه روی میآورد که با اضافه کردن رنج اعداد مشخصی که توسط هکر انتخاب میشود و ترکیب علايم و سمبلهای مشخص اقدام به بررسی صحت رمز عبور خواهد کرد.
روشهای مقابله با حملات brute force
با توجه به اینکه حملات بروتفورس وسعت بسیاری داشته و در جاهای متعددی قابل استفاده هستند. ابتدا باید محدوده کار مشخص شود؛ مثلا قرار است از فرم ورود به مدیریت یک سایت جوملایی یا وردپرسی محافظت شود یا از پنل مدیریت هاست یا سرور یا…. اما در این قسمت راهکارهای متفاوتی برای این نوع حمله ذکر خواهد شد:
۱- استفاده از کد captcha در کنار فرم ورود به پنل: در حالت عادی یک فرم ورود شامل دو کادر نام کاربری و رمز عبور است، اما با اضافه کردن کادر captcha که یک عبارت مشخص در داخل آن نوشته شده، کاربر باید آن را در کادر پایینتر وارد كند که بهاصطلاح به آن عبارت امنیتی گفته میشود. همچنين میتوان به جای عبارت امنیتی، از سوال امنیتی استفاده کرد که کاربر باید جواب آن را در کادر پایینتر بدهد.
تا زمانی که عبارت یا سوال امنیتی پاسخ داده نشود حتی با صحیح بودن نام کاربری یا رمز عبور، امکان ورود ممکن نیست که اين مساله یک سد امنیتی مهم در مقابل حملات brute force محسوب میشود، چون با توجه به اینکه حملات brute force توسط ربات و نرم افزارها انجام میشوند، بنابراین با ایجاد کد کپچا ربات یا نرمافزار از هوش لازم برای پاسخگویی به کد کپچا برخوردار نیستند؛ چراکه سوالات از نوع انسانی مطرح میشود.
۲- بلاک کردن آیپیهای مهاجم: یکی دیگر از اقدامات مهم و موثر برای پنل مدیریت سایت و سرور، بلاک کردن آیپیهایی است که بیش از سه بار رمز عبور را اشتباه وارد میکنند. بر اساس این اقدام، هر آیپی که بیش از حد مجاز اقدام به تست رمز عبور در فرم ورود را انجام دهد توسط ابزارها یا پلاگینهای اختصاصی تا مدت زمان مشخصی بلاک خواهد شد. همچنین در تنظیمات سرورها نیز این امکان وجود دارد تا توسط فایروال سرور آیپیهای مهاجم بلاک شوند.
۳- تغییر پورتهای پیشفرض سرور: یکی دیگر از روشهای محافظت در مقابل اینگونه حملات، تغییر پورت پیشفرض برنامهها توسط سرور است. بهعنوان مثال پورت ssh را که بهصورت پیشفرض ۲۲ است، به یک پورت بیکار دیگر تغییر داد؛ چون بر حملات بروتفورس به تعیین پورت نیاز بوده که همیشه پورت پیشفرض مدنظر است. همچنین پورت پیشفرض ورود به پنل مدیریت هاست نیز که مثلا در directadmin ۲۲۲۲ است نیز بهتر است تغییر یابد یا در cpanel که ۲۰۸۳ است نیز در صورت تغییر پورت، کار هکر بسیار سختتر خواهد شد. بهطور کلی تغییر پورتهای پیشفرض در سرور یک سد امنیتی بسیار مناسب برای جلوگیری از حملات بر وت فورس به وجود خواهد آورد.
۴- ایمنسازی فرم ورود: یکی دیگر از راهکارهای ایمنسازی، اسکریپت فرم ورود است؛ چراکه از فرم ورود به پنل مدیریت سایتها در صورت مشکلات امنیتی و رعایتنکردن اصول برنامهنویسی برای سایت خطرناک و امکان نفوذ را افزایش میدهد.
۵- انتخاب نام کاربری مناسب و تغییر مداوم آن: برای انجام حملات بروت فورس فهمیدن نام کاربری الزامی است؛ بنابرین انتخاب نام کاربری مناسب و تعویض مرتب آن میتواند سد امنیتی مناسبی در برابر حملات ایجاد کند.
۶- انتخاب رمز عبور مناسب: شاید بتوان گفت مهمترین عامل در جلوگیری از حملات بروتفورس، انتخاب رمز عبور مناسب است که در شمارههای گذشته هفتهنامه بهطور مفصل به آن اشاره شده است، اما بهطور کلی انتخاب رمز عبور بین 15 تا 25 رقم، استفاده از جملات، استفاده نکردن از اسامی معروف، استفاده نکردن از علايم و رمزهای ساده و قابل حدس، ترکیب اعداد و علايم ویژه در رمز، از معيارهای مناسب برای انتخاب رمز عبور ایمن محسوب میشوند.
در پایان باید گفت حملات brute force قربانیان زیادی را تا به امروز گرفته که دلایل متعددی مانند ضعف امنیتی فرمهای ورود، رمز عبور ناامن، پیشفرض بودن پورتها، نام کاربری قابل حدس، استفاده نکردن از افزونههای امنیتی، فقدان تنظیمات بهینه فایروال سرور در آن دخیل بودهاند.