نویسنده : Arvan

حمله ‏BRUTE FORCE‏ چیست؟

linkedin

حمله Brute Force  تلاشی برای شکستن رمز عبور، یافتن نام کاربری، یافتن یک صفحه وب پنهان یا یافتن کلید مورد استفاده برای رمزگذاری پیام با استفاده از یک روش آزمون و خطا و بررسی تمام حالات ممکن است. این روش به میزان زیادی از امیدواری نیز نیاز دارد تا در نهایت رمز عبور را به‌درستی حدس زده شود. Brute force حمله‌ای قدیمی اما هم‌چنان محبوب و موثر است.

 

روش‌های انجام حمله‌ی Brute Force

یکی از کاربردهای حمله Brute Force انجام دادن کرک است. کرک یا Cracking عنوان عملیاتی است که معمولن مهاجم برای به‌ دست آوردن رمز عبور یا نام ‌کاربری جهت وارد شدن به یک سرور، سایت، سرویس و ... انجام می‌دهد. در این نوع حملات مهاجم با استفاده از الگوهایی که در اختیار دارد ابزارهایی را استفاده می‌کند تا بتواند فهرستی از کاربران یا رمزهای موجود را روی سرور مدنظر تست کند. با این کار مهاجم در نهایت می‌تواند نام کاربری یا رمز عبور سرور، سایت و ... را به‌ دست آورد.

حملات Cracking خود دارای انواع مختلفی هستند و عملکرد و الگوی خاصی را نمی‌توان برای آن‌ها در نظر گرفت. ولی با توجه به استفاده‌ی کاربران از پسوردهای تکراری، فهرستی از پسوردها، نام‌کاربری‌ها و ... وجود دارد که در اصطلاح به آن دیکشنری گفته می‌شود و رایج‌ترین روش برای انجام حمله‌ی Cracking است.

در دیکشنری‌ها برای پسورد‌هایی که کاربرد بیش‌تری میان کاربران دارند، الگوهای خاصی تعریف می‌شود. برای نمونه 123456 پسوردی است که اولین و بیش‌ترین استفاده در دیکشنری پسورد را دارد. دیکشنری در واقع فهرستی از رمز عبورهای رایج  یا رمزهایی است که مهاجمان در طول سال‌های قبل با استفاده از آن‌ها به خیلی از سایت‌ها نفوذ کرده‌اند. مهاجم هر رمز در دیکشنری را برای نفوذ امتحان می‌کند و این کار را تا زمانی که ترکیب صحیح نام کاربری و رمز عبور سایت را کشف کند، ادامه می‌دهد.

هم‌چنین در نوع دیگری از حملات cracking، مهاجمان فهرستی از پسوردها یا نام کاربری‌هایی دارند که در اصطلاح به آنها Combo گفته می‌شود. معمولن این Comboها بعد از تست به‌وسیله‌ی ابزارهای کرک، روی سایت‌ها یا سرویس‌های مقصد، رتبه‌ نیز می‌گیرند.

یکی دیگر از روش‌های انجام Brute Force شکستن رمزعبور با نرم‌افزارهایی است که برای این کار تولید شده‌اند. این نرم‌افزارها برای سرویس مقصد ایجاد می‌شوند و با توجه به الگوریتم‌های آماده، نوع سیستم و موارد مرتبط، رمزهای عبور تصادفی ایجاد می‌کنند. در حملات Brute Force، مهاجمان الگوهای خود و هم‌چنین بازه‌های خطاگیری و قفل شدن را در نرم‌افزار مورد استفاده تنظیم و فیلترینگ‌های خود را نسبت به سرویس مقصد آن‌قدر محدود می‌کنند تا مدت‌زمان دریافت نتیجه را به حداقل برسانند.

برای نمونه مهاجم وقتی که قصد نفوذ به یک سرور لینوکس را دارد، می‌داند که امکان استفاده از کاراکتر ^ یا % وجود ندارد یا بسیار کم است، پس فیلترهای اعمال شده برای ایجاد نام‌کاربری را از این مقادیر خالی می‌کند تا نتایج را در زمان سریع‌تری دریافت کند.

 

روش‌های جلوگیری از حملات Brute Force

تقریبن می‌توان گفت روشی برای مقابله‌ی کامل با این نوع حملات وجود ندارد اما، می‌توان به‌گونه‌ای احتمال یافتن پسورد در این حملات را به حداقل رساند. برخی از این روش‌ها به شرح زیر هستند:

  • رمزهای‌عبور قویِ انتخاب کنید. بزرگترین هدیه‌ای که می‌توانید به مهاجمان بدهید رمزهای‌عبور یکسان برای تمامی سرورها، اکانت‌ها و ... است! از این اقدام به‌جد اجتناب کنید. برای رمزگذاری روی تمام نرم‌افزار‌ها، سرورها، بخش مدیریت سایت‌ها و ... از پسورد Full Complex و طولانی استفاده کنید. رمزها باید شامل حروف بزرگ و کوچک و اعداد و کاراکترهای خاص باشند.
  • از کلمات معنی‌دار و قابل حدس در رمزهای عبور استفاده کنید.
  • از الگوریتم‌های رمزگذاری پیچیده مانند SHA-512 استفاده کنید، از الگوریتم‌های رمزگذاری قدیمی یا ضعیف استفاده نکنید. استفاده کردن از الگوریتم‌های پیچیده و جدید به‌طور چشمگیری سرعت حملات Brute force را کاهش می‌دهد.
  • رمزهای‌ عبور خود را در نرم‌افزارهای مخصوص این کار نگهداری کنید. به این ترتیب هم رمزهای پیچیده‌ی خود را فراموش نمی‌کنید و هم به‌راحتی به آن‌ها دسترسی خواهید داشت. در ضمن امنیت این نرم‌افزارها در برابر این‌گونه حملات نیز بسیار بیش‌تر است.
  • اطلاعات رمزگذاری شده‌ی خود را در یک جای امن نگه دارید که مهاجمان به آن دسترسی نداشته باشند.
  • رمزهای‌ عبور مشترک سرور خود را در سایت‌هایی که ثبت‌نام می‌کنید، وارد نکنید. یکی دیگر از بزرگ‌ترین مشکلاتی که که مهاجم با کمک آن می‌تواند بدون نیاز به  Brute Force سرور شما را هک کند، پسورد مشترک و ورود آن‌ها در سایت‌های غیرمعتبر است.
  • مواردی که می‌توانند جلوی حملات Brute Force روی وب‌سایت‌ها را بگیرند، کمی ساده‌تر هستند و کاربر با اندکی تغییر، به‌سادگی می‌تواند حداقل الگوهای راحت را برای مهاجم حذف کند. برای نمونه تمام کاربران آماتور و مهاجمان، می‌دانند که صفحه ورودی پیش‌فرض قسمت ادمین، برای سیستم مدیریت  wordpress و ورود اعضای آن، آدرس
    /wp-admin.php و wp-login.php است. پس اولین قدم برای جلوگیری از حملات مهاجمان، تغییر صفحات پیش‌فرض و یا ایجاد محدودیت برای دسترسی به این صفحه است. برای نمونه صفحات مدیریتی حساس برای سیستم خود را می‌توانید محدود به IP کنید. با این روش امکان تست پسورد برای قسمت مدیریت به‌وسیله‌ی مهاجمان کم‌تر وجود دارد. در سرور‌ها نیز با تغییر پورت‌های پیش‌فرض سرور می‌توانید جلوی این حملات را بگیرید. برای نمونه پورت پیش‌فرض ورود با ssh پورت شماره 22 است و می‌توان آن را به پورت بازی دیگر تغییر داد. در سرورهای ویندوزی نیز بیش‌ترین کرک‌ها روی پورت پیش‌فرض Remote Desktop با شماره 3389 انجام می‌شوند. اگر از این سرویس استفاده می‌کنید، پورت پیش‌فرض Remote Desktop را حتمن تغییر دهید.

مطالب مرتبط