Security

حمله Brute force (بروت فورس) چیست و چگونه می توان از آن جلوگیری نمود؟‎

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

حمله Brute force چیست؟

حمله Brute Force ساده ترین روش برای دسترسی غیر مجاز به سایت یا سرور است (یا هر چیزی که با استفاده از رمز عبور محافظت شود). این نوع حمله با امتحان دوباره و دوباره انواع نام های کاربری و رمز های عبور تصادفی انجام می شود تا بالاخره هکر بتواند نام عبور صحیح را یافته و به سیستم وارد شود.

این عمل تکراری همچون ارتشی است که به یک قلعه حمله می کند. شاید شما فکر کنید که: “وای این کار آسان است، من هم می توانم این کار را انجام دهم.” مطمئناً می توانید آن را امتحان کنید! اما موفقیت در آن به همین سادگی ها نیست! در واقع حمله بروت فورس یکی از شایع ترین حملات سایبری در بحث امنیت سایبری است و انجام آن آسان است اما بسته با شرایط، امکان موفقیت در آن متفاوت است.

معمولاً هر نام کاربری مشترک (به عنوان مثال “admin”) دارای یک رمز عبور است. تنها کاری که باید انجام دهید این است که سعی کنید رمز را حدس بزنید.

بیایید تصور کنیم اگر این رمز یک پین 2 رقمی باشد، شما دو جایگاه عددی از 0 تا 9 دارید. این بدان معنی است که 100 امکان وجود دارد. شما می توانید با قلم و کاغذ این رمز را کشف کنید.

اما حقیقت این است که هیچ رمز عبوری در جهان فقط از 2 کاراکتر تشکیل نشده است. حتی شماره پین ​​(نوعی رمز عبور) که در تلفن های همراه یا در بانک استفاده می شود از حداقل 4 کاراکتر تشکیل شده است. در اینترنت نیز 8 به طور کلی عددی استاندارد برای کوتاه ترین طول یک رمز عبور است.

علاوه بر این پیچیدگی نیز به عنوان حروف در رمز عبور اضافه می شود که آن را ایمن تر می کند. به هر حال از الفبای قابل استفاده در هر دو حالت بزرگ و کوچک نیز استفاده می شود، که این کار را بسیار سخت تر می کند!

بیایید بگوییم اگر ما یک رمزعبور 8 کاراکتر الفبایی داشته باشیم، چند ترکیب ممکن ساخته می شود؟

26 حرف در الفبای انگلیسی وجود دارد. با احتساب حروف بزرگ و کوچک، آن ها را دو برابر کنید: 52 = 26+26

سپس اعداد را نیز اضافه می کنیم: 52 + 10 = 62

بنابراین ما در کل 62 کاراکتر داریم.

برای رمز عبور های 8 کاراکتری عدد مورد نظر 628 خواهد بود که ترکیب احتمالی 2.1834011×1014 را ممکن می سازد.

اگر 218 تریلیون ترکیب را یک بار در ثانیه تلاش کنیم ، 218 تریلیون ثانیه یا 3.6 تریلیون دقیقه طول می کشد.به بیان ساده تر اگر در هر ثانیه یک رمز عبور را امتحان کنید، فقط حدود 7 میلیون سال نیاز است تا یک رمز ترکیبی اینچنینی را بشکنید.

مطمئناً می تواند کمتر از آن طول بکشد اما باید بدانید که 7 میلیون سال حداکثر مدت زمان برای کرک کردن رمز عبور 8 کاراکتر الفبایی است. خوب قطعاً که هیچکس این مدت طولانی زندگی نخواهد کرد.

پس چگونه حمله Brute force می تواند امکان پذیر باشد؟

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

برای انجام این کار، شما باید چند خط ساده کد بنویسید. چنین مهارت های برنامه نویسی برای هر رمزگذاری اساسی است.

حال فرض کنید که شما یک برنامه شکستن رمز ورود ایجاد کرده اید که 1000 ترکیب در ثانیه را امتحان می کند. زمان به 7 هزار سال کاهش می یابد.

ممکن نیست!

خوب شما به یک ابر رایانه احتیاج دارید. بنابراین بیایید تصور کنیم که شما یک ابر رایانه در اختیار دارید که می تواند 109 تلاش در هر ثانیه را امتحان کند.

فقط در 22 ثانیه تمام 218 تریلیون تلاش انجام خواهد شد. (اما اگر رمز عبور به 9 کاراکتر افزایش یابد، باید چند لحظه دیگر صبر کنید.)

خوشبختانه منابع محاسباتی از این نوع در دسترس افراد عادی نیست. اما باید به این نکته هم توجه کنید که هکر های رمز عبور نیز افراد عادی نیستند.

آن ها می توانند منابع محاسباتی را با روش های مختلفی جمع آوری کنند، به عنوان مثال با ایجاد موتور محاسبات قدرتمند از طریق نرم افزار و … .

علاوه بر این محاسبه فوق برای همه ترکیبات ممکن یک رمز عبور 8 کاراکتری است. اما اگر گذرواژه شما 100 کاراکتر ترکیبی داشته باشد، پسورد شما چیست؟

به همین دلیل وجود لایه های امنیتی اضافی برای کشف و خنثی کردن هرگونه تلاش برای نقض رمز عبور ضروری است.

انگیزه هکر ها از این اقدام چیست؟

در پشت حمله Brute Force انگیزه هکر ها دستیابی غیرقانونی به یک وب سایت هدفمند و استفاده از آن در اجرای نوع دیگری از حمله یا سرقت داده های ارزشمند یا به سادگی از بین بردن آن است.

