
Historikisht, shumica e punonjĂ«sve pĂ«rdorin tastiera dhe mausĂ« tĂ« padisave nga Logitech. NdĂ«rsa pĂ«rsĂ«ri po futnim fjalĂ«kalimet tona, ne â specialistĂ«t e ekipit Raccoon Security â u bĂ«mĂ« kuriozĂ« pĂ«r sa e lehtĂ« Ă«shtĂ« tĂ« kalohet mekanizmat e mbrojtjes sĂ« tastierave pa tel? Studimi i realizuar zbulojĂ« dobĂ«si arkitektonike dhe gabime software qĂ« lejojnĂ« qasje nĂ« tĂ« dhĂ«nat e futur. MĂ« poshtĂ« â çfarĂ« arritĂ«m ne.
Pse Logitech?
Sipas mendimit tonë, pajisjet e hyrjes nga kompania Logitech janë disa nga më cilësorët dhe të mira. Shumica e pajisjeve që kemi janë të bazuara në zgjidhjen Logitech. është një pranuese universale që lejon lidhjen e deri në 6 pajisje. Të gjitha pajisjet e kompatibilitetit me teknologjinë Logitech Unifying shënohen me logon përkatëse. E thjeshtë për t'u përdorur lejon menaxhimin e lidhjes së tastierave pa tel me kompjuterin. Procesi i detajuar i lidhjes së tastierës me pranuese Logitech, ashtu si dhe teknologjia e vet, është trajtuar, për shembull, .

Pranuese me mbështetje për Logitech Unifying
Tastiera mund tĂ« bĂ«het njĂ« burim informacioni pĂ«r sulmuesit. Kompania Logitech, duke marrĂ« parasysh kĂ«rcĂ«nimin e mundshĂ«m, ka kujdesur pĂ«r sigurinĂ« â ka aplikuar algoritmin e enkriptimit AES128 nĂ« kanalin radio tĂ« tastierĂ«s pa tel. Mendimi i parĂ« qĂ« mund tĂ« vizitojĂ« sulmuesin nĂ« njĂ« situatĂ« tĂ« tillĂ« Ă«shtĂ« kapja e informacionit kritik nĂ« kohĂ«n e transmetimit tĂ« tij pĂ«rmes kanalit radio gjatĂ« procedurĂ«s sĂ« lidhjes. Sepse me njĂ« çelĂ«s Ă«shtĂ« e mundur tĂ« kapĂ«sh sinjalet radio tĂ« tastierĂ«s dhe t'i deshifrosh ato. MegjithatĂ«, pĂ«rdoruesit rrallĂ« (ose ndonjĂ«herĂ« kurrĂ«) i ndodh tĂ« lidhen me procedurĂ«n Unifying, dhe njĂ« haker me njĂ« pranuese radio skanuese do t'i duhet tĂ« presĂ« shumĂ« gjatĂ«. PĂ«r mĂ« tepĂ«r, nuk Ă«shtĂ« gjithçka kaq e thjeshtĂ« dhe me procesin e kapjes sĂ« sinjalit. NĂ« studimin e fundit nĂ« qershor 2019, eksperti i sigurisĂ« Markus Mengs publikoi nĂ« rrjet zbĂ«rthimin e njĂ« dobĂ«sie nĂ« firmware-in e vjetĂ«r tĂ« USB-pranueseve Logitech. Ajo i lejon sulmuesve me qasje fizike nĂ« pajisje tĂ« marrin çelĂ«sat e enkriptimit tĂ« kanalit radio dhe tĂ« injektojnĂ« shtypje tĂ« çelĂ«save (CVE-2019-13054).
Ne do ta tregojmë studimin tonë mbi sigurinë e dongle Logitech të bazuar në SoC NRF24 nga Nordic Semiconductor. Do të fillojmë, ndoshta, me kanalin radio.
Si "fluturojnë" të dhënat në kanalin radio
Për analizën frekuencë-kohe të sinjalit radio, kemi përdorur një receptor SDR të bazuar në pajisjen Blade-RF në modalitetin e analizuesit të spektrit (për këtë mund të lexoni gjithashtu) ).

