حمله جستجوی فراگیر



بروت فورس یا حمله جستجوی فراگیر چیست؟ 
یکی از روش‌های تست نفوذ که روزانه بسیاری از سرویس‌ها را تهدید می‌کند و از حملات مورد استفاده بسیاری از هکر‌ها است، اگر شما به آدرس یک سایت مثل اینستاگرام مراجعه کنید خواهید دید که یک صفحه ورود برای شما به نمایش در می آورد و به این معنی است که از طریق این صفحه و فرم موجود به حساب کاربری خود وارد شوید، اما اگر از دید یک هکر یا کرکر بخواهیم به این صفحه نگاه کنیم می‌توانیم به حساب‌های کاربری مختلف نفوذ کنیم

در رمزنگاری، حملهٔ جستجوی فراگیر (به انگلیسی: brute-force attack)، حملهٔ جستجوی فراگیر فضای کلید (به انگلیسی: exhaustive key search attack) یا حملهٔ غیرهوشمندانه حمله‌ای است که در آن تمام حالات ممکن تا رسیدن به جواب بررسی می‌گردد.

برای هر الگوی رمزنگاری می‌توان زمان لازم برای آزمودن کلیه حالات ممکن برای کلید را محاسبه نمود و معمولاً الگوهای رمزنگاری آنچنان طراحی می‌شوند که آزمودن تمامی حالات ممکن در یک زمان قابل قبول غیرممکن یا غیر مؤثر باشد.
همچنین «حمله جستجوی فراگیر» یک معیار برای شناخت روش‌های شکستن رمز است به این معنی که هر روشی که سریع‌تر از روش «حمله جستجوی فراگیر» بتواند رمز را بازگشایی نماید، یک روش شکستن رمز تلقی می‌شود.

آزمودن کلیه حالات ممکن روشی برای یافتن گذرواژه نیز به کار می‌رود. به‌طور معمول نرم‌افزارها پس از چند بار وارد کردن گذرواژه نادرست حساب کاربر را مسدود نموده یا در فرایند اعتبارسنجی تأخیر زمانی ایجاد می‌کنند تا از آزمودن دیگر حالات جلوگیری شود.

در برخی موارد کلمات یک واژه‌نامه به عنوان حالات ممکن برای شکستن گذرواژه مورد آزمون قرار می‌گیرد که به آن «حمله واژه‌نامه‌ای» گویند؛ زیرا احتمال گزینش کلمات با معنی توسط کاربران برای گذرواژه بیش از احتمال انتخاب کلمات فاقد معنی است.

مفهوم پایه 
حمله جستجوی فراگیر با محاسبه و تست همه حالت‌های ممکن که می‌تواند یک یک رمز عبور را تشکیل دهند کار می‌کند. با افزایش طول رمز عبور زمان پیدا کردن رمز عبور به‌طور میانگین به صورت نمایی زیاد می‌شود.

محدودیت‌های نظری 
منابع مورد نیاز برای یک حمله جستجوی فراگیر با افزایش طول کلید به صورت نمایی (و نه خطی) افزایش می‌یابد. با وجود این‌که مقررات صادرات ایالات متحده آمریکا طول کلیدها را به کلیدهای متقارن ۵۶ بیتی محدود کرده‌است (به عنوان مثال استاندارد رمزگذاری داده‌ها) اما این محدودیت‌ها دیگر پابرجا نیستند و الگوریتم‌های متقارن مدرن معمولاً از کلیدهای ۱۲۸ تا ۲۵۶ بیتی قوی‌تر استفاده می‌کنند.

طبق یک استدلال فیزیکی، کلیدهای ۱۲۸ بیتی متقارن از لحاظ محاسباتی در برابر حمله جستجوی فراگیر امن می‌باشند. اصل حد لانداوه بر پایه قوانین فیزیک بیان می‌کند که برای پاک کردن هر بیت از اطلاعات حد پایین انرژی مورد نیاز از فرمول kT*Ln2 به دست می‌آید که T دمای دستگاه محاسبات است (به کلوین) و k ثابت بولتزمن می‌باشد. همچنین لگاریتم طبیعی عدد ۲ (لگاریتم ۲ بر پایه e) برابر است با ۰٫۶۹۳ هیچ دستگاه محاسباتی برگشت‌ناپزیری نمی‌تواند کمتر از این انرژی مصرف کند؛ بنابراین برای این‌که بتوانید مقادیر احتمالی برای ۱۲۸ بیت متقارن (بدون انجام محاسبات واقعی برای پیدا کردن آن) را حدس بزنید به لحاظ تئوری نیاز به ۲۱۲۸ − ۱ بیت بر روی یک پردازنده معمولی نیاز دارید. با فرض این که محاسبات در دمای نزدیک به دمای اتاق (۳۰۰ کلوین) انجام شود با استفاده از قانون نویمان - لانداوه می‌توان انرژی مورد نیاز برای انجام این کار را محاسبه کرد. این انرژی تقریباً برابر با ۱۰۱۸ ژول می‌باشد که معادل مصرف ۳۰ گیگاوات توان برای یک سال است. این مقدار انرژی برابر است با ۳۰×109 W×۳۶۵×۲۴×3600 s = ۹٫۴۶×1017 J or 262.7 TWh (بیش از ۱ درصد انرژی تولیدی دنیا). محاسبات کامل - برای چک کردن هر کلید - بارها و بارها این مقدار انرژی را مصرف می‌کند. این مقدار صرفاً مقدار انرژی لازم برای پیمودن فضای حالت کلید می‌باشد و زمان لازم برای تغییر هربیت در نظر گرفته نشده‌است که مسلماً بیشتر از ۰ است.

