Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Tarixan ko'pchilik xodimlar Logitech simsiz klaviaturalari va sichqonlaridan foydalanadilar. Parollarimizni yana bir bor kiritib, biz, Raccoon Security jamoasi mutaxassislari, o'zimizga savol berdik: simsiz klaviaturalarning xavfsizlik mexanizmlarini chetlab o'tish qanchalik qiyin? Tadqiqot arxitektura kamchiliklari va kiritilgan ma'lumotlarga kirish imkonini beruvchi dasturiy xatolarni aniqladi. Kesish ostida biz olgan narsa.

Nima uchun Logitech?

Bizning fikrimizcha, Logitech kiritish qurilmalari eng sifatli va eng qulaylari qatoriga kiradi. Bizda mavjud qurilmalarning aksariyati Logitech yechimiga asoslangan birlashtiruvchi 6 tagacha qurilmani ulash imkonini beruvchi universal dongle qabul qiluvchisi. Logitech Unifying texnologiyasiga mos keladigan barcha qurilmalar Logitech Unifying texnologiyasi logotipi bilan belgilangan. Foydalanish oson ariza Simsiz klaviaturalarning kompyuteringizga ulanishini boshqarish imkonini beradi. Klaviaturani Logitech qabul qiluvchi donglega ulash jarayoni, shuningdek, texnologiyaning o'zi, masalan, shu yerda.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Logitech Unifying qo'llab-quvvatlashiga ega dongle qabul qiluvchisi

Klaviatura tajovuzkorlar uchun ma'lumot manbai bo'lishi mumkin. Logitech, mumkin bo'lgan tahdidni hisobga olgan holda, xavfsizlik haqida g'amxo'rlik qildi - simsiz klaviatura radiokanalida AES128 shifrlash algoritmidan foydalangan. Bu vaziyatda tajovuzkorning paydo bo'lishi mumkin bo'lgan birinchi fikr bog'lash jarayoni davomida radiokanal orqali uzatilganda asosiy ma'lumotlarni ushlab qolishdir. Axir, agar sizda kalit bo'lsa, siz klaviaturaning radio signallarini ushlab, ularni parolini hal qilishingiz mumkin. Biroq, foydalanuvchi kamdan-kam hollarda (yoki hatto hech qachon) klaviaturani birlashtirishi kerak va skanerlash radiosi bo'lgan xaker uzoq vaqt kutishi kerak. Bundan tashqari, ushlash jarayonining o'zi bilan hamma narsa juda oddiy emas. 2019 yil iyun oyida o'tkazilgan so'nggi tadqiqotda xavfsizlik bo'yicha ekspert Markus Mengs Internetda e'lon qildi xabar Logitech USB dongles-ning eski proshivkalarida zaiflik aniqlangani haqida. U qurilmalarga jismoniy kirish huquqiga ega boʻlgan tajovuzkorlarga radiokanal shifrlash kalitlarini olish va tugmalarni bosish (CVE-2019-13054) imkonini beradi.

Biz Nordic Semiconductor kompaniyasining NRF24 SoC asosidagi Logitech dongle xavfsizligini o'rganishimiz haqida gaplashamiz. Keling, radio kanalining o'zidan boshlaylik.

Radio kanalida ma'lumotlar qanday "uchadi"

