آشنایی با چهارده مورد از خطرناکترین حملات دنیای امنیت در حوزه شبکه
دنیای امنیت سرشار از حملههای مهلک است که اگر هر یک از آنها با موفقیت پیادهسازی شود این ظرفیت را دارد تا زیرساختهای یک سازمان را به طور کامل با خطر جدی روبرو کند.
بر همین اساس مهم است که کارشناسان دنیای امنیت بهدقت در ارتباط با حملههایی که شبکهها و وبسایتها را نشانه میروند اطلاعات داشته باشند. در این مقاله با تعدادی از این حملههای مهلک آشنا میشویم.
حمله بازپخش
حمله بازپخش یا تکرار (Replay attack) یکی از انواع حملات تحت شبکه است که در آن یک انتقال داده معتبر با انگیزه بدخواهانه یا کلاه برداری تکرار میشود یا به تاخیر میافتد.
این حمله به این شکل انجام میشود که حملهکننده دادههای در حال انتقال را رهگیری کرده، آنها را از روی سیم بر میدارد و پس از بدست آوردن اطلاعات مهم مانند نام کاربری و رمز عبور یا تغییر اطلاعات، آنها را دوباره ارسال میکند؛ که معمولاً هم به وسیله جایگزینی بستههای IP صورت میگیرد مانند حمله رمزگذاری جریانی.
بهطور مثال، فرض کنید آلیس میخواهد هویت خود را به باب اثبات کند. باب هم مثلاً رمز عبور آلیس را به عنوان مدرکی برای اثبات هویت از او درخواست میکند، و آلیس هم قبول میکند. در همین حال فرد سومی مشغول استراق سمع است و رمز عبور یا تابع هش را میدزدد و نگه میدارد.
پس از اینکه مبادله اطلاعات به اتمام رسید، اکنون حملهکننده خود را به جای آلیس جا میزند و با باب ارتباط برقرار میکند؛ و زمانی که باب از او مدرک اثبات هویتش را میخواهد حملهکننده رمز عبور یا تابع هش آلیس را که پیش خود نگه داشتهاست، برای باب میفرستد و او هم میپذیرد و بدینگونه حمله تکرار صورت میپذیرد.
پیشگیری از بروز حمله
راههای مختلفی برای جلوگیری از حمله باز پخش یا تکرار استفاده میشوند که از جمله آنها میتوان به این موارد اشاره کرد: توکن امنیتی دورهای، رمزهای عبور یکبارمصرف، نانس، و یکی دیگر از راههای جلوگیری از حمله تکرار برچسبگذاری زمان است.
حمله تصادم
حمله تصادم (Collision attack) در رمزنگاری، حمله تداخل روی یکرشته هش رمزنگاری، تلاش میکند برای پیدا کردن دو ورودی اختیاری که مقدار هش یکسانی را تولید میکنند، مانند یک حمله تصادم. برخلاف حمله preimage، نه مقدار هش و نه یکی از ورودی مشخص شده نیست.
بسیاری از برنامههای کاربردی cryptographic، متکی بر تصادم نیستند. در نتیجه حملات تصادم بر روی امنیت آنها تأثیر نمیگذارد. بهعنوانمثال، هشکردن رمز عبور و HMACs آسیبپذیر نمیباشد. برای حمله موفق، مهاجم باید ورودی تابع هش را کنترل کند.
امضای دیجیتال
ازآنجاکه الگوریتمهای امضای دیجیتالی نمیتوانند مقدار زیادی از دادهها را به شکل کارآمد امضا کنند. برای امضا اکثر پیادهسازی با استفاده از یک تابع هش (فشردهساز) بهمنظور کاهش مقدار دادههای تا یک حد ممکن بهمنظور رسیدن به یک سایز ثابت صورت میگیرد.
برنامههای امضای دیجیتال، اغلب در معرض تصادم هش هستند، مگر اینکه از روشهای مانند هش تصادفی استفاده شود. توجه داشته باشید که همه گواهیهای کلید عمومی، مانند گواهی SSL، بر امنیت امضای دیجیتال تکیه میکنند و توسط تصادم هش به خطر میافتند. به طور معمول حمله بر مبنای سناریو زیر انجام میشود:
- مالوری دو سند مختلف A و B، که دارای مقدار هش یکسان هستند (تصادم) را ایجاد میکند.
- مالوری سند A را باری الیس میفرستد و به انچه به توافق رسیدهاند سند میگویند، آن را امضا میکند و برای مالوری میفرستد.
- مالوری امضای فرستاده شده توسط آلیس در سند A را برای سند B کپی میکند.
- سپس مالوری سندB را به باب میفرستد، و ادعا میکند که آلیس سند متفاوتی را امضا کرده و از آنجا که امضای دیجیتالی، با سند هش مطابقت دارد، نرمافزار باب قادر به تشخیص تغییرنیست.
حمله غیر فعالانه
یک حمله غیر فعالانه بر روی یک سیستم رمزنگاری یا یک شبکه حملهای است که در آن شخص حملهکننده ارسال دادهها بین طرفین را زیر نظر میگیرد، باهدف جمعآوری اطلاعات ارسالی بین طرفین بدون ایجاد اختلال یا نشانی از حضور خود، عملی شبیه به جاسوسی صورت خواهد گرفت.
تحلیل ترافیک ارسالی طفرهرفتن از آنالیز همگانی زیر نظر گرفتن ارسالات تکیه بر ممانعت از رمزنگاری انواع مختلف حملات غیر فعالانه عبارتاند از:
- تجزیه و تحلیل ترافیک عبوری
- آشکارسازی محتویات پیامهای ردوبدل شده.
تجزیه تحلیل ترافیک عبوری
در این نوع از حمله غیرفعال، شخص موقعیت مبدأ و مقصد دادهها را شناسایی کرده و سایر ویژگیهای کاربران در حال تعامل را به دست آورده، فرکانس و طول پیامهای ردوبدل شده را مورد بررسی قرار خواهد داد و بالاخره با این دست از اطلاعات که به دست میآورد میتواند نوع ارتباط برقرار شده بین طرفین را بهراحتی شناسایی نماید. گ
نکتهٔ قابلتوجه که این نوع حمله را از حملات فعالانه متمایز میکند این است که هیچگونه تغییر یا اختلالی در ارتباط و پیامهای طرفین ایجاد نخواهد شد و تنها عملیاتی مشابه جاسوسی انجام میشود.
حمله کانال جانبی
در بحث امنیت رایانه، حمله کانال جانبی به حملهای گفته میشود که بر اساس اطلاعات بهدستآمده از پیادهسازی یک سیستم رایانهای باشد تا ضعفهایی که در الگوریتم پیادهسازی آن وجود دارد. (بهعنوانمثال رمزنگاری و اشکالات نرمافزاری).
اطلاعات زمانبندی، مصرف برق، نشت الکترومغناطیسی یا حتی صدا میتوانند یک منبع اطلاعات عظیم اطلاعات را فراهم آورد که قابلبهرهبرداری و سوءاستفاده باشد. برخی از حملات کانال جانبی به دانش فنی درباره عملکرد داخلی سیستم احتیاج دارند؛ اگرچه برخی دیگر مانند تحلیل قدرت دیفرانسیل بهاندازه حملات جعبه سیاه مؤثر هستند.
طبق گفته محققان مایکروسافت و دانشگاه ایندیانا، ظهور برنامههای کاربردی وب ۲٫۰ و سرویسهای نرمافزاری نیز امکان حملات کانال جانبی را بر روی وب ایجاد کرده است، حتی اگر انتقال بین مرورگر وب و سرور رمزگذاری شده باشد (بهعنوانمثال از طریق HTTPS یا رمزگذاری WiFi).
بسیاری از حملات کانالهای جانبی قدرتمند، مبتنی بر روشهای آماری هستند که توسط پل کوچر برای اولینبار ارائه شده است. تلاش برای شکستن یک سیستم رمزنگاری با فریبدادن یا اجبار افرادی که دسترسی قانونی دارند، معمولاً جزو حملات کانال جانبی به شمار نمیآیند: به مهندسی اجتماعی و رمزنگاری شیلنگ لاستیکی مراجعه کنید.
حمله لغتنامهای
حمله لغتنامهای (Dictionary attack) در تحلیل رمز و امنیت شبکههای رایانهای، روشی برای شکستن یک رمز یا مکانیزمی برای احراز هویت است. این حمله با تلاش برای تشخیص کلید رمزگشایی یک متن یا رمز عبور بهوسیله جستجوی همه احتمالات ممکن در یک لغتنامه صورت میگیرد.
در مقایسه با حمله جستجوی فراگیر (Brute force attack) که در آن همه حالات ممکن بررسی میگردد؛ حمله لغتنامهای فقط حالاتی را در نظر میگیرد که بیشترین احتمال موفقیت را دارند که به طور معمول هم از یک فرهنگ لغت بهره میگیرد.
بهطورکلی حمله لغتنامهای موفق بوده است، زیرا اکثر مردم تمایل به انتخاب رمز عبوری دارند که ساده و کوتاه باشد (۷ کاراکتر یا کمتر)، یا انتخاب تکواژههای اغلب ساده که معمولاً هم در همین لغتنامهها وجود دارند و همچنین بهراحتی قابل پیشبینیاند مانند دادههای رقمی.
در نتیجه؛ اینگونه رمزها بهراحتی قابل شکستن هستند. اما میتوان با انتخاب صحیح رمز عبور مثلاً با اضافهکردن یک کاراکتر تصادفی در وسط رمز عبور، استفاده از ترکیب حروف و رقم یا روشهای امنتر دیگر از آن در مقابل این حمله محافظت نمود.
حمله لغزش
حمله لغزش حالتی از تحلیل رمز است که برای مقابله با این ایده عمومی که حتی رمزهای ضعیف میتوانند از طریق افزایش تعداد دورها بسیار قوی شوند و با یک حمله تفاضلی مقابله کنند، طراحی شد.
حمله لغزش طوری عمل میکند که تعداد دورها را در یک رمز، نامرتبط کند. بهجای نگاهکردن به جنبههای تصادفی کردن دادههای رمز بلوکی، حمله لغزش فهرست کلیدها را تحلیل میکند و نواقص آن را کشف کرده تا رمز را بشکند.
رایجترین مورد، کلیدهایی است که بهصورت چرخهای تکرار میشوند. تنها نیازمندی این حمله برای کار بر روی یک رمز این است که بتواند به چندین دور مرتبط به یک تابع f شکسته شود.
این مسئله احتمالاً به این معناست که دارای یک فهرست چرخهای برای کلید است. تابع f باید نسبت به حمله متن رمز شده مشخص حساس باشد. حمله لغزش در ارتباط با حمله کلید مرتبط است.
ریشههای ایده حمله لغزش به مقاله ادنا گرسمن و بریانت توکرمن در سال ۱۹۷۷ برمیگردد. این دو حمله را بر یک بلوک رمز ضعیف توضیح دادند.
حمله به این واقعیت که رمز دارای زیر کلیدی یکسان در هر دور است، بستگی داشت؛ بنابراین رمز یک کلید با فهرست چرخههای مربوط به تنها یک کلید که آن را تبدیل به نسخهای از حمله لغزش میکند، ارتباط داشت.
خلاصهای از گزارش شامل توصیفی از رمز بلوکی ان دی اس و حمله، در سیستمهای رمز (بکر و پیپر، ۱۹۸۲) ارائه شده است.
حمله متمایزکننده
در رمزنگاری، یک حمله متمایزکننده هر نوع تحلیل رمزی است بر روی داده رمزنگاری شده که به مهاجم اجازه میدهد داده رمزنگاری شده را از داده تصادفی تشخیص دهد.
رمزنگاریهای کلید متقارن امروزی مخصوصاً به صورتی طراحی شدهاند که در مقابل این نوع حمله ایمن باشند. بهعبارتدیگر، طرح رمزنگاریهای امروزی جایگشت شبهتصادفی بوده و به نحوی طراحی شدهاند که متن رمزنگاری شده غیرقابلتشخیص داشته باشند.
اگر یک الگوریتمی پیدا شود که بتواند خروجی را از متن رندوم سریعتر از جستجوی جامع تشخیص دهد، یک رخنه در آن رمزنگاری در نظر گرفته میشود. یک مفهوم مشابه دیگر حمله متمایزکننده رمز مشخص است که بهموجب آن مهاجم کلید را میداند و میتواند یک ویژگی ساختاری در رمزنگاری پیدا کند، در جایی که تبدیل متن اصلی به متن رمزنگاری شده تصادفی نیست.
برای اثبات این که یک تابع رمزنگاری امن است، معمولاً با یک اوراکل تصادفی مقایسه میشود. اگر یک تابع اوراکل تصادفی باشد، آنگاه مهاجم قادر به پیشبینی هیچ یک از خروجیهای تابع نیست.
اگر یک تابع متمایز از یک اوراکل تصادفی باشد، آنگاه ویژگیهای غیرتصادفی دارد. در این صورت رابطهای بین خروجیهای مختلف وجود دارد، یا بین خروجی و ورودی که میتواند توسط مهاجم مورداستفاده قرار گیرد برای مثال برای یافتن (بخشی از) ورودی.
حمله متن آشکار
حمله متن آشکار (Known-plaintext) یک مدل حمله برای تحلیل رمز است، جایی که مهاجم دارای نمونههایی از متن آشکار (crib هم نامیده میشود) و نسخه رمز شده آن (متن رمز شده) است. اینها میتوانند برای آشکارکردن اطلاعات مخفی بیشتر، از قبیل کلیدهای مخفی و کتابهای کد استفاده شوند.
رمز جریانی PKZIP مورداستفاده نسخههای قدیمیتر با مشخصه فرمت فشرده، مستعد ابتلا به این حمله است. برای مثال، یک حملهکننده با یک فایل فشرده رمز شده، فقط احتیاج به بخشی از یک فایل رمز نشده موجود در آرشیو دارد تا “known-plaintext” را تشکیل دهد.
سپس با استفاده از بعضی از نرمافزارهای موجود دردسترس عموم، آنها میتوانند بهسرعت کلید موردنیاز برای رمزگشایی کل آرشیو را برآورد کنند.
برای بهدستآوردن چنین فایل رمز نشدهای، حملهکننده میتواند وبسایت را برای یک فایل مناسب و بهدردبخور جستجو کند، آن را از آرشیو دیگری که میتوانند باز کنند، پیدا کند یا به طور دستی با تجهیز به دانش نام فایل، برای بازسازی یک فایل متن آشکار از آرشیو رمز شده تلاش کند. بااینحال، این حمله روی فایلهای ZIP AES کار نمیکند.
حمله متن اصلی
حمله متن اصلی (ciphertext-only attack) یک مدل حمله برای تحلیل رمز است که در آن حملهکننده فقط میتواند فرض کند که یک مجموعهای از متنهای رمز شده را در اختیار دارد. این حمله کاملاً موفقیتآمیز است اگر حملهکننده بتواند متن آشکار یا از آن بهتر کلید را به دست آورد.
همچنین اگر حملهکننده بتواند کوچکترین اطلاعاتی را از متن آشکار یا کلید به دست آورد این حمله موفق در نظر گرفته میشود. به طور مثال، اگر حملهکننده با ارسال ترافیک بتواند بین پیام تهی و پیام واقعی تمایز دهد میتواند از این موضوع استفاده کند و در نتیجه این حمله موفق محسوب میشود. الگوریتمهای رمزنگاری قدیمی مانند رمز سزار، رمز ویژنر دارای حمله متن اصلی هستند که میتوان فقط با داشتن متن رمز شده و با روشهایی مانند تحلیل فراوانی یا حمله جستجوی فراگیر متن آشکار را به دست آورد.
ماشین انیگما توانست این حمله را سختتر کند. امروزه همه الگوریتمهای مدرن برای محافظت در برابر این حمله طراحی میشوند و اگر این امنیت رمزنگاری را نداشته باشد امنیتهای سطح بالا را نیز ندارد. در حقیقت این امنیت سطح پایه امنیت در الگوریتمهای رمزنگاری است. الگوریتمهایی مانند AES توانستهاند با اعمال جایگشت و عملیات مانند ضرب ماتریس تحلیل فراوانی را در متن رمز شده ناممکن سازند.
حمله مرد میانی
حمله شخص میانی (Man-in-the-middle attack) و با عنوان حمله Bucket Brigade یا گاهی با عنوان حمله ژانوس شناخته میشود. در رمزنگاری و امنیت رایانه، حمله شخص میانی، شیوهای از شنود فعال است که حملهکننده، ارتباط مستقلی را با قربانی، برقرار میکند و پیامهای بین آنها را بازپخش میکند.
بهگونهای که آنها را معتقد میکند که در یک ارتباط مستقیم و خصوصی با یکدیگر، صحبت میکنند؛ درحالیکه همه گفتگوهای آنها توسط حملهکننده، کنترل میشود. حملهکننده باید توانایی شنود همه پیامهای فرستاده شده بین دو قربانی و گذاشتن پیغام تازه را داشته باشد که در بسیاری از شرایط درستکار کنند.
برای نمونه، حملهکنندهای با حوزه دریافت یک پیام رمزنگاری نشده نقطه دسترسی بیسیم میتواند خودش را بهعنوان یک مرد میانی جا بزند. یک حملهکننده مرد میانی در صورتی میتواند موفق شود که هر نقطه انتهایی را با رضایت دیگری جعل هویت کند. این یک حمله (یا نبودِ) احراز هویت دو جانبه است.
بیشتر پروتکلهای رمزنگاری، شامل برخی از اشکال احراز هویت نقاط انتهایی، بهویژه برای جلوگیری از حملات مرد میانی هستند. برای نمونه، امنیت لایه انتقال (SSL) میتواند یک یا هر دو طرف را با استفاده از مجوز گواهی مورداعتماد دوطرفه، احراز هویت کند.
حمله ملاقات در میانه
حمله ملاقات در میانه Meet-in-the-middle attack یک نوع حمله رمزنگاری است مقابل الگوریتمهای رمزنگاری که متکی بر انجام چندین عملیات رمزنگاری متوالی هستند. این حمله دلیل اصلی استفادهنشدن دیایاس دوگانه و شکستهشدن کلید دیایاس سهگانه (۱۶۸ بیتی) بهوسیله حملهکنندهای با 256 حافظه و 2112 عملیات است.
یک ایده ساده برای افزایش امنیت رمزنگاری یک متن این است که به دفعات با کلید های مختلف رمزگذاری شود. در ابتدا به نظر میرسد که این عمل باعث چند برابر شدن امنیت اطلاعات میشود، با توجه به تعداد دفعاتی که داده رمزگذاری شده، به دلیل اینکه اگر اطلاعات n بار با کلید های k بیتی رمزگذاری شده باشند، جستجو برای پیدا کردن همه ترکیب های مخلف کلید ها 2k.n هزینه دارد.
MITM حملهای است که به وسیله نگهداری متوسط مقدارها در عملیات های رمزگشایی و استفاده کردن از آنها زمان پیدا کردن کلید های رمزگشایی را کاهش میدهد. البته این کاهش زمان در ازای استفاده از حافظهی بیشتر است.
این حمله برای پیداکردن کلیدها از متن رمزگذاری شده و متن آشکار ترکیب تعداد زیادی تابع (قطعه رمزگذاری) استفاده میکند بهطوریکه حرکت از تابع اول مانند حرکت برعکس از تابع آخر است. برای مثال با اینکه دیایاس دوگانه اطلاعات را با دو کلید 56 بیتی مختلف رمزگذاری میکند، میتواند با 257 عملیات رمزگذاری و رمزگشایی شکسته شود.
حمله مولد عدد تصادفی
امنیت سیستمهای رمزنگاری وابسته به برخی دادههای مخفی است که تنها برای افراد خاصی شناخته شده است و برای سایرین، ناشناخته و غیرقابلپیشبینی است. برای دستیابی به این خاصیت غیرقابلپیشبینی بودن، انواع مختلفی از تصادفیسازی به کار گرفته میشود.
پروتکلهای رمزنگاری مدرن اغلب به تولید مکرر مقادیر تصادفی نیاز دارند. حملات رمزنگاری که باعث ایجاد ضعف یا برهمزدن این فرایند شوند، بهعنوان حملات مولد عدد تصادفی شناخته میشوند.
تقریباً همیشه یک فرایند تولید عدد تصادفی باکیفیت بالا (RNG) برای امنیت لازم است و بهطورکلی، عدم کیفیت باعث ایجاد آسیبپذیری در مقابل حملات و در نتیجه منجر به عدم امنیت در سیستمهای رمزنگاری میشود.
فرایند RNG از نظر مهاجمین بسیار جذاب است؛ زیرا معمولاً پیداکردن یک سختافزار یا نرمافزار ایزوله و مجزا آسان است. اگر مهاجم بتواند بیتهای شبهتصادفی تولید شده را به روشی که قابلپیشبینی باشد جایگزین کند، امنیت کاملاً به خطر میافتد، بااینحال با هر تستی غیر قابل کشف خواهد بود.
علاوه بر این، چنین حملاتی تنها به دسترسی واحد به سیستمی که به خطر افتاده نیاز دارد و برخلاف ویروس کامپیوتری که کلیدها را دزدیده و سپس آنها را به بعضی از نقاط ایمیل ارسال میکند، نیازی به ارسال اطلاعات نیست.
منبع:https://www.shabakeh-mag.com/