با این حال، این استدلال فرض می‌کند که مقادیر رجیسترها با استفاده از روش‌های معمولی قرار دادن و پاک کردن که به ناچار آنتروپی ایجاد می‌کنند، تغییر می‌یابند. نشان داده شده‌است که سخت‌افزارهای محاسباتی می‌توانند به گونه ای طراحی شوند که با این محدودیت نظری روبرو نشوند (به محاسبات برگشت‌پذیر مراجعه کنید)، هرچند که چنین رایانه‌هایی هنوز ساخته نشده‌اند.

بازیافت اعتبار 
ازیافت اعتبار یک عمل هک کردن است که در آن از ترکیبهای نام کاربری و گذرواژه به دست آمده از حملات غیرهوشمند قبلی استفاده میشود. یک نوع خاص از بازیافت اعتبار Pass The Hash است که در این تکنیک اعتبارهای هش شده که بدون استفاده از هیچ افزونه ای هش شدهاند (در اصطلاح هش بی نمک)(به انگلیسی: unsalted hash) دزدیده میشوند و بدون آن که جستجوی فراگیر (غیر هوشمند) برای آنها صورت گیرد مجدداً استفاده می‌شوند.

کدهای غیرقابل شکست 
انواع مشخصی از رمزگذاری، به واسطه خواص ریاضی خود، توسط حمله غیرهوشمند شکسته نمی‌شوند. یکی از نمونه‌های رمزنگاری، رمزنگاری پد یکبار مصرف (به انگلیسی: one-time pad) است که هر بیت پیام اصلی یک کلید متناظر از یک دنباله کلید کاملاً تصادفی دارد. یک رشته ۱۴۰ کاراکتری که به این روش رمز شده و در معرض حمله غیرهوشمند قرار گرفته در نهایت تمام رشته ۱۴۰ کاراکتری ممکن را برملا میکند، حتی رشته کاراکتری اصلی را که پاسخ مورد نظر حمله است، اما هیچ راهی برای تشخیص پاسخ صحیح میان تمام رشته‌های بدست آمده نیست. شکستن رمز چنین سیستم رمزنگاری، که در پروژه ونونا صورت گرفت، تماماً بوسیله علم رمزنگاری نیست، بلکه به کمک خطاهای صورت گرفته در پیاده‌سازی رمزگذاری امکان‌پذیر است. از خطاهای ذکر شده میتوان به این موارد اشاره کرد: بیت‌های کلید کاملاً تصادفی نباشند، صفحه کلیدها رهگیری شوند، اپراتور مرتکب خطا شود و ….

اقدامات متقابل 
اگر مهاجم به صورت آفلاین حمله کند و به عبارات رمزشده نیز دسترسی داشته باشد بدون آنکه خطر دخالت عامل خارجی یا برملا شدن او را تهدید کند می‌تواند ترکیب‌های کلید را آزمایش و بررسی کند تا به پاسخ صحیح برسد. با این حال مدیران پایگاه داده میتوانند اقدامات متقابلی در برابر حملات آنلاین انجام دهند. به‌طور مثال با محدود کردن تعداد دفعاتی که می‌توان گذرواژه وارد کرد یا ایجاد تأخیر زمانی هنگام وارد کردن پیاپی آن یا پیچیده‌تر کردن پاسخ (با طور مثال استفاده از کپچا یا ارسال کد تأیید به تلفن همراه و …) یا قفل شدن حساب کاربری پس از چند بار اقدام ناموفق (وارد کردن گذرواژه غلط). مدیران وبسایت نیز ممکن است از ip address ای که بیش از تعداد دفعات مقرر اقدام به ورود به حساب کاربری و وارد کردن گذرواژه در آن سایت کند جلوگیری کنند و آن را محدود کنند.

استفاده از فایروال ها مانند CSF می تواند به عنوان یک راهکار برای جلوگیری از حملات بروت فورس مطرح شود . با پیکربندی صحیح و تنظیم پارامتر هایی مثل LF_TRIGGER_PERM_BLOCK و LF_TRIGGER_TEMP_BLOCK ، فایروال CSF می تواند بعد از تعدادی درخواست مشکوک ، آی پی مهاجم به صورت موقت یا دائم مسدود کند.

حمله غیرهوشمند وارونه 
در این روش یک گذرواژه (که معمولاً متداول است) برای چندین کاربر یا فایل رمز شده امتحان میشود. این روند ممکن است با تعدادی گذرواژه انتخاب شده تکرار شود. در این روش عموماً مهاجم کاربر خاص و مشخصی را هدف قرار نداده‌است.

نرم‌افزارهایی که حمله غیر هوشمند را انجام می‌دهند:
 Cain and Abel
 Crack
 DaveGrohl
 Hashcat
 John the Ripper
 L0phtCrack
 Ophcrack
 RainbowCrack

منابع 

ویکی‌پدیای انگلیسی :en:Brute force attack

https://pentestcore.com/brute-force/ 

جلوگیری از حملات بروت فورس با CSF

حمله‌های رمزنگاری
رمزنگاری