اعتني بدونغلسك: دراسة أمان لجهاز استقبال لوجيتك


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


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


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



لوجيتك توحيد دونغل استقبال


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


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


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


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



جهاز SDR Blade-RF


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


سمحت لجنة الدولة للترددات الراديوية في الاتحاد الروسي باستخدام أجهزة قصيرة المدى في نطاق الترددات 2400-2483 ميجاهرتز. هذا نطاق "مكتظ بالسكان" لا يمكنك فيه تلبية أي شيء: شبكة Wi-Fi ، وتقنية Bluetooth ، ومختلف أجهزة التحكم عن بعد ، وأنظمة الأمان ، وأجهزة الكشف اللاسلكية ، والماوس مع لوحات المفاتيح والأجهزة الرقمية اللاسلكية الأخرى.



2.4 غيغاهرتز الفرقة الطيف


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


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



إشارة الراديو لوحة المفاتيح في تمثيل مؤقت


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


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


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


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


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



لوجيتك K330


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



شركة نفط الجنوب NRF24 على لوحة المفاتيح اللاسلكية لوجيتك K330


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


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



لوجيتك دونجل بدون سكن


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


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



لوجيتك دونجل كابل ل 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 على رسم بياني للحالة يتم فيه إدخال بروتوكول ShockBurst المحسّن عضوًا. لقد اكتشفنا أنه قبل نقل بيانات HID مباشرة إلى واجهة USB المضيفة ، كان جهاز الإرسال والاستقبال في حالة IDLE. هذا يجعل من الممكن إعادة تكوين بأمان للعمل في القناة الجانبية. يعترض الرمز المحقون السيطرة ، ويحفظ التكوين الأصلي لجهاز الإرسال والاستقبال بالكامل ، وينقله إلى وضع الإرسال الجديد على القناة الجانبية. يتم إيقاف تشغيل آلية التعرف المحسّن ShockBurst في هذا الوضع ، ويتم إرسال بيانات HID في الجو إلى الهواء. يظهر الشكل أدناه هيكل الحزمة في القناة الجانبية ، وتم الحصول على مخططات الشكل الموجي بعد إزالة التشكيل وقبل استعادة تزامن بيانات الساعة. يتم تحديد قيمة العنوان لتوفير الراحة المرئية للحزمة.



انفجار انفجر إشارة demodulated


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


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



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


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



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



وحدة مقرها NRF24


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



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


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


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


استنتاج


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


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



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


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



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

Source: https://habr.com/ru/post/ar479374/


All Articles