setakit.com
setakit.com

حمله Brute Force چیست (حمله جستجوی فراگیر)

brute force چیست؟

حمله brute force (حمله جستجوی فراگیر) یک روش آزمون و خطا برای رمزگشایی (decode) داده های مهم و حساس می باشد. متداول ترین برنامه های حملات brute force، شامل کرک کردن رمزهای عبور و کلیدهای رمزگذاری می باشد. اهداف دیگر حملات جستجوی فراگیر کلیدهای API و ورود به سیستم SSH می باشد. حملات brute force password غالبا توسط scriptها و ربات هایی انجام می شود که صفحه ورود یک وب سایت را هدف قرار می دهند.

آنچه که حملات brute force را از سایر روش های کرکینگ (cracking) متمایز می کند این است که از هیچ استراتژی فکری استفاده نمی کند. بلکه سعی دارد کارکترهای مختلف را با هم ترکیب نموده تا به ترکیب صحیح دست پیدا کند. درست شبیه به دزدی که سعی می کند ترکیبات مختلفی از اعداد را برای باز کردن گاو صندوق امتحان کند.

نقاط قوت و نقاط ضعف حملات brute force

بزرگ ترین مزیت حملات brute force (حملات جستجوی فراگیر) این است که نسبتا ساده است و به راحتی می توان آن را انجام داد. در ضمن با توجه به فرصت کافی و عدم استراتژی هایی جهت کاهش این حملات، می توان گفت این حمله همیشه کارساز است. با استفاده از حملات جستجوی فراگیر، می توان به هر سیستم مبتنی بر پسورد و کلید رمزگذاری دست یافت. در حقیقت، مدت زمانی که لازم است برای کرک کردن یک سیستم در نظر گرفت، معیاری مناسب برای اندازه گیری سطح امنیت آن می باشد.

از طرفی دیگر، سرعت حملات brute force بسیار پایین است، زیرا مهاجمان می بایست تمامی ترکیبات کارکترهای مختلف را امتحان کنند تا به هدف خود برسند. با افزایش تعداد کارکترها در پسورد هدف، میزان کندی نیز بیشتر می گردد. به عنوان مثال، دست یابی به یک پسورد چهار کارکتری به طور قابل توجهی بیشتر از پسورد سه کارکتری طول می کشد و به همین ترتیب رمز عبور ۵ کارکتری خیلی بیشتر از رمز عبور ۴ کارکتری به زمان نیاز دارد.

زمان بندی حمله brute force

در صورتی که تعداد کارکتری های یک پسورد به اندازه کافی طولانی باشد، رمزگشایی آن توسط مهاجم brute force ممکن است روزها، ماه ها و یا حتی سال ها طول بکشد. در نتیجه با پسوردهای طولانی کار مهاجم بسیار دشوار می شود. زمانی که از یک پسورد و رمزگذاری مناسب استفاده شود، معمولا مهاجمان از سایر روش های رمزگشایی (decode) مانند حملات مهندسی اجتماعی و حملات On path استفاده می کنند.

نحوه محافظت در برابر حملات جستجوی فراگیر (brute force)

توسعه دهندگانی که سیستم های تایید مجوز را مدیریت می کنند، می توانند اقداماتی نظیر قفل کردن آدرس های آیپی که تعداد زیادی لاگین ناموفق ایجاد کرده اند و  استفاده از delay در نرم افزار password-checking را انجام دهند. تاخیر زمانی حتی اگر در حد چند ثانیه باشد، می تواند تاثیر حمله جستجوی فراگیر را تا حد قابل ملاحظه ای ضعیف کند.

کاربران وب می توانند آسیب پذیری خود را در برابر حملات brute force با انتخاب پسوردهای پیچیده تر و طولانی تر کاهش دهند. در ضمن احراز هویت دو عاملی و همچنین استفاده از پسورد اختصاصی برای هر دستگاه، نیز به این امر کمک شایانی می نماید. چنانچه یک مهاجم بتواند از طریق حمله brute force به یک رمز عبور دست پیدا کند، ممکن است آن پسورد را برای دستگاه های دیگر نیز امتحان کند. این فرایند تحت عنوان credential stuffing معروف است.

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

کلید رمزگذاری چیست؟

کلید رمزگذاری، رشته ای از بیت های تصادفی است که به منظور به هم ریخته کردن داده ها و سپس منظم کردن آن ها ایجاد شده است. هنگامی که داده ها به هم ریخته می شوند، به صورت رشته ای تصادفی از کارکترها ظاهر می گردند تا این که با استفاده از کلید صحیح و مناسب رمزگذاری به صورت درست کنار هم قرار گیرند. درست مانند رمزهای عبور، می توان با کمک حملات brute force به کلیدهای رمزگذاری دست پیدا نمود، اما امروزه کلیدهای رمزگذاری وجود دارند که دست یابی  به آن ها توسط رایانه های مدرن به قدری طول می کشد که می توان گفت غیر قابل نفوذ هستند.

تفاوت رمزگذاری ۱۲۸بیتی و ۲۵۶ بیتی

بدیهی است یک کلید رمزگذاری طولانی تر، امنیت بالاتری در مقایسه با کلید رمزگذاری کوتاه تر دارد. به عنوان مثال، در یک کلید رمزگذاری ۱۲۸ بیتی معادل ۲۱۲۸  ترکیب احتمالی وجود دارد که یک مهاجم brute force می بایست همه آن ها را امتحان کند. و اما برای رمزگذاری های ۲۵۶بیتی، مهاجم می بایست  ۲۲۵۶  ترکیب مختلف را امتحان کند. قابل ذکر است برای رمزگشایی یک کلید ۱۲۸ بیتی معادل ۳۴۰,۲۸۲,۳۶۶,۹۲۰,۹۳۸,۴۶۳,۴۶۳,۳۷۴,۶۰۷,۴۳۱,۷۶۸,۲۱۱,۴۵۶ ترکیب احتمالی وجود دارد.

برای درک بهتر این اعداد باید گفت یک کامپیوتر قدرتمند که می تواند یک تریلیون ترکیب را در هر ثانیه محاسبه نماید، برای رمزگشایی یک کلید ۲۵۶ بیتی، به بیش از یک دسیلیون سال (یک دسیلیون معادل یک با ۹۶ صفر است) نیاز دارد.

از آن جا که کلیدهای رمزگذاری با تعداد بیت های بالا در مقابل حملات جستجوی فراگیر (حملات brute force) ایمن هستند، توصیه می شود خدمات دهندگان وب که اطلاعات کاربران را جمع آوری و نگهداری می کنند، از کلیدهای رمزگذاری ۲۵۶ بیتی استفاده نمایند.

 

 

 

 

 

سایر مطالب مرتبط

رمزگذاری داده ها ستاک فناوری ویرا

رمزگذاری داده ها (encryption)