Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Tarixən əksər işçilər Logitech-dən simsiz klaviatura və siçanlardan istifadə edirlər. Parollarımızı bir daha daxil edərək, biz, Raccoon Security komandasının mütəxəssisləri özümüzə sual verdik: simsiz klaviaturaların təhlükəsizlik mexanizmlərindən yan keçmək nə qədər çətindir? Tədqiqat memarlıq qüsurlarını və daxil edilmiş məlumatlara giriş imkanı verən proqram xətalarını aşkar edib. Kesimin altında əldə etdiyimiz şeydir.

Niyə Logitech?

Fikrimizcə, Logitech daxiletmə qurğuları ən keyfiyyətli və rahatdır. Bizdə olan cihazların əksəriyyəti Logitech həllinə əsaslanır birləşdirici 6 cihazı birləşdirməyə imkan verən universal dongle qəbuledicisidir. Logitech Unifying texnologiyasına uyğun gələn bütün cihazlar Logitech Unifying texnologiya loqosu ilə işarələnib. İstifadəsi asandır приложение Simsiz klaviaturaların kompüterinizə qoşulmasını idarə etməyə imkan verir. Klaviaturanın Logitech qəbuledici açarına qoşulma prosesi, eləcə də texnologiyanın özü, məsələn, burada.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Logitech Unifying dəstəyi ilə dongle qəbuledicisi

Klaviatura təcavüzkarlar üçün məlumat mənbəyinə çevrilə bilər. Logitech, mümkün təhlükəni nəzərə alaraq, təhlükəsizliyin qayğısına qaldı - simsiz klaviaturanın radio kanalında AES128 şifrələmə alqoritmindən istifadə etdi. Təcavüzkarın bu vəziyyətdə ola biləcəyi ilk düşüncə, bağlama proseduru zamanı radio kanalı üzərindən ötürülən əsas məlumatları ələ keçirməkdir. Axı, açarınız varsa, klaviaturanın radio siqnallarını tuta və onların şifrəsini aça bilərsiniz. Bununla belə, istifadəçi nadir hallarda (və ya hətta heç vaxt) klaviaturanı birləşdirməlidir və skan edən radio ilə bir haker uzun müddət gözləməli olacaq. Bundan əlavə, ələ keçirmə prosesinin özü ilə hər şey o qədər də sadə deyil. 2019-cu ilin iyun ayında edilən son araşdırmada təhlükəsizlik üzrə ekspert Markus Menqs onlayn yayımladı сообщение Logitech USB dongles köhnə proqram təminatında zəifliyin aşkar edilməsi haqqında. O, cihazlara fiziki girişi olan təcavüzkarlara radio kanalının şifrələmə açarlarını əldə etməyə və düymə vuruşlarını daxil etməyə imkan verir (CVE-2019-13054).

Nordic Semiconductor-dan NRF24 SoC əsasında Logitech dongle təhlükəsizlik araşdırmamız haqqında danışacağıq. Gəlin, bəlkə də, radio kanalının özündən başlayaq.

Bir radio kanalında məlumat necə "uçur"

Radio siqnalının zaman-tezlik analizi üçün spektr analizator rejimində Blade-RF cihazına əsaslanan SDR qəbuledicisindən istifadə etdik (bu barədə də oxuya bilərsiniz) burada).

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

SDR Blade-RF Cihazı

Biz həmçinin radiosiqnalın kvadratlarını aralıq tezlikdə qeyd etmək imkanını nəzərdən keçirdik ki, bu da sonra rəqəmsal siqnal emal üsullarından istifadə etməklə təhlil edilə bilər.

Rusiya Federasiyasında Radiotezliklər üzrə Dövlət Komissiyası icazə verilir qısa mənzilli cihazlar tərəfindən istifadə üçün tezlik diapazonu 2400–2483,5 MHz-dir. Bu, çox "məskunlaşmış" bir sıradır, orada heç bir şey tapa bilməyəcəksiniz: Wi-Fi, Bluetooth, hər cür uzaqdan idarəetmə, təhlükəsizlik sistemləri, simsiz detektorlar, klaviaturalı siçanlar və digər simsiz rəqəmsal cihazlar.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

2,4 GHz diapazonunun spektri

Aralıqdakı müdaxilə mühiti olduqca mürəkkəbdir. Buna baxmayaraq, Logitech tezlik adaptasiyası alqoritmləri ilə birlikdə NRF24 ötürücüsindəki Təkmilləşdirilmiş ShockBurst protokolundan istifadə etməklə etibarlı və sabit qəbulu təmin edə bildi.

