روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ نیروی پردازشگری کامپیوترها روز به روز در حال رشد است و این به کاربران کمک میکند تا سریعتر از همیشه مشکلات پیچیده را حل کنند. اما بُعد منفی این ماجرا پسوردهایی هستند که اگر چند سال پیش، حدس زدنشان محال بود اکنون هکرهای سال 2024 همچون آب خوردن آن را کرک میکنند. برای مثال جیپییو RTX 4090 قادر به حدس زدن پسوردی هشت کاراکتری است شامل حروف و ارقام انگلیسی مشابه یا 36 کاراکتر قابل ترکیب فقط در عرض 17 ثانیه. بررسیای که ما در مقاومت به حملات جستجوی فراگیر انجام دادیم نشان داد درصد بالایی از پسوردها (59 درصد) میتوانند زیر یک ساعت، کرک شوند. با ما همراه شوید تا قدرت پسورد کاربر را بدرستی تحلیل کنیم.
معمولاً پسوردها چطور ذخیره میشوند؟
وبسایتها برای احراز کاربران به روش ذخیرهسازی جفتهای لاگین پسورد و استفاده از آنها برای اعتبارسنجی دادههایی که کاربر وارد کرده نیاز دارند. در بیشتر موارد، پسوردها به عنوان هش ذخیره میشوند تا در قالب متن ساده. پس مهاجمین نمیتوانند از آنها در شرایط نشت استفاده کنند. برای جلوگیری از حدس زده شدن پسورد با کمک جداول رنگینکمانی، یک سالت پیش از از هش کردن افزوده میشود. گرچه هشها ذاتاً برگشتناپذیر هستند اما مهاجم با دسترسی به پایگاه داده نشتشده میتواند تلاش کند پسوردها حدس زده شوند. آنها تعداد بینهایتی تلاش خواهند داشت زیرا خود پایگاه داده در برابر جستجوی فراگیر ذرهای محافظت ندارد. ابزارهای حدس پسورد حاضر و آماده مانند هشکت را میتوانید به طور آنلاین پیدا کنید.
روششناسی
مطالعه ما 193 میلیون رمز عبور را که در وبسایتهای تاریک مختلف بهصورت آزاد در دسترس بودند بررسی کرد. کسپرسکی پسوردهای کاربر را جمعآوری یا ذخیره نمیکند. ما زمان حدس زدن رمز عبور از روی هش را با استفاده از جستجوی فراگیر و الگوریتمهای پیشرفته مختلف، مانند حملات فرهنگ لغت و/یا شمارش ترکیب نویسههای رایج، تخمین زدیم. در اینجا لیستی از ترکیبات کاراکترهایی که اغلب در رمزهای عبور استفاده میشوند را آوردهایم. آنها شامل، اما محدود به کلمات انگلیسی واقعی نمیشوند.
حملات جستجوی فراگیر
روش جستجوی فراگیر هنوز یکی از سادهترین و سرراستترین روشها است: کامپیوتر همه گزینههای رمز عبور ممکن را امتحان میکند تا زمانیکه یکی کار کند. این رویکردی نیست که مناسب همه مواقع باشد: شمارش رمزهای عبور فرهنگ لغت را نادیده میگیرد و در حدس زدن رمزهای عبور طولانیتر از رمزهای کوتاهتر بسیار بدتر عمل مینماید. ما سرعت جستجوی فراگیر را همانطور که در پایگاه داده مورد بررسی اعمال میشود، تجزیه و تحلیل کردیم. برای وضوح، رمزهای عبور نمونه را با توجه به نوع کاراکترهای موجود در آنها به الگوهایی تقسیم کردیم:
a: رمز عبور فقط شامل حروف کوچک یا بزرگ میشود.
aA:رمز عبور شامل حروف کوچک و بزرگ میشود.
0: رمز عبور شامل ارقام میشود.
!: رمز عبور شامل کاراکترهای خاص میشود.
زمان لازم برای شکستن رمز عبور با استفاده از روش جستجوی فراگیر به طول و تعداد انواع کاراکترها بستگی دارد. نتایج جدول برای GPU RTX 4090 و الگوریتم هش MD5 با سالت محاسبه شده است. سرعت شمارش در این پیکربندی 164 میلیارد هش در ثانیه است. درصدهای جدول، رُند شدهاند.
محبوبترین نوع پسورد (28 درصد) شامل حروف بزرگ و کوچک، کاراکترهای خاص و اعداد میشود. بیشتر پسوردها در نمونه مورد بررسی را سخت میشود جستجوی فراگیر کرد. حدود 5 درصد را میتوان ظرف یک روز حدس زد اما 85 درصد این نوع پسوردها برای کار کردن بیش از یک سال به طول میانجامند. زمان کرک به طول، بستگی دارد: پسوردی حاوی 9 کاراکتر ظرف یک سال حدس زده میشود اما آنی که حاوی 10 کاراکتر است بیش از یک سال طول میکشد. پسوردهایی که کمترین مقاومت را به حملات جستجوی فراگیر دارند همانهایی هستند که فقط شامل حروف میشوند یا تنها کاراکترهای خاص دارند. نمونه حاوی 14 درصد اینها بود. بیشترشان کمتر از یک روز قابل کرک هستند. پسوردهایی که فقط حروف دارند از 11 کاراکتر شروع میشوند. هیچ رمز عبور قوی فقط رقم در نمونه وجود نداشت.
حملات جستجوی فراگیر هوشمند
همانطور که در بالا ذکر شد، جستجوی فراگیر یک الگوریتم حدس زدن رمز عبور غیربهینه است. گذرواژهها اغلب از ترکیب شخصیتهای خاصی تشکیل شدهاند: کلمات، نامها، تاریخها، دنبالهها (12345 یا(qwerty . اگر الگوریتم جستجوی فراگیر خود را در نظر بگیرید، میتوانید روند را تسریع کنید:
- bruteforce_corr یک نسخه بهینه از روش جستجوی فراگیر است. میتوانید از نمونهای بزرگ برای اندازهگیری فرکانس الگوی رمز عبور خاص استفاده کنید. در مرحله بعد، میتوانید درصدی از زمان محاسباتی را به هر گونه که با فرکانس واقعی آن مطابقت دارد اختصاص دهید. بنابراین، اگر سه الگو وجود داشته باشد، اولی در 50 درصد، دومی و سومی در 25 درصد موارد استفاده میشوند و بعد به ازای هر دقیقه کامپیوتر ما 30 ثانیه برای شمارش الگوی 1 و برای الگوی 2 و 3 هر کدام 15 ثانیه صرف خواهد شد.
- zxcvbn یک الگوریتم پیشرفته برای سنجش قدرت رمز عبور است. الگوریتم الگویی را که رمز عبور به آن تعلق دارد، مانند "کلمه، سه رقم" یا "نویسه ویژه، کلمه فرهنگ لغت، دنباله رقم" شناسایی میکند. در مرحله بعد، تعداد تکرارهای مورد نیاز برای شمارش هر عنصر در الگو را محاسبه میکند. بنابراین، اگر رمز عبور حاوی یک کلمه فرهنگ لغت باشد، یافتن آن به تعداد تکرار برابر با اندازه فرهنگ لغت نیاز دارد. اگر بخشی از الگو تصادفی باشد، باید جستجوی فراگیر شود. اگر زمان حدس زدن هر جزء از الگو را بدانید، میتوانید پیچیدگی کل شکستن رمز عبور را محاسبه کنید. این روش یک محدودیت دارد: شمارش موفقیت آمیز مستلزم تعیین رمز عبور یا فرض کردن یک الگو است. با این حال، میتوانید با استفاده از نمونه های دزدیده شده به محبوبیت الگوها پی ببرید. سپس، مانند گزینه جستجوی فراگیر، مقداری از زمان محاسباتی را متناسب با وقوع آن به الگو اختصاص دهید. ما این الگوریتم را به عنوان zxcvbn_corr تعیین میکنیم.
- unogram ساده ترین الگوریتم زبان است. به جای نیاز به الگوی رمز عبور، بر فرکانس هر کاراکتر که از نمونهای از رمزهای عبور محاسبه می شود، متکی است. این الگوریتم هنگام شمارش، محبوبترین کاراکترها را اولویت بندی میکند. بنابراین، برای تخمین زمان کرک، کافی است احتمال ظاهر شدن کاراکترها در رمز عبور را محاسبه کنید.
- 3gram_seq، ngram_seq الگوریتمهایی هستند که احتمال کاراکتر بعدی را بسته به n-1 کاراکتر قبلی محاسبه میکنند. الگوریتم پیشنهادی در حالیکه با طولانیترین و متداولترین n-گرم شروع میشود شمارش یک کاراکتر را آغاز نموده و سپس به ترتیب شخصیت بعدی را اضافه مینماید. در این مطالعه، ما از n-gram هایی از 1 تا 10 کاراکتر استفاده کردیم که بیش از 50 بار در پایگاه داده رمز عبور ظاهر میشوند. الگوریتم 3gram_seq به n گرم تا سه کاراکتر محدود شده است.
- 3gram_opt_corr، ngram_opt_corr نسخه بهینهشده n-grams است. الگوریتم قبلی رمز عبور را از ابتدا با افزودن یک کاراکتر در یک زمان تولید میکرد. با این حال، در برخی موارد، اگر از انتها، از وسط یا از چندین موقعیت به طور همزمان شروع کنید، شمارش سریعتر انجام میشود. الگوریتم های-**- opt انواع فوقالشرح را برای یک رمز عبور خاص بررسی کرده و بهترین را انتخاب کنید. با این حال، در این مورد، ما به یک الگوی رمز عبور نیاز داریم که به ما امکان میدهد نقطه شروع تولید را تعیین نماییم. هنگامی که برای الگوهای مختلف تنظیم میشوند، این الگوریتمها معمولاً کندتر هستند. با این حال، آنها میتوانند مزیت قابل توجهی برای رمزهای عبور خاص ایجاد کنند.
همچنین، برای هر رمز عبور، بهترین مقدار را محاسبه کردیم: بهترین زمان کرک در بین همه الگوریتمهای مورد استفاده. این یک مورد ایده آل فرضی است. برای پیادهسازی آن، باید یک الگوریتم مناسب را حدس بزنید یا هر یک از الگوریتمهای فوقالذکر را به طور همزمان بر روی یک GPU مخصوص به خود اجرا کنید. نکته اصلی این است که هنگام استفاده از کارآمدترین الگوریتم، 45٪ از رمزهای عبور در نمونه مورد بررسی را میتوان در عرض یک دقیقه، 59٪ در عرض یک ساعت و 73٪ در یک ماه حدس زد. تنها 23 درصد از رمزهای عبور بیش از یک سال طول میکشد تا کرک شوند. نکته مهم، حدس زدن همه رمزهای عبور در پایگاه داده تقریباً به اندازه حدس زدن یکی از آنها زمان میبرد. در طول حمله، هکر پایگاه داده را برای هش به دست آمده در تکرار فعلی بررسی می کند. اگر هش در پایگاه داده باشد، رمز عبور بهعنوان کرک شده علامتگذاری شده و الگوریتم به کار روی بقیه میرود.
استفاده از کلمات فرهنگ لغت، قدرت پسورد را پایین میآورد
برای یافتن اینکه کدام الگوهای رمز عبور در برابر هک مقاومتر هستند، بهترین مقدار را برای مجموعه گستردهای از معیارها محاسبه کردیم. برای این منظور، ما یک فرهنگ لغت از ترکیبات پرکاربرد چهار یا چند کاراکتر ایجاد و آنها را به لیست الگوی رمز عبور اضافه کردیم.
Dict: رمز عبور حاوی یک یا چند کلمه فرهنگ لغت است.
dict_only:رمز عبور فقط حاوی کلمات فرهنگ لغت است.
اکثر (57٪) رمزهای عبور بررسیشده حاوی یک کلمه فرهنگ لغت بودند که به طور قابل توجهی قدرت آنها را کاهش داد. نیمی از این ها را میتوان در کمتر از یک دقیقه و 67٪ در عرض یک ساعت کرک کرد. تنها 12 درصد از رمزهای عبور فرهنگ لغت به اندازه کافی قوی هستند و حدس زدن آنها بیش از یک سال طول میکشد. حتی در هنگام استفاده از همه انواع کاراکترهای توصیهشده (حروف بزرگ و کوچک، ارقام و کاراکترهای خاص)، تنها 20 درصد از این رمزهای عبور در برابر اعمال خشونت آمیز مقاوم هستند. میتوان چندین گروه را در میان محبوبترین توالی فرهنگ لغت موجود در رمزهای عبور تشخیص داد.
نامها: "احمد"، "گوین"، "کومار"، "کیوین"، "دانیل"؛
کلمات محبوب: "برای همیشه"، "عشق"، "گوگل"، "هکر"، "گیمر"؛
رمزهای عبور استاندارد: "password"، "qwerty12345"، "admin"، "12345"، "team".
رمزهای عبور غیر دیکشنری 43 درصد از نمونه را تشکیل میدادند. برخی ضعیف بودند، مانند آنهایی که از حروف و ارقام یکسان (10٪) یا فقط اعداد (6٪) تشکیل شده بودند. با این حال، افزودن همه انواع کاراکترهای توصیه شده (الگوی aA0!)باعث میشود 76 درصد از این رمزهای عبور به اندازه کافی قوی باشند.
آنچه برداشت شد
جیپییوهای مدرن قادر به کرک پسوردهای کاربر با سرعت بسیار بالا هستند. سادهترین الگورتیم جستجوی فراگیر میتواند هر پسوردی را تا هشت کاراکتر در عرض کمتر از یک روز کرک کند. الگوریتمهای هوشمند هک میتوانند بسیار سریع اقدام به کرک حتی طولانیترین پسوردها کنند. اینها از دیکشنری استفاده کرده به جایگزینی کاراکتر دقت کرده و یا از ترکیبهای محبوب استفاده میکنند.
این بررسی ما را به چند نتیجهگیری و برداشت در مورد قدرت پسوردها رساند:
- بسیاری از رمزهای عبور کاربران به اندازه کافی قوی نیستند: 59٪ را میتوان در عرض یک ساعت حدس زد.
- استفاده از کلمات معنی دار، نامها و ترکیبهای استاندارد کاراکترها زمان حدس زدن رمز عبور را به میزان قابل توجهی کاهش میدهد.
- کمترین امنیت رمز عبور رمزی است که تماماً از ارقام یا کلمات تشکیل شده باشد.
برای محافظت از اکانت خود در برابر هک اقدامات زیر را انجام دهید:
- به یاد داشته باشید که بهترین رمز عبور تصادفی و توسط کامپیوتر تولید شده است. بسیاری از مدیران رمز عبور قادر به تولید رمز عبور هستند.
- از عباراتی که چیزی را یاد شما میاندازند به جای عبارات معنادار استفاده کنید.
- رمز عبور خود را برای مقاومت در برابر هک بررسی کنید. میتوانید این کار را با کمک Password Checker، Kaspersky Password Manager یا zxcvbn انجام دهید.
- با رفتن به haveibeenpwned مطمئن شوید رمزهای عبور شما در هیچ پایگاه داده لو رفته وجود ندارد. از راهکارهای امنیتی استفاده کنید که به کاربران در مورد نشت رمز عبور هشدار میدهد.
- از استفاده از رمز عبور یکسان برای چندین وبسایت خودداری کنید. اگر رمزهای عبور شما منحصر به فرد هستند، کرک یکی از آنها آسیب کمتری به همراه خواهد داشت.
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.