Pajisja SDR Blade-RF
Ne gjithashtu shqyrtuam mundësinë e regjistrimit të katësorëve të sinjalit radio në frekuencën e mesme, për ta analizuar më pas me metoda të përpunimit të sinjaleve digjitale.
Komisioni ShtetĂ«ror i Frekuencave Radio nĂ« FederatĂ«n Ruse pĂ«rdorimi i pajisjeve me rreze tĂ« vogla tĂ« veprimit nĂ« gamĂ«n e frekuencave 2400â2483,5 MHz. Kjo Ă«shtĂ« njĂ« gamĂ« shumĂ« "e populluar", ku mund tĂ« gjesh gjithçka: Wi-Fi, Bluetooth, tĂ« gjitha llojet e komandave tĂ« largĂ«ta, sistemeve tĂ« sigurisĂ«, njoftuesve pa tel, mice me tastiera dhe pajisje tĂ« tjera digjitale pa tel.

Spektri i segmentit të frekuencës 2,4 GHz
Situata e ndërhyrjeve në këtë gamë është mjaft e ndërlikuar. Por, megjithatë, kompania Logitech arriti të sigurojë një marrje të besueshme dhe të qëndrueshme duke përdorur protokollin Enhanced ShockBurst në transiverin NRF24 në kombinim me algoritmet e adaptimit të frekuencës.
Kanalet nĂ« gamĂ« janĂ« vendosur nĂ« pozita tĂ« numrave tĂ« plotĂ« MHz, siç Ă«shtĂ« pĂ«rcaktuar nĂ« NRF24 Nordic Semiconductor â gjithsej 84 kanale nĂ« rrjetin e frekuencave. Numri i kanaleve tĂ« frekuencĂ«s qĂ« pĂ«rdoren njĂ«kohĂ«sisht nga Logitech Ă«shtĂ«, sigurisht, mĂ« i vogĂ«l. Ne identifikuam pĂ«rdorimin e tĂ« paktĂ«n katĂ«r. PĂ«r shkak tĂ« gamĂ«s sĂ« kufizuar tĂ« spektrit tĂ« analizuesit tĂ« sinjalit, lista e saktĂ« e pozita tĂ« frekuencĂ«s sĂ« pĂ«rdorur nuk u arrit tĂ« pĂ«rcaktohej, por nĂ« kĂ«tĂ« nuk kishte nevojĂ«. Informacioni nga tastiera nĂ« dongle-pranues transmetohet nĂ« modalitetin Burst (me aktivizime tĂ« shkurtra tĂ« transmetuesit) duke pĂ«rdorur modulimin e frekuencĂ«s me dy pozita GFSK nĂ« shpejtĂ«sinĂ« simbolike prej 1 Mbod:

