ایتنا- اگر رمز یک قفل قدیمی یک فراموش کنید، به چه راههایی متوسل میشوید؟
سیدمحمدرضا موسویپور
انواع قفلهای رمزدار بر روی کیفها و چمدانها هنوز هم بهوفور استفاده میشوند. فرض کنید از مدتها قبل، یک قفل رمزدار را بر روی یکی از چمدانهای خود قرار دادهاید و اکنون قصد بازکردن آن را دارید، اما رمـز را به خاطر نمیآورید؛ چکار میکنید؟ اصلیترین راه نتیجهبخش آن است که تمامی شمارههای مختلف را یکی پس از دیگری امتحان کنید.
درصورتیکه قفل سه رقمی باشد، باید حداکثر تا ۱۰۰۰ بار از ۰۰۰ تا ۹۹۹ را امتحان کنید. این نوع حمله امنیتی که برای ورود به یک سیستم استفاده میشود را حمله brute-force یا جستجوی فراگیـر مینامند.
بهطور مشابه، سناریو دیگری را تصور کنید که شخصی در تلاش برای شکستن شماره شناسه شخصی ATM و یا یک رمز عبورمتعلق به شما است. برخلاف قفلهای رمزدار، در رمز عبور یا شناسه عددی، کاربر حداکثر مجاز به سه بار امتحان و تلاش برای وارد کردن اطلاعات است و بعد از آن حساب قفل خواهد شد.
یکی دیگر از روشهای مرسوم که عموماً در فرایند احراز اصالت و ورود به حساب کاربری استفاده میشود، ایجاد تأخیر زمانی مناسب برای جلوگیری از آزمودن دیگر احتمالات ممکن است؛ بنابراین چنین محدودیتهایی سارق را تا حدودی از ادامه فعالیت باز میدارد. در ادامه، موضوع را بیشتر بررسی میکنیم.
شمارهگیری شیطانی: یکی از روشهای قدیمی جستجوی فراگیر، استفاده از حمله شمارهگیری شیطانی است. این حمله که به آن War Dialing یا Demon Dialing نیز گفته میشود، رایجترین شکل دسترسی خارجی به یک سیستم از طریق شمارهگیری خطوط تلفن برای یافتن اتصالات باز مودم است. گرچه نصب مودمهای دسترسی از راه دور منسوخ شده است، اما برخی سیستمها هنوز از آنها استفاده میکنند. بنابراین مهاجم در صورت موفقیت، میتواند اهداف موردنظر خود را تا در اختیار گرفتن سیستم قربانی ادامه دهد.
جستجوی فراگیر: رویکردی مشابه با شمارهگیری شیطانی میتواند منجر به یافتن شناسههای کاربری و رمزهای عبور، پس از ایجاد یک اتصال شود. مهاجم با استفاده از یک برنامه، تمام شناسههای کاربری و رمزهای عبور ممکن را در فواصل تعیینشده بررسی کرده و تلاشهای موفق را ثبت میکند. زمان لازم برای این حمله به دو عامل بستگی دارد: ۱. فضای کلید مورد استفاده برای کدهای ورود به سیستم. ۲. حداکثر سرعت مجاز برای ورود متعدد به سیستم. امروزه، با هر رایانه ارزان قیمتی میتوان کدهای ورود به سیستم و تلاش برای ورود را بهسادگی ایجاد کرد و سرعت پردازشگر دیگر عامل محدودکننده نیست.
فضای کلید: فضای کلید برای یک کد، حداکثر تعداد رشتههای ممکنی است که محدودیتهای قواعد ورود به سیستم در آن لحاظ شده باشد. برای مثال، اگر کلمه عبور کاربر بهطور مشخص از شش حرف بزرگ یا کوچک و یا از اعداد تشکیل شده باشد و به کوچک یا بزرگ بودن حروف نیز حساس باشد، تعداد کل ترکیبات ممکن برای چنین کلمه عبوری ۶۲ کد برای هر یک از شش کاراکتر رمز است. این ۶۲ کد از ۱۰ رقم و ۵۲ حرف بزرگ یا کوچک الفبای انگلیسی تشکیل شده است. درصورتیکه هیچ محدودیتی در تکرار علائم وجود نداشته باشد، برای این رشته شش حرفی ۶۲ به توان ۶ احتمال مختلف فضای کلید را تشکیل میدهند که ترکیبهای مختلف آن ۶۲ کد هستند. این تعداد چیزی بالغبر ۵۶ میلیارد کد برای ورود به سیستم است. در صورت دانستن وجود محدودیت در کدهای ورودی، به همان میزان فضای کلید نیز کاهش مییابد. مثلاً، درصورتیکه بدانیم اولین کاراکتر رشته شش حرفی باید با یک حرف بزرگ شروع شود، تعداد احتمالات به چیزی در حدود نصف مقدار قبلی، یعنی در حدود ۲۳ میلیارد کاهش مییابد. بدینصورت که برای کاراکتر اول فقط ۲۶ حالت ممکن وجود داشته و پنج کاراکتر دیگر در کل دارای ۶۲ به توان ۵ حالت هستند (۶۲۵×۲۶).
سرعت دفعات ورود: موضوع دیگری که در فرایند جستجوی فراگیر به آن پرداخته میشود، سرعت دفعات ورود به سیستم است. با اینکه عموماً تعداد کدهای ورود به سیستم تولیدشده بسیار زیاد هستند، اما تولید آن کار مشکلی نیست. بزرگترین چالش برای انجام موفق حمله جستجوی فراگیر برای ورود به سیستم، وقفههای زمانی سیستم میزبان در زمان تشخیص خطا است. این وقفهها راهکار مقابلهای بود که پیش از این به آن اشاره کردیم. اغلب سیستمهای عملیاتی و امنیتی امکان تعریف دو نوع تاخیر در ورود به سیستم را برای مدیر شبکه امکانپذیر کردهاند. یک تاخیر کوتاه بعد از هر تلاش نادرست در واردکردن رمز عبور صحیح و یک تاخیر طولانی بعد از چندین تلاش ناموفق ورود به سیستم تعریفشده است. در ادامه مثال، فرض کنید هر رمز عبور که به اشتباه وارد شود باعث یک تاخیر یکدهم ثانیهای تا رمز عبور بعدی شود؛ بنابراین با توجه به تعداد کدهای فضای کلید، حداکثر نیاز به ۵۶۸۰۰۲۳۵۵۸ ثانیه یا ۱،۵۷۷،۷۸۴ ساعت و یا ۱۸۰ سال زمان جهت آزمودن تمامی کلیدها خواهیم داشت. علاوه بر این، فرض کنید سیستم میزبان به ازای هر ۵ تلاش ناموفق، ۳ دقیقه درگاه ورودی و یا شناسه کاربری را غیرفعال کند؛ درنتیجه آزمودن احتمالات در حدود ۶۵۰ سال زمان نیاز دارد. این در صورتی است که مدیر شبکه پس از مشاهده حملات تکراری قصد مسدود کردن شناسه کاربری را نداشته باشد. چیزی که بهطور معمول اتفاق افتاده و شناسه تا زمان تماس کاربر برای کمک مسدود میماند. هنگامیکه این حملات به صورت گسترده بر روی چندین شناسه کاربری رخ میدهد، عملاً موجب غیرفعال شدن سیستم برای کاربران قانونی آن شناسهها میشود. گستردگی این حملات اغلب موجب اختلال در ارائه سرویسها شده و درنتیجه منجر به حمله دیگری بهنام حمله اخلال در خدمت میشود. یکی از راههای مقابله با حمله اخیر، مسدود کردن IPهای فرد مهاجم است. البته اضافه کردن این محدودیتها کاهش سرویسدهی را بهدنبال دارد. چراکه ممکن است IP موردنظر بین کاربران بسیاری مشترک باشد. با این حال، این تمام آن چیزی نیست که باید بدانیم و داستان به همینجا ختم نمیشود. مهاجمان هر بار با روشهای جدید دیگری اقدام به غلبه بر موانع ایجادشده میکنند. استفاده از راههای ابتکاری، ایجاد روشهایی برای حدس رشتههای شناسه یا رمز عبور و یا استفاده از رشتههای معنیدار که خود بهنام حمله واژهنامه شناخته میشوند، نیز سبب کاهش فضای کلید میشوند. بهکارگیری روشهای مهندسی اجتماعی، ایجاد روباتهای جستجوی غیر متوالی و توزیعشده بر روی چندین حساب کاربری با در نظر گرفتن زمانبندی مناسب برای مصونیت از تاخیرهای طولانی از جانب میزبان، همگی راهکارهایی هستند که مهاجم میتواند از آنها استفاده کند. گاهی بیتوجهی یک کاربر در اتصال یک مودم شخصی فراموش شده در شبکه، میتواند شرایط ایدهآلی را برای مهاجم ایجاد کند؛ بنابراین علاوه بر نصب نرمافزارهای امنیتی نظیر دیوارههای آتش و جستوجوکنندههای متنی اسکریپت یا فایلهای مخرب، کنترلهای فیزیکی نیز برای مقابله با این حمله، ضروری و اجتنابناپذیر است.
یک نمونه کاربرد مفید: حمله جستجوی فراگیر را نهتنها هکرها مورد استفاده قرار میدهند، بلکه پژوهشگران و هکرهای اخلاقمدار نیز از آن استفاده میکنند. در اغلب موارد متخصصان از جستجوی فراگیر برای تعیین قدرت یک کلید و یا یک الگوریتم امنیتی استفاده میکنند. برای نمونه، از این حمله برای شکستن کلید امنیتی در بخش شناسایی مشترک (SIM) سیستم جهانی تلفن همراه (GSM) استفاده شده است. از آنجاکه الگوریتمهای امنیتی GSM منتشر نشدهاند، برخی از هکرهای اخلاقمدار از روش جستجوی فراگیر برای شکستن امنیت آن استفاده کردهاند. آنها یک نسخه از اطلاعات سیمکارت را با استفاده از کارتخوان مناسب تهیه کرده و سپس برای کشف الگوریتم امنیتی سیمکارت، از حمله مذکور استفاده میکردند. بدین ترتیب این امکان بهوجود میآید که متخصصان قادر به مشابهسازی یک سیمکارت GSM شده و پس از مشابهسازی SIM، الگوریتم امنیت GSM را در GSM بازسازی کنند و حتی با افزودن روالهای بازبینی بیشتر به آن، ایمنی آن را بهبود ببخشند. این فرایند درنهایت موجب سختترشدن حمله جستجوی فراگیر و مشابهسازی SIM شده و هزینه حملات را افزایش میدهد. بد نیست بدانید که در بسیاری از کشورها مشابهسازی SIM به وضع قوانین کیفری نیز انجامیده است. از طرفی در کشورهای بسیاری از جمله کشور ما، ارائه خدمات GSM به همراه الگوریتمهای بسیار محدود امنیتی راهاندازی شده است.
امروزه یکی از روشهای مقابله با حملات جستجوی فراگیر، محاسبه زمان لازم برای بهثمر رسیدن این حمله است. به این ترتیب که برای هر الگوی رمزنگاری، زمان لازم برای آزمودن کلیه حالات ممکن جهت یافتن کلید را با درنظر گرفتن سریعترین رایانههای موجود محاسبه میکنند. معمولاً الگوهای رمزنگاری چنان طراحی میشوند که آزمودن تمامی حالات ممکن در یکزمان قابلقبول، ناممکن و یا نامؤثر باشد. این موضوع با طول کلید مورد استفاده نیز مرتبط است. همچنین، حمله جستجوی فراگیر یک معیار برای شناخت روشهای شکستن رمز است. به این معنی که هر روشی که سریعتر از روش حمله جستجوی فراگیر بتواند رمز را بازگشایی کند، یک روش شکستن رمز تلقی میشود. افزایش طول کلید مورد استفاده در فرایند رمزیسازی میتواند استفاده از این روش را به سختتر کند.
جمعبندی: حمله جستجوی فراگیر روشی برای درهم شکستن یک طرح امنیتی، از طریق امتحان کردن تعداد زیادی از احتمالات، با استفاده از تمام کلیدهای ممکن برای شکستن آن است. هکرها این حمله را به مودمهای محلی، شمارههای درون شبکه، شناسههای کاربری و رمزهای عبور اعمال میکنند. مراحل این حمله عموماً شامل جمعآوری شمارههای تماس و یا شناسایی محدوده شمارههای بهکار رفته ازسوی قربانی، شمارهگیری و پویش شمارهها برای یافتن مودمهای متصل به کمک ابزارهای موجود و در آخر ورود و نفوذ به سیستم هدف به کمک ابزارهای جستجوی شناسه و رمز عبور است. ابزارهایی نظیر THC-Scan، TBA، PhoneSweep، WarVox و iWar برای انجام این حمله بهکار رفتهاند. همانطور که پیش از این به یک نمونه کاربرد مفید حمله جستجوی فراگیر اشاره شد، این ابزارها نیز میتوانند مفید واقع شوند. ازاینرو متخصصان شبکه، برای شناسایی و رفع مشکلات امنیتی شبکه خود از آنها بهره میبرند.