سرقت اطلاعات با ارزش و محرمانه یکی از چالش هایی است که این روزها از هر قشر درگیر آن هستند. اما دارندگان کسب و کار های آنلاین و بزرگ، دغدغه بیشتری نسبت به بقیه در این رابطه دارند. در این مقاله می خواهیم درباره حملات Brute Force صحبت کنیم و بگوییم بروت فورس چیست و برای جلوگیری از حملات آن باید چه کرد؟
حمله بروت فورس چیست؟
brute force چیست؟ حملات بروت فورس یکی از قدیمی ترین راهکار های سرقت اطلاعات با ارزش و محرمانه بوده که همواره نیز در حال گسترش می باشد و هرروزه با پیدایش تکنولوژی های جدید پیشگیری، روش های سو ء استفاده جدیدتری نیز به وجود می آید.
اولین راه دسترسی به اطلاعاتی که در بالا اشاره شد، هک کردن رمز های عبور موجود می باشد. و در واقع منظور از اصطلاح Brute force در مبحث امنیت کامپیوتر و فناوری اطلاعات، استراتژی های خاصی جهت هک و به سرقت بردن رمز عبور کاربران می باشد. در واقع این روش یکی از رایج ترین راهکارهای سرقت پسوردها می باشد. در ادامه این مقاله از ایران هاست ( ارائه دهنده ی خدمات خرید هاست لینوکس ) بیشتر شما را با این نوع حملات آشنا خواهیم کرد.
نحوه عملکرد brute force
از آنجاییکه هک به روش brute force امروزه همه گیر شده است، برای مقابله با آن باید با نحوه هک بروت فورس آشنا باشیم. برنامه نوشته شده برای این منظور، تمامی حالت های ممکن را امتحان می کند تا در نهایت به پسورد صحیح دست پیدا کند.
برای مثال فرض کنید پسورد مورد نظر شما شامل ۲ کاراکتر است و احتمال تشکیل شدن آن از اعداد و حروف (بزرگ و کوچک) وجود دارد. در این صورت حمله brute force ناچار به امتحان ۳۸۴۴ حالت مختلف می باشد. توضیحات زیر دلیل این موضوع را شرح می دهند.
- برای بدست آوردن کاراکتر : امتحان ۲۶ کاراکتر حروف کوچک انگلیسی + امتحان ۲۶ کاراکتر حروف بزرگ انگلیسی + امتحان ۱۰ حالت از اعداد = در مجموع ۶۲ حالت مختلف
- برای بدست آوردن کاراکتر دوم رمز عبور نیز ۶۲ حالت مختلف باید مورد بررسی قرار گیرند.
- مجموع حالت های مورد نیاز برای بررسی = ۶۲ * ۶۲ = ۳۸۴۴
همانطور که مشاهده کردید انتخاب پسورد های طولانی تر و پیچیده تر، عملیات Bruteforce را وادار به امتحان و بررسی موارد بیشتری می کند که در نتیجه زمان مورد نیاز برای بررسی آن ها نیز به مراتب افزایش می یابد.
از این رو می توانید مقاله “آموزش ساخت پسورد پیچیده ( رمز عبور چیست )” را مطالعه و علاوه بر فراگیری ایجاد رمز عبور پیچیده با برخی از نرم افزار های ساخت پسورد نیز آشنا شوید.
مثالی از نحوه حملات بروت فورس
حملات brute force اغلب برای کاهش دادن زمان مورد نیاز برای هک نمودن پسوردها، از برخی الگوهای محبوب برای حدس زدن کلمات استفاده می نماید. برای مثال تصور کنید کلمه milford پسورد مورد نظر ما می باشد. در این صورت، عملیات BruteForce حالت های زیر را در ابتدا امتحان می کند:
- milford
- Milford
- MILLFORD
حدس های فوق بر اساس محبوبیت های خود بین کاربران، الویت می گیرند. این موضوع بدین معناست که کاربران اگر قصد در نظر گرفتن کلمه milford برای پسورد خود را داشته باشند، به ترتیب یکی از حالت های فوق را ترجیح خواهند داد.
هکرها نیز برای طراحی متدهای Bruteforce به رفتار و روان شناسی انسان ها توجه خاصی دارند و همیشه سعی می کنند تا با درنظر گرفتن این موارد، پسورد اهداف خود را در کمترین زمان به سرقت ببرند. بنابراین در صورتیکه این پسورد به صورت “MilLFoRd” که کمتر قابل پیشبینی است در نظر گرفته شود، مدت زمان لازم برای کرک کردن آن به مراتب افزایش می یابد.
در اجرای حمله brute force، به افراد مورد نظر نیز توجه خاصی می شود و برنامه نویسان برنامه های Bruteforce با استفاده از مطالعه رفتار آن ها به حدس پسوردهای محبوب آن ها نیز می پردازند زیرا هر دسته از افراد از پسورد های خاصی (که به خاطر سپرد نشان راحتتر است) استفاده می کنند. قابل ذکر است که در همه حالات حملات بروت فورس تمام حالات ممکن را امتحان می نماید اما برای این کار ابتدا از پیش فرض های فوق الذکر برای صرفه جویی در زمان استفاده می نماید.
زمان مورد نیاز برای هک شدن یک پسورد در بروت فورس
زمان مورد نیاز برای به سرقت بردن یک پسورد به دو مورد زیر بستگی دارد:
- تعداد کاراکترهای به کار رفته در پسورد
- انواع کاراکترهای به کار رفته در پسورد (حروف بزرگ، حروف کوچک، اعداد، کاراکترهای خاص)
اگر تصور می کنید از پسوردهای ایمنی برای اکانت های خود استفاده کرده اید، ممکن است در اشتباه باشید! حتی ترکیب کاراکترهایی که توسط باهوش ترین افراد نیز به عنوان پسورد خود در نظر گرفته می شوند نیز از نرم افزار هک پسوردی مانند L0phtcrack در امان نخواهد بود. حتی ساده ترین نرم افزارهای موجود نیز ۹۹% از ترکیب های حروف انگلیسی رایج برای پسورد را شامل می شوند. این ابزار بسیار هوشمند، مخفیانه و مهلک بوده و از همه بدتر، به طور وسیعی در سطح اینترنت قابل دانلود می باشند.
راه های پیشگیری از حملات بروت فورس
راه های مختلفی برای جلوگیری از حملات بروت فورس در شبکه های خصوصی، جهانی و وب سایت ها وجود دارد که باید با تدبیر و مطالعه و بررسی امکان حمله در نظر گرفته شود. برخی از راه های اصلی و موثر و رایج در این زمینه به شرح زیر می باشند:
- محدود نمودن تعداد دفعاتی که کاربر می تواند پسورد خود را اشتباه وارد نماید (Failed Login Attemp)
- منع نمودن آدرس IP افرادی که چندین بار لاگین ناموفق داشته اند.
- بررسی دقت فایل های لاگ برای یافتن عملیات مشکوک به Bruteforce
- استفاده از متدهای تشخیص انسان از روبات ها مانند استفاده از تصاویر Captcha و عبارات امنیتی. میتوان با کمک فایروال و Captcha از بروز BruteFore جلوگیری نمایند.
در برخی از موارد با توجه به امکانات سیستم ارائه شده توسط شما، شاید لازم باشد تا از تمامی متدهای فوق به صورت ترکیبی در نقاط مختلف برنامه خود استفاده نمایید. برای مثال می توانید برای قسمت لاگین به مدیریت وب سایت خود از هریک از متدهای Captcha یا منع نمودن IP های مشکوک استفاده کنید، اما به یاد داشته باشید که همواره باید فایل های لاگ وب سایت خود را برای حملات دیگری مانند DoS و DDoS نیز بررسی نمایید.