Sinjali radio i tastierës në përfaqësimin temporal
Receiveri përdor parimin e korrelacionit të marrjes, prandaj në paketën e dërguar janë të pranishëm një preambël dhe një pjesë adrese. Kodimi i qëndrueshëm ndaj ndërhyrjeve nuk aplikohet, trupi i të dhënave është i enkriptuar me algoritmin AES128.
Në përgjithësi, ndërfaqja e radios së tastierës pa tel Logitech mund të karakterizohet si plotësisht asinkrone, me kompresion statistik dhe adaptim frekuencash. Kjo do të thotë se transmetuesi i tastierës ndërron kanal për të dërguar çdo paketë të re. Pranuesi nuk e di paraprakisht as kohën e dërgesës, as kanalit të frekuencës, por e di vetëm listën e tyre. Pranuesi dhe transmetuesi takohet në kanal përmes algoritmeve të koordinuara të përshkimit dhe përgjojjes së frekuencave, si dhe mekanizmave të konfirmimeve Enhanced ShockBurst. Ne nuk e kemi hetuar nëse lista e kanaleve është statike. Më shumë gjasa, ndryshimi i saj është i bazuar në algoritmin e adaptimit të frekuencës. Diçka që i ngjan metodës PPRà (përshtatja e rastësishme e frekuencës së punës) shpërthyer në përdorimin e burimeve të frekuencave të bandës.
Kështu, në kushte të pasigurisë frekuencë-kohe për marrjen e garantuar të të gjithë sinjaleve të tastierës, një sulmues do t'i duhej të kontrollonte në mënyrë të vazhdueshme të gjithë rrjetin e frekuencave të bandës nga 84 pozita, që kërkon shpenzime të mëdha kohore. Këtu bëhet e qartë pse ndodhet vulnerabiliteti i nxjerrjes së çelësit përmes USB (CVE-2019-13054) pozicionohet si një mundësi për injektimin e goditjeve të çelësit, dhe jo për qasjen e një sulmuesi në të dhënat që jepen nga tastiera. Sidoqoftë, është e qartë se ndërfaqja e radios së tastierës pa tel është mjaft e ndërlikuar dhe siguron një lidhje të besueshme radio midis pajisjeve Logitech në kushte të një mjedisi të vështirë ndërlikues në bandën 2.4 GHz.
Një vështrim në problemin nga brenda
Për hulumtimin, ne kemi zgjedhur një nga tastierat që kemi Logitech K330 dhe donglin Logitech Unifying.

Logitech K330
Le tĂ« hedhim njĂ« sy brenda tastierĂ«s. NjĂ« element interesant pĂ«r hulumtim nĂ« kĂ«rcej â çipi SoC NRF24 nga Nordic Semiconductor.

SoC NRF24 në pllakën e tastierës pa tel Logitech K330
Firmware Ă«shtĂ« vendosur nĂ« memorien e brendshme, mekanizmat e leximit dhe debug janĂ« tĂ« fikur. PĂ«r fat tĂ« keq, firmware nuk Ă«shtĂ« botuar nĂ« burime tĂ« hapura. Prandaj, ne vendosĂ«m tĂ« qasemi nĂ« problem nga njĂ« kĂ«nd tjetĂ«r â tĂ« studiojmĂ« pĂ«rmbajtjen e brendshme tĂ« receptorit dongl Logitech.
Bota e brendshme e dongle-receptorit është e strukturuar mjaft interesant. Dongle është lehtësisht i hapshëm, ka në bord NRF24 të njohur me një kontrollor USB të integruar dhe mund të riprogramohet si nga ana e USB-së ashtu edhe direkt me programuesin.

Dongle Logitech pa garancinë
Duke qenë se ekziston një mekanizëm standard për përditësimin e firmware-it duke përdorur (nga i cili mund të nxirret versioni më i ri i firmware-it), nuk është e nevojshme të kërkosh firmware-in brenda dongle-it.
ĂfarĂ« u realizua: firmware RQR_012_005_00028.bin u nxorr nga trupi i aplikacionit Firmware Update Tool. PĂ«r tĂ« verifikuar integritetin e saj, kontrollori i dongle-it u lidh me njĂ« kabllo :

