مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

از لحاظ تاریخی، اکثر کارمندان از صفحه کلید و موس های بی سیم لاجیتک استفاده می کنند. ما متخصصان تیم راکون سکیوریتی با وارد کردن مجدد رمزهای عبور خود از خود پرسیدیم: دور زدن مکانیسم های امنیتی کیبوردهای بی سیم چقدر دشوار است؟ این مطالعه نقص های معماری و خطاهای نرم افزاری را نشان داد که امکان دسترسی به داده های ورودی را فراهم می کند. در زیر برش چیزی است که به دست آوردیم.

چرا لاجیتک؟

به نظر ما دستگاه های ورودی لاجیتک جزو با کیفیت ترین و راحت ترین هستند. اکثر دستگاه هایی که ما داریم بر اساس راه حل لاجیتک هستند وحدت یک گیرنده دانگل جهانی است که به شما امکان می دهد تا حداکثر 6 دستگاه را متصل کنید. همه دستگاه‌های سازگار با فناوری Logitech Unifying با نشان‌واره فناوری Logitech Unifying مشخص شده‌اند. آسان برای استفاده приложение به شما امکان می دهد اتصال صفحه کلیدهای بی سیم به رایانه خود را مدیریت کنید. فرآیند اتصال کیبورد به دانگل گیرنده لاجیتک و همچنین خود فناوری پوشش داده شده است، به عنوان مثال، اینجا.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

گیرنده دانگل با پشتیبانی Logitech Unifying

صفحه کلید می تواند به منبع اطلاعاتی برای مهاجمان تبدیل شود. لاجیتک، با در نظر گرفتن تهدید احتمالی، از امنیت مراقبت کرد - از الگوریتم رمزگذاری AES128 در کانال رادیویی صفحه کلید بی سیم استفاده کرد. اولین فکری که ممکن است یک مهاجم در این موقعیت داشته باشد این است که اطلاعات کلیدی را هنگامی که از طریق یک کانال رادیویی در طول فرآیند اتصال منتقل می شود، رهگیری کند. از این گذشته، اگر کلید دارید، می توانید سیگنال های رادیویی صفحه کلید را رهگیری کرده و آنها را رمزگشایی کنید. با این حال، کاربر به ندرت (یا حتی هرگز) مجبور نیست صفحه کلید را یکپارچه کند، و یک هکر با رادیو اسکن باید مدت زیادی منتظر بماند. علاوه بر این، همه چیز با فرآیند رهگیری به این سادگی نیست. در آخرین مطالعه در ژوئن 2019، کارشناس امنیتی مارکوس منگز به صورت آنلاین منتشر شد сообщение در مورد کشف یک آسیب پذیری در سیستم عامل قدیمی دانگل های USB Logitech. این به مهاجمان با دسترسی فیزیکی به دستگاه‌ها اجازه می‌دهد تا کلیدهای رمزگذاری کانال رادیویی را دریافت کنند و ضربه‌های کلید را تزریق کنند (CVE-2019-13054).

ما در مورد بررسی امنیتی دانگل لاجیتک بر اساس NRF24 SoC از Nordic Semiconductor صحبت خواهیم کرد. شاید از خود کانال رادیویی شروع کنیم.

چگونه داده ها در یک کانال رادیویی "پرواز می کنند".

برای تجزیه و تحلیل فرکانس زمانی سیگنال رادیویی، ما از یک گیرنده SDR بر اساس دستگاه Blade-RF در حالت تحلیلگر طیف استفاده کردیم (شما همچنین می توانید در مورد این مطلب بخوانید اینجا).

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

دستگاه SDR Blade-RF

ما همچنین امکان ضبط مربعات سیگنال رادیویی را در یک فرکانس متوسط ​​در نظر گرفتیم، که سپس می‌توان با استفاده از تکنیک‌های پردازش سیگنال دیجیتال آنالیز کرد.

کمیسیون دولتی فرکانس های رادیویی در فدراسیون روسیه مجاز برای استفاده توسط دستگاه های برد کوتاه، محدوده فرکانس 2400-2483,5 مگاهرتز است. این یک محدوده بسیار "جمعیت" است که در آن چیزی پیدا نمی کنید: Wi-Fi، بلوتوث، انواع کنترل از راه دور، سیستم های امنیتی، آشکارسازهای بی سیم، موش هایی با صفحه کلید و سایر دستگاه های دیجیتال بی سیم.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

