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
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
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.
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
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
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)
A katingal dina masalah ti jero
Pikeun ulikan urang, urang milih salah sahiji kibor Logitech K330 urang aya jeung dongle Logitech Unifying.
Logitech K330
Hayu urang tingali di jero keyboard. Unsur anu pikaresepeun pikeun diajar nyaéta chip SoC NRF24 ti Nordic Semiconductor.
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.
Logitech dongle tanpa perumahan
Kusabab aya mékanisme baku pikeun ngamutahirkeun firmware ngagunakeun
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
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.
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
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:
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.
Logitech keyboard nirkabel sirkuit interception sinyal radio
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é:
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.
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.
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