Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Historikisht, shumica e punonjësve përdorin tastierë me valë dhe minj nga Logitech. Duke futur edhe një herë fjalëkalimet tona, ne, specialistët e ekipit Raccoon Security, pyetëm veten: sa e vështirë është të anashkalosh mekanizmat e sigurisë së tastierës me valë? Studimi zbuloi të meta arkitekturore dhe gabime softuerike që lejojnë aksesin në të dhënat hyrëse. Poshtë prerjes është ajo që kemi marrë.

Pse Logitech?

Sipas mendimit tonë, pajisjet hyrëse Logitech janë ndër më cilësoret dhe më të përshtatshmet. Shumica e pajisjeve që kemi janë të bazuara në zgjidhjen Logitech unifikuese është një marrës universal dongle që ju lejon të lidhni deri në 6 pajisje. Të gjitha pajisjet e pajtueshme me teknologjinë Logitech Unifying janë shënuar me logon e teknologjisë Logitech Unifying. Lehtë për t'u përdorur приложение Ju lejon të menaxhoni lidhjen e tastierave me valë me kompjuterin tuaj. Procesi i lidhjes së tastierës me dongle marrës Logitech, si dhe vetë teknologjia, mbulohet, për shembull, këtu.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Marrës dongle me mbështetje Logitech Unifying

Tastiera mund të bëhet një burim informacioni për sulmuesit. Logitech, duke marrë parasysh kërcënimin e mundshëm, u kujdes për sigurinë - përdori algoritmin e kriptimit AES128 në kanalin radio të tastierës pa tel. Mendimi i parë që mund të ketë një sulmues në këtë situatë është të përgjojë informacionin kryesor kur ai transmetohet përmes një kanali radio gjatë procedurës së lidhjes. Në fund të fundit, nëse keni një çelës, mund të përgjoni sinjalet e radios së tastierës dhe t'i deshifroni ato. Sidoqoftë, përdoruesi rrallë (ose edhe kurrë) duhet të unifikojë tastierën, dhe një haker me një radio skanimi do të duhet të presë një kohë të gjatë. Për më tepër, jo gjithçka është aq e thjeshtë me vetë procesin e përgjimit. Në studimin e fundit në qershor 2019, eksperti i sigurisë Markus Mengs publikoi në internet сообщение në lidhje me zbulimin e një dobësie në firmware-in e vjetër të dongleve USB Logitech. Ai i lejon sulmuesit me qasje fizike në pajisje të marrin çelësat e enkriptimit të kanaleve të radios dhe të injektojnë goditjet e tasteve (CVE-2019-13054).

Ne do të flasim për studimin tonë të sigurisë të dongle Logitech bazuar në NRF24 SoC nga Nordic Semiconductor. Le të fillojmë, ndoshta, me vetë kanalin e radios.

Si "fluturojnë" të dhënat në një kanal radioje

Për analizën e frekuencës kohore të sinjalit të radios, ne përdorëm një marrës SDR të bazuar në pajisjen Blade-RF në modalitetin e analizuesit të spektrit (mund të lexoni gjithashtu për këtë këtu).

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Pajisja SDR Blade-RF

Ne kemi shqyrtuar gjithashtu mundësinë e regjistrimit të kuadrateve të sinjalit radio në një frekuencë të ndërmjetme, të cilat më pas mund të analizohen duke përdorur teknikat e përpunimit të sinjalit dixhital.

Komisioni Shtetëror për Frekuencat e Radios në Federatën Ruse i pushuar nga puna për përdorim nga pajisjet me rreze të shkurtër, diapazoni i frekuencës është 2400–2483,5 MHz. Ky është një gamë shumë "e populluar", në të cilën nuk do të gjeni asgjë: Wi-Fi, Bluetooth, të gjitha llojet e telekomandave, sistemet e sigurisë, detektorët pa tel, minjtë me tastierë dhe pajisje të tjera dixhitale pa tel.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Spektri i brezit 2,4 GHz

Mjedisi i ndërhyrjes në gamë është mjaft kompleks. Përkundër kësaj, Logitech ishte në gjendje të siguronte pritje të besueshme dhe të qëndrueshme përmes përdorimit të protokollit të Enhanced ShockBurst në transmetuesin NRF24 në kombinim me algoritmet e përshtatjes së frekuencës.