Bir diapazondakı kanallar -də müəyyən edildiyi kimi tam MHz mövqelərində yerləşdirilir spesifikasiyalar NRF24 Nordic Semiconductor - tezlik şəbəkəsində cəmi 84 kanal. Logitech tərəfindən eyni vaxtda istifadə olunan tezlik kanallarının sayı, əlbəttə ki, daha azdır. Ən azı dörd istifadəni təyin etdik. İstifadə olunan siqnal spektri analizatorunun məhdud bant genişliyi səbəbindən istifadə olunan tezlik mövqelərinin dəqiq siyahısını müəyyən etmək mümkün olmadı, lakin bu lazım deyildi. Klaviaturadan qəbuledici açara məlumat 1 Mbaud simvol sürətində iki mövqeli tezlik modulyasiyası GFSK istifadə edərək Burst rejimində (ötürücü qısa müddətə işə salınır) ötürülür:

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Vaxt təmsilində klaviatura radio siqnalı

Qəbuledici qəbulun korrelyasiya prinsipindən istifadə edir, ona görə də ötürülən paketdə preambula və ünvan hissəsi var. Səs-küyə davamlı kodlaşdırma istifadə edilmir, məlumat orqanı AES128 alqoritmi ilə şifrələnir.

Ümumiyyətlə, Logitech simsiz klaviaturasının radio interfeysi statistik multipleksləşdirmə və tezlik uyğunlaşması ilə tamamilə asinxron kimi xarakterizə edilə bilər. Bu o deməkdir ki, klaviatura ötürücüsü hər bir yeni paketi ötürmək üçün kanalı dəyişdirir. Qəbuledici əvvəlcədən nə ötürmə vaxtını, nə də tezlik kanalını bilmir, ancaq onların siyahısı məlumdur. Qəbuledici və ötürücü koordinasiya olunmuş tezlikdən keçmə və dinləmə alqoritmləri, eləcə də Təkmilləşdirilmiş ŞokBurst etirafı mexanizmləri sayəsində kanalda görüşür. Kanal siyahısının statik olub-olmamasını araşdırmamışıq. Çox güman ki, onun dəyişməsi tezliyə uyğunlaşma alqoritmi ilə bağlıdır. Tezlik atlama metoduna yaxın bir şey (iş tezliyinin psevdo-təsadüfi tənzimlənməsi) diapazonun tezlik resursunun istifadəsində görünə bilər.

Beləliklə, zaman-tezlik qeyri-müəyyənliyi şəraitində bütün klaviatura siqnallarının zəmanətli qəbulunu təmin etmək üçün təcavüzkar 84 mövqedən ibarət bütün tezlik şəbəkəsini daim izləməli olacaq ki, bu da xeyli vaxt tələb edir. Burada USB açarı çıxarma zəifliyinin (CVE-2019-13054) səbəb olduğu aydın olur. mənbələrdə Təcavüzkarın klaviaturadan daxil edilmiş məlumatlara girişini əldə etmək əvəzinə, düymələri vurmaq imkanı kimi yerləşdirilmişdir. Aydındır ki, simsiz klaviaturanın radio interfeysi kifayət qədər mürəkkəbdir və 2,4 GHz diapazonunda çətin müdaxilə şəraitində Logitech cihazları arasında etibarlı radio rabitəsini təmin edir.

Problemə daxildən baxmaq

Tədqiqat üçün biz mövcud Logitech K330 klaviaturalarımızdan birini və Logitech Unifying açarı seçdik.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Logitech K330

Klaviaturanın içərisinə nəzər salaq. Öyrənmək üçün lövhədə maraqlı element Nordic Semiconductor-dan olan SoC NRF24 çipidir.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Logitech K24 simsiz klaviatura lövhəsində SoC NRF330

Firmware daxili yaddaşda yerləşir, oxuma və ayıklama mexanizmləri qeyri-aktivdir. Təəssüf ki, proqram təminatı açıq mənbələrdə dərc olunmayıb. Buna görə də, problemə digər tərəfdən yanaşmaq qərarına gəldik - Logitech dongle qəbuledicisinin daxili məzmununu öyrənmək.

Dongle qəbuledicisinin "daxili dünyası" olduqca maraqlıdır. Dongle asanlıqla sökülür, quraşdırılmış USB nəzarətçi ilə tanış NRF24 buraxılışını bortda daşıyır və həm USB tərəfdən, həm də birbaşa proqramçı tərəfindən yenidən proqramlaşdırıla bilər.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Korpussuz Logitech dongle

Firmware-dən istifadə edərək yeniləmək üçün standart bir mexanizm olduğundan Firmware Update Tool proqramları (ondan yenilənmiş mikroproqram versiyasını çıxara bilərsiniz), dongle daxilində proqram təminatı axtarmağa ehtiyac yoxdur.

