حمله بروت فورس
"حمله بروت فورس یک روش آزمون و خطا برای رمزگشایی داده های حساس است. که معمولا برای شکستن رمزهای عبور و کلیدهای رمزگذاری است."
حمله بروت فورس یا حمله جستجوی فراگیر چیست؟
حمله بروت فورس (Brute-force attack) یا حمله جستجوی فراگیر یکی از روشهای تست نفوذ و حملات مورد استفاده بسیاری از هکرها است که روزانه بسیاری از سرویسها را تهدید میکند. اگر شما به آدرس یک سایت مانند اینستاگرام مراجعه کنید خواهید دید که یک صفحه ورود برای شما به نمایش در میآورد و به این معنی است که از طریق این صفحه و فرم موجود میتوانید به حساب کاربری خود وارد شوید، اما یک هکر از دید دیگر به این صفحه نگاه میکند و این صفحه را راهی برای نفوذ به حسابهای کاربری دیگران میپندارد.
در رمزنگاری، حمله بروت (Brute-force attack)، حمله جستجوی فراگیر، حمله جستجوی فراگیر فضای کلید (exhaustive key search attack)، یا حمله غیرهوشمندانه حملهای است که در آن همه حالات ممکن تا رسید به جواب بررسی میشود.
برای هر الگوی رمزنگاری میتوان زمان لازم برای آزمودن تمام حالات ممکن برای کلید را محاسبه کرد و معمولا الگوهای رمزنگاری به نحوی طراحی میشوند که آزمودن همه حالات ممکن در یک زمان قابل قبول، غیر ممکن یا غیر موثر باشد. همچنین «حمله جستجوی فراگیر» یک معیار برای شناخت روشهای شکستن رمز است به این معنی که هر روشی که سریعتر از روش «حمله جستجوی فراگیر» بتواند رمز را بازگشایی نماید، یک روش شکستن رمز تلقی میشود.
تست تمام حالتهای ممکن، روشی برای پیدا کردن گذرواژه است. معمولا نرمافزارها پس از چند بار وارد کردن گذرواژه اشتباه، حساب کاربر را مسدود کرده یا در فرآیند اعتبارسنجی تاخیر زمانی ایجاد میکنند تا از تست دیگر حالتهای گذرواژه جلوگیری شود. در برخی موارد لیست کلمات یک واژهنامه به عنوان حالتهای ممکن برای به دست آوردن گذرواژه مورد استفاده قرار میگیرد که به آن «حمله واژهنامهای» میگویند؛ زیر احتمال گزینش کلمات به معنی توسط کاربران برای گذرواژه بیش از احتمال انتخاب کلمات فاقد معنی است.
مفهوم پایه حمله بروت فورس
حمله بروت فورس یا حمله جستجوی فراگیر با محاسبه و تست کلیه حالتهای ممکن برای یک گذرواژه، کار میکند. با افزایش طول رمز عبور زمان پیدا کردن رمز عبور به شکل میانگین زیاد میشود.
محدودیتهای نظری
منابع مورد نیاز برای یک حمله بروت فورس با افزایش طول کلید به صورت نمایی (و نه خطی) افزایش مییابد. با وجود اینکه مقررات صادرات ایالات متحده آمریکا طول کلیدها را به کلیدهای متقارن ۵۶ بیتی محدود کردهاست (به عنوان مثال استاندارد رمزگذاری دادهها) اما این محدودیتها دیگر پابرجا نیستند و الگوریتمهای متقارن مدرن معمولاً از کلیدهای ۱۲۸ تا ۲۵۶ بیتی قویتر استفاده میکنند.
بر اساس یک استدلال فیزیکی، کلیدهای 128 بیتی متقارن از نظر محاسباتی در برابر حمله بروت فورس ایمن میباشند. اصل حد لانداوه بر پایه قوانین فیزیک بیان میکند که برای پاک کردن هر بیت از اطلاعات حد پایین انرژی مورد نیاز از فرمول kT*Ln2 به دست میآید که T دمای دستگاه محاسبات است (به کلوین) و k ثابت بولتزمن میباشد. همچنین لگاریتم طبیعی عدد ۲ (لگاریتم ۲ بر پایه e) برابر است با ۰٫۶۹۳ هیچ دستگاه محاسباتی برگشتناپزیری نمیتواند کمتر از این انرژی مصرف کند؛ بنابراین برای اینکه بتوانید مقادیر احتمالی برای ۱۲۸ بیت متقارن (بدون انجام محاسبات واقعی برای پیدا کردن آن) را حدس بزنید به لحاظ تئوری نیاز به ۲۱۲۸ − ۱ بیت بر روی یک پردازنده معمولی نیاز دارید. با فرض این که محاسبات در دمای نزدیک به دمای اتاق (۳۰۰ کلوین) انجام شود با استفاده از قانون نویمان - لانداوه میتوان انرژی مورد نیاز برای انجام این کار را محاسبه کرد. این انرژی تقریباً برابر با ۱۰۱۸ ژول میباشد که معادل مصرف ۳۰ گیگاوات توان برای یک سال است. این مقدار انرژی برابر است با ۳۰×109 W×۳۶۵×۲۴×3600 s = ۹٫۴۶×1017 J or 262.7 TWh (بیش از ۱ درصد انرژی تولیدی دنیا). محاسبات کامل - برای چک کردن هر کلید - بارها و بارها این مقدار انرژی را مصرف میکند. این مقدار صرفاً مقدار انرژی لازم برای پیمودن فضای حالت کلید میباشد و زمان لازم برای تغییر هربیت در نظر گرفته نشدهاست که مسلماً بیشتر از ۰ است. با این حال، این استدلال فرض میکند که مقادیر رجیسترها با استفاده از روشهای معمولی قرار دادن و پاک کردن که به ناچار آنتروپی ایجاد میکنند، تغییر مییابند. نشان داده شدهاست که سختافزارهای محاسباتی میتوانند به گونه ای طراحی شوند که با این محدودیت نظری روبرو نشوند (به محاسبات برگشتپذیر مراجعه کنید)، هرچند که چنین رایانههایی هنوز ساخته نشدهاند.
بازیافت اعتبار
بازیافت اعتبار یک نوع حمله بروت فورس است که در آن از ترکیب نام کاربری و گذرواژه به دست آمده از حملات غیر هوشمند قبلی استفاده میشود. یک نوع خاص از بازیافت اعتبار «Pass The Hash» است که در این تکنیک اعتبارهای هش شده که بدون استفاده از هیچ افزونهای هش شدهاند (در اصطلاح هش بینمک یا Unsalted Hash) دزدیده میشوند و بدون آن که جستجوی فراگیر (غیر هوشمند) برای آنها صورت گیرد مجدداً استفاده میشوند.
کدهای غیرقابل شکست
انواع مشخصی از رمزنگاری، به واسطه خواص ریاضی که دارد، توسط حمله غیرهوشمند شکسته نمیشوند. یکی از نمونههای رمزنگاری، رمزنگاری پد یکبار مصرف (به انگلیسی: one-time pad) است که هر بیت پیام اصلی یک کلید متناظر از یک دنباله کلید کاملاً تصادفی دارد. یک رشته ۱۴۰ کاراکتری که به این روش رمز شده و در معرض حمله غیرهوشمند قرار گرفته در نهایت تمام رشته ۱۴۰ کاراکتری ممکن را برملا میکند، حتی رشته کاراکتری اصلی را که پاسخ مورد نظر حمله است، اما هیچ راهی برای تشخیص پاسخ صحیح میان تمام رشتههای بدست آمده نیست. شکستن رمز چنین سیستم رمزنگاری، که در پروژه ونونا صورت گرفت، تماماً بوسیله علم رمزنگاری نیست، بلکه به کمک خطاهای صورت گرفته در پیادهسازی رمزگذاری امکانپذیر است. از خطاهای ذکر شده میتوان به این موارد اشاره کرد: بیتهای کلید کاملاً تصادفی نباشند، صفحه کلیدها رهگیری شوند، اپراتور مرتکب خطا شود و ….
حمله غیرهوشمندانه وارونه
در حمله غیرهوشمندانه وارونه، یک گذرواژه متداول برای چندین کاربر یا فایل رمز شده بررسی میشود. این روند ممکن است با تعداد گذرواژه انتخاب شده تکرار شود. در این روش معمولا هکر کاربر خاص و مشخصی را هدف قرار نداده است. نرمافزارهایی که حمله غیر هوشمند را انجام میدهند:
- Cain and Abel
- Crack
- DaveGrohl
- Hashcat
- John the Ripper
- L0phtCrack
- Ophcrack
- RainbowCrack
اقدامات متقابل
در صورتی که مهاجم به صورت آفلاین حمله کند و به عبارات رمزنگاری شده نیز دسترسی داشته باشد بدون آنکه خطر دخالت عامل خارجی یا برملا شدن او را تهدید کند میتواند ترکیبهای کلید را بررسی و آزمایش کند به جواب درست برسد. با این وجود مدیران پایگاه داده میتوانند اقدامات متقابلی در برابر حملات بروت فورس آنلاین انجام دهند. برای مثال با محدود کردن تعداد دفعاتی که میتوان گذرواژه وارد کرد یا ایجاد تاخیر زمانی هنگام وارد کردن پیاپی، استفاده از کپچا، ارسال کد تایید به تلفن همراه، قفل شدن حساب کاربری پس از چند بار اقدام ناموفق، اعتبار سنجی را پیچیده تر کرد. مدیران وبسایت نیز ممکن است از IP Address ای که بیش از تعداد دفعات مقرر اقدام به ورود به حساب کاربری و وارد کردن گذرواژه در آن سایت کند جلوگیری کنند و آن را محدود کنند.
استفاده از فایروال ها مانند CSF می تواند به عنوان یک راهکار برای جلوگیری از حملات بروت فورس مطرح شود. با پیکربندی صحیح و تنظیم پارامتر هایی مثل LF_TRIGGER_PERM_BLOCK و LF_TRIGGER_TEMP_BLOCK ، فایروال CSF می تواند بعد از تعدادی درخواست مشکوک، آی پی مهاجم به صورت موقت یا دائم مسدود کند.