طیف باند 2,4 گیگاهرتز

محیط تداخل در محدوده بسیار پیچیده است. با وجود این، لاجیتک توانست از طریق استفاده از پروتکل پیشرفته ShockBurst در فرستنده گیرنده NRF24 در ترکیب با الگوریتم های تطبیق فرکانس، دریافت قابل اعتماد و پایداری را ارائه دهد.

کانال ها در یک باند در موقعیت های مگاهرتز صحیح قرار می گیرند که در آن تعریف شده است مشخصات فنی NRF24 نوردیک نیمه هادی - در مجموع 84 کانال در شبکه فرکانس. تعداد کانال های فرکانس استفاده همزمان لاجیتک البته کمتر است. ما استفاده از حداقل چهار مورد را شناسایی کردیم. به دلیل پهنای باند محدود آنالایزر طیف سیگنال مورد استفاده، لیست دقیق موقعیت های فرکانس استفاده شده را نمی توان تعیین کرد، اما این ضروری نبود. اطلاعات از صفحه کلید به دانگل گیرنده در حالت Burst (چرخش کوتاه فرستنده) با استفاده از مدولاسیون فرکانس دو موقعیتی GFSK با نرخ نماد 1 Mbaud منتقل می شود:

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

سیگنال رادیویی صفحه کلید در نمایش زمان

گیرنده از اصل همبستگی دریافت استفاده می کند، بنابراین بسته ارسالی شامل یک مقدمه و یک قسمت آدرس است. از کدگذاری مقاوم در برابر نویز استفاده نمی شود؛ بدنه داده با الگوریتم AES128 رمزگذاری شده است.

به طور کلی، رابط رادیویی صفحه‌کلید بی‌سیم لاجیتک را می‌توان کاملاً ناهمزمان با مولتی پلکس‌های آماری و سازگاری فرکانس مشخص کرد. این بدان معنی است که فرستنده صفحه کلید کانال را برای انتقال هر بسته جدید تغییر می دهد. گیرنده از قبل نه زمان ارسال و نه کانال فرکانس را نمی داند، اما فقط لیست آنها مشخص است. گیرنده و فرستنده در کانال به لطف الگوریتم های فرکانس بای پس و گوش دادن هماهنگ، و همچنین مکانیسم های تأیید ShockBurst پیشرفته، به هم می رسند. ما بررسی نکرده ایم که آیا لیست کانال ثابت است یا خیر. احتمالا تغییر آن به دلیل الگوریتم انطباق فرکانس است. چیزی نزدیک به روش پرش فرکانس (تنظیم شبه تصادفی فرکانس کاری) را می توان در استفاده از منبع فرکانس محدوده مشاهده کرد.

بنابراین، در شرایط عدم قطعیت زمان-فرکانس، برای اطمینان از دریافت تضمینی همه سیگنال‌های صفحه کلید، یک مهاجم باید دائماً کل شبکه فرکانس 84 موقعیت را تحت نظر داشته باشد که به زمان قابل توجهی نیاز دارد. در اینجا مشخص می شود که چرا آسیب پذیری استخراج کلید USB (CVE-2019-13054) در منابع به عنوان توانایی تزریق کلید، به جای دسترسی مهاجمان به داده های وارد شده از صفحه کلید. بدیهی است که رابط رادیویی صفحه کلید بی سیم بسیار پیچیده است و ارتباط رادیویی قابل اعتمادی را بین دستگاه های لاجیتک در شرایط تداخل دشوار در باند 2,4 گیگاهرتز فراهم می کند.

نگاهی به مشکل از درون

برای مطالعه خود، یکی از کیبوردهای Logitech K330 موجود و یک دانگل Logitech Unifying را انتخاب کردیم.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

Logitech K330

بیایید نگاهی به داخل کیبورد بیندازیم. یک عنصر جالب روی برد برای مطالعه، تراشه SoC NRF24 از Nordic Semiconductor است.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

SoC NRF24 روی صفحه‌کلید بی‌سیم Logitech K330

