قامت Apple في وقت سابق من هذا العام بإصلاح ثغرة أمنية في نظامي iOS و macOS كان من المحتمل أن تسمح للمهاجمين بالوصول غير المصرح إلى حساب iCloud الخاص بالمستخدم.
تم الكشف عنها في فبراير بواسطة تيجس الكيدك، وهو متخصص في الأمن في شركة أمن تكنولوجيا المعلومات Computest ، يكمن الخلل في تطبيق Apple لميزة المقاييس الحيوية TouchID (أو FaceID) التي تصادق المستخدمين على تسجيل الدخول إلى مواقع الويب على Safari ، وتحديدًا تلك التي تستخدم تسجيلات معرف Apple.
بعد إبلاغ Apple عن المشكلة من خلال برنامج الكشف المسؤول ، عالج صانع iPhone الثغرة الأمنية في a تحديث من جانب الخادم.
الفرضية المركزية للخلل على النحو التالي. عندما يحاول المستخدمون تسجيل الدخول إلى موقع ويب يتطلب معرف Apple ، يتم عرض مطالبة لمصادقة تسجيل الدخول باستخدام Touch ID. يؤدي ذلك إلى تخطي خطوة المصادقة ذات العاملين حيث أنه يستفيد بالفعل من مجموعة من عوامل التحديد ، مثل الجهاز (شيء لديك) والمعلومات البيومترية (شيء ما أنت عليه).
قارن هذا أثناء تسجيلات الدخول إلى نطاقات Apple (مثل “icloud.com”) بالطريقة المعتادة باستخدام معرف وكلمة مرور ، حيث يقوم موقع الويب بتضمين إطار iframe يشير إلى خادم التحقق من تسجيل الدخول الخاص بـ Apple (“https://idmsa.apple.com”) ، الذي يعالج عملية المصادقة.
كما هو موضح في العرض التوضيحي للفيديو ، يحتوي عنوان URL لـ iframe أيضًا على معلمتين أخريين – “client_id” تحدد الخدمة (على سبيل المثال ، iCloud) و “redirect_uri” الذي يحتوي على عنوان URL الذي سيتم إعادة توجيهه إليه بعد التحقق بنجاح.
ولكن في حالة التحقق من صحة المستخدم باستخدام TouchID ، يتم التعامل مع iframe بشكل مختلف من حيث أنه يتواصل مع AuthKit daemon (akd) للتعامل مع المصادقة البيومترية ومن ثم استرجاع رمز مميز (“Grant_code”) يستخدمه icloud.com صفحة لمتابعة عملية تسجيل الدخول.
للقيام بذلك ، يتواصل البرنامج الخفي مع واجهة برمجة التطبيقات على “gsa.apple.com” ، والتي يرسل إليها تفاصيل الطلب الذي يتلقى الرمز المميز منه.
يوجد العيب الأمني الذي اكتشفه Computest في واجهة برمجة تطبيقات gsa.apple.com المذكورة أعلاه ، والتي جعلت من الممكن نظريًا إساءة استخدام هذه النطاقات للتحقق من معرف العميل دون مصادقة.
وأشار ألكمادي إلى أنه “على الرغم من تضمين Client_id و redirect_uri في البيانات المقدمة إليه بواسطة akd ، إلا أنه لم يتأكد من أن URI الخاص بإعادة التوجيه يطابق معرف العميل”. “بدلاً من ذلك ، لم يكن هناك سوى قائمة بيضاء تم تطبيقها بواسطة AKAppSSOExtension على المجالات. تم السماح لجميع المجالات التي تنتهي بـ apple.com و icloud.com و icloud.com.cn.”
هذا يعني أن المهاجم يمكن أن يستغل ثغرة البرمجة النصية عبر المواقع على أي من نطاقات Apple الفرعية لتشغيل مقتطف ضار لرمز جافا سكريبت يمكنه تشغيل مطالبة تسجيل الدخول باستخدام معرف عميل iCloud ، واستخدام رمز المنحة للحصول على جلسة على icloud .com.
إعداد نقاط اتصال وهمية لتولي حسابات iCloud
في سيناريو منفصل ، يمكن تنفيذ الهجوم عن طريق تضمين جافا سكريبت في صفحة الويب التي يتم عرضها عند الاتصال بشبكة Wi-Fi للمرة الأولى (عبر “captive.apple.com”) ، مما يسمح للمهاجم بالوصول إلى مستخدم الحساب بمجرد قبول مطالبة TouchID من تلك الصفحة.
“يمكن لشبكة Wi-Fi الخبيثة الاستجابة بصفحة باستخدام جافا سكريبت تبدأ OAuth كـ iCloud ،” قال Alkemade. “يتلقى المستخدم مطالبة TouchID ، ولكن من غير الواضح ما الذي تتضمنه. إذا وثق المستخدم في هذه المطالبة ، فسيتم إرسال الرمز المميز لجلسته إلى الموقع الضار ، مما يمنح المهاجم جلسة لحسابه على iCloud.”
“من خلال إعداد نقطة اتصال وهمية في موقع حيث يتوقع المستخدمون تلقي بوابة مقيدة (على سبيل المثال في مطار أو فندق أو محطة قطار) ، كان من الممكن الوصول إلى عدد كبير من حسابات iCloud ، والتي “سمح بالوصول إلى النسخ الاحتياطية للصور وموقع الهاتف والملفات وغير ذلك الكثير”.
ليست هذه هي المرة الأولى التي يتم فيها العثور على مشكلات أمنية في البنية الأساسية لمصادقة Apple. في شهر مايو ، قامت Apple بتصحيح خلل يؤثر على نظام “تسجيل الدخول باستخدام Apple” الذي كان من الممكن أن يسمح للمهاجمين عن بُعد بتجاوز المصادقة والاستيلاء على حسابات المستخدمين المستهدفين على خدمات وتطبيقات الطرف الثالث التي تم تسجيلها باستخدام علامة Apple- في الخيار.