شرح نظام WEP
مند ان ظهر الحاسوب ظهرت فكرة الربط بين حاسوب واخر مما ادى الى ظهور الشبكة والشبكة هي مجموعة من الحواسب المتصلة فيما بينها في الاول كان الاتصال عن طريق الكابلات وبما ان هده الاخيرة مكلفة تم التفكير في الربط عن طريق الموجات اللاسلكية فهي اقل تكلفة ومن هنا اصبح لدينا نوعان من الشبكات شبكات سلكية وشبكات لاسلكية.
المشكلة تكمن في ان الشبكات اللاسلكية اقل حماية وهدا من طبيعتها اما الشبكات السلكية فهي اكثر حماية وهدا من طبيعتا فلكي يتمكن المخترق من الولوج الى الشبكة لابد له من وصل نفسه عن طريق الكابلات اما الشبكات اللاسلكية فيكفي ان يكون المخترق في مدار الشبكة حتى يتمكن من الولوج اليها
في الشبكات اللاسلكية سنرمز ل Access Point ب AP وهي تعني دلك الجهاز الدي يعمل على بث الموجات واستقبالها يعني لكي تتصل بالشبكة يجب ان تكون في مدار AP وهدا طبيعي حتى تستطيع الرسال الموجات واستقبالها.
(الموجات وكشرح مختصر جدا لها تعني بيانات تنتقل في اوساط مختلفة هواء .. ولكن كما قلت شرح بسيط لها وهي فيها عدة مفاهيم ولا اريد تعقيد الامر)
في البداية كان كل من يكون في مدار الشبكة قادرا على الولوج اليها والتنصت على البيانات المارة فيها فتم التفكير في طريقة لتفادي هدا المشكل فظهر بروتوكول WEP = Wired Equivalent Privacy والدي بكثرة الثغرات الموجودة فيه اصبح المخترقون يلقبونه ب Weak Encryption Protocol
ظهر هدا البروتوكول اول مرة سنة 1999 في شبكات 802.11b و فقط لكي لا اربككم في الاسم فهناك 802.11a و 802.11g و .. وهي ان صح التعبير تكنولوجيات في الشبكات كل واحدة لها خصائص خاصة بها هدا البروتوكول حمل على عاتقه ثلاث مهمات : سلامة المعلومات و تسجيل الدخول و الاهم بالطبع امان المعلومة
امل ان تكون الامور واضحة لاننا لازلنا في البداية
الان سندخل الى كيفية عمل بروتوكول WEP وكملاحظة وهو انني ساطلق تسميات شخصية لانني كما دكرت لم ارى اي موضوع عربي مشابه حتى اخد منه المعلومات بشكل دقيق
يعتمد بروتوكول WEP في عمله على الخطوات التالية
-انشاء البدرة
-انشاء Keystream
-حساب ICV
-انشاء الحزمة او مايسمى الباكيت
لا تقلقوا ادا كانت الاسماء تبدو غريبة ولكننا سنشرحها بشكل مفصل بادن الله
البدرة هي عبارة عن جدول مرتب بشكل عشوائي يحتوي على عدة مفاتيح (شرح بدئي فقط)
اولا طرح مشكل لدى الباحثين اثناء انشائهم البروتوكول هدا المشكل هو ان نفس المعلومة يجب ان يكون لها اكثر من تشفير مثلا ادا ارسلت كلمة HELLO وارسلها شخص اخر يجب على المخترق ان لا يستطيع استنباط نمط التشفير لدلك فادا ارسلت انا مثلا كلمة HELLO فسوف تكون في الشبكة مثلا HpE?Q وادا ارسلها شخص اخر تكون هكدا UQNDMQ مثلا من اجل تحقيق هده الغاية فكر الباحثون في انشاء مفتاحين مفتاح ثابت ومفتاح متغير عشوائي المفتاح الثايت يكون عند مدير الشبكة والاشخاص المصرح لهم بالدخول والمفتاح العشوائي يتم توليده بشكل عشوائي وهو يسمى IV اي Initialization Vector وطوله 24 بت مما يسمح لنا ب 2 اس 24 اي 16777216 قيمة محتملة (صغيرة جدا ) ادن لدينا التالي
كود PHP:
.: أنقر هنا لتحديد الكل :.
KEY : FOR USERS
IV: Initialization Vector
KIV = KEY || IV
كود PHP:
.: أنقر هنا لتحديد الكل :.
KEY = HELLO
IV = WORLD
KIV = KEY || IV
KIV = HELLOWORLD
معظم من يتعامل مع الشبكات يعرف تشفير WEP 128 و WEP 64 وهي في الحقيقة WEP 104 و WEP 40 مضافة اليها 24 وهو طول IV كما راينا سابقا
بعد دلك يتم انشاء جدول وملئ خاناته ب KIV عادة هدا الجدول يكون حجمه 256 octes
ثم يتم تنفيد خوارزمية على هدا الجدول وهي خوارزمية KSA = Key Scheduling Algorithm لجعله عشوائيا الجدول النهائي يسمى البدرة
ادن انتهينا من مرحلة انشاء البدرة
ثم تاتي مرحلة انشاء Keystream فبعد جعل الجدول عشوائي نستخدم خوارزمية PRGA = Pseudo Random Generator Algorithm للحصول على مفاتيح بشكل عشوائي من هدا الجدول هده المفاتيح تسمى keystream وهي بالطبع عديدة ودلك لضمان كما قلنا سابقا اكثر من تشفير لنفس البيانات
كما ترون لحد الساعة لم نتطرق ابدا للبينات كنا نتحدث فقط عن المفتاح لدلك الان سوف نتحدث عن البيانات المراد ارسالها
كما قلنا سابقا بروتوكول WEP يضمن سلامة البيانات لدلك فان هدا البروتوكول يقوم باخضاع البيانات المراد ارسالها الى خوارزمية CRC32 وهي شبيهة ان صح التعبير بخوازمية MD5 وهدا ما يسمى بحساب ICV = Integrity Check Value
واخيرا وصلنا الى المرحلة النهائية وهي تشفير البيانات وتحزيمها وارسالها فالتشفير يكون كالتالي لنفترض ان النص المشفر هو C والنص المراد ارساله هو M بالتالي فان C سيكون هو
كود PHP:
.: أنقر هنا لتحديد الكل :.
C= (M||ICV(M)) xor RC4(KIV)
ثم يتم تحزيم البيانات بالشكل التالي
وهدا مخطط حصلت عليه وقمت بتعريب جزء منه
KeyId = في شبكات تستعمل اكثر من Key (شرح مختصر )
فبعد وصول البيانات وفك تشفيرها يتم مقارنة ICV الخاص بالبيانات مع ICV الموجود في الحزمة فادا تطابقا فان الحزمة سليمة وادا لا فان الحزمة قد حدث لها عطب وهده نسبتها شبه مستحيلة
وهكدا انتهينا من شرح مبسط جدا لبروتوكل WEP
كسر نظام WEP
الان وبعد ان فهمنا كيف يعمل هدا البروتوكول حان الوقت لكي نحاول كشف ثغراته واستغلالها من اجل كسر التشفير اي الحصول على Key ولنبدا بملاحظات بسيطة
اولا نلاحظ انه اثناء التحزيم يتم ارفاق IV بشكل واضح وهدا طبيعي لان المستخدم لا يعرف IV لدلك يتم ارساله بشكل واظح + المفتاح Key يوجد عند مستخدمي الشبكة + طول المفتاح 40 bits صغيرة جدا يمكن تنفيد هجوم Brute force + طول المفاتيح الممكن انشائها عن طريق IV صغير جدا 16777216 + البروتوكول لا يمانع ابدا ادا تم حقن بيانات في الشبكة...
كما دكرت سابقا هناك عدة اشياء يمكن ملاحظتها في كيفية عمل البروتوكول وبالتالي انواع الهجوم التي يمكن ان تنفد هي
الهندسة الاجتماعية : عن طريق الحصول على المفتاح من احد مستخدمي الشبكة اما بطريقة مباشرة او عن طريق سرقتها من الحاسوب
الهجوم العنيف (brute force) : عن طريق تخمين الباسورد
عن طريق حل المعادلات : سنرى دلك
كما هو واضح فان الهجوم الاول والثاني والتي اصفهما باخر حلول الاختراق قد تكون صعبة ومستهلكة للوقت و ..
اما الهجوم عن طريق حل بعض المعادلات فيعتبر حلا منطقيا لدلك ساركز على هدا النوع
قبل ان اكمل اود ان اشير الى انني في هدا الجزء ونظرا لكونه بحرا عميقا لن اتطرق له بشكل كامل لمادا ؟؟ لان هناك نوعين
من الهجوم Active و Passive في الاول المخترق يشارك في Trafic المار في الشبكة عن طريق حقن باكيتات من اجل غرض تسريع عملية الكسر و Passive حيث يكتفي المخترق فقط بالانتظار.
كما اشرت هناك عدة طرق للكسر فهناك مايتعلق بعملية التسجيل Authentication واخرى تتعلق بتحليل الباكيت و ... وساقتصر على التي تتعلق بتحليل الباكيت وبالظبط FMS attack
كل هدا من اجل فقط ان اوضح لكم مالدي نريد فعله بالظبط
وضعية monitor
قبل ان ننتقل الى كيفية الكسر سوف نحتاج الى فهم ما هو وضع monitor فكما تعرفون انه من اجل الكسر سنظطر الى تحليل الباكيت المارة في الشبكة ولكن هناك مشكلة بسيطة نحن لسنا جزءا من الشبكة فنحن لا نمتلك Key لتشفير البيانات وبالتالي فان كارت الشبكة سوف تقوم بالتخلص من هده البيانات وبالتالي فان وضع monitor هو ببساطة لتخلص من هدا المشكل فنحن في هدا الوضع نقنع الكارت ان هده البيانات خاصة بنا ويتم هدا عن طريق برمجة Driver جديد لكارت الشبكة
اولا كما دكرت سابقا فطول IV صغير جدا مما يمنحنا حوالي 17 مليون IV وفي شبكة مزدحمة يمكن ان نحصل على IV متطابقين وهده خطوة في صالحنا اظافة الى هدا وبالاعتماد على نظرية Birthday problem يمكننا ان نستنتج انه هناك احتمال 50% لايجاد IV متطابقين في 5000 باكيت واحتمال 99% لايجاد IV متطابقين في 12000
الان لنرى ما هو هجوم FMS attack
هدا الهجوم يعتمد على ضعف في خوارزمية RC4 حيث انه يعتمد على IV يمكن تسميتها ب 'IV المناسبة' فهدا الهجوم الدي يسمى ايضا ب invariance weakness وهدا راجع الى ان هناك جزء من KEY ثابت و IV متغير + ان هناك بعض البيانات التي يمكننا استنتاجها ك ARP packets
بالطبع في الاول ظهرت مقالات نظريقة ولكن صدرت برامج تؤكد صحة هده المقالات ك airsnort و ..
حيث عن طريق جمع عدد محدد من الباكيت (حسب كل هجوم) يستطيع المخترق ان يشتق من keystream جزءا من KEY وهكدا الى الوصول الى KEY بشكل كامل
اسف جدا لانني لن اتعمق اكثر لاننا سنظطر الى التعمق في مفاهيم اكثر وانا كل ماردت من خلال هدا الموضوع هو ان اوصل حقيقة بسيطة ان WEP يحمل في طياته الكثير الكثير وكسره ان كان يبدو سهلا الان بسبب برامج ك aircrack وما شبه دلك ولكنه يخفي حقيقة عظيمة.
هل أعجبك الموضوع ؟
مواضيع مشابهة :
ليست هناك تعليقات:
إرسال تعليق