mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/todo/radio-hacking/infrared.md'] to ja
This commit is contained in:
parent
5c1aa80aff
commit
b63e85c03c
@ -6,7 +6,7 @@
|
||||
|
||||
**赤外線は人間には見えません**。IRの波長は**0.7から1000ミクロン**です。家庭用リモコンはデータ伝送にIR信号を使用し、波長範囲は0.75..1.4ミクロンです。リモコン内のマイクロコントローラーは、特定の周波数で赤外線LEDを点滅させ、デジタル信号をIR信号に変換します。
|
||||
|
||||
IR信号を受信するために**フォトレシーバー**が使用されます。これは**IR光を電圧パルスに変換**し、すでに**デジタル信号**です。通常、受信機内には**暗い光フィルター**があり、**望ましい波長のみを通過させ**、ノイズをカットします。
|
||||
IR信号を受信するために**フォトレシーバー**が使用されます。これは**IR光を電圧パルスに変換**し、すでに**デジタル信号**となります。通常、受信機内には**ダークライトフィルター**があり、**望ましい波長のみを通過させ**、ノイズをカットします。
|
||||
|
||||
### IRプロトコルの多様性 <a href="#variety-of-ir-protocols" id="variety-of-ir-protocols"></a>
|
||||
|
||||
@ -38,14 +38,14 @@ IRプロトコルは3つの要素で異なります:
|
||||
|
||||
**4. 前述のものと他のエキゾチックな組み合わせ**
|
||||
|
||||
> [!NOTE]
|
||||
> いくつかのデバイスタイプに対して**普遍的になろうとしている**IRプロトコルがあります。最も有名なものはRC5とNECです。残念ながら、最も有名であることは**最も一般的であることを意味しません**。私の環境では、NECリモコンを2つしか見かけず、RC5のものはありませんでした。
|
||||
> [!TIP]
|
||||
> いくつかのデバイスのために**普遍的になろうとしている**IRプロトコルがあります。最も有名なものはRC5とNECです。残念ながら、最も有名であることは最も一般的であることを意味しません。私の環境では、NECリモコンを2つしか見かけず、RC5のものはありませんでした。
|
||||
>
|
||||
> 製造業者は、同じデバイスの範囲内でも独自のユニークなIRプロトコルを使用するのが好きです(例えば、テレビボックス)。したがって、異なる会社のリモコンや、同じ会社の異なるモデルのリモコンは、同じタイプの他のデバイスと連携できないことがあります。
|
||||
> メーカーは、同じ範囲のデバイス内でも独自のユニークなIRプロトコルを使用するのが好きです(例えば、テレビボックス)。したがって、異なる会社のリモコンや、同じ会社の異なるモデルのリモコンは、同じタイプの他のデバイスと連携できないことがあります。
|
||||
|
||||
### IR信号の探索
|
||||
|
||||
リモコンのIR信号がどのように見えるかを確認する最も信頼性の高い方法は、オシロスコープを使用することです。これは受信した信号を復調したり反転したりせず、「そのまま」表示されます。これはテストやデバッグに役立ちます。NEC IRプロトコルの例で期待される信号を示します。
|
||||
リモコンのIR信号がどのように見えるかを確認する最も信頼性の高い方法は、オシロスコープを使用することです。これは受信信号を復調したり反転したりせず、「そのまま」表示されます。これはテストやデバッグに役立ちます。NEC IRプロトコルの例で期待される信号を示します。
|
||||
|
||||
<figure><img src="../../images/image (235).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@ -53,7 +53,7 @@ IRプロトコルは3つの要素で異なります:
|
||||
|
||||
次にデータが送信されます。構造、プレアンブル、およびビットエンコーディング方法は特定のプロトコルによって決まります。
|
||||
|
||||
**NEC IRプロトコル**は短いコマンドとリピートコードを含み、ボタンが押されている間に送信されます。コマンドとリピートコードの両方は、最初に同じプレアンブルを持っています。
|
||||
**NEC IRプロトコル**は、短いコマンドとリピートコードを含み、ボタンが押されている間に送信されます。コマンドとリピートコードの両方は、最初に同じプレアンブルを持っています。
|
||||
|
||||
NECの**コマンド**は、プレアンブルに加えて、デバイスが何を実行する必要があるかを理解するためのアドレスバイトとコマンド番号バイトで構成されています。アドレスとコマンド番号バイトは、伝送の整合性を確認するために逆の値で複製されます。コマンドの最後には追加のストップビットがあります。
|
||||
|
||||
@ -64,9 +64,11 @@ NECの**コマンド**は、プレアンブルに加えて、デバイスが何
|
||||
### エアコン
|
||||
|
||||
他のリモコンとは異なり、**エアコンは押されたボタンのコードだけを送信しません**。ボタンが押されると、**すべての情報を送信**して、**エアコンとリモコンが同期していることを確認します**。\
|
||||
これにより、20ºCに設定された機械が1つのリモコンで21ºCに上昇し、次に温度が20ºCのままの別のリモコンを使用してさらに温度を上げると、21ºCに「上昇」することを避けることができます(21ºCにいると思って22ºCにはならない)。
|
||||
これにより、20ºCに設定された機械が1つのリモコンで21ºCに上昇し、次に温度が20ºCの別のリモコンを使用してさらに温度を上げると、21ºCに「上昇」することを避けることができます(21ºCにいると思って22ºCにはならない)。
|
||||
|
||||
### 攻撃
|
||||
---
|
||||
|
||||
## 攻撃と攻撃的研究 <a href="#attacks" id="attacks"></a>
|
||||
|
||||
Flipper Zeroを使用して赤外線を攻撃できます:
|
||||
|
||||
@ -74,8 +76,66 @@ Flipper Zeroを使用して赤外線を攻撃できます:
|
||||
flipper-zero/fz-infrared.md
|
||||
{{#endref}}
|
||||
|
||||
### スマートTV / セットトップボックスの乗っ取り (EvilScreen)
|
||||
|
||||
最近の学術研究(EvilScreen, 2022)は、**赤外線とBluetoothまたはWi-Fiを組み合わせたマルチチャネルリモコンが、現代のスマートTVを完全に乗っ取るために悪用される可能性があることを示しました**。攻撃は高特権のIRサービスコードを認証されたBluetoothパケットと組み合わせ、チャネルの隔離をバイパスし、任意のアプリの起動、マイクのアクティベーション、または物理的アクセスなしでの工場出荷時リセットを可能にします。サムスンモデルを含む8つの主要なテレビが脆弱であることが確認されました。緩和策には、ベンダーのファームウェア修正または未使用のIR受信機の完全な無効化が必要です。
|
||||
|
||||
### IR LEDを介したエアギャップデータの抽出 (aIR-Jumperファミリー)
|
||||
|
||||
セキュリティカメラ、ルーター、または悪意のあるUSBスティックには、しばしば**ナイトビジョンIR LED**が含まれています。研究によると、マルウェアはこれらのLEDを変調して(<10–20 kbit/sで単純なOOK)、**壁や窓を通じて秘密を外部カメラに抽出**することができます。光は可視スペクトルの外にあるため、オペレーターはほとんど気づきません。対策:
|
||||
|
||||
* 敏感なエリアのIR LEDを物理的に遮蔽または取り外す
|
||||
* カメラのLEDデューティサイクルとファームウェアの整合性を監視する
|
||||
* 窓や監視カメラにIRカットフィルターを展開する
|
||||
|
||||
攻撃者はまた、強力なIRプロジェクターを使用して、**コマンドをネットワークに侵入**させるためにデータを不正なカメラにフラッシュすることができます。
|
||||
|
||||
### Flipper Zero 1.0による長距離ブルートフォースと拡張プロトコル
|
||||
|
||||
ファームウェア1.0(2024年9月)は、**数十の追加IRプロトコルとオプションの外部アンプモジュール**を追加しました。ユニバーサルリモートのブルートフォースモードと組み合わせることで、Flipperは高出力ダイオードを使用して最大30mの距離からほとんどの公共のテレビ/エアコンを無効にしたり再構成したりできます。
|
||||
|
||||
---
|
||||
|
||||
## ツールと実用例 <a href="#tooling" id="tooling"></a>
|
||||
|
||||
### ハードウェア
|
||||
|
||||
* **Flipper Zero** – 学習、リプレイ、辞書ブルートフォースモードを持つポータブルトランシーバー(上記参照)。
|
||||
* **Arduino / ESP32** + IR LED / TSOP38xx受信機 – 安価なDIYアナライザー/送信機。`Arduino-IRremote`ライブラリと組み合わせる(v4.xは>40プロトコルをサポート)。
|
||||
* **ロジックアナライザー**(Saleae/FX2) – プロトコルが不明な場合に生のタイミングをキャプチャ。
|
||||
* **IRブラスターを搭載したスマートフォン**(例:Xiaomi) – 短時間のフィールドテストだが範囲が限られる。
|
||||
|
||||
### ソフトウェア
|
||||
|
||||
* **`Arduino-IRremote`** – アクティブにメンテナンスされているC++ライブラリ:
|
||||
```cpp
|
||||
#include <IRremote.hpp>
|
||||
IRsend sender;
|
||||
void setup(){ sender.begin(); }
|
||||
void loop(){
|
||||
sender.sendNEC(0x20DF10EF, 32); // Samsung TV Power
|
||||
delay(5000);
|
||||
}
|
||||
```
|
||||
* **IRscrutinizer / AnalysIR** – 生のキャプチャをインポートし、プロトコルを自動識別し、Pronto/Arduinoコードを生成するGUIデコーダー。
|
||||
* **LIRC / ir-keytable (Linux)** – コマンドラインからIRを受信および注入:
|
||||
```bash
|
||||
sudo ir-keytable -p nec,rc5 -t # live-dump decoded scancodes
|
||||
irsend SEND_ONCE samsung KEY_POWER
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 防御策 <a href="#defense" id="defense"></a>
|
||||
|
||||
* 必要ない場合は公共の場に展開されたデバイスのIR受信機を無効にするか、覆う。
|
||||
* スマートTVとリモコン間で*ペアリング*または暗号チェックを強制し、特権の「サービス」コードを隔離する。
|
||||
* 機密エリアの周囲にIRカットフィルターまたは連続波検出器を展開して、光学的な隠密チャネルを破る。
|
||||
* 制御可能なIR LEDを露出させるカメラ/IoT機器のファームウェアの整合性を監視する。
|
||||
|
||||
## 参考文献
|
||||
|
||||
- [https://blog.flipperzero.one/infrared/](https://blog.flipperzero.one/infrared/)
|
||||
- [Flipper Zero Infrared blog post](https://blog.flipperzero.one/infrared/)
|
||||
- EvilScreen: Smart TV hijacking via remote control mimicry (arXiv 2210.03014)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user