Brute Force چیست؟ – حمله بروت فورس به زبان ساده
حمله Brute Force که با نام «حمله جستجوی فراگیر» (جستجوی جامع | Exhaustive Search) نیز شناخته میشود، نوعی عملیات هک رمزنگاریشده (هک پنهانی | Cryptographic Hack) در حوزه امنیت شبکه به حساب میآید. Brute Force حملهای است که در آن ترکیبهای ممکن یک گذرواژه تا زمان پیدا شدن ترکیب درست امتحان میشوند. در این نوشته، نکات و مسائل مهم پیرامون Brute Force پوشش داده شده است.
واژه Brute Force در لغت به معنای متوسل شدن یا نائل شدن به استفاده از جبر، تلاش یا قدرتی که معمولاً با روشهای فاقد بهرهوری، با دقت برنامهریزی شده و در مقیاس بزرگ انجام میشود. حملات Brute Force اغلب برای دستیابی به اطلاعات شخصی توسط هکرها انجام میشود. در ادامه، توضیحات بیشتر و دقیقتری در این خصوص ارائه شده است.
دقت داشته باشید این مقاله صرفاً با هدف آموزش تهیه و تنظیم شده است و مجله فرادرس هیچگونه مسئولیتی درباره هرگونه استفاده غیر مجاز از آن ندارد. شرایط استفاده از مجله فرادرس را میتوانید به صورت کامل در این لینک مطالعه کنید.
Brute Force چیست ؟
حمله بروت فورس (Brute Force Cracking | Brute Force Attack) حملهای سایبری است که در آن همه حالتهای ممکن برای یک رمز تا زمان یافتن رمز صحیح، امتحان میشود. نرخ بالایی از رخدادهای نفوذ اطلاعاتی در دهه نود شمسی به وسیله Brute Force انجام شده است.
حملات Brute Force ساده و قابل اطمینان هستند. مهاجمان معمولاً کار را به کامپیوترها میسپارند تا آنها ترکیبهای مختلفی از نامهای کاربری و گذرواژهها را تا زمان رسیدن به ترکیب درست امتحان کنند. بهترین روش مقابله، شناسایی و خنثی کردن یک حمله Brute Force، در زمان وقوع آن است، چرا که وقتی مهاجمین به شبکه دسترسی پیدا کنند، عملیات دفاع بسیار پیچیدهتر و دشوارتر خواهد بود.
هرچه یک پسورد طولانیتر باشد، طبیعتاً نیاز به امتحان کردن حالتهای ممکن و ترکیبهای بیشتری وجود خواهد داشت. یک حمله Brute Force میتواند بسیار زمانبر باشد. همچنین، اجرای عملیات Brute Force در صورتی که پنهانسازی دادهها (Data Obfuscation | Data masking | داده پوشانی) انجام شده باشد، بسیار دشوار و در برخی مواقع غیرممکن خواهد بود. اما، در صورت ضعیف بودن پسورد، عملیات Brute Force به راحتی و تنها در چند ثانیه امکانپذیر است.
رمزگشایی گذرواژههای ضعیف برای مهاجمان دقیقاً به سادگی صید ماهی از سطل آب است. به همین دلیل، همه سازمانها باید خط مشی اجباری کردن انتخاب گذرواژه قوی را در میان کاربران و سامانههای خود در پیش بگیرند. اما دلیل هکرها برای حمله و استفاده از Brute Force برای نفوذ چیست؟ این کار با چه هدفی انجام میشود؟ در ادامه، به این سوال مهم پاسخ داده شده است.
حمله بروت فورس با چه اهدافی انجام میشود؟
حملات Brute Force معمولاً برای بهدست آوردن اطلاعات شخصی نظیر پسوردها، Passphraseها، نامهای کاربری و کدهای شناسایی شخصی (Personal Identification Numbers | PINS) به کار گرفته میشوند. همچنین، در حمله Brute Force از یک اسکریپت، اپلیکیشن هککننده یا پردازشهایی از این دست جهت اجرای رشتهای از اقدامات مکرر برای دستیابی به اطلاعات مورد نیاز استفاده میشود.
حملات Brute Force در سطوح ابتدایی فرآیند حمله سایبری (Cyber Kill Chain) و معمولاً در مراحل شناسایی و نفوذ انجام میشود. مهاجمان نیاز به امکان دسترسی به نقاط ورودی در اهداف خود دارند و روشهای Brute Force راهی سریع برای انجام این کار به حساب میآیند. پس از دسترسی پیدا کردن به داخل شبکه، مهاجمان میتوانند باز هم با استفاده از شگردهای Brute Force برای افزایش سطح دسترسی یا «حملات تنزل رمزنگاری» (Encryption Downgrade Attacks) استفاده کنند.
همچنین، مهاجمان از حملات Brute Force برای جستجوی صفحات وب مخفی استفاده میکنند. صفحات وب مخفی، وبسایتهایی هستند که در اینترنت موجود هستند ولی به صفحات دیگر پیوند داده نشدهاند. در یک حمله Brute Force آدرسهای URL مختلف با هدف یافتن یک آدرس وب معتبر برای نفوذ، جستجو میشوند.
مهاجم در این روش، به دنبال چیزهایی مثل یک نقطه ضعف نرمافزاری یا یک صفحه وب حاوی فهرستی از نامهای کاربری و رمزهای عبور است. با توجه به اینکه حملات Brute Force پیچیدگی چندانی ندارند، مهاجمین میتوانند چندین حمله خودکار را به صورت همزمان اجرا کنند تا از این طریق بتوانند گزینههای خود را برای رسیدن به یک نتیجه مطلوب گسترش دهند.
اهداف یک حمله Brute Force
اهداف یک حمله brute Force در ادامه فهرست شده است:
- سرقت اطلاعات شخصی نظیر پسوردها و سایر اطلاعاتی که برای دسترسی به حسابها و منابع شبکه به کار میروند.
- سرقت و جمعآوری مدارک اعتباری برای فروش به یک شخص ثالث
- ظاهر شدن در نقش یک کاربر با هدف ارسال لینکهای فیشینگ یا پخش کردن محتوای جعلی
- تخریب وبسایتها و سایر اطلاعات موجود در دسترس عموم که میتواند باعث آسیب رساندن به تصویر سابقه و اعتبار یک سازمان شود.
- هدایت دامنهها به سایتهایی که حاوی محتوای آلوده و مخرب هستند.
البته از حملات Brute Force میتوان برای اهداف مثبت هم استفاده کرد. بسیاری از متخصصین فناوری اطلاعات از این روش حمله برای تست امنیت، خصوصاً قدرت رمزنگاری به کار گرفته شده در شبکه استفاده میکنند. در ادامه، پیرامون انواع حمله بروت فورس بحث شده است.
انواع حمله Brute Force کدام است؟
حملات Brute Force انواع مختلفی دارند. همه این رویکردهای Brute Force با هدف یکسانی انجام میشوند که در مورد آنها در بخش قبل توضیح داده شد. سادهترین نوع حمله Brute Force، حمله دیکشنری است. در این روش، مهاجمان یک دیکشنری حاوی تعداد زیادی پسورد محتمل استفاده کرده و همه این پسوردها را روی حساب قربانی امتحان میکنند.
کامپیوترهایی که در ده سال اخیر تولید شدهاند، میتوانند یک گذرواژه هشت کاراکتری (فاقد رمزنگاری) را که ترکیبی از حروف بزرگ و کوچک، اعداد و کاراکترهای خاص است، با روش Brute Force حدوداً در دو ساعت رمزگشایی کنند.
کامپیوترها آنقدر سریع هستند که میتوانند یک گذرواژه با «رمزنگاری Hash» ضعیف را در مدت چند ماه بگشایند. این نوع از حملات Brute Force با نام جستجوی رمز فراگیر (Exhaustive Key Search) شناخته میشوند. در جستجوی فراگیر، کامپیوتر تمام ترکیبات محتمل از کاراکترهای ممکن را امتحان میکند تا ترکیب درست را پیدا کند.
«بازیافت اعتبارنامه» (Credential Recycling) نوع دیگری از حمله Brute Force است که از نامهای کاربری و رمزهای هک شده در رخنههای قبلی برای نفوذ به سامانههای جدید استفاده میکند. در ادامه، برخی از انواع حملات Brute Force با توضیحات کاملتر معرفی شده است.
حملات بروت فورس ترکیبی
حملات ترکیبی یا هیبریدی (Hybrid Attack) حملاتی هستند که مهاجم در آنها از دو یا چند نوع ابزار برای حمله استفاده میکند. یک حمله ترکیبی رایج، حملهای است که حمله دیکشنری را با یک حمله Brute Force ترکیب میکند. در واقع، میتوان گفت که حمله ترکیبی تقریباًهمان حمله دیکشنری است. همانطور که بیان شد، حملات دیکشنری یکی از رایجترین نوع حملات Brute Force به حساب میآیند که برای شکستن رمز عبور استفاده میشوند.
حملات دیکشنری با گمانهزنی پسوردهای رایج شروع شده و سعی در حدس زدن رمز صحیح از میان فهرست کلمات ذخیره شده در دیکشنری وجود دارد. مثلاً اگر پسورد شخصی کلمه «password» باشد، یک بات Brute Force میتواند این گذرواژه را تنها در چند ثانیه رمزگشایی کند. با توجه به پیدایش روشهای جدیدتر و بهتر، حملات دیکشنری تقریباً تاریخ گذشته و منسوخ شده به حساب میآیند.
بروت فورس معکوس چیست ؟
حملات Brute Force معکوس نوعی از حمله Brute Force است که در آن مهاجم از یک رمز عبور رایج بر ضد چندین نام کاربری با هدف دستیابی به یک شبکه استفاده میکند. حملات Brute Force معکوس به این صورت آغاز میشود که مهاجم رمز عبور را به عنوان یک مقدار معلوم در اختیار دارد، اما نام کاربری را نمیداند. حملات Brute Force معکوس یک نام کاربری مشخص را هدف نمیگیرند، بلکه در عوض، تعدادی رمز رایج یا یک پسورد منفرد را برای تست روی فهرستی از نامهای کاربری ممکن استفاده میکنند. مثلاً یک پسورد رایج مانند کلمه «Password» انتخاب شده و با روش Brute Force سعی میشود تا یک نام کاربری با رمز Password پیدا شود. با توجه به اینکه کلمه «Password» یکی از رایجترین گذرواژهها محسوب میشود، درصد موفقیت این روش بالاتر از حد تصور است.
دستکاری اعتبار
دستکاری اعتبار (Credential Stuffing) یک رویکرد حمله سایبری است که در آن مهاجمان از فهرست لو رفته مدارک اعتباری کاربر برای نفوذ به سامانه استفاده میکنند. چنین حملهای از باتها برای اتوماسیون و تنظیم مقیاس بهره میبرد. همچنین یک حمله Credential Stuffing بر این فرض بنا نهاده شده که بسیاری از کاربران از نامهای کاربری و پسوردهای یکسانی برای سرویسهای مختلف استفاده میکنند.
هنگامی که یک مهاجم به اطلاعات نام کاربری و رمز عبود قربانی دست پیدا میکند، این امکان را دارد که از این اطلاعات برای دسترسی به چندین وبسایت و منابع مختلف شبکه استفاده کند. دست زدن به اقدامات احتیاطی مثل استفاده از تایید اعتبار دو مرحلهای و انتخاب گذرواژههای متفاوت برای منابع مختلف شبکه، میتواند از بروز حملات Brute Force دستکاری اعتبار جلوگیری کند.
در ادامه این مطلب به بررسی انواع ابزارهای مورد استفاده در حملات Brute Force پرداخته شده است.
ابزارهای حمله Brute Force
یک مهاجم معمولاً از نرمافزارهای خودکار به عنوان ابزار حمله کمک میگیرد. چنین نرمافزاهایی از محاسبات قاعدهمند برای بررسی ترکیبهای ممکن یک گذرواژه تا زمان شناسایی گذرواژه صحیح استفاده میکنند. برای جستجوی ترکیبهای متعدد و محتملی که محاسبه آنها به تنهایی توسط انسان بسیار دشوار یا غیرممکن است، از یک اپلیکیشن شکستن رمز عبور استفاده میشود.
مثالهای رایج ابزارهای حمله Brute Force شامل موارد زیر است:
- Aircrack-ng
- John the Ripper
- L0phtCrack
- RainbowCrack
در ادامه این بخش، ابزارهای محبوب برای حمله Brute Force در سناریوهای مختلف با هدف کسب نتیجه مطلوب توضیح داده شده است.
ابزار Aircrack-ng برای بروت فورس چیست ؟
به طور قطع بسیاری از علاقهمندان به حوزه امنیت و نفوذ با Aircrack-ng آشنایی دارند. Aircrack-ng یک روش محبوب و رایگان Brute Force برای هک کردن رمز شبکههای وایرلس (Wi-Fi) به شمار میرود. این ابزار دارای امکاناتی از جمله قفلگشایی WEP/WPA/WPA2-PSK و ابزارهای تحلیلی برای اجرای حمله به Wi-Fi 802.11 است.
Aircrack-ng میتواند برای هر کارت شبکهای (NIC) استفاده شود که از روش نظارت خام (Raw Monitoring Mode) استفاده میکند.
به بیان ساده، Aircrack-ng از حملات دیکشنری برای حدس زدن پسورد یک شبکه وایرلس استفاده میکند. همانطور که مشخص است، میزان موفقیت حمله در این روش مستقیماً به دیکشنری پسوردها وابسته است. هر چقدر که دیکشنری حاوی کلمات عبور بهتر و کاملتر باشد، احتمال هک کردن رمز بیشتر خواهد شد. Aircrack-ng برای پلتفرمهای ویندوز و لینوکس در دسترس است. همچنین، تغییرات لازم روی Aircrack-ng انجام شده است تا در بسترهای اندروید و iOS نیز قابل دسترسی باشد.
ابزار John the Ripper برای حمله بروت فورس
John the Ripper یک ابزار شگفتانگیز دیگر برای انجام حملات Brute Force است. مدت زیادی است که این روش یکی از گزینههای محبوب در اجرای حملات Brute Force شناخته میشود. این نرمافزار رمزگشایی در ابتدا برای سیستمهای مبتنی بر یونیکس توسعه داده شد. توسعهدهندگان بعدها آن را برای سیستمعاملهای دیگر هم منتشر کردند. اکنون، John the Ripper پانزده پلتفرم مختلف را پشتیبانی میکند که برخی از آنها شامل BeOS ،DOS ،Unix ویندوز و OpenVMS است. میتوان از John the Ripper هم در شناسایی پسوردهای ضعیف و هم در هک کردن رمزها برای شکستن سد تایید اعتبار استفاده کرد.
این ابزار بسیار محبوب است و قابلیتهای قفلگشایی مختلف را با هم ترکیب میکند. John the Ripper میتواند به صورت خودکار نوع Hashing (درهمسازی) استفاده شده در یک کلمه عبور را شناسایی کند. بنابراین، میتوان آن را برای حمله به مخزن پسوردهای رمزنگاری شده نیز به کار برد. اساساً John the Ripper میتواند حملات Brute Force را با ترکیب تمام رمزهای ممکن شامل اعداد و متن اجرا کند. اگرچه، میتوان از یک دیکشنری حاوی کلمات عبور نیز برای اجرای حملات استفاده کرد.
ابزار Rainbow Crack
Rainbow Crack نیز یک ابزار Brute Force محبوب است که برای هک کردن پسورد استفاده میشود. این ابزار، جداولی موسوم به رنگینکمان تولید میکند. از این جداول برای اجرای حمله استفاده میشود. نقطه تمایز Rainbow Crack نسبت به سایر روشهای مرسوم در همین استفاده از جدولهای رنگینکمان است. جدولهای رنگینکمان از پیش محاسبه شده (Pre-Computed) هستند. این مسئله به کاهش زمان اجرای حمله کمک میکند.
سازمانهای مختلفی وجود دارند که پیش از این جداول محاسبه شده از قبل را برای همه کاربران اینترنت منتشر کردهاند. در نتیجه، برای صرفهجویی در وقت، میتوان آن جداول رنگینکمان را دانلود و در حملات از آنها استفاده کرد. ابزار Rainbow Crack همچنان به صورت فعالانه در حال توسعه است. Rainbow Crack در ویندوز و لینوکس اجرا میشود و از تمامی نسخههای اخیر این پلتفرمها پشتیبانی میکند.
L0phtCrack چیست؟
L0phtCrack برای رمزگشایی گذرواژههای ویندوز به کار میرود. این ابزار از حملات دیکشنری، Brute Force، حملات ترکیبی و جداول رنگینکمان استفاده میکند. از قابلیتهای برجسته L0phtcrack میتوان به امکان زمانبندی، استخراج Hash از ویندوزهای ۶۴ بیتی، الگوریتمهای چندپردازنده، مانیتورینگ شبکه و کدگشایی اشاره کرد.
اکنون با شناخت ابزارهای مختلف Brute Force، زمان آن فرا رسیده است تا به روشها و راهکارهای مقابله با این حملات پرداخته شود.
دفاع در برابر بروت فورس چگونه انجام میشود؟
حملات Brute Force برای اجرا نیاز به زمان دارند. برخی از این حملات ممکن است هفتهها یا ماهها تا رسیدن به یک نتیجه قابل استفاده زمانبر باشند. بیشتر مبارزات علیه حملات Brute Force به این صورت است که اقداماتی انجام میشود تا زمان مورد نیاز برای موفقیت حمله فراتر از حدی باشد که به لحاظ فنی امکانپذیر است. اما این تنها روش دفاعی نیست.
در ادامه برخی راهکارها جهت مقابله با حملات Brute Force فهرست شده است.
- افزایش تعداد کاراکترهای رمز عبور: وقتی یک گذرواژه تعداد کاراکترهای بیشتری داشته باشد، زمان بیشتری برای رمزگشایی با Brute Force نیاز است.
- افزایشی پیچیدگی رمز عبور: وجود انتخابهای بیشتر برای هر کاراکتر نیز به معنای افزایش مدت زمانی رمزگشایی Brute Force خواهد بود.
- ایجاد محدودیت در دفعات تلاش برای ورود: حملات Brute Force یک شمارنده تلاشهای ناموفق برای ورود به سیستم در بیشتر سرویسهای دایرکتوری را افزایش میدهد. بنابراین، یک روش دفاعی خوب بر علیه حملات Brute Force این است که پس از تعداد دفعات محدودی از تلاش برای ورود، دسترسی کاربر قطع شود. این کار منجر به باطل شدن یک حمله در حال وقوع Brute Force میشود.
- استفاده از تصویر امنیتی: Captcha یا تصویر امنیتی سیستم رایجی است که برای تایید انسان بودن کاربر در وبسایتها مورد استفاده قرار میگیرند. این روش میتواند حملات در حال وقوع Brute Force را متوقف کنند.
- استفاده از تایید اعتبار چند عاملی: تایید اعتبار چند عاملی لایه دومی از امنیت را به هر تلاش برای ورود اضافه میکند. همچنین، تایید اعتبار چند عاملی نیاز به دخالت انسانی دارد که همین مسئله منجر به جلوگیری از موفقیت حملات Brute Force میشود.
جمعبندی
به طور کلی میتوان Brute Force را هر گونه عملیاتی در نظر گرفت که در آن با هدف یافتن یک ترکیب صحیح از کاراکترها، حالتهای ممکن به سرعت مورد آزمایش قرار میگیرند. رمز عبور ضعیف و بیاحتیاطی در مدیریت شبکه عوامل اصلی آسیبپذیری در برابر حملات Brute Force محسوب میشوند. خوشبختانه هر دوی این موارد با هدف مقابله با آسیبپذیریهایی که ممکن است در منابع یک شبکه یا وبسایت وجود داشته باشند، به سادگی قابل بهبود و ارتقاء هستند. برای مثال، اقداماتی از قبیل استفاده از گذرواژههای قوی، محدودسازی دفعات تلاش برای ورود به حساب کاربری و فعال کردن تایید اعتبار دو مرحلهای میتوانند از حملات Brute Force جلوگیری کنند.
در نهایت، آموزش سازمان در خصوص اهمیت قدرت رمز عبور و روندهای عمومی امنیت اطلاعات بسیار حائز اهمیت است. اگر امنیت بخشی از فرهنگ سازمانی نباشد، حتی با داشتن رمز عبور قوی، ممکن است کارمندان در معرض تهدیدات داخلی قرار بگیرند.