حمله بروت فورس و روش های جلوگیری از آن
در این مقاله حملات Brute Force و انواع آن را توضیح می دهیم. اگر به دنبال راه حل برای جلوگیری از این حملات و حفاظت از اطلاعات حساب های کاربری خود هستید با ما همراه باشید.
در مقاله انواع روش های هک سایت به حملات بروت فورس اشاره کردیم. اگر وب سایت شما نیاز به احراز هویت کاربر دارد، ممکن است هدف این حملات باشید. حملات Brute Force تلاش برای کشف رمز عبور حساب های کاربری سایت ها است. تقریباً 81 درصد از مواردی که توسعه دهندگان وب را تهدید می کند از سمت این حمله و رمزهای عبور ضعیف و سرقت شده است. در این مقاله ابتدا می گوییم که این حمله چیست و سپس روش های جلوگیری از حملات بروت فورس را بیان می کنیم.
حمله بروت فورس (Brute Force) چیست؟
حملات بروت فورس یا Brute Force Attack یکی از سادهترین روشهای هک وردپرس است. تئوری پشت این حمله تعداد بی نهایت تلاش برای حدس زدن رمز عبور است. برخلاف بسیاری از حملات دیگر که توسط هکرها انجام میشود، هدف حملات Brute Force آسیب به بخش های داخلی وبسایتها نیست. مثلا حملات SQL Injection امنیت دیتابیس شما را تهدید می کند یا حملات DDoS با ایجاد بار اضافی روی سیستم آن را از دسترسی خارج می کنند، اما در حمله بروت فورس کاربرانی که اعتبار ضعیف یا قابل حدس زدن دارند مورد هدف قرار می گیرند.
یک مهاجم همیشه می تواند رمز عبور را از طریق این حمله کشف کند، اما نقطه ضعف این حمله این است که پیدا کردن آن برای یک انسان ممکن است سالها طول بکشد زیرا بسته به طول و پیچیدگی رمز عبور، تریلیون ها ترکیب ممکن وجود دارد. با این وجود با استفاده از ابزارها و نرم افزارهای موجود برای حدس زدن هوشمندانه و خودکار رمزهای عبور کاربر، ایجاد کدی که این نوع حمله را اجرا می کند، دانش زیادی نمی خواهد و چندین هزار تلاش برای رمز عبور را در یک ثانیه انجام می دهد.
متداول ترین نوع این حمله بروت فورس، حمله فرهنگ لغت یا دیکشنری است و معمولاً با استفاده از نام های کاربری و رمزهای عبور رایج برای دسترسی به حساب های مدیریتی انجام می شود. معمولاً حملات دیکشنری سعی میکنند با رایجترین عبارت های مورد استفاده، مانند «admin» و «123456» وارد سیستم شوند.
هدف از حملات Brute Force چیست؟
هدف حمله بروت فورس دستیابی به حساب کاربران است. هدف مهاجم این است که با تلاش برای حدس زدن نام کاربری / ایمیل و رمز عبور به یک حساب کاربری دسترسی پیدا کند که می تواند یک حساب اداری، رمز عبور، یا دسترسی به ایمیل های معتبر در یک وب سایت خاص باشد.
دستیابی به یک حساب معتبر به معنای به خطر انداختن کل سایت است و هکرها می توانند از آن در وب سایت های مورد حمله خود استفاده کنند. معمولاً انگیزه استفاده از حساب کاربران برای اجرای یک حمله در مقیاس بزرگ، سرقت داده های حساس، خاموش کردن سیستم یا ترکیبی از همه این موارد است. برای مثال، با دسترسی به یک حساب کاربری اداری در یک وب سایت، هکرها سعی می کنند از دسترسی به آن حساب با افزودن هرزنامه، توزیع بدافزار، یا فیشینگ قربانیان نا آگاه و… سود ببرند.
حملات بروت فورس چگونه شناسایی می شوند؟
اگر به نظر می رسد که شخصی به طور مکرر و ناموفق تلاش می کند تا به یک حساب کاربری وارد شود، احتمالاً یک حمله Brute Force انجام شده است. علائم این حمله می تواند شامل موارد زیر باشد:
- آدرس IP یکسان و سعی در ورود چندین باره به سیستم
- آدرسهای IP مختلف در تلاش برای ورود به یک حساب واحد
- چندین تلاش برای ورود از آدرس های IP مختلف در مدت زمان کوتاه
انواع حملات Brute Force چیست؟
یک مهاجم ماهر و سمج همیشه راهی برای نفوذ پیدا می کند. مهاجمان طعمه های آسان را دوست دارند و اگر گره ای را در کارشان بیندازید، به احتمال زیاد دور شوند و به دنبال هدف دیگری می گردند. در ادامه پنج نوع رایج حملات Brute Force ذکر شده است.
1. حمله ساده
یک حمله Brute Force ساده حمله ای است که هکرها سعی می کنند رمز عبور شما را بدون کمک اسکریپت یا اتوماسیون خاصی رمزگشایی کنند. با این حمله، پسوردها و پین های ضعیف در عرض چند ثانیه شکسته می شوند.
2. حمله دیکشنری
این نوع حملات بروت فورس زمانی اتفاق میافتد که یک هکر هدفی را انتخاب میکند و سعی میکند رمز عبور دومی را با آزمایش تمام ترکیبهای ممکن در برابر نام کاربری آن بدست آورد. کلمات تصادفی از فرهنگ لغت که با کاراکترها و اعداد خاص افزوده شده اند نیز ممکن است برای این حمله استفاده شوند.
3. حمله ترکیبی
اغلب، افراد از ترکیبی از اعداد مهم برای خود مانند تاریخ تولد یا سالگرد و کلمات برای رمز عبور خود استفاده می کنند. یک حمله ترکیبی یک حمله Brute Force ساده و حمله دیکشنری را ترکیب می کند که سعی می کند ترکیب ورود را حدس بزند.
4. پر کردن اعتبارنامه (Credential Stuffing)
مدارک دزدیده شده بین مجرمان سایبری در وب فروخته و مبادله می شود. سپس مهاجم از این اطلاعات کاربری سرقت شده برای ورود به حساب های دیگر در سایت های مختلفی که کاربر در آنها عضو است استفاده می کنند.
5. حمله معکوس
حمله بروت فورس معکوس از یک رمز عبور شناخته شده یا سرقت شده عمومی شروع می شود. سپس، هکر از ابزارهای خود برای جستجوی نام کاربری، شماره حساب یا کلیدها استفاده می کند.
روش های جلوگیری از حملات بروت فورس چیست؟
روش های زیادی برای توقف یا جلوگیری از حملات Brute Force وجود دارد. واضح ترین آن یک سیاست رمز عبور قوی است. هر برنامه وب یا سرور عمومی باید استفاده از رمزهای عبور قوی را اعمال کند. به عنوان مثال، حساب های کاربری استاندارد باید دارای حداقل هشت حرف، یک عدد، حروف بزرگ و کوچک و یک کاراکتر خاص باشد. علاوه بر این، سرورها باید به تغییر رمز عبور مکرر نیاز داشته باشند. از آنجایی که این حملات به خودی خود یک آسیب پذیری نیستند، به روز نگه داشتن نرم افزار برای محافظت از خود کافی نیست. در این بخش می خواهیم روش های جلوگیری از حملات بروت فورس را بررسی کنیم.
1. حساب ها را پس از تلاش های ناموفق قفل کنید.
با محدود کردن تعداد دفعات تلاش برای ورود برای هر کاربر، مهاجمان نمیتوانند بیش از چند کلمه عبور را امتحان کنند. یک راه رایج برای محدود کردن تلاشهای ورود به سیستم، ممنوع کردن موقت یک IP از ورود به سیستم پس از پنج بار تلاش ناموفق برای ورود است، که در آن تلاشهای بعدی برای ورود مسدود می شوند.
2. Root User را از طریق SSH غیر قابل دسترس کنید.
تلاش های Brute Force SSH اغلب بر روی کاربر اصلی یک سرور انجام می شود. با ویرایش فایل sshd_config، کاربر اصلی را از طریق SSH غیرقابل دسترس کنید. گزینه های «DenyUsers root» و «PermitRootLogin no» را تنظیم کنید.
3. پورت پیش فرض را تغییر دهید.
اکثر حملات خودکار SSH روی پورت پیشفرض 22 انجام می شوند. بنابراین، اجرای sshd در یک پورت دیگر میتواند راهی مفید برای مقابله با حملات Brute Force باشد. برای تغییر به یک پورت غیر استاندارد، خط پورت را در فایل sshd_config خود ویرایش کنید.
4. از CAPTCHA استفاده کنید.
همه ما به دیدن CAPTCHA در اینترنت عادت کردیم. هیچ کس دوست ندارد چیزی را که به نظر می رسد توسط یک کودک دو ساله خط خطی شده است بفهمد، اما ابزارهایی مانند CAPTCHA ربات های خودکار را بی اثر می کند. ساخت کپچا راه خوبی برای جلوگیری از انجام اقدامات رباتها و ابزارهای خودکار در وبسایت شما هستند و قبل از اینکه مهاجمان بتوانند وارد سیستم شوند، به آنها نمایش داده می شود. از آنجایی که این چالش ها به گونهای طراحی شده است که توسط انسانها حل شود، روباتها از انجام آن ها باز می مانند.
✔️ به خاطر داشته باشید که استفاده از ابزارهایی مانند CAPTCHA بر تجربه کاربر تأثیر منفی می گذارد.
5. ورود با یک آدرس IP یا محدوده مشخص را محدود کنید.
اگر اجازه دسترسی را فقط از یک آدرس IP یا محدوده تعیین شده بدهید، مهاجمان Brute Force باید سخت تلاش کنند تا بر آن مانع غلبه کنند و به زور دسترسی پیدا کنند. اینکار مانند قرار دادن یک محیط امنیتی در اطراف گرانبهاترین داده های خود است و هرکسی که از آدرس IP مناسب نیست اجازه دسترسی ندارد.
شما می توانید این روش را با قرار دادن یک پورت دسترسی از راه دور به یک آدرس IP ثابت تنظیم کنید. اگر آدرس IP ثابت ندارید، می توانید به جای آن VPN را پیکربندی کنید. یک نقطه ضعف این روش در این است که ممکن است برای هر موردی مناسب نباشد.
6. از احراز هویت دو عاملی (2FA) استفاده کنید.
احراز هویت دو عاملی توسط بسیاری به عنوان اولین خط دفاع در برابر حملات Brute Force در نظر گرفته می شود. اجرای چنین راه حلی تا حد زیادی خطر حمله را کاهش می دهد. 2FA یک لایه امنیتی دیگر را به فرم ورود شما اضافه می کند. هنگامی که با اعتبار مناسب وارد سیستم شدید، باید کدی را وارد کنید که فقط برای شما قابل دسترسی باشد. این کد می تواند برای شما ایمیل یا در تلفن همراه شما پیام شود.
نکته جالب در مورد 2FA این است که رمز عبور به تنهایی کافی نیست. حتی اگر یک مهاجم رمز عبور را شکسته باشد، باید به تلفن هوشمند یا سرویس گیرنده ایمیل شما دسترسی داشته باشد. مهاجمان بسیار پیگیر ممکن است سعی کنند بر آن غلبه کنند، اما بیشتر آنها هدف های ساده تری را دنبال می کنند.
7- اصول امنیت سایت را یاد بگیرید.
علاوه بر موارد گفته شده آشنایی با اصول و نکات مهم امنیت را یاد بگیرید تا سایتتان را در برابر انواع حملات حفظ کنید.
8. از URL های ورود منحصر به فرد استفاده کنید.
URL های ورود منحصر به فرد برای گروه های کاربری مختلف ایجاد کنید. این مورد یک حمله Brute Force را متوقف نمی کند اما کار یک مهاجم را چالش برانگیز و وقت گیر می کند. اگر URL صفحه ورود را تغییر دهید برای مثال بجای /wp-login.php از /mysite-login استفاده کنید، این موضوع می تواند برای متوقف کردن اکثر ابزارهای خودکار و حجیم هک کافی است. در صورتی که سایت وردپرسی دارید با استفاده از افزونه های امنیتی مانند iTheme-Security می توانید لینک ورود به پنل مدیریت خود را تغییر دهید.
9. گزارش های سرور خود را نظارت کنید.
فایل های لاگ خود را با پشتکار تجزیه و تحلیل کنید. ادمین ها می دانند که گزارشات برای حفظ یک سیستم ضروری هستند. از برنامه های مدیریت گزارش، در انجام چک آپ های روزانه کمک بگیرید و گزارش های روزانه را به صورت خودکار پیگیری کنند.
10. از رمزهای عبور قوی استفاده کنید.
هدف Brute force رمزهای عبور ضعیف است. یک رمز عبور قوی دارای ویژگی های زیر است.
منحصر به فرد: باید از استفاده مجدد از رمزهای عبور خودداری کنید. با استفاده مجدد از گذرواژهها، مهاجمان میتوانند با استفاده از اعتبار نامه های به خطر افتاده شما در وب سایت های دیگر، راحتتر شما را هدف قرار دهند.
طولانی: گذرواژه های طولانی تر به معنای ترکیب های احتمالی بیشتر است. رمزهای عبور پنج کاراکتری تقریبا در هر کامپیوتری در چند ثانیه به راحتی شکسته می شوند، 10 کاراکتر چند سال طول می کشد و 20 کاراکتر تقریبا برای همیشه طول می کشد!
غیر قابل حدس: با اطلاعاتی از خود مانند نام خودتان یا شهری که در آن زندگی می کنید ممکن است به خاطر سپردن رمز عبور آسان تر شود، اما حدس زدن آن نیز برای کسی که اطلاعاتی درباره شما دارد نیز آسان تر می شود. این مساله در مورد متن های رایج مانند «12345» یا «PASSWORD» نیز صدق میکند که معمولاً در رمزهای عبور استفاده می شوند، زیرا به خاطر سپردن آنها آسان است.
و در نهایت اگر است شما وردپرسی است می توانید با نصب افزونه وردفنس که یک افزونه امنیت وردپرس است از این حملات جلوگیری کنید.
با انجام روش های جلوگیری از حملات بروت فورس، تلاش های مهاجمان در حدس زدن رمز عبور شما موفقیت آمیز نخواهد بود. همین اصول در مورد سؤالات بازیابی رمز های عبور نیز صدق می کند: اگر سؤالات بازیابی شما ضعیف است، اما رمز عبور شما قوی است، مهاجمان به راحتی رمز عبور شما را بازیابی می کنند.
کلاهبرداری های آنلاین امروزی با روشهای مرسوم و پپیچیده ای انجام می شوند. یکی از ساده ترین و رایج ترین این روش ها حمله بروت فورس است. با تغییر عادت های آنلاین تان مانند استفاده از رمزهای عبور قوی تر، عدم استفاده مجدد از آنها برای هر حساب کاربری دیگر یا تغییر URL های قابل حدس می توانید از این حمله پیشگیری کنید. در این مقاله با سایر روش های جلوگیری از حملات Brute Force آشنا شدید که امیدوارم برای شما مفید باشد. مشتاق شنیدن نظرات شما در کامنت ها هستم.