حمله Brute Force (بروت فورس) یک روش متداول کرک است که حدود پنج درصد از کل نقض های امنیتی موجود را تشکیل می دهد.
بزرگترین مزیت حمله Brute Force این است که انجام آن نسبتاً ساده است و با توجه به زمان کافی و عدم وجود استراتژی اصولا همیشه کار می کند.
حمله brute force یک روش آزمون و خطا است که برای رمزگشایی داده های حساس استفاده می شود. رایج ترین حملات brute force برای شکستن رمزهای عبور و کلیدهای رمزگذاری است. سایر اهداف رایج برای حملات brute force کلیدهای API و ورود به سیستم *SSH هستند. حملات Brute Force برای شکستن رمزهای عبور اغلب توسط اسکریپتها یا رباتهایی انجام میشود که صفحه ورود به سایت را هدف قرار میدهند.
آنچه حملات brute force را از سایر روشهای کرکینگ متمایز میکند این است که حملات brute force از استراتژی فکری استفاده نمیکنند. آنها به سادگی سعی می کنند از ترکیب های مختلف کاراکترها استفاده کنند تا زمانی که ترکیب صحیح پیدا شود. این به نوعی مانند دزدی است که سعی می کند با استفاده از هر ترکیب ممکن از اعداد قفل گاوصندوق را باز کند.
انگیزه مهاجم ممکن است شامل سرقت اطلاعات، آلوده کردن سایت ها به بدافزار یا اختلال در سرویس باشد.
در حالی که برخی از مهاجمان هنوز حملات Brute Force را به صورت دستی انجام می دهند اما امروزه تقریباً تمام حملات Brute Force توسط ربات ها انجام می شود. مهاجمان فهرستی از اعتبارنامه های رایج که از طریق نقض های امنیتی یا دارک وب بدست آورده اند را دارند. رباتها بطور سیستماتیک به وبسایتها حمله میکنند و این فهرستهای اعتباری را امتحان میکنند. زمانی که مهاجم به آن دسترسی پیدا کرد اطلاع میدهد.
انواع حملات Brute Force
-حمله Brute Force ساده: از یک رویکرد سیستماتیک برای حدس زدن استفاده می کند که به منطق بیرونی متکی نیست.
-حملات Hybrid brute force: از منطق خارجی شروع می شود تا مشخص شود کدام تغییر رمز عبور ممکن است به احتمال زیاد موفق شود و سپس با رویکرد ساده برای آزمایش بسیاری از تغییرات ممکن ادامه می یابد.
-حملات دیکشنری: نام کاربری یا رمز عبور را با استفاده از فرهنگ لغت یا عبارات احتمالی حدس می زند.
-حملات جدول رنگین کمان: جدول رنگین کمان یک جدول از پیش تعیین شده برای معکوس کردن توابع هش رمزنگاری شده است. می توان از آن برای حدس زدن یک تابع تا یک طول مشخص که از مجموعه محدودی از کاراکترها تشکیل شده است استفاده کرد.
مقاله ای در این زمینه در سایت منتشر شده است که می توانید با کلیک کردن بر روی لینک زیر آن را مطالعه نمایید.
-حمله brute force معکوس: از یک رمز عبور مشترک یا مجموعه ای از رمزهای عبور در برابر بسیاری از نام های کاربری احتمالی استفاده می کند. شبکه ای از کاربران را هدف قرار می دهد که مهاجمان قبلاً داده هایی از آن را بدست آورده اند.
-پر کردن اعتبار: از نام کاربری و رمز عبورهای قبلی استفاده می کند و آنها را در چندین وبسایت امتحان می کند. در واقع از این واقعیت سوءاستفاده می کند که بسیاری از کاربران در سیستم های مختلف نام کاربری و رمز عبور یکسانی دارند.
نقاط قوت و ضعف حملات Brute Force چیست؟
بزرگترین مزیت حملات brute force این است که انجام آنها نسبتاً ساده است و با توجه به زمان کافی و عدم وجود استراتژی کاهش حمله برای هدف همیشه کار می کند. هر سیستم مبتنی بر رمز عبور و یا کلید رمزگذاری موجود در آنجا را می توان با استفاده از یک حمله brute force شکست. در واقع مدت زمانی که برای شکستن رمزعبور به یک سیستم نیاز است، معیاری مفید برای سنجش سطح امنیت آن سیستم است.
از سوی دیگر حملات brute force بسیار کند هستند، زیرا ممکن است از هر ترکیب ممکنی از کراکترها برای رسیدن به نتیجه استفاده کند. این کندی با بالارفتن تعداد کاراکتر افزایش می یابد. به عنوان مثال، یک رمز عبور چهار کاراکتری نسبت به یک رمز عبور سه کاراکتری به طور قابل توجهی زمان بیشتری می برد و یک رمز عبور پنج کاراکتری به طور قابل توجهی بیشتر از یک رمز عبور چهار کاراکتری طول می کشد.
اگر رمزعبور به اندازه کافی طولانی باشد ممکن است روزها، ماهها یا حتی سالها طول بکشد تا یک مهاجم بهطور تصادفی رمزگشایی کند. هنگامی که از رمزهای عبور و رمزگذاری خوب استفاده می شود، مهاجمان معمولاً روش های دیگری را برای شکستن آن استفاده می کنند. مانند مهندسی اجتماعی** یا حملات در مسیر (on-path)*** را امتحان می کنند.
Hydra ابزار محبوب حمله Brute Force
تحلیلگران امنیتی از ابزار THC-Hydra برای شناسایی آسیبپذیریها در سیستمهای مشتری استفاده میکنند. Hydra به سرعت از طریق ترکیب تعداد زیادی از رمزهای عبور اجرا میشود. می تواند به بیش از 50 پروتکل و چندین سیستم عامل حمله کند. Hydra یک پلت فرم باز است. جامعه امنیتی و مهاجمان به طور مداوم ماژول های جدیدی را توسعه می دهند.
دیگر ابزارهای برتر بروت فورس عبارتند از:
Aircrack-ng: قابل استفاده در ویندوز، لینوکس، iOS و اندروید. از یک دیکشنری که شامل رمزهای عبور پرکاربرد برای نفوذ به شبکه های بی سیم است استفاده می کند.
John the Ripper: روی 15 پلتفرم مختلف از جمله یونیکس، ویندوز و OpenVMS اجرا می شود. تمام ترکیبات ممکن را با استفاده از یک دیکشنری حاوی رمزهای عبور امتحان می کند.
L0phtCrack: ابزاری برای شکستن رمزهای عبور ویندوز است. از جداول رنگین کمان، دیکشنری ها و الگوریتم های چند پردازنده ای استفاده می کند.
Hashcat: روی ویندوز، لینوکس و سیستم عامل مک کار می کند. می تواند حملات brute force ساده، مبتنی بر قانون و حملات ترکیبی را انجام دهد.
DaveGrohl: یک ابزار منبع باز برای کرک کردن سیستم عامل مک است. می تواند در چندین کامپیوتر توزیع شود.
Ncrack: ابزاری برای کرک کردن احراز هویت در شبکه است. می توان از آن در ویندوز، لینوکس و BSD استفاده کرد.
گذرواژههای ضعیفی که حملات Brute Force را فعال میکنند
امروزه افراد دارای حساب های کاربری و رمزهای عبور زیادی هستند. مردم تمایل دارند به طور مکرر از چند کلمه عبور ساده استفاده کنند که این امر آنها را در معرض خطر حملات هکرها قرار می دهد. همچنین استفاده مکرر از یک رمز عبور برای پلتفرم های مختلف می تواند به مهاجمان امکان دسترسی به بسیاری از حساب ها کاربران را بدهد.
ایمیل هایی که رمزهای عبور ضعیف دارند ممکن است به حسابهایی که برای بازیابی رمزهای عبور استفاده می شوند متصل باشند. این برای هکرها بسیار ارزشمند است.
اگر کاربران رمز عبور پیش فرض روتر خود را تغییر ندهند، شبکه محلی(LAN) آنها در برابر حملات آسیب پذیرتر می شود. زیرا مهاجمان می توانند چند رمز عبور پیش فرض ساده را امتحان کنند و به کل شبکه دسترسی پیدا کنند.
برخی از رایجترین رمزهای عبور یافت شده در لیستهای brute force عبارتند از: تاریخ تولد، نام فرزندان، qwerty, 123456, abcdef123, a123456, abc123, password, asdf, hello, welcome, zxcvbn, Qazwsx, 654321, 123321, 000000, 111111, 987654321, 1q2w3e, 123qwe, qwertyuiop, gfhjkm می باشد.
رمزهای عبور قوی محافظت بهتری در برابر سرقت هویت، از دست دادن داده ها، دسترسی غیرمجاز به حساب ها و غیره ایجاد می کند.
محافظت در برابر حملات Brute Force
برای محافظت از سازمان خود در برابر این حملات، از رمزهای عبور قوی استفاده کنید.
به نکات زیر توجه کنید:
-هرگز از اطلاعاتی که براحتی در اینترنت پیدا می شود (مانند نام اعضای خانواده) استفاده نکنید.
-تا جایی که ممکن است برای رمزهای عبور خود از کاراکترهای بیشتری استفاده کنید.
-در تعیین رمزهای عبور از ترکیب حروف، اعداد و نمادها استفاده کنید.
-برای هر حساب کاربری خود یک رمزعبور متفاوت داشته باشید.
-از الگوهای رایج برای تعیین رمزهای عبور خود اجتناب کنید.
در صورتی که در یک سازمان به عنوان مدیر امنیت مجموعه در حال فعالیت هستید برای محافظت از کاربران در برابر شکستن رمزهای عبور در حملات brute force می توانید روش های زیر را پیادهسازی کنید:
-تعیین خطمشی: میتوانید حسابها را پس از چندین بار تلاش ناموفق برای ورود قفل کنید و در صورت غیرعمدی بودن بعدا می توانید آن ها را باز کنید.
-تأخیر: میتوانید پس از چند بار تلاش ناموفق برای ورود به سیستم، حساب کاربری را برای مدت طولانی تری قفل کنید. پس از هربار تلاش، این تاخیر را طولانی تر کنید. می توانید در نهایت آدرس IP کاربر را نیز قفل کنید.
-استفاده از CAPTCHA: ابزارهایی مانند reCAPTCHA از کاربران میخواهند کارهای سادهای را برای ورود به سیستم انجام دهند. کاربران به راحتی می توانند این کار را انجام دهند در حالی که ابزارهای brute force نمی توانند.
-استفاده از رمزهای عبور قوی: شما می توانید کاربران را مجبور به تعریف رمزهای عبور طولانی و پیچیده کنید. همچنین باید به صورت دوره ای نسبت به تغییر رمزهای عبور خود اقدام کنید.
-احراز هویت دو مرحلهای: میتوانید از عوامل متعددی برای احراز هویت و دسترسی به حسابهای کاربری خود استفاده کنید.
از آنجایی که کلیدهای رمزگذاری با بیت بالا عملاً در برابر حملات brute force فعلی مصون هستند، توصیه می شود تمام سرویس های وب که اطلاعات کاربران را جمع آوری می کنند داده ها و ارتباطات خود را با استفاده از کلیدهای رمزگذاری 256 بیتی رمزنگاری نمایند.
برای رمزگذاری 256 بیتی، مهاجم باید 2256 ترکیب مختلف را امتحان کند که برای شکستن آن 2128 برابر بیشتر از یک کلید 128 بیتی به قدرت محاسباتی نیاز دارد!
برای اینکه معنی این اعداد را درک کنید، یک کامپیوتر قدرتمند که می تواند تریلیون ها ترکیب در ثانیه را بررسی کند را در نظر بگیرید. این کامپیوتر به بیش از یک بیلیون سال نیاز دارد تا یک کلید رمزگذاری 256 بیتی را بشکند.
پ. ن:
* Secure Shell یا SSH
پروتکل Secure Shell یک پروتکل شبکه رمزنگاری برای عملیات ایمن در یک شبکه ناامن است. بیشترن کاربرد آن ورود از راه دور(remote login) و اجرای خط فرمان(command-line) است. برنامه های کاربردی SSH بر اساس معماری client–server است که یک نمونه کلاینت SSH را به یک سرور SSH متصل می کند.
** Social engineering یا مهندسی اجتماعی
حملات مهندسی اجتماعی اشکال مختلفی دارند اما وظیفه یک حمله مهندسی اجتماعی این است که کسی را مجبور به انجام کاری کند که به نفع یک هکر باشد. به عنوان مثال، فردی را فریب دهید تا جزئیات مالی را فاش کند و سپس برای انجام کلاهبرداری از آن استفاده شود.
*** حملات در مسیر یا on-path attack
در حملات on-path یک مهاجم خود را بین دو دستگاه (اغلب یک مرورگر وب و یک وب سرور) قرار می دهد و ارتباطات بین این دو را رهگیری می کند و یا آن را تغییر می دهد. مهاجمان سپس می توانند اطلاعات جمع آوری کنند و همچنین هویت هر یک از دو عامل را جعل کنند.
منابع:
cloudflare.com
imperva.com
norton.com
thesslstore.com
myrasecurity.com
loginradius.com
hivesystems