سیستم عامل در حافظه داخلی قرار دارد، مکانیسم های خواندن و اشکال زدایی غیرفعال هستند. متأسفانه سیستم عامل در منابع باز منتشر نشده است. بنابراین، تصمیم گرفتیم از طرف دیگر به مشکل نزدیک شویم - محتویات داخلی گیرنده دانگل لاجیتک را مطالعه کنیم.

"دنیای درونی" گیرنده دانگل بسیار جالب است. دانگل به راحتی جدا می شود، نسخه آشنا NRF24 را با یک کنترلر USB داخلی حمل می کند و می تواند هم از سمت USB و هم مستقیماً از برنامه نویس دوباره برنامه ریزی شود.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

دانگل لاجیتک بدون محفظه

از آنجایی که یک مکانیسم استاندارد برای به روز رسانی سیستم عامل با استفاده از وجود دارد برنامه های کاربردی ابزار به روز رسانی سیستم عامل (که می توانید نسخه فریمور به روز شده را از آن استخراج کنید)، نیازی به جستجوی فریمور داخل دانگل نیست.

آنچه انجام شد: سیستم عامل RQR_012_005_00028.bin از بدنه برنامه Firmware Update Tool استخراج شد. برای بررسی یکپارچگی آن، کنترلر دانگل با یک کابل متصل شد به برنامه نویس ChipProg-48:

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

کابل برای اتصال دانگل لاجیتک به پروگرامر ChipProg 48

برای کنترل یکپارچگی سیستم عامل، با موفقیت در حافظه کنترلر قرار گرفت و به درستی کار کرد، صفحه کلید و ماوس از طریق Logitech Unifying به دانگل متصل شدند. آپلود سفت‌افزار اصلاح‌شده با استفاده از مکانیزم به‌روزرسانی استاندارد امکان‌پذیر است، زیرا هیچ مکانیزم حفاظت رمزنگاری برای سیستم‌افزار وجود ندارد. برای اهداف تحقیقاتی، ما از یک اتصال فیزیکی به برنامه نویس استفاده کردیم، زیرا اشکال زدایی از این طریق بسیار سریعتر است.

تحقیق در سیستم عامل و حمله به ورودی کاربر

تراشه NRF24 بر اساس هسته محاسباتی اینتل 8051 در معماری سنتی هاروارد طراحی شده است. برای هسته، فرستنده گیرنده به عنوان یک دستگاه جانبی عمل می کند و به عنوان مجموعه ای از ثبات ها در فضای آدرس قرار می گیرد. اسناد مربوط به نمونه های تراشه و کد منبع را می توان در اینترنت یافت، بنابراین جداسازی سیستم عامل دشوار نیست. در طول مهندسی معکوس، عملکردهای دریافت داده های ضربه زدن به کلید از کانال رادیویی و تبدیل آن به فرمت HID برای انتقال به میزبان از طریق رابط USB را بومی سازی کردیم. کد تزریق در آدرس‌های حافظه آزاد قرار داده شد که شامل ابزارهایی برای کنترل، ذخیره و بازیابی متن اصلی و همچنین کد عملکردی بود.

بسته فشار دادن یا رها کردن یک کلید دریافت شده توسط دانگل از کانال رادیویی رمزگشایی شده، به یک گزارش استاندارد HID تبدیل شده و از طریق یک صفحه کلید معمولی به رابط USB ارسال می شود. به عنوان بخشی از مطالعه، بخشی از گزارش HID که بیشتر مورد توجه ما است، بخشی از گزارش 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 به شکل واضح از طریق هوا منتقل می‌شوند. ساختار بسته در کانال جانبی در شکل زیر نشان داده شده است، نمودارهای سیگنال پس از دمودولاسیون و قبل از بازیابی همگام سازی ساعت داده به دست آمده است. مقدار آدرس برای سهولت شناسایی بصری بسته انتخاب شد.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

سیگنال انفجار انفجاری دمدوله شده در کانال جانبی

پس از ارسال بسته به کانال جانبی، کد تزریق شده وضعیت فرستنده و گیرنده را بازیابی می کند. اکنون دوباره آماده است تا به طور معمول در زمینه سیستم عامل اصلی کار کند.

در حوزه فرکانس و زمان-فرکانس، کانال جانبی به شکل زیر است:

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

نمایش طیفی و فرکانس زمانی کانال جانبی

