Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Dina sajarahna, kalolobaan karyawan nganggo keyboard nirkabel sareng beurit ti Logitech. Lebetkeun kecap akses kami sakali deui, kami, spesialis ti tim Raccoon Security, naros ka diri urang sorangan: kumaha sesahna ngalangkungan mékanisme kaamanan keyboard nirkabel? Panalitian ngungkabkeun cacad arsitéktur sareng kasalahan parangkat lunak anu ngamungkinkeun aksés kana data input. Di handap cut aya naon urang meunang.

Naha Logitech?

Numutkeun kami, alat input Logitech mangrupikeun kualitas pangluhurna sareng pangmerenahna. Kaseueuran alat anu urang gaduh dumasar kana solusi Logitech nyampur mangrupakeun panarima dongle universal nu ngidinan Anjeun pikeun nyambung nepi ka 6 alat. Sadaya alat anu cocog sareng téknologi Logitech Unifying ditandaan ku logo téknologi Logitech Unifying. Gampang dianggo aplikasi Ngidinan anjeun ngatur sambungan kibor nirkabel ka komputer anjeun. Prosés nyambungkeun keyboard kana dongle panarima Logitech, kitu ogé téhnologi sorangan, katutupan, contona, di dieu.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Panarima Dongle kalayan dukungan Logitech Unifying

Kibor tiasa janten sumber inpormasi pikeun panyerang. Logitech, nganggap kamungkinan ancaman, ngurus kaamanan - ngagunakeun algoritma enkripsi AES128 dina saluran radio tina keyboard nirkabel. Pikiran anu munggaran anu mungkin aya panyerang dina kaayaan ieu nyaéta pikeun nyegat inpormasi konci nalika dikirimkeun kana saluran radio salami prosedur ngariung. Barina ogé, upami anjeun gaduh konci, anjeun tiasa nyegat sinyal radio keyboard sareng ngadekrip aranjeunna. Nanging, pangguna jarang (atanapi henteu kantos) kedah ngahijikeun keyboard, sareng hacker nganggo radio scanning kedah ngantosan lami. Sajaba ti éta, teu sagalana geus jadi basajan jeung prosés interception sorangan. Dina ulikan panganyarna dina Juni 2019, ahli kaamanan Markus Mengs diterbitkeun online pesen ngeunaan kapanggihna hiji kerentanan dina firmware heubeul Logitech USB dongles. Éta ngamungkinkeun panyerang kalayan aksés fisik kana alat pikeun kéngingkeun konci énkripsi saluran radio sareng nyuntik keystrokes (CVE-2019-13054).

Urang bakal ngobrol ngeunaan ulikan kaamanan ngeunaan dongle Logitech dumasar kana NRF24 SoC ti Nordic Semiconductor. Hayu urang mimitian, meureun, ku saluran radio sorangan.

Kumaha data "ngapung" dina saluran radio

Pikeun analisa frékuénsi waktos tina sinyal radio, kami nganggo panarima SDR dumasar kana alat Blade-RF dina modeu analisa spéktrum (anjeun ogé tiasa maca ngeunaan ieu. di dieu).

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

SDR agul-RF Alat

Kami ogé nganggap kamungkinan ngarékam kuadrat sinyal radio dina frékuénsi panengah, anu teras tiasa dianalisis nganggo téknik ngolah sinyal digital.

Komisi Propinsi on Frékuénsi Radio di Féderasi Rusia diwenangkeun pikeun dipaké ku alat jarak pondok, rentang frékuénsi nyaéta 2400–2483,5 MHz. Ieu mangrupikeun rentang "penduduk" pisan, dimana anjeun moal mendakan nanaon: Wi-Fi, Bluetooth, sagala jinis kadali jauh, sistem kaamanan, detéktor nirkabel, beurit sareng kibor sareng alat digital nirkabel sanés.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Spéktrum pita 2,4 GHz

Lingkungan gangguan dina rentang cukup kompleks. Sanajan kitu, Logitech bisa nyadiakeun panarimaan dipercaya jeung stabil ngaliwatan pamakéan protokol Enhanced ShockBurst dina transceiver NRF24 dina kombinasi kalayan algoritma adaptasi frékuénsi.

Saluran dina pita disimpen dina posisi integer MHz sakumaha didefinisikeun dina spésifikasi NRF24 Nordic Semiconductor - jumlahna aya 84 saluran dina grid frékuénsi. Jumlah saluran frékuénsi sakaligus dipaké ku Logitech téh, tangtosna, kirang. Urang ngaidentipikasi pamakéan sahenteuna opat. Kusabab bandwidth kawates tina analisa spéktrum sinyal anu dianggo, daptar pasti posisi frekuensi anu dianggo henteu tiasa ditangtukeun, tapi ieu henteu diperyogikeun. Inpormasi tina keyboard ka dongle panarima dikirimkeun dina modeu Burst (pondok péngkolan dina pamancar) ngagunakeun modulasi frekuensi dua posisi GFSK dina laju simbol 1 Mbaud:

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Sinyal radio keyboard dina ngagambarkeun waktos

Panarima ngagunakeun prinsip korélasi panarimaan, ku kituna pakét anu dikirimkeun ngandung bagian mukadimah sareng alamat. Coding tahan bising henteu dianggo; awak data énkripsi nganggo algoritma AES128.

Sacara umum, antarbeungeut radio keyboard nirkabel Logitech tiasa dicirian sacara lengkep asynchronous sareng multiplexing statistik sareng adaptasi frékuénsi. Ieu ngandung harti yén pamancar keyboard pindah saluran pikeun ngirimkeun unggal pakét anyar. Panarima henteu terang sateuacanna waktos pangiriman atanapi saluran frekuensi, tapi ngan ukur daptarna anu dipikanyaho. Panarima sareng pemancar papanggih dina saluran berkat bypass frekuensi anu terkoordinasi sareng algoritma déngékeun, ogé mékanisme pangakuan ShockBurst Enhanced. Kami henteu acan nalungtik naha daptar saluran statik. Panginten, parobihanna kusabab algoritma adaptasi frékuénsi. Hal anu caket kana metode hopping frékuénsi (tuning pseudo-random tina frékuénsi operasi) tiasa ditingali dina panggunaan sumber frekuensi rentang.

Ku kituna, dina kaayaan kateupastian waktos-frékuénsi, pikeun mastikeun panarimaan dijamin sadaya sinyal keyboard, lawan kudu terus-terusan ngawas sakabéh grid frékuénsi 84 posisi, nu merlukeun jumlah signifikan waktu. Di dieu janten jelas naha kerentanan ékstraksi konci USB (CVE-2019-13054) dina sumber diposisikan salaku kamampuhan pikeun nyuntik keystrokes, tinimbang meunang aksés panyerang kana data diasupkeun ti kibor. Jelas, antarbeungeut radio kibor nirkabel cukup rumit sareng nyayogikeun komunikasi radio anu tiasa dipercaya antara alat Logitech dina kaayaan gangguan anu sesah dina pita 2,4 GHz.

A katingal dina masalah ti jero

Pikeun ulikan urang, urang milih salah sahiji kibor Logitech K330 urang aya jeung dongle Logitech Unifying.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Logitech K330

Hayu urang tingali di jero keyboard. Unsur anu pikaresepeun pikeun diajar nyaéta chip SoC NRF24 ti Nordic Semiconductor.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

SoC NRF24 dina papan keyboard nirkabel Logitech K330

Firmware lokasina dina mémori internal, maca sareng mékanisme debugging ditumpurkeun. Hanjakalna, firmware henteu acan diterbitkeun dina sumber terbuka. Ku alatan éta, urang mutuskeun pikeun ngadeukeutan masalah ti sisi séjén - pikeun neuleuman eusi internal tina panarima dongle Logitech.

The "dunya batin" tina panarima dongle cukup metot. dongle gampang disassembled, mawa on dewan release NRF24 akrab jeung diwangun-di USB controller sarta bisa reprogrammed duanana ti sisi USB tur langsung ti programmer nu.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Logitech dongle tanpa perumahan

Kusabab aya mékanisme baku pikeun ngamutahirkeun firmware ngagunakeun Aplikasi Firmware Update Tool (ti mana anjeun bisa nimba versi firmware diropéa), teu perlu néangan firmware jero dongle nu.

Naon anu dipigawé: firmware RQR_012_005_00028.bin ieu sasari tina awak aplikasi Firmware Update Alat. Pikeun mariksa integritasna, controller dongle dihubungkeun sareng kabel mun ChipProg-48 programmer:

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Kabel pikeun nyambungkeun dongle Logitech ka ChipProg 48 programmer

Pikeun ngadalikeun integritas firmware nu, éta hasil disimpen dina mémori controller sarta digawé leres, keyboard jeung mouse disambungkeun ka dongle via Logitech Ngahijikeun Tatar. Kasebut nyaéta dimungkinkeun pikeun ngamuat firmware anu dirobih nganggo mékanisme update standar, sabab henteu aya mékanisme panyalindungan kriptografi pikeun firmware. Pikeun tujuan panalungtikan, kami nganggo sambungan fisik ka programmer, sabab debugging langkung gancang ku cara ieu.

Panalungtikan firmware sareng serangan kana input pangguna

Chip NRF24 dirancang dumasar kana inti komputasi Intel 8051 dina arsitektur Harvard tradisional. Pikeun inti, transceiver tindakan salaku alat periferal sarta disimpen dina spasi alamat salaku susunan registers. Dokuméntasi pikeun conto chip sareng kode sumber tiasa dipendakan dina Internét, janten ngabongkar firmware henteu sesah. Salila rékayasa sabalikna, urang localized fungsi pikeun nampa data keystroke tina saluran radio jeung ngarobahna kana format HID pikeun transmisi ka host via panganteur USB. Kode suntik ieu disimpen dina alamat memori bébas, nu kaasup parabot pikeun intercepting kontrol, nyimpen tur malikkeun konteks palaksanaan aslina, kitu ogé kode fungsi.

Paket mencét atanapi ngaleupaskeun konci anu ditampi ku dongle tina saluran radio didekripsi, dirobih janten laporan HID standar sareng dikirim ka antarmuka USB sapertos ti keyboard biasa. Salaku bagian tina pangajaran, bagian tina laporan HID anu paling dipikaresep ku urang nyaéta bagian tina laporan HID anu ngandung bait umbul modifier sareng susunan 6 bait kalayan kode keystroke (pikeun rujukan, inpormasi ngeunaan HID. di dieu).

Struktur laporan 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;

Langsung sateuacan ngirimkeun struktur HID ka host, kode anu disuntikkeun nyandak kontrol, nyalin 8 bait data HID asli dina mémori sareng dikirim ka saluran samping radio dina téks anu jelas. Dina kode sigana kieu:

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

Saluran samping diatur dina frékuénsi anu kami setel sareng ciri-ciri tina laju manipulasi sareng struktur pakét.

Operasi tina transceiver dina chip NRF24 dumasar kana grafik kaayaan dimana protokol Enhanced ShockBurst ieu organik terpadu. Kami mendakan yén langsung sateuacan ngirimkeun data HID ka antarmuka USB host, transceiver aya dina kaayaan IDLE. Hal ieu ngamungkinkeun aman ngonpigurasikeun deui pikeun beroperasi dina saluran samping. Kode nyuntik intercepts kontrol, preserves konfigurasi transceiver aslina dina pinuh sarta pindah ka modeu transmisi anyar dina saluran samping. Mékanisme konfirmasi ShockBurst Enhanced dinonaktipkeun dina modeu ieu; Data HID dikirimkeun dina bentuk anu jelas dina hawa. Struktur pakét dina saluran samping dipidangkeun dina gambar di handap ieu, diagram sinyal dicandak saatos demodulasi sareng sateuacan restorasi sinkronisasi jam data. Nilai alamat dipilih pikeun ngagampangkeun idéntifikasi visual bungkusan.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Sinyal Burst Burst Demodulasi di Saluran Sisi

Saatos pakét dikirimkeun ka saluran samping, kode anu disuntikkeun malikkeun kaayaan transceiver. Ayeuna éta deui siap dianggo normal dina konteks firmware aslina.

Dina domain frékuénsi sareng waktos-frékuénsi, saluran samping sapertos kieu:

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Répréséntasi spéktral jeung waktu-frékuénsi saluran samping

Pikeun nguji operasi chip NRF24 kalawan firmware dirobah, urang ngumpul stand nu kaasup dongle Logitech kalawan firmware dirobah, keyboard nirkabel sarta panarima dirakit dina dasar modul Cina jeung chip NRF24.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Logitech keyboard nirkabel sirkuit interception sinyal radio

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

modul dumasar NRF24

Dina bangku, kalayan keyboard beroperasi sacara normal, saatos nyambungkeun kana dongle Logitech, kami ningali pangiriman data anu jelas ngeunaan keystrokes dina saluran radio samping sareng pangiriman normal data énkripsi dina antarmuka radio utama. Ku kituna, urang bisa nyadiakeun interception langsung input keyboard pamaké:

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Hasil tina intercepting input keyboard

Kode nyuntik ngawanohkeun slight reureuh dina operasi firmware dongle. Sanajan kitu, aranjeunna leutik teuing pikeun pamaké perhatikeun.

Sakumaha anjeun tiasa bayangkeun, keyboard Logitech naon waé anu cocog sareng téknologi Unifying tiasa dianggo pikeun vektor serangan ieu. Kusabab serangan nargétkeun panarima Ngahijikeun Tatar kaasup kalayan paling kibor Logitech, éta bebas tina model keyboard husus.

kacindekan

Hasil tina panilitian nunjukkeun kamungkinan ngagunakeun skenario anu dianggap ku panyerang: upami hacker ngagentos korban ku panarima dongle pikeun keyboard nirkabel Logitech, maka anjeunna bakal tiasa mendakan kecap akses kana rekening korban sareng sadaya anu salajengna. balukarna. Ulah hilap yén éta ogé mungkin pikeun nyuntik keystrokes, nu hartina teu hese ngaéksekusi kode sawenang dina komputer korban.

Kumaha upami ujug-ujug panyerang tiasa ngarobih firmware tina sagala dongle Logitech via USB? Teras, tina dongles anu jarakna caket, anjeun tiasa nyiptakeun jaringan pangulang sareng ningkatkeun jarak bocor. Sanaos panyerang "kakayaan finansial" tiasa "ngadangukeun" input keyboard sareng pencét konci sanajan ti gedong tatangga, alat-alat panarimaan radio modern sareng sistem anu selektif pisan, panarima radio sénsitip sareng waktos tuning frekuensi pondok sareng anteneu anu arahna pisan. pikeun "ngadangukeun" kana input keyboard sarta pencét kenop malah ti wangunan tatangga.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Parabot radio profésional

Kusabab saluran transmisi data nirkabel tina keyboard Logitech ditangtayungan pisan, vektor serangan nu kapanggih merlukeun aksés fisik ka panarima, nu greatly ngawatesan lawan. Hiji-hijina pilihan panyalindungan dina hal ieu bakal ngagunakeun mékanisme panyalindungan cryptographic pikeun firmware panarima, contona, mariksa tanda tangan tina firmware dimuat dina sisi panarima. Tapi, hanjakalna, NRF24 henteu ngadukung ieu sareng mustahil pikeun nerapkeun panyalindungan dina arsitéktur alat ayeuna. Janten jaga dongles anjeun, sabab pilihan serangan anu dijelaskeun peryogi aksés fisik ka aranjeunna.

Jaga dongle anjeun: Studi kaamanan panarima keyboard Logitech

Raccoon Security mangrupikeun tim ahli khusus ti Vulcan Research and Development Center dina widang kaamanan inpormasi praktis, kriptografi, desain sirkuit, rékayasa balik sareng nyiptakeun parangkat lunak tingkat rendah.

sumber: www.habr.com

Tambahkeun komentar