از لحاظ تاریخی، اکثر کارمندان از صفحه کلید و موس های بی سیم لاجیتک استفاده می کنند. ما متخصصان تیم راکون سکیوریتی با وارد کردن مجدد رمزهای عبور خود از خود پرسیدیم: دور زدن مکانیسم های امنیتی کیبوردهای بی سیم چقدر دشوار است؟ این مطالعه نقص های معماری و خطاهای نرم افزاری را نشان داد که امکان دسترسی به داده های ورودی را فراهم می کند. در زیر برش چیزی است که به دست آوردیم.
چرا لاجیتک؟
به نظر ما دستگاه های ورودی لاجیتک جزو با کیفیت ترین و راحت ترین هستند. اکثر دستگاه هایی که ما داریم بر اساس راه حل لاجیتک هستند
گیرنده دانگل با پشتیبانی Logitech Unifying
صفحه کلید می تواند به منبع اطلاعاتی برای مهاجمان تبدیل شود. لاجیتک، با در نظر گرفتن تهدید احتمالی، از امنیت مراقبت کرد - از الگوریتم رمزگذاری AES128 در کانال رادیویی صفحه کلید بی سیم استفاده کرد. اولین فکری که ممکن است یک مهاجم در این موقعیت داشته باشد این است که اطلاعات کلیدی را هنگامی که از طریق یک کانال رادیویی در طول فرآیند اتصال منتقل می شود، رهگیری کند. از این گذشته، اگر کلید دارید، می توانید سیگنال های رادیویی صفحه کلید را رهگیری کرده و آنها را رمزگشایی کنید. با این حال، کاربر به ندرت (یا حتی هرگز) مجبور نیست صفحه کلید را یکپارچه کند، و یک هکر با رادیو اسکن باید مدت زیادی منتظر بماند. علاوه بر این، همه چیز با فرآیند رهگیری به این سادگی نیست. در آخرین مطالعه در ژوئن 2019، کارشناس امنیتی مارکوس منگز به صورت آنلاین منتشر شد
ما در مورد بررسی امنیتی دانگل لاجیتک بر اساس NRF24 SoC از Nordic Semiconductor صحبت خواهیم کرد. شاید از خود کانال رادیویی شروع کنیم.
چگونه داده ها در یک کانال رادیویی "پرواز می کنند".
برای تجزیه و تحلیل فرکانس زمانی سیگنال رادیویی، ما از یک گیرنده SDR بر اساس دستگاه Blade-RF در حالت تحلیلگر طیف استفاده کردیم (شما همچنین می توانید در مورد این مطلب بخوانید
دستگاه SDR Blade-RF
ما همچنین امکان ضبط مربعات سیگنال رادیویی را در یک فرکانس متوسط در نظر گرفتیم، که سپس میتوان با استفاده از تکنیکهای پردازش سیگنال دیجیتال آنالیز کرد.
کمیسیون دولتی فرکانس های رادیویی در فدراسیون روسیه
طیف باند 2,4 گیگاهرتز
محیط تداخل در محدوده بسیار پیچیده است. با وجود این، لاجیتک توانست از طریق استفاده از پروتکل پیشرفته ShockBurst در فرستنده گیرنده NRF24 در ترکیب با الگوریتم های تطبیق فرکانس، دریافت قابل اعتماد و پایداری را ارائه دهد.
کانال ها در یک باند در موقعیت های مگاهرتز صحیح قرار می گیرند که در آن تعریف شده است
سیگنال رادیویی صفحه کلید در نمایش زمان
گیرنده از اصل همبستگی دریافت استفاده می کند، بنابراین بسته ارسالی شامل یک مقدمه و یک قسمت آدرس است. از کدگذاری مقاوم در برابر نویز استفاده نمی شود؛ بدنه داده با الگوریتم AES128 رمزگذاری شده است.
به طور کلی، رابط رادیویی صفحهکلید بیسیم لاجیتک را میتوان کاملاً ناهمزمان با مولتی پلکسهای آماری و سازگاری فرکانس مشخص کرد. این بدان معنی است که فرستنده صفحه کلید کانال را برای انتقال هر بسته جدید تغییر می دهد. گیرنده از قبل نه زمان ارسال و نه کانال فرکانس را نمی داند، اما فقط لیست آنها مشخص است. گیرنده و فرستنده در کانال به لطف الگوریتم های فرکانس بای پس و گوش دادن هماهنگ، و همچنین مکانیسم های تأیید ShockBurst پیشرفته، به هم می رسند. ما بررسی نکرده ایم که آیا لیست کانال ثابت است یا خیر. احتمالا تغییر آن به دلیل الگوریتم انطباق فرکانس است. چیزی نزدیک به روش پرش فرکانس (تنظیم شبه تصادفی فرکانس کاری) را می توان در استفاده از منبع فرکانس محدوده مشاهده کرد.
بنابراین، در شرایط عدم قطعیت زمان-فرکانس، برای اطمینان از دریافت تضمینی همه سیگنالهای صفحه کلید، یک مهاجم باید دائماً کل شبکه فرکانس 84 موقعیت را تحت نظر داشته باشد که به زمان قابل توجهی نیاز دارد. در اینجا مشخص می شود که چرا آسیب پذیری استخراج کلید USB (CVE-2019-13054)
نگاهی به مشکل از درون
برای مطالعه خود، یکی از کیبوردهای 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
برای کنترل یکپارچگی سیستم عامل، با موفقیت در حافظه کنترلر قرار گرفت و به درستی کار کرد، صفحه کلید و ماوس از طریق 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 با سیستم عامل اصلاح شده، پایه ای را مونتاژ کردیم که شامل یک دانگل لاجیتک با سیستم عامل اصلاح شده، یک صفحه کلید بی سیم و یک گیرنده مونتاژ شده بر اساس یک ماژول چینی با تراشه NRF24 بود.
مدار شنود سیگنال رادیویی صفحه کلید بی سیم لاجیتک
ماژول مبتنی بر NRF24
روی نیمکت، با عملکرد عادی صفحه کلید، پس از اتصال آن به دانگل لاجیتک، انتقال داده های واضح در مورد ضربه زدن به کلید در کانال رادیویی جانبی و انتقال عادی داده های رمزگذاری شده در رابط رادیویی اصلی را مشاهده کردیم. بنابراین، ما توانستیم رهگیری مستقیم ورودی صفحه کلید کاربر را ارائه دهیم:
نتیجه رهگیری ورودی صفحه کلید
کد تزریق شده تاخیرهای جزئی را در عملکرد سیستم عامل دانگل ایجاد می کند. با این حال، آنها برای کاربر بسیار کوچک هستند.
همانطور که می توانید تصور کنید، هر صفحه کلید لاجیتک که با فناوری Unifying سازگار باشد می تواند برای این بردار حمله استفاده شود. از آنجایی که این حمله گیرنده Unifying موجود در اکثر صفحه کلیدهای لاجیتک را هدف قرار می دهد، مستقل از مدل صفحه کلید خاص است.
نتیجه
نتایج این مطالعه استفاده احتمالی از سناریوی در نظر گرفته شده توسط مهاجمان را پیشنهاد می کند: اگر یک هکر قربانی را با یک گیرنده دانگل برای صفحه کلید بی سیم لاجیتک جایگزین کند، آنگاه می تواند رمزهای عبور حساب های قربانی را با تمام موارد بعدی پیدا کند. عواقب. فراموش نکنید که امکان تزریق کلید نیز وجود دارد، به این معنی که اجرای کد دلخواه در رایانه قربانی دشوار نیست.
اگر ناگهان یک مهاجم بتواند از راه دور سیستم عامل هر دانگل لاجیتک را از طریق USB تغییر دهد چه؟ سپس، از دانگل های نزدیک، می توانید شبکه ای از تکرار کننده ها ایجاد کنید و فاصله نشتی را افزایش دهید. اگرچه یک مهاجم «ثروتمند مالی» میتواند حتی از یک ساختمان همسایه به ورودی صفحهکلید گوش دهد و کلیدها را فشار دهد، تجهیزات دریافت رادیویی مدرن با سیستمهای انتخابی بالا، گیرندههای رادیویی حساس با زمان تنظیم فرکانس کوتاه و آنتنهای بسیار جهتدار به آنها اجازه میدهند. برای "گوش دادن" به ورودی صفحه کلید و فشار دادن کلیدها حتی از یک ساختمان همسایه.
تجهیزات رادیویی حرفه ای
از آنجایی که کانال انتقال داده بی سیم صفحه کلید لاجیتک کاملاً محافظت می شود، بردار حمله یافت شده نیاز به دسترسی فیزیکی به گیرنده دارد که مهاجم را تا حد زیادی محدود می کند. تنها گزینه حفاظتی در این مورد استفاده از مکانیزم های حفاظتی رمزنگاری برای سیستم عامل گیرنده است، به عنوان مثال، بررسی امضای سیستم عامل بارگذاری شده در سمت گیرنده. اما متأسفانه NRF24 از این پشتیبانی نمیکند و اجرای حفاظت در معماری دستگاه فعلی غیرممکن است. بنابراین مراقب دانگل های خود باشید، زیرا گزینه حمله توصیف شده نیاز به دسترسی فیزیکی به آنها دارد.
Raccoon Security یک تیم ویژه از کارشناسان مرکز تحقیق و توسعه Vulcan در زمینه امنیت اطلاعات عملی، رمزنگاری، طراحی مدار، مهندسی معکوس و ایجاد نرم افزارهای سطح پایین است.
منبع: www.habr.com