در سال 2016 هکرها با تمام قوا به سایت علی بابا – که یک فروشگاه اینترنتی چینی است – حمله کردند و موفق به هک کردن پسورد بیشاز ۲1 میلیون اکانت شدند! فکر میکنید از این ۲۰ میلیون پسورد چه استفادهای شد؟ دزدهای عصر دیجیتال با موجودی اکانتهای هک شده، محصولات مختلفی را خریدند و سایت را از نظرات غیرواقعی پر کردند. درواقع در آن سال، سایت علی بابا مورد حمله بروت فورس قرار گرفته بود.
این حمله یک نوع متداول از حملات شبکهای است که سایتهای زیادی را مورد هدف قرار میدهد. بنابراین مقاله حاضر را به بررسی حمله brute force اختصاص دادیم تا با مباحثی مانند انواع حملات بروت فورس، روشهای تشخیص آن و راههای جلوگیری از وقوعش آشنا شویم.
حمله Brute Force چیست؟
ضربالمثل بسیار معروفی در زبان فارسی وجود دارد که بهاحتمال زیاد آن را شنیدهاید. سنگ مفت، گنجشک مفت! حملات بروت فورس هم به این شکل انجام میشوند. به مثال زیر توجه کنید:
برای اینکه بتوانید از خدمات ایران سرور مانند سرور مجازی یا هاست وردپرس استفاده کنید، باید یک حساب کاربری در آن بسازید. اولین گام در این مسیر، انتخاب نام کاربری و کلمه عبور یا پسورد است. هرگاه قصد استفاده از سرویس، تمدید آن یا ثبت تیکت را داشته باشید، باید این نام کاربری و کلمه عبور را وارد کنید تا به حساب خود و جزئیات آن دست پیدا کنید.
خیلی واضح است که هرکس دیگری به این اطلاعات (نام کاربری، ایمیل و رمز عبور) دسترسی داشته باشد، میتواند وارد پنلتان شود.
هکرها با استفاده از حمله بروت فورس یا “Brute Force Attack” سعی دارند نام کاربری یا کلمه عبور شما را حدس بزنند!
البته آنها پایگاه داده عظیمی را در اختیار دارند که از هزاران و میلیونها نام کاربری و رمز عبور تشکیل شده است. این روش یکی از متداولترین شیوههای اجرای بروت فورس است.
ترکیبی از میلیونها نام کاربری و کلمه عبور به یک صفحه ورود هجوم میآورند تا شاید یکی از آنها درست باشد. هدف هکر فتح اکانت کاربر و پا گذاشتن به حسابهای بانکی و کیف پول دیجیتال او است.
بیشتر بخوانید: معرفی ۸ نرم افزار امنیتی سرور در سال ۲۰۲۴
آیا هکران پایگاه داده اکانتها را میسازند؟
البته که مغز متفکر تمام ماجرا، یک انسان است؛ اما سوال اصلیای که پیش میآید ممکن است چنین چیزی باشد: انسان چگونه میتواند اینکار را انجام دهد؟ چون وقتی صحبت از امتحان کردن میلیونها ترکیب باشد، قطعبهیقین توانایی شناختی و ذهنی انسان پاسخگو نخواهد بود.
انسان از سیستمها و کمکافزارها، یعنی ابرکامپیوترها، اسکریپتها و ابزارهای هک برای پیشبرد اهدافش استفاده میکند.
برخی از این ابزارها به شرح زیر هستند:
- John the Ripper: یک ابزار محبوب منبع باز برای کرک و سرقت رمز عبور
- Hashcat: معروف به سرعت و تطبیقپذیری در شکستن رمزهای عبور هششده؛ فرآیند رمزنگاری و تبدیل متنهای ساده به رشتههای یکتا
- Hydra: یک کرکر ورود به شبکه با پشتیبانی از پروتکل های متعدد
اطلاعات موجود در پایگاه داده عظیمی که در بخش قبل توضیح دادیم، توسط این ابزارها و برخی تکنیکهای زیر جمعآوری میشوند:
- مهندسی اجتماعی
- حملات فیشینگ
- حدس نام کاربری و رمز عبور
- آسیبپذیریهای SQL
- افزونههای غیراستاندارد در افزونه های وردپرس یا قالبهای رایگان و آسیبپذیر در قالب های فروشگاهی وردپرس
سپس یک ابر کامپیوتر مانند قهرمان در صحنه جرم حاضر شده و از این اطلاعات، میلیونها شاخه و مشتق میسازد. هکر هم از آنها بهشکل تکبهتک استفاده میکند تا به موفقیت دست یابد.
حملات بروت فورس چگونه انجام میشوند؟
حمله بروت فورس در هشت مرحله اجرا میشود که در ادامه با آنها آشنا خواهید شد.
1. انتخاب هدف
مهاجم سیستم یا حساب هدف را شناسایی میکند و زیرنظر میگیرد. این موقعیت میتواند یک سایت، نرمافزار یا شبکهای باشد که نیاز به احراز هویت انسانها دارد.
2. جمعآوری اطلاعات
مهاجم اطلاعاتی را درباره قربانی مانند نامهای کاربری، آدرسهای ایمیل یا هر داده مرتبط دیگری که میتواند به حمله کمک کند، جمعآوری میکند.
3. انتخاب روش حمله
بسته به منابع مهاجم و دفاع هدف، ممکن است یکی از انواع حملات بروت فورس انجام شود که در بخش بعدی آنها را معرفی خواهیم کرد.
4. اتوماسیون
استفاده از ابزارها و اسکریپتهای خودکار برای سرعت بخشیدن به روند حدس اطلاعات، بخشی از مرحله اجرای حملات بروت فورس هستند. این ابزارها میتوانند بهسرعت هزاران یا میلیونها ترکیب رمز عبور را تولید و آزمایش کنند.
5. اجرای حمله
هکر با ارسال درخواستهای متعدد به سیستم هدف و تلاش برای ورود به حساب، حمله بروت فورس را آغاز میکند. این مرحله شامل ارسال درخواستهای مکرر به سرور است تا زمانیکه نام کاربری و پسورد صحیح پیدا شود.
6. نظارت بر پاسخها
هکر پاسخهای سرور را زیرنظر میگیرد تا مشخص کند که رمز عبور را با موفقیت حدس زد یا خیر. سپس رویکرد خود را براساس بازخورد سیستم تنظیم میکنند.
7. دسترسی به سیستم
پس از یافتن رمز عبور صحیح، مهاجم به حساب یا سیستم دسترسی پیدا میکند. سپس از این دسترسی برای طیف وسیعی از اهداف مخرب مثل سرقت دادهها، نصب بدافزار یا انجام حملات بیشتر سواستفاده میکند.
8. حذف ردپای خود
پس از سواستفاده از اکانت، هکر اقداماتی را برای پاک کردن ردپای خود انجام میدهد؛ مانند حذف گزارشها، فایل Log سرور یا تغییر گذرواژهها. هدف او از اینکار، حفظ کنترل روی حسابهای در معرض خطر و عدم شناسایی است.
بیشتر بخوانید: آموزش تغییر پورت SSH در سرور مجازی لینوکس
انواع حملات بروت فورس بههمراه مثالهای واقعی
انواع حملات بروت فورس به پنج شکل اجرا میشوند که در ادامه هرکدام را با جزئیات و مثالهایی از دنیای واقعی، تشریح خواهیم کرد.
1. حمله بروت فورس ساده
این متد قدیمیترین و اولین نوع حمله بروت فورس است. سادهترین روش حمله بروت فورس که در آن یک هکر بهطور سیستماتیک، هر ترکیب ممکنی از کاراکترها را امتحان میکند تا رمز عبور صحیح پیدا شود.
این روش را میتوان بهصورت دستی یا کمک گرفتن از ابزارها هم انجام داد؛ اما وقتگیر است و وابستگی زیادی به منابع متعدد دارد. بنابراین شیوهای ناکارآمد در برابر رمزهای عبور طولانیتر نسبتبه سایر حملات Brute Force تلقی میشود. پسوردهای خیلی ضعیف در برابر این نوع حمله آسیبپذیر هستند.
مثال:
- 12345
- password123
2. حملات دیکشنری
در این رویکرد، هکران لیستی از پیش ساختهشده را بهکار میگیرند که از کلمات و رمزهای عبور رایج تشکیل شده است. در دنیای برنامهنویسی، این لیست را با نام دیکشنری (Dictionary) میشناسیم.
حمله دیکشنری از انواع حملات بروت فورس است که در این اطلاعات میچرخد. سپس با اعمال تغییرات روی آنها، مانند اضافه کردن اعداد یا کاراکترهای خاص، رمز عبور هدف را حدس میزنند. این روش در مواجه با هدف قرار دادن کاربران با رمزهای عبور ضعیف یا رایج، کارآمدتر از Brute Force ساده است.
مثال:
- تغییر رمز 1234 به secure123
- امتحان کردن passw0rd1 بهجای pass01
3. حملات بروت فورس ترکیبی
این نوع حملات ترکیبی از انواع حملات بروت فورس ساده و دیکشنری هستند. “Hybrid Brute Force” برای کشف پسوردهای ترکیبی استفاده میشود.
در این شیوه، هکران فهرستی از رمزهای عبور رایج را از فرهنگ لغت استخراج میکنند و آنها را با کاراکترها یا اعداد تصادفی تغییر میدهند. این روش شانس شکستن پسوردهایی را که ممکن است در یک حمله فرهنگ لغت استاندارد یافت نشوند، افزایش میدهد.
مثال:
- ترکیب اعداد 1234 از بروت فورس ساده با “pass123word4” از دیکشنری
4. بروت فورس معکوس
فیلم Tenet را دیدهاید؟ البته هیچ ربطی به هک و پسورد ندارد؛ اما درمورد معکوس شدن است.
هکران در حملات بروت فورس معکوس (Reverse Brute Force)، بهجای اینکه دنبال پسورد بگردند، در پی کشف نام کاربری برمیآیند.
روند کارشان هم به این شکل است که با یک رمز عبور پیداشده از هک قبلی، کارشان را شروع و سعی میکنند نامهای کاربری مشابه را بیابند. این رویکرد در برابر کاربرانی که از رمزهای عبور ضعیف یا رایج در چند حساب استفاده میکنند، اثربخشتر از سایر روشها است.
مثال:
- آزمایش یک رمز عبور ضعیف مانند “Password123” و حدس نامهای کاربری متفاوت مانند “admin”، “user” و “iran”
5. سواستفادهگری از حساب کاربران
در این شیوه از انواع حملات بروت فورس که با نام “Credential Stuffing” معروف است، هکران از نام کاربری و رمز عبور سرقتشده از یک سایت یا سرویس استفاده میکنند.
بسیاری از مردم از یک نام کاربری و پسورد برای تمام اکانتهای خود استفاده میکنند؛ یعنی اگر در ۵۰ سایت مختلف عضو باشند، نام کاربری همه آنها “user” و پسوردشان هم “1234” است.
مثال:
- استفاده از “admin” برای نام کاربری و پسورد “pass1234” برای ورود به اینستاگرام، سایت وردپرس و خدمات آنلاین بانکی
بیشتر بخوانید: آموزش نصب و کانفیگ فایروال CSF
چگونه حملات Brute Force را تشخیص دهیم؟
تشخیص انواع حمله بروت فورس با اجرای اقدامات امنیتی مختلف و بهشکل سیستماتیک شروع میشود؛ روشهایی که حدس زدن اطلاعات حساب را برای هکران دشوار میکنند. در این بخش با شش روش متداول برای تشخیص حملات بروت فورس آشنا خواهیم شد.
1. تلاشهای ناموفق چندباره
یکی از رایجترین علائم حمله Brute Force، تعداد زیادی تلاش ناموفق برای ورود از یک آدرس IP واحد است.
2. افزایش ترافیک شبکه
افزایش ناگهانی ترافیک شبکه هم یکی از علامتهای این حمله است و نشان از بهکارگیری ابزارهای خودکار برای حدس زدن اطلاعات ورود دارد. این افزایش با تحت فشار قرار گرفتن منابع سرور یا هاست، منجربه عملکرد کند آنها و سایت میشود.
3. مکانهای ناآشنا
برخی مکانهای جغرافیایی غیرمعمول و گمنام هستند. این مکانها را میتوانید با بررسی IP در گزارشهای سرور یا هاست شناسایی کنید.
4. مشکلات عملکرد سیستم
کاهش غیرمنتظره سرعت هاست و سایت ممکن است ناشی از فشار حمله بروت فورس باشد.
5. فعالیتهای مشکوک در فایل لاگ
فایل لاگ در هاست یا سرور، تمام فعالیتهای IPهای مختلف را ذخیره میکند. اگر فعالیت غیرمجاز یا دسترسی عجیبی در این فایل مشاهده کردید، بهسرعت به سراغ بررسی آنها و اجرای تدابیر امنیتی بروید.
6. هشدار نرمافزارهای امنیتی
استفاده از نرمافزارهای امنیتی مانند سیستمهای تشخیص نفوذ (IDS) یا افزونههای امنیتی وردپرس، میتواند به شناسایی این حمله کمک کند. این برنامهها براساس الگوها و قوانین از پیش تعریفشده، عملیات مشکوک را بهشکل بلادرنگ شناسایی میکنند.
بیشتر بخوانید: آموزش افزایش امنیت سایت و وردپرس با 19 راهکار اصولی
راه های جلوگیری از حمله بروت فورس
در ادامه به 9 راهکار موثر در جلوگیری از حمله بروت فورس اشاره خواهیم کرد.
1. اعمال پیچیدگی روی رمزهای عبور
استفاده از رمزهای عبور قوی و پیچیده با ترکیبی از حروف بزرگ و کوچک، اعداد و نمادها، اولین روش در دسته راه های جلوگیری از حمله بروت فورس است. رمزهای عبوری مانند 1234 یا “admin” را بههیچوجه استفاده نکنید.
بهترین رمزهای پیچیده:
- *&SonyaCatter!@
- @$It’s1000Dollar$
2. MFA
“Multi-Factor Authentication” یک لایه امنیتی اضافی را روی نام کاربری و رمز عبور پیاده میکند. بنابراین حتی اگر هکر موفق شود رمز عبور را بهدست آورد، باز هم برای دسترسی به حساب کاربری به فرم بعدی برای تایید هویت خود نیاز خواهد داشت.
3. اعمال قوانین قفل کردن حساب
قوانین قفل حساب باعث میشوند که اکانتتان پس از تعداد معینی از تلاشهای ناموفق برای ورود، قفل شود. این مسدود شدن بهطور موقت انجام میشود و میتواند سرعت پیشرفت هکران را کند یا حمله را دفع کند.
4. محدود کردن نرخ دسترسی
“Rate Limiting” از مکانیسمهای محدودکننده نرخ کنترل است. روشی که روی کنترل تعداد تلاشهای مجاز ورود در یک بازه زمانی خاص تمرکز دارد. بههمیندلیل، میتوانید بهراحتی انجام تلاشهای سریع و متعدد برای ورود به سیستم را متوقف کنید.
5. چالشهای ساختهشده با CAPTCHA
چالشهای CAPTCHA را در صفحات ورود به سیستم پیاده کنید تا سایت بتواند بین انسانها و رباتهای بروت فورس تفاوت قائل شود.
6 نظارت و تجزیهوتحلیل بر اکانتهای واردشده
بهطور منظم گزارشهای سرور و سایت را برای ردیابی فعالیتهای مشکوک رصد کنید. برخی از این فعالیتها عبارتند از تعداد بالای تلاشهای ناموفق در ورود یا هجوم ربات به سایت.
7. سیستم تشخیص و پیشگیری از نفوذ شبکه (NIDS/NIPS)
یک NIDS یا NIPS را برای نظارت و شناسایی فعالیتهای مشکوک شبکه روی سرور سایتتان مستقر کنید.
8. فهرست مجاز IP و لیست بلاک
ساخت یک فهرست که حاوی IPهای مجاز است، یکی از راه های جلوگیری از حمله بروت فورس است که نقش زیادی را در ضدسلاح کردن حملات هکران ایفا میکند.
همچنین با زیرنظر گرفتن IPهای مشکوک، میتوان یک لیست سیاه درست کرد و تمام آنها را در آن گنجاند. سپس لیست را در سرور بلاک کرد تا دسترسی همه IPها مسدود شود.
9. بهروزرسانی نرمافزار و برنامههای امنیتی
نرمافزارها، یعنی سیستمعاملها و برنامههای امنیتی را همیشه به آخرین نسخه بهروز کنید. نسخههای بهروز هر برنامه شامل وصلههای امنیتی است که برای مقابله با آسیبپذیریهای شناختهشده توسعه داده میشوند.
تست نفوذ هم بخش دیگری از مقابله با حمله بروت فورس است که باید بهصورت دورهای و منظم آن را انجام دهید. این کار خیال شما را از اجرای ممیزیهای امنیتی سیستم راحت خواهد کرد.
آنچه در حمله بروت فورس خواندیم؟
حمله بروت فورس یکی از روشهایی است که هکرها با استفاده از آن، برای رسیدن به اهدافشان تلاش میکنند. سرقت اطلاعات شخصی، دزدی از پنلهای تبلیغاتی، پخش بدافزار و حتی استفاده از سیستمهای هکشده، میتوانند اهداف یک هکر از انجام چنین حملاتی باشند. پس تا حد امکان، پسوردهای قوی و طولانی بسازید و هیچکدام را در اختیار دیگران نگذارید. همچنین استفاده از جزئیات فایل Log در هاست، اعمال تایید چندعاملی و نصب نرمافزارهای امنیتی شبکه، از راه های جلوگیری از حمله بروت فورس هستند.
امیدواریم که پس از خواندن این مقاله، نسبتبه این حمله موذیانه شناخت کافی پیدا کرده باشید؛ اما اگر بخشی از این محتوا برای شما نامفهوم یا پیچیده بود، آن را در بخش نظرات با ما در میان بگذارید. علاوهبر این، تیم ایران سرور مشتاق شنیدن دیدگاههای شما در این زمینه است.
منابع
4 دیدگاه. دیدگاه تازه ای بنویسید
سلام
خیلی ممنون مطلب خوبی بود
انشاالله هیچ کس دچار این حمله نشد حتما تایید دو مرحله ای و امنیت های دیگر که جانب آقای حیدری گفتن را اجرا کنید
تلکاکد -تبدیل رویا به عمل
احسان قدرتی
درود و سپاس از شما
ریکپچا چی؟
ریکپچا هم برای جلوگیری از این نوع حملات مفیده؛ اما خوب برای اینکه همیشه از هکرها یک قدم جلوتر باشید باید از انواع جدید و پیچیدهتر ریکپچا استفاده کنید.