Radio signalining vaqt chastotasini tahlil qilish uchun biz spektr analizatori rejimida Blade-RF qurilmasiga asoslangan SDR qabul qilgichidan foydalandik (bu haqda ham o'qishingiz mumkin). shu yerda).

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

SDR Blade-RF qurilmasi

Shuningdek, biz radio signalning kvadraturalarini oraliq chastotada yozib olish imkoniyatini ko'rib chiqdik, keyinchalik ularni raqamli signalni qayta ishlash texnikasi yordamida tahlil qilish mumkin.

Rossiya Federatsiyasida radiochastotalar bo'yicha davlat komissiyasi ruxsat berilgan qisqa masofali qurilmalar tomonidan foydalanish uchun chastota diapazoni 2400–2483,5 MGts. Bu juda "aholi" diapazon bo'lib, unda siz hech narsa topa olmaysiz: Wi-Fi, Bluetooth, masofadan boshqarishning barcha turlari, xavfsizlik tizimlari, simsiz detektorlar, klaviaturali sichqonchalar va boshqa simsiz raqamli qurilmalar.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

2,4 gigagertsli diapazonning spektri

Diapazondagi interferentsiya muhiti ancha murakkab. Shunga qaramay, Logitech chastotani moslashtirish algoritmlari bilan birgalikda NRF24 qabul qiluvchi-uzatuvchisida Kengaytirilgan ShockBurst protokolidan foydalanish orqali ishonchli va barqaror qabul qilishni ta'minlay oldi.

Tasvirdagi kanallar moddasida belgilanganidek butun MGts pozitsiyalariga joylashtiriladi texnik xususiyatlar NRF24 Nordic Semiconductor - chastotalar tarmog'ida jami 84 ta kanal. Logitech tomonidan bir vaqtning o'zida ishlatiladigan chastota kanallari soni, albatta, kamroq. Biz kamida to'rttadan foydalanishni aniqladik. Amaldagi signal spektri analizatorining cheklangan tarmoqli kengligi tufayli foydalanilgan chastota pozitsiyalarining aniq ro'yxatini aniqlab bo'lmadi, ammo bu zarur emas edi. Klaviaturadan qabul qiluvchi donglega ma'lumot Burst rejimida (uzatuvchini qisqa vaqt ichida yoqadi) ikki pozitsiyali chastotali modulyatsiya GFSK yordamida 1 Mbaud simvol tezligida uzatiladi:

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Vaqtni ko'rsatishda klaviatura radio signali

Qabul qiluvchi qabul qilishning korrelyatsiya tamoyilidan foydalanadi, shuning uchun uzatiladigan paketda kirish va manzil qismi mavjud. Shovqinga chidamli kodlash ishlatilmaydi, ma'lumotlar tanasi AES128 algoritmi bilan shifrlangan.

Umuman olganda, Logitech simsiz klaviaturasining radio interfeysi statistik multiplekslash va chastota moslashuvi bilan to'liq asinxron sifatida tavsiflanishi mumkin. Bu shuni anglatadiki, klaviatura uzatuvchisi har bir yangi paketni uzatish uchun kanalni almashtiradi. Qabul qiluvchi na uzatish vaqtini, na chastota kanalini oldindan bilmaydi, faqat ularning ro'yxati ma'lum. Qabul qilgich va uzatuvchi muvofiqlashtirilgan chastotani aylanib o'tish va tinglash algoritmlari, shuningdek, ShockBurst-ni tasdiqlashning kengaytirilgan mexanizmlari tufayli kanalda uchrashadi. Biz kanallar ro'yxati statik yoki yo'qligini tekshirmadik. Ehtimol, uning o'zgarishi chastotani moslashtirish algoritmi bilan bog'liq. Chastotani sakrash usuliga yaqin narsani (ish chastotasini psevdo-tasodifiy sozlash) diapazonning chastota resursidan foydalanishda ko'rish mumkin.

Shunday qilib, vaqt chastotasi noaniqligi sharoitida barcha klaviatura signallarining kafolatlangan qabul qilinishini ta'minlash uchun tajovuzkor 84 pozitsiyadan iborat butun chastotalar tarmog'ini doimiy ravishda kuzatib borishi kerak, bu esa katta vaqtni talab qiladi. Bu erda nima uchun USB kalitlarni chiqarish zaifligi aniq bo'ladi (CVE-2019-13054) manbalarda tajovuzkorning klaviaturadan kiritilgan ma'lumotlarga kirishini qo'lga kiritish o'rniga, tugmalarni bosish qobiliyati sifatida joylashtirilgan. Shubhasiz, simsiz klaviaturaning radio interfeysi juda murakkab va 2,4 gigagertsli diapazondagi qiyin shovqin sharoitida Logitech qurilmalari o'rtasida ishonchli radio aloqani ta'minlaydi.

Muammoga ichkaridan qarash

Tadqiqotimiz uchun biz mavjud Logitech K330 klaviaturalaridan birini va Logitech Unifying dongle-ni tanladik.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Logitech K330

Keling, klaviaturaning ichki qismini ko'rib chiqaylik. O'rganish uchun taxtadagi qiziqarli element Nordic Semiconductor kompaniyasining SoC NRF24 chipidir.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Logitech K24 simsiz klaviaturasidagi SoC NRF330

Mikrodastur ichki xotirada joylashgan, o'qish va disk raskadrovka mexanizmlari o'chirilgan. Afsuski, proshivka ochiq manbalarda nashr etilmagan. Shuning uchun biz muammoga boshqa tomondan yondashishga qaror qildik - Logitech dongle qabul qilgichining ichki tarkibini o'rganish.

Dongle qabul qiluvchining "ichki dunyosi" juda qiziq. Dongle osongina qismlarga ajratiladi, o'rnatilgan USB kontrolleri bilan tanish NRF24 relizini bortda olib yuradi va uni USB tomondan ham, to'g'ridan-to'g'ri dasturchidan ham qayta dasturlash mumkin.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Logitech dongle korpussiz

Mikrodasturni yangilash uchun standart mexanizm mavjudligi sababli Mikrodasturlarni yangilash vositasi ilovalari (undan yangilangan proshivka versiyasini chiqarib olishingiz mumkin), dongle ichida mikrodasturni izlashning hojati yo'q.

Nima qilindi: proshivka RQR_012_005_00028.bin Firmware Update Tool ilovasining korpusidan chiqarildi. Uning yaxlitligini tekshirish uchun dongle boshqaruvchisi kabel orqali ulangan ChipProg-48 dasturchisiga:

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Logitech dongle-ni ChipProg 48 dasturchisiga ulash uchun kabel

Mikrodasturning yaxlitligini nazorat qilish uchun u kontroller xotirasiga muvaffaqiyatli joylashtirildi va to'g'ri ishladi, klaviatura va sichqoncha Logitech Unifying orqali donglega ulandi. O'zgartirilgan proshivkani standart yangilash mexanizmi yordamida yuklash mumkin, chunki proshivka uchun kriptografik himoya mexanizmlari mavjud emas. Tadqiqot maqsadlarida biz dasturchiga jismoniy ulanishdan foydalandik, chunki disk raskadrovka shu tarzda tezroq amalga oshiriladi.

Mikrodasturni o'rganish va foydalanuvchi kiritishiga hujum

NRF24 chipi an'anaviy Garvard arxitekturasida Intel 8051 hisoblash yadrosi asosida ishlab chiqilgan. Yadro uchun qabul qiluvchi qurilma periferik qurilma vazifasini bajaradi va registrlar to'plami sifatida manzil maydoniga joylashtiriladi. Chip uchun hujjatlar va manba kodi misollarini Internetda topish mumkin, shuning uchun proshivkani demontaj qilish qiyin emas. Teskari muhandislik jarayonida biz radiokanaldan tugma ma'lumotlarini qabul qilish va USB interfeysi orqali xostga uzatish uchun HID formatiga aylantirish funktsiyalarini lokalizatsiya qildik. In'ektsiya kodi bo'sh xotira manzillariga joylashtirildi, ular nazoratni ushlab turish, asl ijro kontekstini saqlash va tiklash vositalarini, shuningdek, funktsional kodni o'z ichiga oladi.

Dongle tomonidan radiokanaldan olingan kalitni bosish yoki qo'yib yuborish paketi shifrlangan, standart HID hisobotiga aylantiriladi va oddiy klaviaturadan USB interfeysiga yuboriladi. Tadqiqotning bir qismi sifatida HID hisobotining biz uchun eng qiziq bo'lgan qismi HID hisobotining bir bayt modifikator bayroqlarini va tugmalar bosish kodlari bilan 6 bayt massivni o'z ichiga olgan qismidir (ma'lumot uchun, HID haqida ma'lumot). shu yerda).

HID hisobot tuzilishi:

// 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 tuzilmasini xostga uzatishdan oldin darhol kiritilgan kod nazoratni o'z qo'liga oladi, 8 baytlik mahalliy HID ma'lumotlarini xotiraga ko'chiradi va uni aniq matnda radio yon kanaliga yuboradi. Kodda bu shunday ko'rinadi:

//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<

Yon kanal biz o'rnatgan chastotada manipulyatsiya tezligi va paket tuzilishining ma'lum xususiyatlari bilan tashkil etilgan.

Chipdagi qabul qiluvchining ishlashi NRF24 Kengaytirilgan ShockBurst protokoli organik tarzda birlashtirilgan holat grafigiga asoslanadi. Biz HID ma'lumotlarini asosiy USB interfeysiga uzatishdan oldin darhol qabul qiluvchining IDLE holatida ekanligini aniqladik. Bu uni yon kanalda ishlash uchun xavfsiz tarzda qayta sozlash imkonini beradi. AOK qilingan kod boshqaruvni to'xtatadi, qabul qiluvchining asl konfiguratsiyasini to'liq saqlaydi va uni yon kanalda yangi uzatish rejimiga o'tkazadi. Kengaytirilgan ShockBurst tasdiqlash mexanizmi ushbu rejimda o'chirilgan; HID ma'lumotlari havo orqali aniq shaklda uzatiladi. Yon kanaldagi paketning tuzilishi quyidagi rasmda ko'rsatilgan, signal diagrammalari demodulyatsiyadan keyin va ma'lumotlar soati sinxronizatsiyasini tiklashdan oldin olingan. Manzil qiymati paketni vizual identifikatsiya qilish qulayligi uchun tanlangan.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Yon kanaldagi demodulyatsiyalangan portlash signali

Paket yon kanalga uzatilgandan so'ng, kiritilgan kod qabul qiluvchining holatini tiklaydi. Endi u yana original proshivka kontekstida normal ishlashga tayyor.

Chastota va vaqt chastotasi domenlarida yon kanal quyidagicha ko'rinadi:

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Yon kanalning spektral va vaqt chastotasi tasviri

NRF24 chipining o'zgartirilgan proshivka bilan ishlashini sinab ko'rish uchun biz o'zgartirilgan proshivkali Logitech dongle, simsiz klaviatura va NRF24 chipli xitoy moduli asosida yig'ilgan qabul qilgichni o'z ichiga olgan stendni yig'dik.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Logitech simsiz klaviaturasi radio signalini ushlab turish sxemasi

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

NRF24 asosidagi modul

Klaviatura normal ishlayotgan skameykada, uni Logitech dongle-ga ulaganimizdan so'ng, biz yon radiokanaldagi tugmachalarni bosish haqida aniq ma'lumotlar uzatilishini va asosiy radio interfeysida shifrlangan ma'lumotlarning normal uzatilishini kuzatdik. Shunday qilib, biz foydalanuvchi klaviaturasi kiritishni to'g'ridan-to'g'ri ushlab turishni ta'minlay oldik:

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Klaviatura kiritishni ushlab turish natijasi

AOK qilingan kod dongle mikrodasturining ishlashida biroz kechikishlarni keltirib chiqaradi. Biroq, ular foydalanuvchi sezishi uchun juda kichikdir.

Siz tasavvur qilganingizdek, ushbu hujum vektori uchun Unifying texnologiyasiga mos keladigan har qanday Logitech klaviaturasidan foydalanish mumkin. Hujum Logitech klaviaturalarining ko'pchiligiga kiritilgan Unifying qabul qiluvchisiga qaratilganligi sababli, u maxsus klaviatura modelidan mustaqil.

xulosa

Tadqiqot natijalari tajovuzkorlar tomonidan ko'rib chiqilgan stsenariydan foydalanishi mumkinligini ko'rsatmoqda: agar xaker qurbonni Logitech simsiz klaviaturasi uchun dongle qabul qiluvchisi bilan almashtirsa, u jabrlanuvchining akkauntlari parollarini keyingi barcha narsalar bilan bilib olishi mumkin bo'ladi. oqibatlari. Shuni unutmangki, tugmachalarni bosish ham mumkin, ya'ni jabrlanuvchining kompyuterida o'zboshimchalik bilan kodni bajarish qiyin emas.

Agar to'satdan tajovuzkor har qanday Logitech dongle-ning proshivkasini USB orqali masofadan o'zgartira olsa-chi? Keyin, bir-biriga yaqin joylashgan donglelardan siz takrorlagichlar tarmog'ini yaratishingiz va oqish masofasini oshirishingiz mumkin. Garchi "moliyaviy jihatdan boy" tajovuzkor hatto qo'shni binodan ham klaviatura kiritishini "tinglashi" va tugmachalarni bosishi mumkin bo'lsa-da, yuqori selektiv tizimlarga ega zamonaviy radio qabul qilish uskunalari, qisqa chastotali sozlash vaqtlari va yuqori yo'nalishli antennalarga ega sezgir radio qabul qiluvchilar ularga imkon beradi. klaviatura kiritishni "tinglash" va hatto qo'shni binodan ham tugmachalarni bosing.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Professional radio jihozlari

Logitech klaviaturasining simsiz ma'lumotlar uzatish kanali juda yaxshi himoyalanganligi sababli, topilgan hujum vektori qabul qiluvchiga jismoniy kirishni talab qiladi, bu esa tajovuzkorni sezilarli darajada cheklaydi. Bu holda yagona himoya varianti qabul qiluvchining dasturiy ta'minoti uchun kriptografik himoya mexanizmlaridan foydalanish, masalan, qabul qiluvchi tomonida yuklangan proshivka imzosini tekshirish bo'ladi. Ammo, afsuski, NRF24 buni qo'llab-quvvatlamaydi va joriy qurilma arxitekturasida himoyani amalga oshirish mumkin emas. Shunday qilib, donglelaringizga g'amxo'rlik qiling, chunki tasvirlangan hujum opsiyasi ularga jismoniy kirishni talab qiladi.

Dongles haqida ehtiyot bo'ling: Logitech klaviatura qabul qiluvchisi xavfsizligini o'rganish

Raccoon Security - amaliy axborot xavfsizligi, kriptografiya, sxemalar dizayni, teskari muhandislik va past darajadagi dasturiy ta'minotni yaratish sohasida Vulkan tadqiqot va ishlanmalar markazining maxsus mutaxassislari jamoasi.

Manba: www.habr.com

a Izoh qo'shish