Nə edildi: proqram təminatı RQR_012_005_00028.bin Firmware Update Tool tətbiqinin gövdəsindən çıxarıldı. Bütövlüyünü yoxlamaq üçün dongle nəzarətçisi bir kabel ilə birləşdirildi ChipProg-48 proqramçısına:

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Logitech açarını ChipProg 48 proqramçısına qoşmaq üçün kabel

Mikroproqramın bütövlüyünə nəzarət etmək üçün o, nəzarətçinin yaddaşına uğurla yerləşdirildi və düzgün işlədi, klaviatura və siçan Logitech Unifying vasitəsilə dongle ilə birləşdirildi. Standart yeniləmə mexanizmindən istifadə edərək dəyişdirilmiş proqram təminatını yükləmək mümkündür, çünki mikroproqram üçün kriptoqrafik qorunma mexanizmləri yoxdur. Tədqiqat məqsədləri üçün proqramçı ilə fiziki əlaqədən istifadə etdik, çünki sazlama bu şəkildə daha sürətli olur.

Firmware tədqiqatı və istifadəçi girişinə hücum

NRF24 çipi ənənəvi Harvard memarlığında Intel 8051 hesablama nüvəsi əsasında hazırlanmışdır. Nüvə üçün ötürücü periferik cihaz kimi çıxış edir və registrlər dəsti kimi ünvan məkanında yerləşdirilir. Çip üçün sənədlər və mənbə kodu nümunələri İnternetdə tapıla bilər, buna görə də proqram təminatının sökülməsi çətin deyil. Ters mühəndislik zamanı biz radio kanalından klaviatura məlumatlarının qəbulu və USB interfeysi vasitəsilə hosta ötürülməsi üçün HID formatına çevrilməsi funksiyalarını lokallaşdırdıq. Enjeksiyon kodu boş yaddaş ünvanlarına yerləşdirilib, bura nəzarətin qarşısını almaq, orijinal icra kontekstini saxlamaq və bərpa etmək üçün alətlər, həmçinin funksional kod daxildir.

Radio kanalından dongle tərəfindən qəbul edilən düymənin basılması və ya buraxılması paketi şifrələnir, standart HID hesabatına çevrilir və adi klaviaturadan olduğu kimi USB interfeysinə göndərilir. Tədqiqatın bir hissəsi olaraq, HID hesabatının bizi ən çox maraqlandıran hissəsi HID hesabatının dəyişdirici baytlardan ibarət baytdan və düymələrin vuruş kodları ilə 6 baytlıq massivdən ibarət hissəsidir (istinad üçün, HID haqqında məlumat burada).

HID hesabat strukturu:

// 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 strukturunu hosta ötürməzdən dərhal əvvəl yeridilmiş kod nəzarəti ələ alır, 8 bayt yerli HID məlumatını yaddaşa köçürür və onu aydın mətnlə radio yan kanalına göndərir. Kodda bu belə görünür:

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

Yan kanal manipulyasiya sürətinin və paket strukturunun müəyyən xüsusiyyətləri ilə təyin etdiyimiz tezlikdə təşkil edilir.

Çipdə qəbuledicinin işləməsi NRF24 Təkmilləşdirilmiş ShockBurst protokolunun üzvi şəkildə inteqrasiya olunduğu vəziyyət qrafikinə əsaslanır. HID məlumatlarını hostun USB interfeysinə ötürməzdən dərhal əvvəl qəbuledicinin IDLE vəziyyətində olduğunu aşkar etdik. Bu, yan kanalda işləmək üçün onu təhlükəsiz şəkildə yenidən konfiqurasiya etməyə imkan verir. Daxil edilmiş kod idarəetməni kəsir, orijinal ötürücü konfiqurasiyanı tam şəkildə saxlayır və onu yan kanalda yeni ötürmə rejiminə keçirir. Enhanced ShockBurst təsdiqləmə mexanizmi bu rejimdə söndürülür; HID məlumatları hava ilə aydın formada ötürülür. Yan kanalda paketin strukturu aşağıdakı şəkildə göstərilmişdir, siqnal diaqramları demodulyasiyadan sonra və məlumat saatlarının sinxronizasiyasının bərpasına qədər alınmışdır. Ünvan dəyəri paketin vizual identifikasiyası asanlığı üçün seçilmişdir.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Yan Kanalda Demodulyasiya edilmiş Partlayış Siqnalı

Paket yan kanala ötürüldükdən sonra yeridilmiş kod qəbuledicinin vəziyyətini bərpa edir. İndi yenidən orijinal proqram təminatı kontekstində normal işləməyə hazırdır.

Tezlik və zaman-tezlik domenlərində yan kanal belə görünür:

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Yan kanalın spektral və zaman-tezlik təsviri

NRF24 çipinin dəyişdirilmiş proqram təminatı ilə işləməsini yoxlamaq üçün biz dəyişdirilmiş proqram təminatı ilə Logitech dongle, simsiz klaviatura və NRF24 çipi ilə Çin modulu əsasında yığılmış qəbuledicidən ibarət stend yığdıq.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Logitech simsiz klaviatura radio siqnalının tutulması sxemi

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

NRF24 əsaslı modul

Skamyada, klaviatura normal işləyərkən, onu Logitech dongle ilə birləşdirdikdən sonra yan radio kanalında düymələrin vuruşları haqqında aydın məlumatların ötürülməsini və əsas radio interfeysində şifrələnmiş məlumatların normal ötürülməsini müşahidə etdik. Beləliklə, biz istifadəçinin klaviatura girişinin birbaşa tutulmasını təmin edə bildik:

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Klaviatura girişinə müdaxilənin nəticəsi

Enjekte edilmiş kod dongle proqram təminatının işində cüzi gecikmələr təqdim edir. Bununla belə, onlar istifadəçinin fərqinə varması üçün çox kiçikdir.

Təsəvvür etdiyiniz kimi, bu hücum vektoru üçün Unifying texnologiyası ilə uyğun gələn istənilən Logitech klaviaturasından istifadə edilə bilər. Hücum əksər Logitech klaviaturalarına daxil olan Birləşdirici qəbuledicini hədəf aldığından, o, xüsusi klaviatura modelindən asılı deyil.

Nəticə

Tədqiqatın nəticələri təcavüzkarlar tərəfindən nəzərdən keçirilən ssenaridən mümkün istifadəni təklif edir: əgər haker qurbanı Logitech simsiz klaviaturası üçün dongle qəbuledicisi ilə əvəz edərsə, o zaman qurbanın hesablarının parollarını bütün sonrakı məlumatlarla öyrənə biləcək. nəticələri. Unutmayın ki, düymələri vurmaq da mümkündür, yəni qurbanın kompüterində ixtiyari kodu yerinə yetirmək çətin deyil.

Birdən təcavüzkar istənilən Logitech açarının proqram təminatını USB vasitəsilə uzaqdan dəyişdirə bilsə nə olacaq? Sonra, bir-birinə yaxın olan dongle-lərdən təkrarlayıcılar şəbəkəsi yarada və sızma məsafəsini artıra bilərsiniz. Baxmayaraq ki, “maliyyə cəhətdən varlı” təcavüzkar hətta qonşu binadan da klaviatura girişinə “qulaq asa” və düymələri basa bilsə də, yüksək selektiv sistemlərə malik müasir radioqəbul avadanlığı, qısa tezlikli tənzimləmə vaxtlarına malik həssas radioqəbuledicilər və yüksək istiqamətli antenalar onlara imkan verəcəkdir. klaviatura daxilinə “qulaq asmaq” və hətta qonşu binadan da düymələri basmaq.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Peşəkar radio avadanlıqları

Logitech klaviaturasının simsiz məlumat ötürmə kanalı kifayət qədər yaxşı qorunduğundan, tapılan hücum vektoru alıcıya fiziki giriş tələb edir ki, bu da təcavüzkarı xeyli məhdudlaşdırır. Bu vəziyyətdə yeganə qorunma variantı qəbuledicinin proqram təminatı üçün kriptoqrafik qorunma mexanizmlərindən istifadə etməkdir, məsələn, qəbuledici tərəfdə yüklənmiş proqram təminatının imzasını yoxlamaqdır. Ancaq təəssüf ki, NRF24 bunu dəstəkləmir və mövcud cihaz arxitekturası daxilində qorunma həyata keçirmək mümkün deyil. Beləliklə, dongle-lərinizə diqqət yetirin, çünki təsvir edilən hücum seçimi onlara fiziki giriş tələb edir.

Dongle'larınıza diqqət yetirin: Logitech klaviatura qəbuledicisi təhlükəsizliyi araşdırması

Raccoon Security praktiki məlumat təhlükəsizliyi, kriptoqrafiya, sxemlərin dizaynı, tərs mühəndislik və aşağı səviyyəli proqram təminatının yaradılması sahəsində Vulcan Tədqiqat və İnkişaf Mərkəzinin xüsusi ekspert qrupudur.

Mənbə: www.habr.com

Добавить комментарий