Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Tarixən, əksər işçilər Logitech markasının simsiz klaviatura və siçanlarından istifadə edir. Parollarımızı bir daha daxil edərkən, Raccoon Security komandası mütəxəssisləri olaraq, simsiz klaviaturaların müdafiə mexanizmlərini aşmağın nə qədər çətin olduğunu soruşduq. Araşdırmamız, daxil edilən məlumatlara giriş imkanı verən memarlıq çatışmazlıqları və proqram xətalarını ortaya çıxardı. Bizim əldə etdiklərimiz haqqında daha ətraflı məlumat aşağıdadır.

Niyə Logitech?

Bizim fikrimizcə, Logitech şirkətinin giriş cihazları ən keyfiyyətli və rahat olanlərdən biridir. Bizim istifadə etdiyimiz əksər cihazlar Logitech həllinə əsaslanır. Unifying – 6 cihazı bağlamağa imkan verən universal dongle qəbuledicisidir. Logitech Unifying texnologiyası ilə uyğun olan bütün cihazlar müvafiq loqotip ilə işarələnir. İstifadəsi asandır tətbiq simsiz klaviaturaları kompüterə bağlamağa imkan verir. Logitech dongle qəbuledicisinə klaviaturanın əlaqələndirilməsi prosesi, eləcə də texnologiya, məsələn, aşağıda açıqlanır. burada.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Logitech Unifying dəstəkli dongle qəbuledicisi

Klaviatura, təcavüzkarlar üçün məlumat mənbəyi ola bilər. Logitech şirkəti, mümkün olan təhdidi nəzərə alaraq, simsiz klaviaturanın radio kanalında AES128 şifrələmə alqoritmini tətbiq edərək təhlükəsizliyə diqqət yetirib. Bu vəziyyətdə, təcavüzkarın ağlından keçə biləcək ilk fikir, əlaqələndirilmə prosesi zamanı radio kanalında açar məlumatının ələ keçirilməsidir. Axı açar olduğunda, klaviaturanın radio siqnallarını ələ keçirmək və onları deşifrə etmək mümkündür. Ancaq istifadəçi Unifying prosedurunu bir çox hallarda (və ya bəlkə də heç vaxt) həyata keçirmir, buna görə də siqnal tutmağa çalışan xaker uzun müddət gözləməli olacaq. Üstəlik, ələ keçirmə prosesi də o qədər asan deyil. 2019-cu ilin iyun ayında təhlükəsizlik mütəxəssisi Markus Mengs son araşdırmasında məlumat Logitech USB dongle-larının köhnə versiyasında zəifliyi aşkar etdiyini bildirdi. Bu, fizikə giriş imkanı olan təcavüzkarlara radio kanalının şifrələmə açarlarını əldə etməyə və düymə basmalarını daxil etməyə imkan verir (CVE-2019-13054).

Biz Logitech donglunun SoC NRF24 bazasında təhlükəsizlik araşdırmamızdan danışacağıq. İlk olaraq, bəlkə də, radio kanalından başlayaq.

Radio kanalında məlumatlar necə «uçur»

Radio siqnalının tezlik-zaman analizində Blade-RF cihazına əsaslanan SDR qəbuledicisini spektr analizatoru rejimində istifadə etdik (bununla bağlı daha çox məlumatı buradan oxuya bilərsiniz burada).

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

SDR Blade-RF cihazı

Biz həmçinin radio siqnalın kvadraturasını intermedi tayfada yazmaq imkanını nəzərdən keçirdik ki, sonra onları rəqəmsal siqnal emal metodları ilə analiz edək.

Rusiya Federasiyasında Dövlət Radiofrekans Komissiyası icazə verilir kiçik fəaliyyət radiusuna malik cihazlarla istifadə edilməsinə 2400–2483,5 MHz bant aralığında. Bu, Wi-Fi, Bluetooth, müxtəlif uzaqdan idarəetmə cihazları, siqnalizasiya sistemləri, simsiz xəbərdarlıq sistemləri, klaviaturalarla siçanlar və digər simsiz rəqəmsal cihazlar da daxil olmaqla çox «dolanıq» bir aralıqdır.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

2.4 GHz bant aralığının spektri

Bu aralıqda müdaxilə şəraiti kifayət qədər mürəkkəbdir. Lakin buna baxmayaraq, Logitech şirkəti NRF24 transceiver-də Enhanced ShockBurst protokolundan istifadə etməklə və tezlik uyğunlaşma alqoritmləri ilə etibarlı və dayanıqlı qəbul təmin edə bilib.

