حمله جدول رنگین کمانی (Rainbow Table Attack) چیست؟ راه های مقابله با این حملات!

حمله جدول رنگین کمانی (Rainbow Table Attack) چیست؟ راه های مقابله با این حملات!

  • clock زمان مطالعه: 7.5:8 دقیقه
  • calendar انتشار: 31 مرداد 1402
آنچه در این مقاله میخوانید

    در سال‌های اخیر با گسترش ارتباطات مجازی و شکل‌گیری حساب‌های کاربری در بستر اینترنت، مسئله حفظ امنیت اکانت به یکی از دغدغه‌های اصلی کاربران اینترنت تبدیل شده است؛ چراکه هکرها و مهاجمان مخرب به راحتی می‌توانند با استفاده از روش‌های مختلف، رمز عبور حساب کاربری افراد را به دست آورده و حریم خصوصی آن‌ها را با خطرات بسیار جدی مواجه سازند. طبیعتا مسئله حفاظت از حساب کاربری به هنگامی که این حساب کاربری به طور مستقیم با دارایی افراد گره خورده است، رنگ و بوی دیگری به خود می‌گیرد؛ چراکه مسئله حفاظت از دارایی‌ها و سرمایه‌ای که کاربران در حساب کاربری خویش نگهداری می‌کنند و تامین امنیت آن از مهم‌ترین مسائلی است که نباید از آن غافل شد. 

    این موضوع چه در پی‌پال باشد و چه در مارکت ارز دیجیتال تفاوتی ندارد! هکرها با استفاده از روش‌هایی همچون حمله جدول رنگین کمانی تلاش خواهند کرد تا رمز عبور اصلی شما را یافته و دارایی‌های شما را غارت نمایند؛ اما مسلما آشنایی دقیق با شیوه‌های مختلف هک می‌تواند دید روشنی از نحوه مقابله با آن‌ها در اختیار شما قرار دهد و به همین علت ما این مقاله از بلاگ کریپتوباز را به معرفی و بررسی جامع حمله جدول رنگین کمانی اختصاص داده‌ایم؛ چنانچه شما هم نگران امنیت دارایی‌های خود در حساب صرافی و کیف پول خود هستید، پیشنهاد می‌کنیم تا انتهای این مطلب با ما همراه باشید تا با یکی از رایج‌ترین شیوه‌های یافتن رمزعبور از سوی هکران آشنا شوید.

    مروری اجمالی بر چیستی هش (Hash) و هشینگ (Hashing)

    قبل از آن که بتوانیم مطالبی را در ارتباط با ماهیت و چیستی حمله جدول رنگین کمانی بیان کنیم، ضرورت دارد نگاهی بر چیستی مفهوم هش (Hash) داشته باشیم؛ چراکه عمده توجه هکران در حمله جدول رنگین کمانی بر روی شکستن هش رمز عبور متمرکز شده و طبیعتا بدون آگاهی از چنین اطلاعاتی مطالعه مطالب بعدی کمی برای کاربرانی که به تازگی به دنیای کریپتوکارنسی وارد شده‌اند، گنگ بنظر خواهد رسید. به هنگامی که صحبت از هشینگ (Hashing) به میان می‌آید، منظور فرآیندی است که در طول آن یک ورودی با اندازه متغییر در نهایت به یک خروجی با اندازه ثابت تبدیل می‌شود و اهمیتی ندارد که داده ورودی چه اندازه‌ای داشته باشد، خروجی کار همواره اندازه ثابتی خواهد بود. در هشینگ برای آن که ورودی در نهایت تغییر شکل داده و به اندازه ثابتی تبدیل شود از یک سری فرمول‌های ریاضی به نام تابع هش کمک گرفته می‌شود. به خروجی که با اندازه ثابت از تابع هش به دست می‌آید، هش (Hash) گفته می‌شود.

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

    به بیان بهتر، تصور کنید که برای حساب کاربری خود در یک صرافی رمزارزی پسوردی نظیر 123456798 انتخاب کرده‌اید، حال این رمز عبور وارد تابع هش X شده و آن به صورت 6d3scc5vv869h54q9865hwx776ng88 تبدیل شده و در پایگاه داده این صرافی ذخیره می‌شود؛ بعد از فرآیند هشینگ شما هر بار که بخواهید وارد حساب کاربری خویش در این صرافی شوید، در ظاهر همان رمز عبور اولیه خود را وارد می‌کنید؛ اما در باطن مجددا این رمز وارد شده با استفاده از تابع هش به صورت هش درآمده و نتیجه با هش ذخیره شده در پایگاه داده این صرافی مقایسه می‌شود که در صورت یکسان بودن هر دو هش، می‌توانید وارد حساب کاربری خود شوید. به خاطر داشته باشید که رمز عبور 123456789 منجر به هش کاملا متفاوتی نسبت به هش 123456798 خواهد شد.

    آشنایی با حمله جدول رنگین کمانی (Rainbow Table Attack)

    حال که با چیستی مفهوم هش بیشتر آشنا شدید، راحت‌تر می‌توانیم مفهوم حمله جدول رنگین کمانی را مورد کالبدشکافی قرار دهیم. احتمالا با مطالعه فرآیند هشینگ چنین تصور خواهید کرد که دیگر امکان هک حساب کاربری کاربران در صرافی‌ها و وب‌سایت‌ها وجود ندارد؛ اما چنین تصوری درست نبوده و در یک مهندسی معکوس، هکرها به جای آن که از هش به رمز عبور وارد شده برسند، از رمز عبور به هش مورد نظر دست پیدا می‌کنند! در واقع جداول رنگین کمانی که هکران با استفاده از آن‌ها دسته به حمله جدول رنگین کمانی می‌زنند، برای اولین بار به وسیله متخصص فناوری اطلاعات به نام فیلیپ اوچس لین (Philippe Oechslin) ابداع گردید. علت نام‌گذاری این جداول به جدول رنگین کمانی به این علت بود که در این جدول‌ها هر بخش از جدول متناسب با عملکردهای آن به رنگ مختلفی در می‌آید؛ در اصل جداول رنگین کمانی مدت زمان مورد نیاز هکران برای تبدیل هش به متن ساده را بسیار کاهش می‌دهند و هکران را قادر می‌سازند تا در یک بازه زمانی کوتاه بتوانند حمله موثری را به حساب کاربری افراد در یک سیستم تجربه نمایند.

    برای درک بهتر حمله جدول رنگین کمانی و این که چگونه هش‌ها در این جدول جای می‌گیرند، توجه شما را به یک گزارش جالب از کمپانی امنیت سایبری به نام «SplashData» جلب می‌کنیم: در این گزارش قید شده بود که با بررسی‌های انجام یافته بر روی دیتای عظیمی که در طول حملات سایبری بزرگ نظیر هک Yahoo و Equifax فاش شده بود، کارشناسان این شرکت متوجه شدند که حدودا نزدیک به 3 درصد کاربران از رمز عبور 123456 برای حساب‌های کاربری خود استفاده کرده بودند! حال مهاجمان به راحتی مجموعه‌ای از این رمز عبورهای از پیش محاسبه شده را به همراه مقادیر هش مربوط به آن‌ها در جدول رنگین کمانی قید می‌کنند و با استفاده از اطلاعات این جدول و آزمون و خطا تلاش می‌کنند تا رمز عبور ساده متنی با یک هش خاص را سیستمی پیدا کنند. در واقع در روش حمله جدول رنگین کمانی در مقایسه با روش حمله دیکشنری (Dictionary Attack) و حمله Brute Force که هر دو به فضای حافظه و قدرت محاسباتی بیشتری نیاز دارند، هکران و مجرمان سایبری به راحتی می‌توانند رمزهای عبور حساب‌های کاربری را رمزگشایی نمایند.

    در طول تاریخ چندین نمونه حمله جدول رنگین کمانی اتفاق افتاده است که در طول آن‌ها رمز عبور چندین میلیون کاربران به صورت کاملا آنلاین در بستر فضای مجازی فاش شدند که از نمونه‌های بزرگ چنین حملاتی می‌توان به حمله هکرها به پایگاه داده لینکدین، انجمن‌های اوبونتو و Adobe Systems در سال 2013 اشاره کرد و اهمیت فاش شدن چنین اطلاعاتی زمانی برای شما روشن‌تر خواهد شد که بدانید بخش غالب کاربران فعال در بستر اینترنت از یک رمز عبور واحد برای اکانت شبکه‌های اجتماعی، وب‌سایت‌ها و صرافی‌های رمزارزی استفاده می‌کنند!

    نحوه عملکرد حمله جدول رنگین کمانی

    قبل از آن که مجرمان سایبری و هکران بتوانند حمله جدول رنگین کمانی را انجام دهند، در قدم اول باید به هش‌های لو رفته سیستم‌های مختلف دسترسی پیدا کنند که این مهاجمان ممکن است این آسیب‌پذیری مورد نیاز خویش را در برنامه وب یک شرکت با پایگاه داده‌ای که دارای رمز عبور ضعیفی است، پیدا نماید. در قدم بعدی مهاجم این هش‌های به سرقت برده را با استفاده از جدول رنگین کمانی مورد استفاده قرار داده و پس از آن می‌تواند رمزهای عبور کاربران مختلفی را در سیستم‌های متنوع به صورت یک متن ساده رمزگشایی کند. البته لازم به ذکر است که متاسفانه هکران برای دستیابی به این مجموعه‌ای از رمزعبورها چندان نیازی به انجام کارهای پیچیده ندارند و در دارک وب (Dark Web) مجموعه‌های میلیونی از پسوردهای فاش شده در دسترس هکران قرار گرفته است.

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

    مقایسه حمله جدول رنگین کمانی با سایر حملات سایبری مشابه

    اگر جز آن دسته از افرادی هستید که اطلاعات کلی در ارتباط با حملات سایبری دارند، احتمالا با مطالعه مطالب فوق متوجه شباهت‌های موجود میان حمله جدول رنگین کمانی با حملات Dictionary و Brute force شده‌اید؛ اما آیا این حملات واقعا شباهت‌هایی با یکدیگر دارند؟ پاسخ به چنین سوالی در گرو بررسی ماهیت و چیستی حملات سایبری یاد شده است. در واقع هرچند که کلیه روش‌های یاد شده در شکستن پسورد کاربرد پیدا می‌کنند؛ اما میزان اثربخشی آن‌ها و رویکردی که در طول شکستن رمز عبور دارند، آن‌ها را به روش‌‌های کاملا متفاوتی تبدیل کرده است. 

    در طول حمله Brute force، فرد مهاجم بایستی کلیه ترکیبات احتمالی کاراکترها را مورد آزمون و خطا قرار دهد تا در نهایت بتواند به رمز عبور صحیح مورد نظر دسترسی پیدا کند که طبیعتا چنین روشی به دلیل وقت‌گیر بودن آن چندان در میان هکران طرفداری نداشته و صرفا در شکستن پسوردهای بسیار ضعیف کاربرد دارد؛ در طرف دیگر ماجرا روش Dictionary Attack قرار دارد که کمی در مقایسه با Brute force پیشرفته بوده و فرآیند شکستن رمزعبور را در مقایسه با آن، سریعتر انجام می‌دهد. در حمله دیکشنری، همان طور که از نام پیداست از کلمات فرهنگ لغت کمک گرفته می‌ود و مهاجمان با استفاده از آن برخی ترکیبات را مورد آزمایش قرار می‌دهند. 

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

    چگونگی مقابله با حمله جدول رنگین کمانی

    حال که با روش حمله جدول رنگین کمانی آشنا شدید، احتمالا این سوال ذهن شما را به خود مشغول خواهد ساخت که چگونه می‌توان از رمز عبور حساب کاربری خود در برابر حمله جدول رنگین کمانی محافظت نمود؟ آیا اصلا راهی برای محافظت از رمز عبور در برابر چنین حملاتی وجود دارد؟ در پاسخ به چنین سوالاتی باید بگوئیم که بله می‌توان با انجام برخی اقدامات از حساب کاربری و رمز عبور خود در صرافی‌های رمزارزی، بازارهای مالی و شبکه‌های اجتماعی محافظت نمود که این اقدامات به شرح زیر هستند:

    استفاده از Password Salting

    براساس آنچه در مطالب فوق روشن شد، هش کردن رمز عبور به منظور تامین امنیت حساب‌های کاربری افراد، امری بسیار ضروری است؛ اما طبیعتا در حالتی که شما و فرد دیگری به طور همزمان از یک متن ساده برای رمز عبور خود استفاده کنید، نتیجه چیزی جز یکسان بودن نسخه‌های هش تولید و ذخیره شده در سیستم نخواهد بود و دقیقا در همین نقطه است که فرآیندی به نام «Salting» به کمک کاربران آمده است. در واقع Password Salting به اضافه کردن کاراکترهای تصادفی اطلاق می‌گردد که آن را کاملا منحصربه‌فرد می‌کند. 

    انتخاب پسوردهای پیچیده

    واضح است که اگر از یک رمز عبور ساده نظیر 123456 استفاده کنید، در مقایسه با زمانی که از رمزهای عبور پیچیده بهره برد‌ه‌اید، بیشتر در معرض هک خواهید بود. در تنظیم رمز عبور خود بهتر است از ترکیبی از حروف کوچک و بزرگ، کاراکترهای ویژه و همچنین اعداد استفاده کنید تا از این طریق بتوانید حساب کاربری خویش را در برابر حمله جدول رنگین کمانی مصون و مقاوم نمائید. 

    استفاده از سیستم‌هایی که دارای الگوریتم هش پیشرفته هستند

    یکی از وظایف اصلی شبکه‌های بلاک چینی، سیستم‌ها و سرورهای مختلف در فضای سایبری امروز که احتمال انجام حملات سایبری نظیر حمله جدول رنگین کمانی بیش از هر زمان دیگری می‌باشد، استفاده از الگوریتم‌های هش پیشرفته نظیر SHA-256 به جای الگوریتم‌های ضعیف MD5، است. در واقع به بیان بهتر، الگوریتم‌های هش دارای تنوع بسیار زیادی هستند که امنیت برخی از آن‌ها به قدری بالاست که که حتی برخی از سازمان‌های دولتی نیز از آن‌ها استفاده می‌نمایند.

    استفاده از احراز هویت چند عاملی (Multi-Factor Authentication)

    یکی از راه‌حل‌هایی که در طول چند سال اخیر در برابر حملات سایبری نظیر حمله جدول رنگین کمانی مطرح شده است، استفاده از احراز هویت چند عاملی (MFA) است که در واقع یک مکانیسم امنیتی بوده که به هر کاربری اجازه نمی‌دهد صرفا با داشتن نام کاربری و رمز عبور آن به آن اکانت وارد گردد و علاوه بر چنین اطلاعاتی، فرد باید اطلاعات هویتی دیگری را نیز در اختیار سیستم قرار دهد تا اجازه دسترسی برای وی صادر گردد. این اطلاعات هویتی ممکن است ارسال یک کد تائید به شماره تلفن همراه شما یا استفاده از یک رمز امنیتی موقت یا حتی پاسخ به یک سوال امنیتی باشد!

    حمله جدول رنگین کمانی؛ راهی برای دستیابی به رمز عبور کاربران!

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

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

    سوالات متداول

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

    حمله جدول رنگین کمانی یک روش سایبری برای شکستن رمز عبور بوده که با استفاده از یک جدول خاص چنین منظوری حاصل می‌گردد.

    آیا تاکنون حمله جدول رنگین کمانی موفقی رخ داده است؟

    بله، تاریخ فضای سایبری مملو از چنین حملاتی است و به همین علت باید با استفاده از راهکارهای مقابله با چنین حمله‌ای از حساب کاربری خود محافظت کنیم.

    در حمله جدول رنگین کمانی، عمده تکیه مهاجم بر چیست؟

    در این نوع حمله، همان طور که از نام آن مشخص است هکران با اتکا بر یک جدول برای معکوس کردن تابع کدنویسی درهم‌ساز کار خود را پیش می‌برند.