محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

حمله دیکشنری ( Dictionary Attack ) چیست؟ به زبان ساده

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

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

بدیهی است که یکی از روشهای پیدا کردن رمزهای عبور ، حدس زدن است و اگر اکثریت مردم را در نظر بگیریم ، بسیار محتمل است که رمزهای عبور بسیاری از آدم ها در یک دائره العمارف وجود داشته باشد.

حمله دیکشنری چیست؟

استفاده کردن از این مجموعه کلمات شناخته شده برای هک کردن و پیدا کردن پسورد به حمله دیکشنری یا Dictionary Attack معروف می باشد. الزاما حمله دیکشنری به معنی استفاده از واژه های یک دیکشنری نیست ، بلکه به مجموعه کلماتی که احتمال دارد افراد به عنوان پسورد استفاده کنند نیز دیکشنری در بحث هک و نفوذ گفته می شود.

حمله دیکشنری می تواند باعث پیدا کردن کلید رمزگشایی یک پیام یا یک فایل باشد. حمله دیکشنری معمولا حروف بزرگ و کوچک ، ترکیب حروف و بزرگ و کوچک ، استفاده همزمان از چند کلمه در کنار هم و سایر احتمالات را بررسی نمی کند و صرفا کلامتی که عینا برای آن تعریف شده است را بررسی می کند و به همین دلیل سرعت بالایی دارد.

اگر قرار باشد حملات پسورد ، احتمالات را هم در خودش جای بدهد دیگر به آن Dictionary Attack گفته نمی شود و در اصطلاح حمله Brute Force نامیده می شود. حمله دیکشنری بر روی پسوردهای قوی و پیچیده عملا کاربردی ندارد و فقط برای کرک کردن پسوردهای عامی و شناخته شده کاربرد دارد.

حمله دیکشنری چگونه انجام می شود؟

حمله دیکشنری با استفاده از یک لیست از پسوردهای ممکن برای هدف مورد نفوذ انجام می شود. هر بار یکی از کلماتی که در لیست وجود دارند با Hash موجود چک می شود تا در نهایت Hash ها برابر شوند و این یعنی اینکه پسوردها مشابه است.  معمولا رمزهای عبوری که به سادگی قابل حدس هستند در لیست پسوردهای این حمله قرار می گیرند برای مثال لیستی از پسوردهای معمول در دنیای فناوری اطلاعات مثل :

  • 123456
  • 654321
  • Qwerty123456
  • Password

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

حمله دیکشنری چیست؟

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

لیست کلمه هایی که در حمله دیکشنری مورد استفاده قرار می گیرد بسیار متنوع و بزرگ می تواند باشد و به همین دلیل تست کردن بصورت دستی در این حمله وجود ندارد و معمولا با استفاده از ابزارهایی که حمله Brute Force را انجام می دهند ، این حمله انجام می شود.

حملاتی معمولا از جنس دیکشنری یا Brute Force هم بصورت آنلاین و هم بصورت آفلاین انجام می شود اما معمولا حملات آنلاین به دلیل Lock شدن یا قفل شدن فیلد ورود پسورد کمتر مورد استفاده قرار می گیرد. اما در حملات آفلاین معمولا فایل رمزنگاری شده پسوردها در اختیار مهاجم است و تا جاییکه ممکن باشد تست های تطبیق را می تواند با سرعت بالاتر انجام دهد.

راهکار جلوگیری از حملات دیکشنری چیست؟

  • کافیست رمز عبور قوی داشته باشید 
  • هر چند وقت یکبار رمز عبور را تغییر دهید
  • دفعات تست رمز عبور را به حداقل ممکن برسانید
  • بعد از 3 بار پسورد اشتباه حتما 15 دقیقه اکانت را قفل کنید

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات