diff --git a/src/todo/radio-hacking/infrared.md b/src/todo/radio-hacking/infrared.md index bbe5f653d..a866012b2 100644 --- a/src/todo/radio-hacking/infrared.md +++ b/src/todo/radio-hacking/infrared.md @@ -4,13 +4,13 @@ ## Як працює інфрачервоний -**Інфрачервоне світло невидиме для людей**. Довжина хвилі ІЧ становить **від 0.7 до 1000 мікрон**. Пульт дистанційного керування використовує ІЧ сигнал для передачі даних і працює в діапазоні довжин хвиль 0.75..1.4 мікрон. Мікроконтролер у пульті змушує інфрачервоний світлодіод блимати з певною частотою, перетворюючи цифровий сигнал в ІЧ сигнал. +**Інфрачервоне світло невидиме для людей**. Довжина хвилі ІЧ становить **від 0.7 до 1000 мікрон**. Пульт дистанційного керування використовує ІЧ-сигнал для передачі даних і працює в діапазоні довжин хвиль 0.75..1.4 мікрон. Мікроконтролер у пульті змушує інфрачервоний світлодіод блимати з певною частотою, перетворюючи цифровий сигнал в ІЧ-сигнал. -Для прийому ІЧ сигналів використовується **фотоприймач**. Він **перетворює ІЧ світло в імпульси напруги**, які вже є **цифровими сигналами**. Зазвичай, всередині приймача є **фільтр темного світла**, який пропускає **тільки бажану довжину хвилі** і відсікає шум. +Для прийому ІЧ-сигналів використовується **фотоприймач**. Він **перетворює ІЧ-світло в імпульси напруги**, які вже є **цифровими сигналами**. Зазвичай у приймачі є **фільтр темного світла**, який пропускає **тільки бажану довжину хвилі** і відсікає шум. -### Різноманітність ІЧ протоколів +### Різноманітність ІЧ-протоколів -ІЧ протоколи відрізняються за 3 факторами: +ІЧ-протоколи відрізняються за 3 факторами: - кодування бітів - структура даних @@ -38,35 +38,37 @@ **4. Комбінація попередніх та інших екзотичних** -> [!NOTE] -> Існують ІЧ протоколи, які **намагаються стати універсальними** для кількох типів пристроїв. Найвідоміші з них — RC5 та NEC. На жаль, найвідоміше **не означає найпоширеніше**. У моєму оточенні я зустрів лише два пульти NEC і жодного RC5. +> [!TIP] +> Існують ІЧ-протоколи, які **намагаються стати універсальними** для кількох типів пристроїв. Найвідомішими є RC5 та NEC. На жаль, найвідоміше **не означає найпоширеніше**. У моєму середовищі я зустрів лише два пульти NEC і жодного RC5. > -> Виробники люблять використовувати свої унікальні ІЧ протоколи, навіть у межах одного і того ж діапазону пристроїв (наприклад, ТВ-бокси). Тому пульти від різних компаній і іноді від різних моделей однієї компанії не можуть працювати з іншими пристроями того ж типу. +> Виробники люблять використовувати свої унікальні ІЧ-протоколи, навіть у межах одного і того ж діапазону пристроїв (наприклад, ТВ-бокси). Тому пульти від різних компаній і іноді від різних моделей однієї компанії не можуть працювати з іншими пристроями одного типу. -### Дослідження ІЧ сигналу +### Дослідження ІЧ-сигналу -Найнадійніший спосіб побачити, як виглядає ІЧ сигнал пульта, — це використовувати осцилограф. Він не демодулює і не інвертує отриманий сигнал, він просто відображається "як є". Це корисно для тестування та налагодження. Я покажу очікуваний сигнал на прикладі протоколу NEC. +Найнадійніший спосіб побачити, як виглядає ІЧ-сигнал пульта, — це використовувати осцилограф. Він не демодулює і не інвертує отриманий сигнал, він просто відображається "як є". Це корисно для тестування та налагодження. Я покажу очікуваний сигнал на прикладі ІЧ-протоколу NEC.
-Зазвичай на початку закодованого пакета є преамбула. Це дозволяє приймачу визначити рівень підсилення та фоновий шум. Існують також протоколи без преамбули, наприклад, Sharp. +Зазвичай на початку закодованого пакета є преамбула. Це дозволяє приймачеві визначити рівень підсилення та фоновий шум. Існують також протоколи без преамбули, наприклад, Sharp. Потім передаються дані. Структура, преамбула та метод кодування бітів визначаються конкретним протоколом. -**Протокол NEC** містить коротку команду та код повторення, який надсилається під час натискання кнопки. Як команда, так і код повторення мають однакову преамбулу на початку. +**ІЧ-протокол NEC** містить коротку команду та код повторення, який надсилається під час натискання кнопки. Як команда, так і код повторення мають однакову преамбулу на початку. -**Команда NEC**, крім преамбули, складається з байта адреси та байта номера команди, за яким пристрій розуміє, що потрібно виконати. Байти адреси та номера команди дублюються з інверсними значеннями, щоб перевірити цілісність передачі. В кінці команди є додатковий стоп-біт. +Команда **NEC**, крім преамбули, складається з байта адреси та байта номера команди, за якими пристрій розуміє, що потрібно виконати. Байти адреси та номера команди дублюються з інверсними значеннями, щоб перевірити цілісність передачі. В кінці команди є додатковий стоп-біт. -**Код повторення** має "1" після преамбули, що є стоп-бітом. +Код **повторення** має "1" після преамбули, що є стоп-бітом. -Для **логіки "0" та "1"** NEC використовує кодування відстані імпульсів: спочатку передається сплеск імпульсу, після якого йде пауза, довжина якої задає значення біта. +Для **логіки "0" і "1"** NEC використовує кодування відстані імпульсів: спочатку передається сплеск імпульсу, після якого йде пауза, довжина якої задає значення біта. ### Кондиціонери На відміну від інших пультів, **кондиціонери не передають лише код натиснутої кнопки**. Вони також **передають всю інформацію**, коли кнопка натискається, щоб забезпечити, що **кондиціонер і пульт синхронізовані**.\ Це дозволить уникнути ситуації, коли машина, налаштована на 20ºC, підвищується до 21ºC з одного пульта, а потім, коли використовується інший пульт, який все ще має температуру 20ºC, температура підвищується до 21ºC (а не до 22ºC, вважаючи, що вона на 21ºC). -### Атаки +--- + +## Атаки та наступальні дослідження Ви можете атакувати інфрачервоний з Flipper Zero: @@ -74,8 +76,66 @@ flipper-zero/fz-infrared.md {{#endref}} +### Захоплення Smart-TV / ТВ-приставки (EvilScreen) + +Недавня академічна робота (EvilScreen, 2022) продемонструвала, що **багатоканальні пульти, які поєднують інфрачервоний з Bluetooth або Wi-Fi, можуть бути зловживані для повного захоплення сучасних смарт-ТВ**. Атака поєднує високопривілейовані ІЧ-сервісні коди з автентифікованими Bluetooth-пакетами, обходячи ізоляцію каналів і дозволяючи запускати довільні програми, активувати мікрофон або скинути заводські налаштування без фізичного доступу. Вісім основних телевізорів від різних виробників — включаючи модель Samsung, яка стверджує про відповідність ISO/IEC 27001 — були підтверджені як вразливі. Пом'якшення вимагає виправлень прошивки від виробника або повного відключення невикористовуваних ІЧ-приймачів. + +### Витік даних з повітря через ІЧ-світлодіоди (сімейство aIR-Jumper) + +Системи безпеки, маршрутизатори або навіть шкідливі USB-накопичувачі часто містять **ІЧ-світлодіоди нічного бачення**. Дослідження показують, що шкідливе ПЗ може модуляціювати ці світлодіоди (<10–20 кбіт/с з простим OOK), щоб **викрадати секрети через стіни та вікна** до зовнішньої камери, розташованої за десятки метрів. Оскільки світло знаходиться за межами видимого спектра, оператори рідко помічають. Заходи протидії: + +* Фізично захистити або видалити ІЧ-світлодіоди в чутливих зонах +* Моніторити робочий цикл світлодіодів камер і цілісність прошивки +* Встановити ІЧ-фільтри на вікна та камери спостереження + +Атакуючий також може використовувати потужні ІЧ-прожектори, щоб **внедрити** команди в мережу, миготячи даними назад до незахищених камер. + +### Далекобійний брутфорс та розширені протоколи з Flipper Zero 1.0 + +Прошивка 1.0 (вересень 2024) додала **десятки додаткових ІЧ-протоколів та необов'язкових зовнішніх підсилювачів**. У поєднанні з режимом брутфорсу універсального пульта, Flipper може вимкнути або переналаштувати більшість публічних телевізорів/кондиціонерів з відстані до 30 м, використовуючи діод високої потужності. + +--- + +## Інструменти та практичні приклади + +### Апаратура + +* **Flipper Zero** – портативний трансивер з режимами навчання, відтворення та словникового брутфорсу (див. вище). +* **Arduino / ESP32** + ІЧ-світлодіод / приймач TSOP38xx – дешевий DIY аналізатор/передавач. Поєднуйте з бібліотекою `Arduino-IRremote` (v4.x підтримує >40 протоколів). +* **Логічні аналізатори** (Saleae/FX2) – захоплюють сирі таймінги, коли протокол невідомий. +* **Смартфони з ІЧ-бластером** (наприклад, Xiaomi) – швидкий польовий тест, але обмежений діапазон. + +### Програмне забезпечення + +* **`Arduino-IRremote`** – активно підтримувана бібліотека C++: +```cpp +#include +IRsend sender; +void setup(){ sender.begin(); } +void loop(){ +sender.sendNEC(0x20DF10EF, 32); // Samsung TV Power +delay(5000); +} +``` +* **IRscrutinizer / AnalysIR** – GUI декодери, які імпортують сирі захоплення та автоматично ідентифікують протокол + генерують код Pronto/Arduino. +* **LIRC / ir-keytable (Linux)** – отримувати та впроваджувати ІЧ з командного рядка: +```bash +sudo ir-keytable -p nec,rc5 -t # live-dump decoded scancodes +irsend SEND_ONCE samsung KEY_POWER +``` + +--- + +## Заходи захисту + +* Вимкнути або закрити ІЧ-приймачі на пристроях, розгорнуті в громадських місцях, коли це не потрібно. +* Вимагати *пару* або криптографічні перевірки між смарт-ТВ та пультами; ізолювати привілейовані "сервісні" коди. +* Встановити ІЧ-фільтри або детектори безперервної хвилі навколо закритих зон, щоб зламати оптичні приховані канали. +* Моніторити цілісність прошивки камер/IoT-пристроїв, які відкривають керовані ІЧ-світлодіоди. + ## Посилання -- [https://blog.flipperzero.one/infrared/](https://blog.flipperzero.one/infrared/) +- [Flipper Zero Infrared blog post](https://blog.flipperzero.one/infrared/) +- EvilScreen: захоплення смарт-ТВ через імітацію пульта (arXiv 2210.03014) {{#include ../../banners/hacktricks-training.md}}