Kabllo e lidhjes së dongle-it Logitech me programuesin ChipProg 48
PĂ«r tĂ« kontrolluar integritetin e firmware-it, ajo u vendos me sukses nĂ« memorjen e kontrollorit dhe funksionoi siç duhet, tastiera dhe miu u lidhĂ«n me dongle-in pĂ«rmes Logitech Unifying. ĂshtĂ« e mundur tĂ« ngarkohet njĂ« firmware e modifikuar duke pĂ«rdorur mekanizmin standard tĂ« pĂ«rditĂ«simit, pasi nuk ka mekanizma tĂ« sigurisĂ« kriptografike pĂ«r firmware-in. Ne, pĂ«r qĂ«llime studimi, pĂ«rdorĂ«m lidhjen fizike me programuesin, pasi kjo e bĂ«n debugimin shumĂ« mĂ« tĂ« shpejtĂ«.
Studimi i firmware-it dhe sulmi në inputin e përdoruesit
Ăipi NRF24 Ă«shtĂ« projektuar mbi bĂ«rthamĂ«n e pĂ«rpunimit Intel 8051 nĂ« arkitkturĂ«n tradicionale Harvard. PĂ«r bĂ«rthamĂ«n, transiveri Ă«shtĂ« njĂ« pajisje periferike dhe Ă«shtĂ« vendosur nĂ« hapĂ«sirĂ«n adrese si njĂ« grup regjistrash. Dokumentacionin pĂ«r çipin dhe shembujt e kodit burimor mund tĂ« gjenden nĂ« internet, prandaj disasembilimi i firmware-it nuk paraqet vĂ«shtirĂ«si. GjatĂ« inxhinierisĂ« sĂ« kundĂ«rt ne lokalizuam funksionet pĂ«r marrjen e tĂ« dhĂ«nave rreth goditjeve tĂ« çelĂ«save nga kanali radio dhe konvertimin e tyre nĂ« formatin HID pĂ«r t'u transferuar nĂ« mikpritĂ«s pĂ«rmes ndĂ«rfaqes USB. NĂ« adresat e lira tĂ« memorjes u vendos kodi i injeksionit, i cili pĂ«rfshinte mjete pĂ«r kapjen e kontrollit, ruajtjen dhe rikthimin e kontekstit origjinal tĂ« ekzekutimit, si dhe kodin funksional.
Paketa e derguar nga dongli nga kanali radio të shtypjes ose çlirimit të çelësit dekristohet, shndërrohet në një raport standard HID dhe dërgohet në ndërfaqen USB si një tastierë e zakonshme. Në kuadër të studimit, për ne pjesa më interesante përbën raportin HID, e cila përmban bajtin e flagjeve-modifikues dhe një array me 6 bajta me kodet e shtypjes së çelësave (për referencë, informata rreth HID. ).
Struktura e raportit 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;Pikërisht para se të dërgohet struktura HID në host, kodi i injektuar merr kontrollin, kopjon në memorie 8 bajta të të dhënave HID origjinale dhe i dërgon ato në kanalin e anashkalimit në formë të hapur. Në kod, kjo duket kështu:
//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<Kanalet anësor krijohen në frekuencën që ne kemi vendosur me karakteristika të caktuara të shpejtësisë së manipulimit dhe strukturës së paketës.
Funksionimi i transiverit në çipin bazohet në grafikonin e gjendjeve, në të cilin është organikisht i integruar protokolli Enhanced ShockBurst. Ne zbuluam se pikërisht para se të dërgoheshin të dhënat HID në ndërfaqen USB të hostit, transiveri ndodhej në gjendjen IDLE. Kjo e bën të mundur ri-konfigurimin e tij të sigurt për funksionimin në kanalin anësor. Kodi i injektuar merr kontrollin, ruan konfigurimin origjinal të transiverit në masën e plotë dhe e transferon atë në një mënyrë të re për dërgimin në kanalin anësor. Mekanizmi i konfirmimeve të Enhanced ShockBurst në këtë mënyrë është i fikur, të dhënat HID dërgohen në formë të hapur në eter. Struktura e paketës në kanalin anësor paraqitet në figurën më poshtë, duke marrë epurat e sinjalit pas demodulimit dhe para rikthimit të sinjalizimit të dhënave. Vlera e adresës është zgjedhur për të lehtësuar identifikimin vizual të paketës.

Sinjali i demoduluar i paketës Burst në kanalin anësor
Pas përfundimit të dërgimit të paketës në kanalin anësor, kodi i injektuar rikthen gjendjen e transiverit. Tani ai është përsëri i gatshëm për të punuar në modin e zakonshëm në kontekstin e firmware origjinale.
Në fushat e frekuencës dhe frekuencë-kohe, kanali anësor duket siç është paraqitur në figurë:

