امنیتامنیتاینترنتپروتکلشبکه

پروتکل امنیتی WEP چیست؟ چرا قابل هک است؟

اگر اهل امنیت شبکه و یا کانفیگ کردن اکسس پوینت‌ها باشید، حتماً با پروتکل‌های امنیتی مانند WEP و WPA و WPA2 آشنا هستید. این پروتکل‌ها در شبکه‌های وای فای استفاده می‌شوند.

در این پست با پروتکل امنیتی WEP آشنا شده و خواهید دانست که چرا آسیب پذیر و به سادگی قابل هک شدن است.

 

پروتکل امنیتی WEP چیست؟

WEP مخفف Wired Equivalent Privacy به معنای “محرمانگی معادل ارتباط سیمی” بوده و در سال ۱۹۹۷ به عنوان قسمتی از استاندارد وای فای ۸۰۲.۱۱ معرفی شده و از رمزگذاری RC4 استفاده می‌کند.

نامگذاری WEP به این دلیل بود که در آن زمان فکر می‌کردند این پروتکل به قدری امن خواهد بود که بتواند داده‌ها را با امنیتی قابل مقایسه با امنیت فیزیکی ارتباطات کابلی یا سیمی منتقل کند! اما امروزه می‌دانید که چنین نیست و این پروتکل به سادگی قابل هک شدن بوده و بسیار آسیب پذیر و خطرناک است.

 

مختصری درباره رمزگذاری RC4

پروتکل WEP از رمزگذاری RC4 استفاده می‌کند بنابراین فهمیدن این که الگوریتم رمزگذاری RC4 چیست لازم است. مانند سایر الگوریتم‌های رمزگذاری، RC4 هم الگوریتمی است که بر اساس یک کلید ورودی متغیر، متنی را رمزگذاری کرده و در خروجی متن رمزگذاری شده را تحویل می‌دهد. RC4 یک الگوریتم دنباله‌ای است.

در RC4 ورودی کلید رمز باید متغیر باشد به عبارت دیگر هیچ دو کلید مشابهی نباید برای رمزگذاری استفاده شود در غیر این صورت بسته‌های رمزگذاری شده می‌توانند مورد حمله قرار گرفته و توسط روش Related-Key Attack رمزنگاری شوند. به همین دلیل است که معمولاً برای ورودی کلیدها از ۱۲۸ بیت متغیر استفاده می‌شود که با حساب کردن ۲ به توان ۱۲۸ مشاهده می‌کنیم که ۳.۴۰۲۸۲۳۶۶۹۲۰۹۳۸۴۶۳۴۶۳۳۷۴۶۰۷۴۳۱۷۷e+38 حالت ممکن برای ۱۲۸ بیت وجود خواهد داشت.

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

 

رمزگذاری WEP به چه صورت است؟

پروتکل رمزگذاری WEP در چندین نوع ارائه شده است که دو نوع رایج آن ۶۴ و ۱۲۸ بیتی آن است یعنی طول کلیدی که برای رمزگذاری به RC4 داده خواهد شد، ۶۴ یا ۱۲۸ بیت است. با این حال کلیدهای ما متشکل از دو پارامتر است:

  • رمز شبکه وای فای (PSK): که برای نوع ۶۴ بیتی می‌تواند ۱۰ رقم هگزادسیمال با ۴ بیت یا معادل آن، ۵ کارکتر متنی اسکی و برای نوع ۱۲۸ بیتی می‌تواند ۲۶ رقم هگزادسیمال با ۴ بیت یا معادل آن، ۱۳ کاراکتر متنی اسکی را قبول کند. همانطور که می‌بینید رمز وای فایی که ما وارد می‌کنیم یا ۴۰ بیت است یا ۱۰۴ بیت.
  • بردار اولیه (IV): می‌بینید ۲۴ بیت اضافه مانده است که برای پر کردن آن از ۲۴ بیت IV (مقادیر تصادفی) استفاده می‌شود.

دلیل به کار گیری IV ها همانطور که گفته شد، این است که در الگوریتم رمزگذاری RC4 کلیدهای ورودی باید متغیر باشند و این ۲۴ بیت وظیفه مجزا کردن کلید ورودی از سایر کلیدهای قبلی را دارد.

مقادیر IV در هدر بسته‌های داده رمزگذاری شده به کاربران ارسال می‌شود چون بدون داشتن آن‌ها حتی کاربرانی که پسورد شبکه را دارند هم نخواهند توانست پکت‌ها را رمزنگاری کنند. پس از ارسال IV ها، بیت‌های IV و بیت‌های پسورد شبکه دقیقاً در کنار یکدیگر قرار می‌گیرند (بصورت IV + PSK) و با استفاده از این کلید، پکت‌ها رمزگذاری می‌شوند.

 

چرا WEP امن نیست؟