همچنین ممکن است مهاجم سایت را به هدف های طولانی مدت با اسکریپت های مخرب آلوده کند و حتی اثری از آن باقی نماند.

برای مبارزه با حمله Brute Force چه اقداماتی باید انجام داد؟

ابزار های زیادی برای امنیت برنامه های مختلف در دسترس است که پس از تعداد مشخصی از تلاش ها کاربر را بلاک می کند.

به عنوان مثال برای SSH می توانیم از میزبان های Fail2ban یا Deny استفاده کنیم. این برنامه ها پس از چند تلاش اشتباه آدرس IP را رد می کنند.

این ابزار ها کارایی خوبی دارند، اما پیچیدگی و پیشرفت آن آن ها نیز قابل انکار نیست. اخیراً افزایش در حملات brute force مشاهده شده است. این حملات از چندین کشور در سرتاسر جهان پدیدار می شود و با گذشت زمان، آن ها پیچیده تر می شوند. بنابراین همه ما باید سعی کنیم هوشیار باشیم.

وردپرس یک بستر توسعه وب اوپن سورس (متن باز) است که به طور گسترده مورد استفاده قرار می گیرد. بیش از 30٪ وب سایت ها از این پلتفرم پشتیبانی می کنند. به دلیل محبوبیت زیاد آن، این سیستم مدیریت محتوا همچنین مورد علاقه هکر ها نیز قرار گرفته است.

به منظور قرار دادن حداکثر تعداد پارامتر های امنیتی؛ من چند روش موثر را برای جلوگیری از حمله Brute Force در سایت های وردپرسی را ذکر کرده ام.

از طرف دیگر Magento با افزودن کلید به آدرس URL ادمین، سطح امنیتی دیگری را ارائه می دهد. این بدان معنی است که هیچ کس نمی تواند به کلید مخفی URL ادمین دسترسی داشته باشد.

چگونه می توان از حمله brute force جلوگیری کرد؟

شما می توانید برخی از اقدامات احتیاطی را انجام دهید:

  • طول رمز عبور
  • پیچیدگی رمز عبور
  • تلاش برای ورود به سیستم را محدود کنید
  • تغییر فایل .htaccess.
  • استفاده از Captcha.
  • احراز هویت دو عاملی
  • Cloudflare

طول رمز عبور

اولین قدم برای جلوگیری از حمله brute force این است که باید رمز عبور طولانی تر باشد. امروزه بسیاری از وب سایت ها و سیستم عامل ها کاربران خود را مجبور می کنند گذرواژه با طول معین (8 – 16 کاراکتر) ایجاد کنند.

پیچیدگی رمز عبور

نکته مهم دیگر ایجاد رمز عبور پیچیده است. ایجاد رمزهای عبور مانند “ilovemycountry” یا “password123456” توصیه نمی شود.

درعوض کلمه عبور شما باید از حروف کوچک و بزرگ تشکیل شده باشد، همچنین باید دارای شماره و کاراکتر های ویژه باشد. پیچیدگی رمز عبور روند این کارا را به تأخیر می اندازد.

محدود کردن تلاش های ورود به سیستم

یک اقدام ساده اما بسیار قدرتمند محدود کردن تلاش برای ورود به پنل مدیریتی است. به عنوان مثال اگر وب سایت شما پنج تلاش برای ورود ناموفق دریافت کرده است باید آن IP را برای مدت معینی مسدود کنید تا جلوی تلاش های بیشتر گرفته شود.

تغییر فایل .htaccess

اضافه کردن چند قانون در فایل .htaccess می تواند امنیت سایت وردپرس شما را بیشتر کند. هدف این است که فقط به IP آدرس های خاص در فایل .htaccess اجازه دسترسی بدهید.

برای انجام این کار فایل .htaccess خود را باز کرده و مانند نمونه آن را اصلاح کنید:

IP1 و IP2 آی پی آدرس هایی هستند که به آن ها اجازه دسترسی داده اید.

با استفاده از Captcha

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

نصب captcha در سایت وردپرس شما بسیار آسان است. افزونه reCaptcha را نصب کنید و به حساب گوگل خود لینک دهید. اکنون به صفحه تنظیمات افزونه برگردید و مکان هایی را که دوست دارید قبل از اقدامات کاربر captcha بدست آورد، تعریف کنید.

این افزونه همچنین از WooCommerce ،BuddyPress و فرم های سفارشی پشتیبانی می کند.

احراز هویت دو عاملی

احراز هویت دو عاملی یک خط دفاع اضافی است که می تواند از حساب شما در مقابل حمله Brute Force دفاع کند. شانس اجرای موفقیت آمیز حمله Brute Force به سایت های محافظت شده 2FA بسیار کم است.

روش های مختلفی برای پیاده سازی 2FA در سایت وردپرس شما وجود دارد. ساده ترین راه استفاده از هر یک از افزونه های برتر وردپرس برای تأیید احراز هویت دو عاملی است.

Cloudflare

Cloudflare یک سرویس مشهور برای وردپرس است که معمولاً با CDN و caching سر و کار دارد. همچنین یک محافظ در برابر حمله Brute Force را ارائه می دهد.

از طریق تنظیمات Cloudflare کاربر می تواند قوانینی برای دسترسی به صفحات ورود به سیستم تنظیم کرده و یکپارچگی مرورگر را تنظیم کند.

بهترین روش های دیگر برای مبارزه با حمله Brute Force:

  • رمزعبور منحصر به فرد برای هر حساب
  • تغییر مکرر گذرواژه
  • از اشتراک اعتبار نامه از طریق کانال های نا امن خودداری کنید.