Prezantimi spektral dhe frekuencë-kohe i kanalit anësor
Për të verifikuar funksionimin e çipit NRF24 me firmware të modifikuar, ne kemi ndërtuar një platformë që përfshin një dongl Logitech me firmware të modifikuar, një tastierë pa tel dhe një marrës të ndërtuar mbi një modul kinez me çipin NRF24.

Skema e kapjes së radiosignalit të tastierës Logitech

Moduli i bazuar në NRF24
Në platformë, gjatë punës normale të tastierës pasi e lidhëm me donglin Logitech, vëzhguam transmetimin e të dhënave të hapura për shtypjen e çelësave në një radiosigkal të anashkalueshëm dhe transmetimin normal të të dhënave të enkriptuara në ndërfaqen kryesore të radios. Kështu, arritëm të sigurojmë kapjen direkte të hyrjes së përdoruesit nga tastiera:

Rezultati i kapjes së hyrjes së tastierës
Kodi i injektuar sjell vonesa të vogla në funksionimin e firmware-it të donglit. Megjithatë, ato janë shumë të vogla për t'u vërejtur nga përdoruesi.
Siç e kuptoni, për një vektor të tillë sulmi mund të përdoret çdo tastierë Logitech që është e përputhshme me teknologjinë Unifying. Duke qenë se sulmi është i orientuar ndaj marrësit Unifying, i cili përfshihet në shumicën e tastierave Logitech, ai nuk varet nga modeli specifik i tastierës.
Përfundim
Rezultatet e kërkimit sugjerojnë mundësinë e përdorimit të skenarit të shqyrtuar nga sulmuesit: nëse një haker zëvendëson marrësin dongl të një tastiere Logitech për viktimën, ai mund të zbulojë fjalëkalimet e llogarive të viktimës me të gjitha pasojat që vijnë. Nuk duhet haruar se është gjithashtu e mundur të injektohen shtypjet e çelësave, çka do të thotë se ekzekutimi i kodit të rastësishëm në kompjuterin e viktimës nuk paraqet ndonjë vështirësi.
Dhe nëse ndonjëherë sulmuesi është në gjendje të modifikojë me distancë firmware-in e ndonjë dongli Logitech përmes USB? Pastaj, nga donglat e afërta mund të krijohet një rrjet ritransmetuesish dhe të rritet distanca e rrjedhjes. Megjithëse një sulmues "financiarisht i pajisur" mund të përdorë mjete moderne të pranimit të radios me sisteme të larta selektiviteti, pranues sensitiv me kohë të gjatë për ripërcaktimin e frekuencës dhe antena të ngushta për të "dëgjuar" hyrjen nga tastiera dhe për të shtypur çelësat edhe nga ndërtesa përballë.

Pajisje profesionale për pranimin e radios
DukePaske kanali i transmetimit të dhënave të Logitech-it është mjaft i sigurt, prandaj vektori i sulmit të gjetur kërkon akses fizik në receptor, duke e kufizuar shumë sulmuesin. Opcioni i vetëm për mbrojtje në këtë rast mund të ishte përdorimi i mekanizmave të mbrojtjes kriptografike për firmuerin e receptorit, për shembull, verifikimi i nënshkrimit të firmuerit të ngarkuar në anën e receptorit. Por, për fat të keq, NRF24 nuk e mbështet dhe në kuadër të arkitekturës aktuale të pajisjes, realizimi i mbrojtjes është i pamundur. Pra, kujdesi për donglet e tuaja, sepse varianti i përshkruar i sulmit kërkon akses fizik në to.

Raccoon Security â njĂ« ekip i specializuar ekspertĂ«sh nga NTà «Vulkan» nĂ« fushĂ«n e sigurisĂ« informatike praktike, kriptografisĂ«, elektronikes, zhvillimit tĂ« software-it, dhe krijimit tĂ« softuerit tĂ« nivelit tĂ« ulĂ«t.
Burimi: habr.com