Bant aralığındakı kanallar tam ədəd MHz mövqelərində yerləşdirilmişdir, bu isə standartlara NRF24 Nordic Semiconductor - tam 84 kanal frekans şəbəkəsində mövcuddur. Eyni anda istifadə olunan Logitech frekans kanallarının sayı əlbəttə ki, daha azdır. Minimum dörd kanaldan istifadə etdiyimizi aşkar etdik. İstifadə olunan frekans mövqelərinin dəqiq siyahısını müəyyən etmək mümkün olmadı, çünki götürülən spektr analizatorunun limitli görüş sahəsi var, amma bunun da heç bir əhəmiyyəti yox idi. Klaviaturadan dongle-reseiverə informasiya Burst rejimində (txrfizörün qısa açılması) GFSK iki pozisiyalı tezlik modulyasiyası ilə 1 Mbaud simbol sürətində ötürülür.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Klaviaturanın radio siqnalı zaman göstəricisində

Reseiver korrelyasiya prinsipinə əsaslanaraq qəbul edir, buna görə də ötürülən paketdə preambulum və adres hissəsi var. Müdaxilə üzrə mübarizəyə aid kodlaşdırma tətbiq edilmir, məlumatlar AES128 alqoritmi ilə şifrələnir.

Ümumiyyətlə, Logitech simsiz klaviaturanın radio interfeysini tam qeyri-sinxron, statistik sıxışma və tezlik uyğunlaşması ilə xarakterizə etmək olar. Bu, deməkdir ki, klaviaturanın txrfizörü hər yeni paket ötürülməsi üçün kanalını dəyişir. Reseiverə nə ötürülmə vaxtı, nə də tezlik kanalı əvvəlcədən məlumdur, yalnız onların siyahısı məlumdur. Reseiver və ötürücü kanalda müvafiq alqoritmlərlə tezlikləri aşmaq və dinləmək, eləcə də Enhanced ShockBurst təsdiqləmə mexanizmləri vasitəsilə bir araya gəlir. Biz kanalların siyahısının stasionar olub-olmadığını araşdırmamışıq. Bu ehtimal ki, tezlik uyğunlaşma alqoritmi ilə əlaqədardır. Tezlik resursunun istifadəsi ilə bağlı PPRÇ (psevdosətirli yığma tezlik dəyişməsi) metoduna bənzər bir şey məlum olur.

Beləliklə, tezlik-müddət qeyri-müəyyənliyi şəraitində, klaviaturanın bütün siqnallarını təmin etmək üçün, hücumçunun 84 pozisiyadan ibarət tezlik şəbəkəsini daimi şəkildə idarə etməsi lazım olacaq ki, bu da əhəmiyyətli zaman sərfiyyatını tələb edir. Buradan CVE-2019-13054 USB vasitəsilə açar çıxartma zəifliyinin niyə baş verdiyi aydın olur. mənbələrdə klaviş basımlarının inyektiya edilməsi imkanı kimi təqdim edilir, lakin hücumçunun klaviaturadan daxil edilən məlumatlara giriş əldə etməsi kimi deyil. Aydındır ki, simsiz klaviaturanın radiotexnologiyası olduqca mürəkkəbdir və Logitech cihazları arasında etibarlı radiomənaşın təmin edir, 2.4 GHz diapazonda mürəkkəb maneələr şəraitində.

Problemin içindən baxışı

Tədqiqat üçün Logitech K330 markalı klaviatura və Logitech Unifying donqulu arasından birini seçdik.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Logitech K330

Klaviaturanın içinə nəzər salaq. Tədqiqat üçün maraqlı bir element – Nordic Semiconductor-dan SoC NRF24 çipidir.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Logitech K330 simsiz klaviaturanın lövhəsində SoC NRF24

Proqram təminatı daxili yaddaşda yerləşdirilib, oxuma və tədqiqat mexanizmləri deaktiv edilib. Təəssüf ki, proqram təminatı açıq mənbələrdə dərc edilməyib. Buna görə də, problemi başqa cür yanaşmağa qərar verdik – Logitech donqul qəbul edən cihazın daxili məzmununu öyrənməyə.

Donqul qəbul edici cihazın «daxili dünyası» olduqca maraqlı bir formada təşkil olunub. Donqul asanlıqla açılır, üzərində tanış olduğumuz NRF24 var, USB kontrolleri ilə buraxılışda və həm USB, həm də birbaşa proqramlayıcı vasitəsilə yenidən proqramlanma imkanı var.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Korpusdan ayrı Logitech donqulu

Mövcud olan standart proqram təminatını yeniləmə mexanizmi mövcuddur Firmware Update Tool (yenilənmiş proqram versiyasını çıxarmaq üçün istifadə edilə bilən), donqul içində proqram axtarmağa ehtiyac yoxdur.

Nə həyata keçirildi: Firmware Update Tool tətbiqinin içindən RQR_012_005_00028.bin proqram təminatı çıxarıldı. Onun bütövlüyünü yoxlamaq üçün donqul kontrolleri şleyf ilə ChipProg-48 proqramlayıcısına:

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

ChipProg 48 proqramlayıcısına Logitech donqulun şleyf bağlantısı

Proqram təminatının bütövlüyünü yoxlamaq üçün, o, kontrollerin yaddaşına uğurla yerləşdirildi və düzgün işləyirdi, klaviatura və siçan Logitech Unifying vasitəsilə donqula qoşulmuşdu. Modifikasiya edilmiş proqram təminatının yeniləmə mexanizmi ilə yüklənməsi mümkündir, çünki heç bir kriptoqrafik qoruma mexanizmləri nəzərdə tutulmayıb. Araşdırma məqsədilə biz proqramlayıcıya fiziki qoşma istifadə etdik, çünki belə tədqiqat daha sürətli aparılır.

Proqram təminatının araşdırılması və istifadəçi girişinə hücum

NRF24 çipi, ənənəvi Harvard arxitekturasında Intel 8051 hesablama nüvəsi əsasında hazırlanmışdır. Nüvə üçün transceiver periferik cihaz kimi çıxış edir və qeydiyyatların toplusu kimi ünvan məkanında yerləşir. Çipin sənədlərini və nümunə mənbə kodlarını internetdə tapmaq olar, buna görə də proqram təminatının disassemblesi çətinlik yaratmır. Tərsinə mühəndislik prosesi zamanı, biz.radio kanalından düymə basma məlumatlarını əldə etmə funksiyalarını lokalizasiya etdik və bunları HID formatına çevirərək USB interfeysi ilə hosta ötürdük. Boş yaddaş ünvanlarına, idarəetmə əlini ələ keçirmək, orijinal icra kontekstini saxlamaq və bərpa etmək üçün alətlər də daxil olmaqla, inyeksiya kodu yerləşdirildi.

Dongle tərəfindən radio kanalından qəbul edilən düymənin basılması və ya buraxılması paketi dekod edilir, standart HID hesabatına çevrilir və adi bir klaviaturadan olduğu kimi USB interfeysinə göndərilir. Tədqiqat kontekstində bizim üçün ən maraqlı olan HID hesabatının mülahizə baytını və 6 baytlıq düymə kodları massivini ehtiva edən hissəsidir (HID haqqında məlumat üçün) burada).

HID hesabatının 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 strukturu hosta ötürülməzdən əvvəl inyeksiya edilmiş kod idarəni ələ keçirir, yaddaşda 8 bayt native HID məlumatlarını kopyalayır və onları açıq formada yan radio kanalına göndərir. Kod içində bu aşağıdakı kimi 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, qurduğumuz müəyyən sürət manipulyasiyası və paket strukturu xüsusiyyətləri ilə təyin edilmiş tezlikdə təşkil olunur.

Çipdəki transceiverin fəaliyyəti NRF24 Enhanced ShockBurst protokolunu üzvi şəkildə əks etdirən vəziyyət qrafikası əsasında yaranır. Biz aşkar etdik ki, HID məlumatları USB interfeysinə hosta ötürülmədən əvvəl transceiver IDLE vəziyyətində idi. Bu, onu yan kanalda işləmək üçün təhlükəsiz şəkildə yenidən konfiqurasiya etməyə imkan verir. İnyeksiya olunan kod idarəni ələ keçirir, transceiverin orijinal konfiqurasiyasını tam şəkildə saxlayır və onu yan kanalda ötürmə rejiminə keçirir. Bu rejimdə Enhanced ShockBurst təsdiq mexanizmi söndürülür, HID məlumatları açıq formada radio eterə ötürülür. Yan kanaldakı paket strukturu aşağıdakı şəkildə göstərilmişdir, siqnalın epüroları demodulasiya edildikdən sonra məlumatların takt sinxronizasiyasının bərpasından əvvəl alınmışdır. Paketin vizual identifikasiyası üçün rahatlıq məqsədilə ünvan dəyəri seçilmişdir.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Yan kanaldakı Burst paketinin demodulasiya edilmiş siqnalları