برای آزمایش عملکرد تراشه NRF24 با سیستم عامل اصلاح شده، پایه ای را مونتاژ کردیم که شامل یک دانگل لاجیتک با سیستم عامل اصلاح شده، یک صفحه کلید بی سیم و یک گیرنده مونتاژ شده بر اساس یک ماژول چینی با تراشه NRF24 بود.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

مدار شنود سیگنال رادیویی صفحه کلید بی سیم لاجیتک

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

ماژول مبتنی بر NRF24

روی نیمکت، با عملکرد عادی صفحه کلید، پس از اتصال آن به دانگل لاجیتک، انتقال داده های واضح در مورد ضربه زدن به کلید در کانال رادیویی جانبی و انتقال عادی داده های رمزگذاری شده در رابط رادیویی اصلی را مشاهده کردیم. بنابراین، ما توانستیم رهگیری مستقیم ورودی صفحه کلید کاربر را ارائه دهیم:

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

نتیجه رهگیری ورودی صفحه کلید

کد تزریق شده تاخیرهای جزئی را در عملکرد سیستم عامل دانگل ایجاد می کند. با این حال، آنها برای کاربر بسیار کوچک هستند.

همانطور که می توانید تصور کنید، هر صفحه کلید لاجیتک که با فناوری Unifying سازگار باشد می تواند برای این بردار حمله استفاده شود. از آنجایی که این حمله گیرنده Unifying موجود در اکثر صفحه کلیدهای لاجیتک را هدف قرار می دهد، مستقل از مدل صفحه کلید خاص است.

نتیجه

نتایج این مطالعه استفاده احتمالی از سناریوی در نظر گرفته شده توسط مهاجمان را پیشنهاد می کند: اگر یک هکر قربانی را با یک گیرنده دانگل برای صفحه کلید بی سیم لاجیتک جایگزین کند، آنگاه می تواند رمزهای عبور حساب های قربانی را با تمام موارد بعدی پیدا کند. عواقب. فراموش نکنید که امکان تزریق کلید نیز وجود دارد، به این معنی که اجرای کد دلخواه در رایانه قربانی دشوار نیست.

اگر ناگهان یک مهاجم بتواند از راه دور سیستم عامل هر دانگل لاجیتک را از طریق USB تغییر دهد چه؟ سپس، از دانگل های نزدیک، می توانید شبکه ای از تکرار کننده ها ایجاد کنید و فاصله نشتی را افزایش دهید. اگرچه یک مهاجم «ثروتمند مالی» می‌تواند حتی از یک ساختمان همسایه به ورودی صفحه‌کلید گوش دهد و کلیدها را فشار دهد، تجهیزات دریافت رادیویی مدرن با سیستم‌های انتخابی بالا، گیرنده‌های رادیویی حساس با زمان تنظیم فرکانس کوتاه و آنتن‌های بسیار جهت‌دار به آنها اجازه می‌دهند. برای "گوش دادن" به ورودی صفحه کلید و فشار دادن کلیدها حتی از یک ساختمان همسایه.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

تجهیزات رادیویی حرفه ای

از آنجایی که کانال انتقال داده بی سیم صفحه کلید لاجیتک کاملاً محافظت می شود، بردار حمله یافت شده نیاز به دسترسی فیزیکی به گیرنده دارد که مهاجم را تا حد زیادی محدود می کند. تنها گزینه حفاظتی در این مورد استفاده از مکانیزم های حفاظتی رمزنگاری برای سیستم عامل گیرنده است، به عنوان مثال، بررسی امضای سیستم عامل بارگذاری شده در سمت گیرنده. اما متأسفانه NRF24 از این پشتیبانی نمی‌کند و اجرای حفاظت در معماری دستگاه فعلی غیرممکن است. بنابراین مراقب دانگل های خود باشید، زیرا گزینه حمله توصیف شده نیاز به دسترسی فیزیکی به آنها دارد.

مراقب دانگل های خود باشید: مطالعه ایمنی گیرنده صفحه کلید لاجیتک

Raccoon Security یک تیم ویژه از کارشناسان مرکز تحقیق و توسعه Vulcan در زمینه امنیت اطلاعات عملی، رمزنگاری، طراحی مدار، مهندسی معکوس و ایجاد نرم افزارهای سطح پایین است.

منبع: www.habr.com

اضافه کردن نظر