چرا باید پسوردهای مناسب انتخاب کنیم؟!
با اینکه بارها مطالبی در مورد لزوم انتخاب پسوردهای مناسب خواندهایم و چه بسا داستان افرادی را شنیدهایم که با پیدا شدن پسورد دسترسی به اکانتهای آنلاین یا فایلهای کامپیوترشان، به دردسر افتادهاند، با این همه هنوز تعداد زیادی از کاربران، از پسوردهای ساده استفاده میکنند.
برنامههای ویژه کرک کردن پسورد نوشته شدهاند که با استفاده از شیوههایی مانند brute force، حتی پسوردهای بلند و مستحکم را میشکنند.
نویسنده سایت hackosis کار جالبی کرده است، او با استفاده از PHP، اسکریپت جالبی نوشته است که نشان میدهد، چقدر طول میکشد یک پسورد کرک شود!
شما کافی است که «تعداد» اعداد، حروف کوچک و بزرگ، کارکترهای ویژه یا واژههای به کار رفته در پسوردتان را بنویسید، تا این اسکریپت برای شما محاسبه کند که کرکرها، به چقدر زمان برای شکستن پسورد شما نیاز دارند.
نتایج واقعا شگفتآور هستند، حتی با کامپیوتری که یک پردازشگر معمولی دارد و تنها از 10 توان پردازش خود استفاده میکند، میتوان به پسوردهای ظاهرا پیچیده در زمان کوتاهی دست پیدا کرد.
– یک پسورد 10 عددی، تنها در 12 دقیقه، قابل دستیابی است!
– اما اگر از 10 حرف بزرگ، برای پسوردتان استفاده کنید، به 114 روز وقت برای دستیابی به پسورد نیاز داریم! البته اگر 10 حرف به صورت تصادفی انتخاب شده باشند و تشکیلدهنده یکی دو کلمه نباشند.
– به هیچ عنوان از کاراکترهای تشکیلدهنده کلمات برای پسوردتان استفاده نکنید، چون بلافاصله پسوردتان پیدا میشود!
اسکریپتی که وبلاگ hackosis نوشته بود، آنقدر مورد توجه قرار گرفت که سیل بازدیدکنندهها از دیگ و ردیت، به این سایت سرازیر شدند و او ناچار شد اسکریپت را از سایتش بردارد. اما خوشبختانه او اسکریپت را برای استفاده همگانی، برای دانلود آماده کرد. من هم اسکریپت را گرفتم و در وبلاگم گذاشتم. (امیدوارم فشار بیش از حد به سرورم وارد نشود) شما میتوانید با رفتن به اینجا، استحکام پسوردهای خودتان را تست کنید.
خوب! دیگر باید متوجه شده باشید که پسوردتان به احتمال زیاد چندان امن نیست. منطقی است که پسوردی انتخاب کنید که ضمن اینکه قادر به خاطر سپردنش باشید، آنقدر پیچیده باشد که به آسانی کرک نشود.
استفاده از پسوردهای طولانی و پسوردهایی که مجموعهای از حروف و اعداد و کاراکترهای ویژه (مثلا # یا $) دارند، کار کرکرها را بسیار دشوار میکند:
در حالی که کرک کردن یک پسورد 10 عددی، یا یک پردازشگر خانگی تنها 12 دقیقه طول میکشد، کرک کردن پسوردی که 3 حرف بزرگ، 2 حرف کوچک، 4 عدد و 3 علامت ویژه دارد (مجموعا 12 کارکتر) ، 3147 روز طول میکشد! و کرک کردن پسوردی با 10 عدد و 5 حرف بزرگ، به بیش از 96 هزار روز زمان نیاز دارد.
من یکی که از حک شدن خیلی ضربه خوردم و اونم از دست رفتن ارشیو سه ساله ی وبلاگ قبلیم بود. اما از نوشته ی شما استفاده میکنم که این امید که دیگه هیچ وقت پسوردم به دست کسی نیفته…
ممنون از مطالب
چرا مثالی از انواع پس وردها نیاوردید؟نمونه پس ورد
در بلاگ نیوز لینک داده شد .
با تشکر!
البته من فکر نمی کنم برنامه اش چندان سنگین باشه که شما نگران لود سرورتان باشید! کوه که نمیخواد بکنه!!!
نکته دیگر هم اینکه این امر تنها در مورد پسورد اپلیکیشن ها کاربرد دارد نه پسوردهای تحت وب.
چرا که پسوردهای تحت وب بدلیل استفاده از ssl کمی تاخیر برای certification و … دارند و علاوه بر آن خود من هم در برنامه هایی که مینویسم قبل از چک کردن پسورد در php یه تاخیر مثلا 5 ثانیه ای میدم. (با دستور sleep) که این کار هم امکان کشف پسورد مناسب رو در حد صفر میکنه.
آقای دکتر
با اجازه این نسخه رو لینک دادم.
واقعا جالب بود مثل همه مطالب تون حیفم اومد تو http://www.kamibia.com لینک ندم موفق باشد
اینم نتیجه تست من!!!!!!!!!!!!!!!
http://www.1pezeshk.com/wp-content/pics/bfcalc.php?uc=4&lc=7&nu=5&sc=3&ran=9&rans=16&dict=0
4,890,747,895,390,300,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00 days to crack
جالب بود استفاده بوردیم!ممنون!
خیالم راحت شد. (البته بود) به من گفت:
It takes 71,214,055.78 hours or 2,967,252.32 days to crack your password
مثل همیشه بسیار جالب، ممنون.
سلام دکتر جان
خسته نباشید خیلی جالب بود دستتون درد نکنه با اجازتون تو وبلاگ http://www.iranirsa.mihanblog.com گذاشتم(البته با ذکر منبع) ممنونم
سولی که مطرح هست اینه که کدام سیستم اجازه میده شما این همه پسورد تست کنین ؟
پس نگران پسوردهاتون نباشین نگران این باشین که کجا اونو تایپ میکنیم!