Paketin yan kanala ötürülməsi tamamlandıqdan sonra, inyeksiya edilmiş kod transceiverin vəziyyətini bərpa edir. İndi o, orijinal proqram təminatı kontekstində adi rejimdə işləməyə hazırdır.

Tezlik və tezlik-zaman sahələrində yan kanal aşağıdakı kimi görünür:

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

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

NRF24 çipinin modifikasiya olunmuş proqram təminatı ilə işləməsini yoxlamaq üçün, Logitech dongle modifikasiyalı proqram təminatı, simsiz klaviatura və NRF24 çipini əsas alan Çin modulundan ibarət stend yığdıq.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Logitech simsiz klaviaturanın radio siqnalının ələ keçirilməsi sxemi

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

NRF24 bazalı modul

Stenddə klaviatura normal işləyəndə, onu Logitech dongle-a qoşduqda, açıq məlumatların yan radiokanalda ötürülməsini və əsas radio interfeysində şifrlənmiş məlumatların normal ötürülməsini müşahidə etdik. Beləliklə, istifadəçi klaviatura girişinin birbaşa ələ keçirilməsi mümkün oldu:

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Klaviatura girişinin ələ keçirilməsi nəticəsi

İnjected kod, dongle proqram təminatında kiçik gecikmələr yaradır. Ancaq bunlar istifadəçi tərəfindən hiss olunacaq qədər də kiçikdir.

Belə bir hücum vektoru üçün Unifying texnologiyası ilə uyğun olan hər hansı bir Logitech klaviaturası istifadə oluna bilər. Hücum, Logitech klaviaturalarının əksəriyyəti ilə birlikdə gələn Unifying qəbulına yönəldildiyi üçün, konkret klaviatura modelindən asılı deyil.

Nəticə

Aparılan tədqiqatın nəticələri, müzakirə olunan ssenarinin kiber cinayətkarlar tərəfindən istifadə oluna biləcəyini düşündürür: əgər bir haker, Logitech simsiz klaviaturası üçün qurbanın dongle qəbulunu dəyişdirsə, o zaman qurbanın hesablarının şifrələri ilə bütün nəticələri ilə tanış ola bilər. Unutmayaq ki, açar basma əmrlərini injector etmək də mümkündür, bu o deməkdir ki, qurbanın kompüterində istənilən kodu icra etmək çətinlik yaratmayacaq.

Bəs əgər kiber cinayətkar USB vasitəsilə hər hansı bir Logitech dongle-nin proqram təminatını uzaqdan dəyişdirməyə qadirdirsə? Onda yaxınlıqdakı dongledlərdən bir retranslyator şəbəkəsi quraraq məlumat sızmasının məsafəsini artıra bilər. Bütün bunlara baxmayaraq, müasir, yüksək seçici sistemləri, kiçik dəyişmə vaxtı olan antenalar və dar istiqamətli antenna ilə təmin olunan maliyyə cəhətdən güclü bir kiber cinayətkar, hətta qonşu binadan klaviatura girişini “eşidə” bilər.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Professional radio qəbul avadanlığı

Logitech klaviaturanın simsiz məlumat ötürmə kanalı kifayət qədər yaxşı qorunduğundan, tapılan hücum vektoru, qəbul edici üzərində fiziki giriş tələb edir ki, bu da hücumçunun imkanlarını ciddi şəkildə məhdudlaşdırır. Bu halda, qəbul edicinin sabit proqramını qorumaq üçün yeganə müdafiə variantı kriptoqrafik qoruma mexanizmlərinin istifadəsi ola bilər, məsələn, qəbul edici tərəfində yüklənmiş sabit proqramın imzasının yoxlanılması. Lakin, təəssüf ki, NRF24 bunu dəstəkləmir və cari cihaz arxitekturası çərçivəsində qorunmanın həyata keçirilməsi mümkün deyil. Belə ki, donğllarınızı qoruyun, çünki təsvir olunan hücum variantı onlara fiziki giriş tələb edir.

Dongle-larınızı qoruyun: Logitech klaviaturasının təhlükəsizlik araşdırması

Raccoon Security – praktik informasiya təhlükəsizliyi, kriptoqrafiya, sxemotexnika, geri inkişaf və aşağı səviyyəli proqram təminatının yaradılması sahəsində NTÇ 'Vulkan' tərəfindən xüsusi ekspert komandasıdır.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster