ثغرة أمنية في بروتوكول WPS في الشبكات اللاسلكية







بروتوكول WPS

خدمة WPS موجودة على أغلب راوترات الشبكات اللاسلكية الحديثة, فقد قرر اتحاد شبكات الواي فاي (الذي يضع معايير شبكات الواي فاي) بعدم اعتبار اي راوتر لا يحتوي على هذه الخدمة متوافقا مع المعايير, بل يجب على الراوتر أن يفعل هذه الخدمة بشكل إفتراضي.

الهدف من وراء هذه الخاصية هو تسهيل عملية إعداد شبكة الواي فاي بتشفير عالي بدون أن يضطر المستخدم لأن يمر على إعدادات الراوتر التي قد يجد صعوبة في تعديلها, وهي اختصار لـ Wifi Protected Setup.



طريقة عمل البروتوكول

بروتوكول WPS يستخدم 8 أرقام مطبوعة على أسفل الراوتر, يمكن استخدامها كرقم سري سهلة بدل كلمة المرور الطويلة المستخدمة في تشفير WPA/WPA2. وباستخدام 8 ارقام يصبح لدينا 100 مليون رقم سري محتمل
(عدد الأرقام من 0 إلى 9 = 10 وعدد خانات كلمة المرور 8, إذا 108 = 100000000)

فتصبح عملية التخمين صعبة جدا وتحتاج لزمن طويل, لأن المهاجم يجب عليه عند محاولة كل كلمة أن يرسلها للراوتر وينتظر رد الراوتر ثم يرسل كلمة أخرى وهذا يعرف بـActive Attack على عكس محاولة فك تشفير كلمة مرور WPA/WPA2  والذي يستطيع المهاجم (بعد حصوله على كلمة المرور مشفرة) أن يجرب كل الاحتمالات بدون التواصل مع الراوتر وهذا ما يعرف بـOffline Attack.

هذه ال8 أرقام ليست كلها الرقم السري, فقط 7 منها تمثل الرقم السري والرقم الأخبر هو Checksum.

إذا لدينا رقم سري من 7 خانات, هذا يعني بأن عدد كلمات المرور المحتملة هو 10 ملايين كلمة (107 = 10000000). لازالت محاولة تخمينها صعبة.

لكن هناك مشكلة أخرى, وهي أن الراوتر عندما يستقبل الرقم السري المكون من 7 خانات يتحقق من أول 4 أرقام, فإذا كانت خاطئة يرسل رسالة خطأ!
أي أنه يقسم كلمة المرور إلى قسمين, الأول 4 خانات والثاني 3 خانات وهذا يجعل عملية التخمين أسهل بكثير وقد تنتهي بساعات قليلة.
فعلى المهاجم  أن يخمن فقط اول 4 خانات وهي تتكون من 10000 رقم محتمل (104 = 10000) ثم إذا لم يتلقى رسالة تفيد بأن أول 4 خانات صحيحة يقوم بتخمين الجزء الثاني من كلمة المرور والمكون من 3 خانات وهي ستأخذ وقت أقل بكثير في تخمينها من القسم الأول لأنها تتكون من 1000 رقم محتمل فقط (103).
وإذا استطاع المهاجم معرفة كلمة المرور للWPS فسيحصل مباشرة على كلمة المرور الخاصة بتشفير WEP/WPA/WPA2 مهما كان طولها.


الحصول على الرقم السري باستخدام برنامج Reaver



المشكلة الأساسية في هذا البروتوكول هي في طريقة التطبيق السيئة, التي اتاحت إمكانية استخدام هجوم تخمين الكلمات Brute Force  بتقليل الرقم السري المحتمل من 100 مليون إلى 11000 فقط.


الحل
قد يكون إغلاق خدمة الWPS  هو الخيار البديهي للحماية من هذه الثغرة, وهذا صحيح, ولكن هناك بعض الراوترات من شركة سيسكو/لينكسيس تظل تعمل حتى بعد قيامك بإيقافها من الإعدادات, وهناك احتمال كبير بأن تقوم سيسكو باصدار ترقية لسوفتوير الراوتر لحل هذه المشكلة.


روابط