Kanalet në një brez vendosen në pozicionet me numër të plotë MHz siç përcaktohet në specifikimet NRF24 Nordic Semiconductor - gjithsej 84 kanale në rrjetin e frekuencave. Numri i kanaleve të frekuencave të përdorura njëkohësisht nga Logitech është, natyrisht, më i vogël. Ne identifikuam përdorimin e të paktën katër. Për shkak të gjerësisë së brezit të kufizuar të analizuesit të spektrit të sinjalit të përdorur, lista e saktë e pozicioneve të frekuencës së përdorur nuk mund të përcaktohet, por kjo nuk ishte e nevojshme. Informacioni nga tastiera në dongle marrës transmetohet në modalitetin Burst (ndizet e shkurtër transmetuesi) duke përdorur modulimin e frekuencës me dy pozicione GFSK me një shpejtësi simbolike prej 1 Mbaud:

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Sinjali i radios së tastierës në paraqitjen e kohës

Marrësi përdor parimin e korrelacionit të marrjes, kështu që paketa e transmetuar përmban një preambulë dhe një pjesë adresash. Kodimi rezistent ndaj zhurmës nuk përdoret; trupi i të dhënave është i koduar me algoritmin AES128.

Në përgjithësi, ndërfaqja radio e tastierës wireless Logitech mund të karakterizohet si plotësisht asinkrone me multipleksim statistikor dhe përshtatje të frekuencës. Kjo do të thotë që transmetuesi i tastierës ndërron kanalin për të transmetuar çdo paketë të re. Marrësi nuk e di paraprakisht as kohën e transmetimit dhe as kanalin e frekuencës, por dihet vetëm lista e tyre. Marrësi dhe transmetuesi takohen në kanal falë algoritmeve të koordinuara të anashkalimit dhe dëgjimit të frekuencës, si dhe mekanizmave të njohjes së përmirësuar të ShockBurst. Ne nuk kemi hetuar nëse lista e kanaleve është statike. Ndoshta, ndryshimi i tij është për shkak të algoritmit të përshtatjes së frekuencës. Diçka afër metodës së kërcimit të frekuencës (akordim pseudo-rastësor i frekuencës së funksionimit) mund të shihet në përdorimin e burimit të frekuencës së diapazonit.

Kështu, në kushtet e pasigurisë së frekuencës së kohës, për të siguruar marrjen e garantuar të të gjitha sinjaleve të tastierës, një sulmues do të duhet të monitorojë vazhdimisht të gjithë rrjetin e frekuencës prej 84 pozicionesh, gjë që kërkon një kohë të konsiderueshme. Këtu bëhet e qartë pse cenueshmëria e nxjerrjes së çelësit USB (CVE-2019-13054) në burime pozicionuar si aftësi për të injektuar tastierë, në vend që të fitoni aksesin e një sulmuesi në të dhënat e futura nga tastiera. Natyrisht, ndërfaqja radio e tastierës me valë është mjaft komplekse dhe siguron komunikim të besueshëm radio midis pajisjeve Logitech në kushte të vështira ndërhyrjeje në brezin 2,4 GHz.

Një vështrim i problemit nga brenda

Për studimin tonë, ne zgjodhëm një nga tastierat tona ekzistuese Logitech K330 dhe një dongle Logitech Unifying.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Logitech K330

Le të hedhim një vështrim brenda tastierës. Një element interesant në tabelë për t'u studiuar është çipi SoC NRF24 nga Nordic Semiconductor.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

SoC NRF24 në tastierën me valë Logitech K330

Firmware ndodhet në memorien e brendshme, mekanizmat e leximit dhe korrigjimit janë të çaktivizuar. Fatkeqësisht, firmware nuk është publikuar në burime të hapura. Prandaj, vendosëm t'i qasemi problemit nga ana tjetër - të studiojmë përmbajtjen e brendshme të marrësit dongle Logitech.

"Bota e brendshme" e marrësit të dongle është mjaft interesante. Dongle çmontohet lehtësisht, mban në bord lëshimin e njohur NRF24 me një kontrollues të integruar USB dhe mund të riprogramohet si nga ana USB, ashtu edhe direkt nga programuesi.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Dongle Logitech pa strehim

Meqenëse ekziston një mekanizëm standard për azhurnimin e firmuerit duke përdorur Aplikacionet e veglave të përditësimit të firmuerit (nga i cili mund të nxirrni versionin e përditësuar të firmuerit), nuk ka nevojë të kërkoni firmuerin brenda dongle.

Çfarë u bë: firmware RQR_012_005_00028.bin u nxor nga trupi i aplikacionit Firmware Update Tool. Për të kontrolluar integritetin e tij, kontrolluesi i dongle u lidh me një kabllo te programuesi ChipProg-48:

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Kabllo për lidhjen e dongle Logitech me programuesin ChipProg 48

Për të kontrolluar integritetin e firmuerit, ai u vendos me sukses në kujtesën e kontrolluesit dhe funksionoi si duhet, tastiera dhe miu u lidhën me dongle përmes Logitech Unifying. Është e mundur të ngarkoni firmware të modifikuar duke përdorur mekanizmin standard të përditësimit, pasi nuk ka mekanizma mbrojtës kriptografik për firmuerin. Për qëllime kërkimore, ne përdorëm një lidhje fizike me programuesin, pasi korrigjimi i gabimeve është shumë më i shpejtë në këtë mënyrë.

Hulumtimi i firmuerit dhe sulmi ndaj hyrjes së përdoruesit

Çipi NRF24 është projektuar bazuar në bërthamën informatike Intel 8051 në arkitekturën tradicionale të Harvardit. Për bërthamën, marrësi vepron si një pajisje periferike dhe vendoset në hapësirën e adresave si një grup regjistrash. Dokumentacioni për shembujt e çipit dhe kodit burimor mund të gjendet në internet, kështu që çmontimi i firmuerit nuk është i vështirë. Gjatë inxhinierisë së kundërt, ne lokalizuam funksionet për marrjen e të dhënave të shtypjes së tastierës nga kanali i radios dhe konvertimin e tyre në formatin HID për transmetim në host përmes ndërfaqes USB. Kodi i injektimit u vendos në adresat e memories së lirë, të cilat përfshinin mjete për përgjimin e kontrollit, ruajtjen dhe rivendosjen e kontekstit origjinal të ekzekutimit, si dhe kodin funksional.

Paketa e shtypjes ose lëshimit të një çelësi të marrë nga dongle nga kanali i radios deshifrohet, konvertohet në një raport standard HID dhe dërgohet në ndërfaqen USB si nga një tastierë e zakonshme. Si pjesë e studimit, pjesa e raportit HID që është më me interes për ne është pjesa e raportit HID që përmban një bajt me flamuj modifikues dhe një grup prej 6 bajte me kode të shtypjes së tastierës (për referencë, informacione rreth HID këtu).

Struktura e raportit të 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;

Menjëherë përpara transmetimit të strukturës HID te hosti, kodi i injektuar merr kontrollin, kopjon 8 bajt të të dhënave origjinale HID në memorie dhe i dërgon ato në kanalin anësor të radios në tekst të qartë. Në kod 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<

Kanali anësor është i organizuar në një frekuencë që ne vendosim me karakteristika të caktuara të shpejtësisë së manipulimit dhe strukturës së paketës.

Funksionimi i transmetuesit në çip NRF24 bazohet në një grafik gjendjeje në të cilin protokolli i Enhanced ShockBurst është i integruar organikisht. Ne zbuluam se menjëherë përpara transmetimit të të dhënave HID në ndërfaqen USB pritës, marrësi ishte në gjendje IDLE. Kjo bën të mundur rikonfigurimin e sigurt për të funksionuar në një kanal anësor. Kodi i injektuar kap kontrollin, ruan plotësisht konfigurimin origjinal të marrësit dhe e kalon atë në një mënyrë të re transmetimi në kanalin anësor. Mekanizmi i konfirmimit të Enhanced ShockBurst është i çaktivizuar në këtë modalitet; të dhënat HID transmetohen në formë të qartë përmes ajrit. Struktura e paketës në kanalin anësor është paraqitur në figurën më poshtë, diagramet e sinjalit janë marrë pas demodulimit dhe para rivendosjes së sinkronizimit të orës së të dhënave. Vlera e adresës u zgjodh për lehtësinë e identifikimit vizual të paketës.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Sinjali i demoduluar i shpërthimit të shpërthimit në kanalin anësor

Pasi paketa të transmetohet në kanalin anësor, kodi i injektuar rikthen gjendjen e marrësit. Tani është përsëri gati për të punuar normalisht në kontekstin e firmuerit origjinal.

