Историски гледано, повеќето вработени користат безжични тастатури и глувци од Logitech. Внесувајќи ги нашите лозинки уште еднаш, ние, специјалистите на тимот Raccoon Security, се запрашавме: колку е тешко да се заобиколат безбедносните механизми на безжичните тастатури? Студијата откри архитектонски недостатоци и софтверски грешки кои овозможуваат пристап до влезните податоци. Под сечењето е она што го добивме.
Зошто Логитек?
Според наше мислење, влезните уреди на Logitech се меѓу најквалитетните и најпогодни. Повеќето уреди што ги имаме се базирани на решението на Logitech
Dongle приемник со Logitech Unifying поддршка
Тастатурата може да стане извор на информации за напаѓачите. Logitech, земајќи ја предвид можната закана, се погрижи за безбедноста - го користеше алгоритамот за шифрирање AES128 во радио каналот на безжичната тастатура. Првата мисла што може да ја има напаѓачот во оваа ситуација е да ги пресретне клучните информации кога тие се пренесуваат преку радио канал за време на процедурата за врзување. На крајот на краиштата, ако имате клуч, можете да ги пресретнете радио сигналите на тастатурата и да ги дешифрирате. Сепак, корисникот ретко (или дури и никогаш) мора да ја обедини тастатурата, а хакер со радио за скенирање ќе мора да чека долго време. Покрај тоа, не е сè толку едноставно со самиот процес на пресретнување. Во најновата студија во јуни 2019 година, експертот за безбедност Маркус Менгс објави онлајн
Ќе зборуваме за нашата безбедносна студија на Logitech dongle базирана на NRF24 SoC од Nordic Semiconductor. Да почнеме, можеби, со самиот радио канал.
Како податоците „летаат“ во радио канал
За временска фреквентна анализа на радио сигналот, користевме SDR приемник базиран на уредот Blade-RF во режим на анализатор на спектарот (исто така можете да прочитате за ова
SDR Blade-RF уред
Ја разгледавме и можноста за снимање квадратури на радио сигналот на средна фреквенција, која потоа може да се анализира со помош на техники за дигитална обработка на сигналот.
Државна комисија за радиофреквенции во Руската Федерација
Спектар на опсегот 2,4 GHz
Околината за пречки во опсегот е доста сложена. И покрај ова, Logitech беше во можност да обезбеди сигурен и стабилен прием преку употреба на протоколот Enhanced ShockBurst во NRF24 трансиверот во комбинација со алгоритми за прилагодување на фреквенцијата.
Каналите во опсегот се поставени на цел број MHz позиции како што е дефинирано во
Радио сигнал од тастатура во прикажување на времето
Приемникот го користи принципот на корелација на прием, така што пренесениот пакет содржи преамбула и адресен дел. Не се користи кодирање отпорно на бучава; податочното тело е шифрирано со алгоритам AES128.
Општо земено, радио интерфејсот на безжичната тастатура Logitech може да се карактеризира како целосно асинхрон со статистичко мултиплексирање и прилагодување на фреквенцијата. Ова значи дека предавателот на тастатурата го префрла каналот за да го пренесе секој нов пакет. Приемникот не го знае однапред ниту времето на пренос, ниту фреквенцискиот канал, туку е познат само нивниот список. Приемникот и предавателот се среќаваат во каналот благодарение на координираните алгоритми за бајпас и слушање на фреквенцијата, како и на механизмите за подобрено потврдување ShockBurst. Не истраживме дали списокот со канали е статичен. Веројатно, нејзината промена се должи на алгоритмот за прилагодување на фреквенцијата. Нешто блиску до методот на прескокнување на фреквенцијата (псевдо-случајно подесување на работната фреквенција) може да се види во користењето на фреквентниот ресурс на опсегот.
Така, во услови на неизвесност време-фреквенција, за да се гарантира приемот на сите сигнали од тастатурата, напаѓачот ќе треба постојано да ја следи целата фреквентна мрежа од 84 позиции, што бара значително време. Овде станува јасно зошто ранливоста за извлекување на USB-клуч (CVE-2019-13054)
Поглед на проблемот одвнатре
За нашата студија, избравме една од нашите постоечки тастатури Logitech K330 и Logitech Unifying dongle.
Logitech K330
Ајде да погледнеме во внатрешноста на тастатурата. Интересен елемент на таблата за проучување е чипот SoC NRF24 од Nordic Semiconductor.
SoC NRF24 на безжичната тастатура Logitech K330
Фирмверот се наоѓа во внатрешната меморија, механизмите за читање и дебагирање се оневозможени. За жал, фирмверот не е објавен во отворени извори. Затоа, решивме да му пристапиме на проблемот од другата страна - да ја проучиме внатрешната содржина на приемникот Logitech dongle.
„Внатрешниот свет“ на приемникот за дангл е доста интересен. Донглот лесно се расклопува, го носи познатото ослободување NRF24 со вграден USB контролер и може да се репрограмира и од USB-страната и директно од програмерот.
Logitech dongle без куќиште
Бидејќи постои стандарден механизам за ажурирање на фирмверот користејќи
Што е направено: фирмверот RQR_012_005_00028.bin беше извлечен од телото на апликацијата Алатка за ажурирање на фирмверот. За да се провери неговиот интегритет, контролорот за клучеви беше поврзан со кабел
Кабел за поврзување на Logitech dongle со програмерот ChipProg 48
За да се контролира интегритетот на фирмверот, тој беше успешно ставен во меморијата на контролорот и работеше правилно, тастатурата и глувчето беа поврзани со клучот преку Logitech Unifying. Можно е да се постави модифициран фирмвер со користење на стандардниот механизам за ажурирање, бидејќи не постојат механизми за криптографска заштита за фирмверот. За истражувачки цели, користевме физичка врска со програмерот, бидејќи дебагирањето е многу побрзо на овој начин.
Истражување на фирмверот и напад врз влезот на корисникот
Чипот NRF24 е дизајниран врз основа на компјутерското јадро Intel 8051 во традиционалната архитектура на Харвард. За јадрото, трансиверот делува како периферен уред и се става во адресниот простор како збир на регистри. Документацијата за примерите на чипот и изворниот код може да се најде на Интернет, така што расклопувањето на фирмверот не е тешко. За време на обратното инженерство, ги локализиравме функциите за примање податоци за притискање на тастатурата од радио каналот и нивно претворање во HID формат за пренос до домаќинот преку USB-интерфејсот. Кодот за инјектирање беше сместен во адреси на слободна меморија, која вклучуваше алатки за пресретнување на контролата, зачувување и враќање на оригиналниот контекст на извршување, како и функционален код.
Пакетот со притискање или отпуштање клуч што го добива клучот од радио каналот се дешифрира, се претвора во стандарден HID извештај и се испраќа до USB-интерфејсот како од обична тастатура. Како дел од студијата, делот од извештајот HID што е од најголем интерес за нас е делот од извештајот HID кој содржи бајт знаменца на модификатори и низа од 6 бајти со шифри за притискање на тастатурата (за повикување, информации за HID
Структура на извештајот 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;
Непосредно пред да ја пренесе структурата HID на домаќинот, инјектираниот код ја презема контролата, копира 8 бајти од природни HID податоци во меморијата и ги испраќа до страничниот радио канал во јасен текст. Во кодот изгледа вака:
//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<
Страничниот канал е организиран на фреквенција што ја поставуваме со одредени карактеристики на брзината на манипулација и структурата на пакетот.
Работење на трансиверот во чипот
Демодулиран рафален сигнал во страничниот канал
Откако пакетот ќе се пренесе на страничниот канал, инјектираниот код ја враќа состојбата на трансиверот. Сега повторно е подготвен да работи нормално во контекст на оригиналниот фирмвер.
Во доменот на фреквенција и временско-фреквенција, страничниот канал изгледа вака:
Спектрално и временско-фреквентно претставување на страничниот канал
За да ја тестираме работата на чипот NRF24 со модифициран фирмвер, составивме држач што вклучуваше Logitech dongle со модифициран фирмвер, безжична тастатура и приемник склопени врз основа на кинески модул со чип NRF24.
Коло за пресретнување на радио сигнал од безжична тастатура Logitech
Модул базиран на NRF24
На клупата, кога тастатурата работи нормално, откако ја поврзавме со Logitech dongle, забележавме пренос на јасни податоци за притискање на копчињата во страничниот радио канал и нормален пренос на шифрирани податоци во главниот радио интерфејс. Така, успеавме да обезбедиме директно следење на внесувањето на тастатурата на корисникот:
Резултат на пресретнување на влезот од тастатурата
Инјектираната шифра воведува мали доцнења во работата на фирмверот на dongle. Сепак, тие се премногу мали за корисникот да ги забележи.
Како што можете да замислите, секоја тастатура на Logitech што е компатибилна со технологијата Unifying може да се користи за овој вектор за напад. Бидејќи нападот е насочен кон Unifying приемникот вклучен во повеќето тастатури на Logitech, тој е независен од специфичниот модел на тастатура.
Заклучок
Резултатите од студијата укажуваат на можна употреба на разгледуваното сценарио од страна на напаѓачите: ако хакер ја замени жртвата со dongle-приемник за безжична тастатура Logitech, тогаш тој ќе може да ги дознае лозинките на сметките на жртвата со сите следни последиците. Не заборавајте дека исто така е можно да се инјектираат тастатурата, што значи дека не е тешко да се изврши произволен код на компјутерот на жртвата.
Што ако одеднаш напаѓачот може далечински да го измени фирмверот на кој било клуч на Logitech преку USB? Потоа, од тесно распоредени клучеви, можете да создадете мрежа на повторувачи и да го зголемите растојанието за истекување. Иако „финансиски богат“ напаѓач ќе може да „слуша“ внесување на тастатурата и да ги притиска копчињата дури и од соседната зграда, модерната радиоприемна опрема со високо селективни системи, чувствителни радио приемници со кратко време на подесување на фреквенцијата и високо насочени антени ќе им овозможи да го „слушате“ внесувањето на тастатурата и да притискате копчиња дури и од соседната зграда.
Професионална радио опрема
Бидејќи каналот за безжичен пренос на податоци на тастатурата на Logitech е доста добро заштитен, пронајдениот вектор за напад бара физички пристап до приемникот, што во голема мера го ограничува напаѓачот. Единствената опција за заштита во овој случај би била употребата на механизми за криптографска заштита за фирмверот на приемникот, на пример, проверка на потписот на вчитаниот фирмвер од страната на ресиверот. Но, за жал, NRF24 не го поддржува ова и невозможно е да се спроведе заштита во рамките на тековната архитектура на уредот. Затоа, грижете се за вашите dongles, бидејќи опишаната опција за напад бара физички пристап до нив.
Raccoon Security е специјален тим од експерти од Центарот за истражување и развој Vulcan во областа на практична безбедност на информации, криптографија, дизајн на кола, обратно инженерство и создавање софтвер на ниско ниво.
Извор: www.habr.com