الخلاصة
- إذا لم تصل الرسالة الرابعة من مصافحة WPA2 الرباعية، يجوز لنقطة الوصول إعادة الرسالة الثالثة بصورة مشروعة. لكن عملاء معرضين للخطر تعاملوا مع النسخة الموثقة كأمر جديد لتثبيت مفتاح الجلسة نفسه.
- لم يستخرج المهاجم كلمة مرور Wi-Fi ولا المفتاح المتفاوض عليه. ما أعاده إلى البداية هو رقم حزمة الإرسال وعداد منع الإعادة المرتبطان بمفتاح ظل سرياً.
- حافظ الإصلاح على تحمل الفقد: يستطيع العميل الرد مرة أخرى، لكنه يثبت كل مفتاح جديد مرة واحدة فقط ولا يعيد الحالة الرتيبة إلى قيمة سابقة.
تعمل المصافحة الرباعية فوق وسط تضيع فيه الإطارات. بعد الرسالة الثالثة يثبت العميل المفتاح المؤقت الثنائي ويرسل الرسالة الرابعة. فإذا ضاع ذلك الرد، لا تعرف نقطة الوصول أن العملية اكتملت، فتبعث الرسالة الثالثة مرة أخرى. هذا سلوك اعتيادي يضمن استمرار الاتصال، لا علامة هجوم بحد ذاته.
حوّل KRACK هذه الإعادة الطبيعية إلى أداة. في الهجوم الذي عرضه Mathy Vanhoef وFrank Piessens في CCS 2017، يتخذ خصم داخل المدى اللاسلكي موقع وسيط قائم على القنوات، ويمنع الرسالة الرابعة من الوصول، ثم يمرر إلى الضحية النسخة المعادة والحقيقية من الرسالة الثالثة. لم يفشل توثيق الرسالة. الذي فشل هو تفسير التنفيذ المحلي لأثرها.
لم يكن تثبيت المفتاح مجرد نسخ للسر. بعض البرمجيات أعادت معه تهيئة nonce المستخدم رقماً لحزمة الإرسال، وعداد الإعادة في جهة الاستقبال. وهكذا أمكن لمفتاح بقي سرياً أن يعمل ثانية مع حالة سبق استعمالها. ظلت هوية الجلسة صحيحة، لكن ترتيبها الزمني الذي يحتاجه التشفير لم يعد صحيحاً.
لهذا لا يصح وصف KRACK بأنه كسر كلمة مرور WPA2. تغيير كلمة المرور لا يصلح منطق التثبيت. ولم تكن النتائج متطابقة على كل جهاز. مع CCMP وصفت الورقة إمكان الإعادة وفك التشفير، لا القدرة المباشرة على تزوير أي إطار Wi-Fi. وقد تسمح TKIP وGCMP بالتزوير أيضاً. أما حقن بيانات في TCP أو HTTP فيحتاج إلى حركة مناسبة وخطوات إضافية.
ظهر مسار أشد في بعض استعمالات wpa_supplicant على Linux وAndroid، حيث أمكن أن ينتهي التثبيت بمفتاح مؤقت كله أصفار. لكنه كان سلوك تطبيقات بعينها، لا نتيجة عامة في جميع أجهزة WPA2. نوع التشفير واتجاه الحركة ونوع المصافحة والكود العامل هي التي تحدد الأثر.
كشف البحث كذلك حدوداً في الضمانات الشكلية. النماذج التي ناقشها الباحثان أثبتت سرية المفتاح وتوثيق الجلسة، لكنها لم تمثل لحظة تثبيت المفتاح المتفاوض عليه، ولا ما يحدث إذا تكررت تلك اللحظة. كان البروتوكول المثبت وآلة الحالات التي تعمل فعلاً يتناولان سطحين غير متطابقين.
يفصل الإصلاح الأساسي بين الرد والتثبيت. يجوز للعميل أن يعيد الرسالة الرابعة عندما تصله رسالة ثالثة مكررة وصحيحة، لكنه لا يجوز أن يثبت مفتاح الجلسة من جديد. ويمكن للتطبيق ألا يصفر العدادات عند ضبط مفتاح سبق استعماله، أو أن يسمح بتثبيت كل مفتاح جديد مرة واحدة أثناء تنفيذ المصافحة.
لم يحتج ذلك إلى تغيير شكل الإطارات. يظل العميل المصحح قادراً على الاتصال بنقطة وصول قديمة لأن الإعادة والرد باقيان، بينما يصبح الانتقال المحلي غير قابل للتكرار. لذلك تستطيع الجهات المستقلة اعتماد الحد الأدنى من القاعدة من دون انتظار تحول متزامن للشبكة كلها.
مع ذلك، لم يكن مجال التصحيح نسخة واحدة بسيطة. رتّب CERT/CC في VU#228519 عائلة من معرفات CVE تبدأ بـCVE-2017-13077 عبر أنواع متعددة من المصافحة. وفصل إشعار hostapd وwpa_supplicant بين المحطة ونقطة الوصول و802.11r ومفاتيح المجموعة وبرامج التشغيل والبرامج الثابتة. وربط Android الإصلاحات بمستوى تصحيح 2017-11-06، مع تنبيه إلى احتمال الحاجة لإصلاحات من مصنعي الشرائح.
قدمت متابعة 2018 اختباراً مهماً للادعاءات. كان معظم الموردين الذين اختُبروا قد وزعوا إصلاحات، لكن الباحثين وجدوا أخطاء تنفيذ متبقية وتجاوزاً أقل أثراً في مفتاح المجموعة. إعلان الإصدار يبدأ التحقق ولا ينهيه؛ المنتج العامل هو الذي يثبت أن الانتقال تغير.
والقاعدة الأوسع التي يتركها KRACK بسيطة: أصالة الرسالة تثبت مصدرها، لكنها لا تثبت أن تنفيذ العملية التي تأذن بها مرتين آمن.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