Në domenet e frekuencës dhe frekuencës së kohës, kanali anësor duket kështu:

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Paraqitja spektrale dhe frekuenca kohore e kanalit anësor

Për të testuar funksionimin e çipit NRF24 me firmuerin e modifikuar, ne montuam një stendë që përfshinte një dongle Logitech me firmware të modifikuar, një tastierë me valë dhe një marrës të montuar në bazë të një moduli kinez me çipin NRF24.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Qarku i përgjimit të sinjalit të radios me tastierë pa tel Logitech

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Moduli i bazuar në NRF24

Në stol, me tastierën që funksiononte normalisht, pasi e lidhëm me donglein e Logitech, vëzhguam transmetimin e të dhënave të qarta për goditjet e tasteve në kanalin e radios anësore dhe transmetimin normal të të dhënave të koduara në ndërfaqen kryesore të radios. Kështu, ne ishim në gjendje të siguronim përgjim të drejtpërdrejtë të hyrjes së tastierës së përdoruesit:

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Rezultati i përgjimit të hyrjes së tastierës

Kodi i injektuar sjell vonesa të vogla në funksionimin e firmuerit të dongle. Megjithatë, ato janë shumë të vogla që përdoruesi t'i vërë re.

Siç mund ta imagjinoni, çdo tastierë Logitech që është në përputhje me teknologjinë Unifying mund të përdoret për këtë vektor sulmi. Meqenëse sulmi synon marrësin Unifying të përfshirë në shumicën e tastierave Logitech, ai është i pavarur nga modeli specifik i tastierës.

Përfundim

Rezultatet e studimit sugjerojnë përdorimin e mundshëm të skenarit të konsideruar nga sulmuesit: nëse një haker zëvendëson viktimën me një marrës dongle për një tastierë pa tel Logitech, atëherë ai do të jetë në gjendje të zbulojë fjalëkalimet në llogaritë e viktimës me të gjitha ato që pasojnë. pasojat. Mos harroni se është gjithashtu e mundur të injektoni tastierë, që do të thotë se nuk është e vështirë të ekzekutoni kodin arbitrar në kompjuterin e viktimës.

Po sikur papritmas një sulmues të mund të modifikojë nga distanca firmuerin e çdo dongle të Logitech nëpërmjet USB? Më pas, nga dongles të vendosura ngushtë, mund të krijoni një rrjet përsëritësish dhe të rrisni distancën e rrjedhjes. Megjithëse një sulmues "i pasur financiarisht" do të jetë në gjendje të "dëgjojë" hyrjen e tastierës dhe shtypjen e tasteve edhe nga një ndërtesë fqinje, pajisjet moderne të pritjes së radios me sisteme shumë selektive, marrës të ndjeshëm radio me kohë të shkurtër sintonizimi me frekuencë dhe antena shumë të drejtuara do t'i lejojnë ato. për të "dëgjuar" hyrjen e tastierës dhe shtypjen e tasteve edhe nga një ndërtesë fqinje.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Pajisje profesionale radio

Meqenëse kanali i transmetimit të të dhënave me valë të tastierës Logitech është mjaft i mbrojtur, vektori i sulmit të gjetur kërkon qasje fizike në marrës, gjë që kufizon shumë sulmuesin. Opsioni i vetëm i mbrojtjes në këtë rast do të ishte përdorimi i mekanizmave të mbrojtjes kriptografike për firmuerin e marrësit, për shembull, kontrollimi i nënshkrimit të firmuerit të ngarkuar në anën e marrësit. Por, për fat të keq, NRF24 nuk e mbështet këtë dhe është e pamundur të zbatohet mbrojtja brenda arkitekturës aktuale të pajisjes. Pra, kujdesuni për dongles tuaj, sepse opsioni i sulmit të përshkruar kërkon qasje fizike në to.

Kujdesuni për donglet tuaj: Studimi i sigurisë së marrësit të tastierës Logitech

Raccoon Security është një ekip i veçantë ekspertësh nga Qendra e Kërkimit dhe Zhvillimit Vulcan në fushën e sigurisë praktike të informacionit, kriptografisë, dizajnit të qarkut, inxhinierisë së kundërt dhe krijimit të softuerit të nivelit të ulët.

Burimi: www.habr.com

Shto një koment