حال که می‌دانیم رمزگذاری RC4 یکی از قویترین حالت‌های رمزگذاری است، پس چرا پروتکل WEP امن نیست و قابل هک شدن است؟

دلیلش ساده است، در کلید ورودی الگوریتم RC4 در پروتکل WEP، تنها و تنها ۲۴ بیت وظیفه تصادفی سازی کلید را دارند! با یک حساب سر انگشتی ۲ به توان ۲۴ می‌بینیم که این طول IV تنها می‌تواند حدود ۱۷ میلیون حالت مجزا را بسازد.

یعنی اگر IV اول برابر ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ باشد و این ۱۷ میلیون ترکیب مختلف اتفاق افتاده باشد، آخرین IV برابر ۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱۱ خواهد بود. پس پروتکل بعد از این IV چه کاری انجام دهد؟ داده‌ها را بلوکه کند؟ در اینجاست که IV دوباره به ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ تبدیل می‌شود و این چرخه ادامه می‌یابد. حال که طول بیت‌های پسورد وای فای و IV یک مقدار ثابت اند و پس از مدتی IV ما دوباره تکرار می‌شود، می‌بینیم که در برخی از پکت‌ها کلید رمزگذاری یکسانی استفاده خواهد شد.

چون هکر طول هر دو قسمت را در دست دارد و مقدار IV هم در هدر پکت‌ها ارسال می‌شود و از طرفی بیت‌های IV و پسورد برای ساختن کلید ادغام نمی‌شوند (یعنی فقط در کنار یکدیگر قرار می‌گیرند!) هکر می‌تواند به راحتی اقدام به شروع کردن حمله Related-Key Attack روی پکت‌هایی کند که کلید رمزگذاری آن‌ها در اثر نقض امنیتی در WEP یکسان است.

اما ترافیک بر روی شبکه معمولاً به اندازه‌ای نیست که این IVها زود به زود تکرار شوند. نقض امنیتی دیگری در WEP وجود دارد که با استفاده از آن، هکر می‌تواند اقدام به تولید ترافیک بسیار بالا بصورت تقلبی و با استفاده از روش ARP Spoofing و تزریق درخواست‌های ARP تقلبی کند. در این حالت همه چیز در دست هکر خواهد بود و کافیست که چند دقیقه صبر کند تا پکت‌هایی با کلید یکسان را چندین بار جمع آوری کند. سپس با استفاده از مقایسه کردن آن‌ها با روش ریلیتید-کی، اقدام به بدست آوردن بیت‌های مربوط به پسورد وای فای کند. در نهایت این بیت‌ها را با یک مبدل ساده از باینری به اسکی (یا هگز) تبدیل کرده و مقدار رمز وای فای را بدست آورد. البته کل این پروسه توسط برنامه‌های اتوماتیک قابل پیاده سازی است.

در روش‌های جدید تر کرکینگ با روش ریلیتید-کی، تنها به مقدار کمی از پکت‌ها برای بدست آوردن کلید رمز اصلی نیاز داریم. به این ترتیب که:

  • با حدود ۴۰۰۰۰ پکت شانس یافتن رمز ۵۰% است
  • برای ۶۰۰۰۰۰ پکت شانس ۸۰%
  • برای ۸۵۰۰۰ پکت شانس ۹۵%
  • و برای حدود ۹۵۰۰۰ شانس یافتن رمز حدود ۱۰۰% خواهد بود.

امیررضا نصیری

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

نوشته های مشابه

۸ دیدگاه

  1. سلام با عرض تشکر از مطالب مفیدتون میخواستم بپرسم سی پی یو های شرکت اینتل و ا ام دی هر کدوم برای چه کاری مناسب هستند مرسی

    1. سلام. بستگی داره به نیاز افراد. مثلا برای گیمینگ پردازنده های اینتل نسبت به amd (پردازنده های هم رده منظورمه) خیلی بهترن و کارایی بهتری دارن ولی مثلا ای ام دی ها تو قیمت های پایین هم ساخته میشن و حتی در بحث اورکلاکینگ بهتر از اینتل عمل میکنن چون اینتل برای پردازنده های میان رده ایش، اورکلاکینگ رو زیاد در نظر نگرفته و … .

    1. سلام، لطفا کامنتتونو توی پست مربوط بهش بپرسید.
      Die قسمتی از پردازنده هست که هسته ها توش قرار دارن. در پردازنده های on-die حافظه کش L2 دقیقا در کنار Die قرار داره و در این حالت سرعت انتقال داده ها بین حافظه L2 و پردازنده خیلی بیشتره ولی در پردازنده های غیر on-die (به شخصه اصطلاح off-die رو نشنیدم)، حافظه L2 دور تر از بخش اصلی پردازنده قرار داره و سرعتش نسبت به on-die کمتره.

    1. سلام. تا یه حدی میشه ساده توضیح داد. تو این پست به بحث های تخصصی پرداخته نشده.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *