اسحب الشهادة من فلاش المكنسة الكهربائية الروبوتية Shark RV2320EDUS، ويمكنك تشغيل أوامر الجذر على المكانس الكهربائية Shark الخاصة بأشخاص آخرين عبر منطقة AWS نفسها: شاهد الكاميرا، وقم بقيادة الروبوت، واقرأ خريطة المنزل، واحصل على كلمة مرور Wi-Fi بنص عادي.
وهو نشر الباحث تحت المقبض توكاي0 وضع الطريقة على الإنترنت يوم الاثنين، بعد أن اختبرها فقط على المكانس الكهربائية التي اشتراها بنفسه. وكان الخلل غير قابل للإصلاح في ذلك الوقت.
ويقول إن شركة SharkNinja، الشركة التي تقف وراء العلامات التجارية للأجهزة Shark وNinja، حصلت على تقريرها منذ شهر مارس.
لم يتم تطبيق السياسة المرفقة بهذه الشهادة مطلقًا على الجهاز الذي يحملها. قم بتقديمه إلى وسيط سحابة Shark، وسيقبل الوسيط كل ما تنشره، موجهًا إلى أي جهاز يخدمه.
لا يوجد تلف في الذاكرة، ولا يوجد تصعيد للامتيازات، ولا توجد كلمة مرور لتخمينها. الأمر الذي يتم تشغيله هو حقل عادي في ظل الجهاز، وتحتفظ AWS بمستند الحالة لكل جهاز في السحابة.
باستخدام الشهادة من RV2320EDUS، اشترك الباحث في $aws/things/# وراقب حركة المرور التي تعبر الوسيط، وجمع الأرقام التسلسلية أثناء تنقله. النشر يعمل بنفس الطريقة. يحمل الظل حقل Exec_Command الذي يقرأه برنامج الإدارة الخفي ويسلمه إلى وظيفة تسمى Exec_command، والتي تقوم بتشغيل أي شيء أقل من 1000 بايت من خلال popen.
قم بإرسال تحديث ظل يحمل هذا الحقل إلى موضوع الجهاز. إذا قام هذا الجهاز بتنفيذ المعالج، فإنه يقوم بتشغيل الأمر.
لقد أثبت مسار النموذج المتقاطع، حيث قام بإسقاط قذيفة عكسية على AV1102ARUS الذي اشتراه كهدف بحت، ثم استخدم تلك القذيفة لسحب بث مباشر من الكاميرا الموجودة على متن النموذج أثناء تحرك الروبوت.
الشهادة تأتي مع مفك البراغي. تكشف اللوحة الرئيسية عن دبابيس UART، ولا تطلب وحدة تحكم U-Boot كلمة مرور، وينقلك init=/bin/sh في وسيطات التمهيد إلى shell shell، حيث يوجد المفتاح والشهادة لكل جهاز في /mnt/res/vapp/certs/ كملفات عادية.
يتم تثبيت الشهادات في منطقة AWS الخاصة بها، وهو أقرب ما يكون إلى الحد هنا: المفتاح الذي تم رفعه في منطقة واحدة يصل فقط إلى أجهزة تلك المنطقة. إن الوصول إلى منطقة أخرى يتطلب شهادة أخرى، مقدمة هناك، وتحمل نفس السياسة المعطلة.
لدى أمازون فحص تدقيق لشكل السياسة الدقيق هذا. تضع Device Defender، وهي خدمة تدقيق أسطول IoT من AWS، علامة على سياسات الجهاز التي تمنح النشر أو الاشتراك على $aws/things/* بدلاً من تثبيت الموضوع على الجهاز المتصل باستخدام ${iot:Connection.Thing.ThingName}.
تظهر كـ IOT_POLICY_OVERLY_PERMISSIVE_CHECK، وتصنفها AWS بأنها حرجة، محذرة في وثائقها من أن الشهادة المخترقة التي تحمل مثل هذه السياسة تسمح للمهاجم “بقراءة أو تعديل الظلال أو المهام أو عمليات تنفيذ المهام لجميع أجهزتك.”
ليست كل شهادة بمثابة مفتاح هيكلي. الفراغ الذي تحمل شهادته السياسة المعطوبة هو مفتاح المهاجم. يعتبر أي فراغ يقوم بتشغيل Exec_Command هدفًا، سواء تم تحديد نطاق الشهادة الخاصة به بشكل صحيح أم لا. يعد AV1102ARUS هدفًا وليس مفتاحًا: لقد تم تحديد نطاق شهادته بشكل صحيح ولا يمكن الاشتراك في أحرف البدل. كانت برامجها الثابتة أحدث بعدة سنوات.

يقرأ ذلك باعتباره إصلاحًا للإمداد لم يصل أبدًا إلى شهادات الأسطول الأقدم. وهذا هو السبب وراء نجاح غلاف النموذج المتقاطع، والسبب وراء ادعاءه بأن كل فراغ Shark متصل بالإنترنت ضعيف يحتاج إلى الانقسام إلى قسمين.
العنوان الرئيسي في منشوره يقول الملايين. الرقم الذي تحقق منه أضيق. من خلال مشاهدة منطقة AWS واحدة لمدة 24 ساعة، أحصى tokay0 1,517,605 رقمًا تسلسليًا فريدًا لـ Shark، منها 673,816، أو 44%، أصدرت Exec_Response، والذي يعامله كتأكيد على أن الجهاز يقوم بتشغيل معالج الأوامر. هذه هي الأجهزة التي تمت ملاحظتها وهي تستجيب، وليست أجهزة تم اختبارها أو اختراقها، ويقول إن الرقم الحقيقي من المرجح أن يكون أعلى.
أربعة أشهر والعد
من خلال حساب tokay0 للمراسلات، اتصل بـ SharkNinja في 1 مارس وأرسل التفاصيل في 11 مارس. أقرت الشركة باستلامها في اليوم التالي، وأخبرته في 27 أبريل أن التقرير قيد المراجعة، وفي 3 يوليو قالت إنها سترسل تاريخ إكمال مؤكد بحلول الجمعة 10 يوليو. ولم يصل أي بريد إلكتروني.
وقد نشر في 13 يوليو. وقال إن البائع قلل من خطورة الأمر وتساءل عما إذا كان “مكافحة التطرف العنيف مناسبًا”.
فيما يتعلق بتقارير إنترنت الأشياء على وجه التحديد، تلزم سياسة الكشف عن الثغرات الأمنية المنشورة من SharkNinja الشركة “بتوفير تحديثات منتظمة حتى يتم حل الثغرة الأمنية المبلغ عنها”. تطلب نفس السياسة من الباحثين التزام الصمت حتى تؤكد الشركة الإصلاح أو تسمح بالكشف كتابيًا.
ولم ينشر SharkNinja أي شيء عن الخلل حتى يوم الخميس. لقد تواصلت Hacker News مع الشركة للتعليق على حالة التصحيح والجدول الزمني للكشف، وسوف تقوم بتحديث هذه القصة بأي رد.
لا يوجد أيضًا مكافحة التطرف العنيف. لقد طلب من CNA الخاص بـ MITRE كملاذ أخير، المُخصص الذي يتعامل مع الثغرات الأمنية التي لا يغطيها البائع CNA، للحصول على معرف في 11 يونيو ولم يسمع شيئًا بحلول وقت النشر. لا يوجد معرف، ولا CVSS، ولا استشاري: لا يوجد شيء يمكن لبرنامج إدارة الثغرات الأمنية تشغيله.
الإصلاح من جانب الخادم
الإصلاح ليس من حق المالك تثبيته. إنه موجود في حساب AWS الخاص بـ SharkNinja، وليس في البرامج الثابتة للروبوت. وفقًا لتوجيهات الإصلاح الخاصة بـ AWS، يتم استبدال السياسة غير المتوافقة عن طريق دفع إصدار محدد باستخدام CreatePolicyVersion وعلامة setAsDefault، مما يجعل هذا الإصدار فعالاً لكل شهادة تستخدم السياسة.
لا يلزم طرح البرامج الثابتة. إن إعادة إصدار الشهادات بشكل صحيح، وهو ما أوصى به tokay0 في مارس، هي المهمة الأطول وراء ذلك.
وإلى أن يقوم SharkNinja بواحدة أو أخرى، فإن التخفيف الوحيد المتاح للمالك هو فصل المكنسة الكهربائية عن شبكة Wi-Fi. يؤدي ذلك إلى إنهاء التحكم في التطبيق والجدولة والخرائط، ويحول المنتج مرة أخرى إلى فراغ.
قام tokay0 بحجب نصوصه أثناء ظهور الخلل. لقد اعتبر النتائج الأخرى التي توصل إليها أقل من أن يكتبها.
ولم يقم أبدًا بفحص بقية تشكيلة SharkNinja المتصلة أيضًا، مثل الشوايات الذكية ومسبارات اللحوم اللاسلكية، والتي يقول إنها ربما تكون معرضة للخطر أيضًا. تأتي هذه المنتجات من نفس الشركة التي تعد سياستها بتحديثات منتظمة حتى يتم حل الخلل. وبعد مرور أربعة أشهر، هذا ليس كذلك.
