BadUSBを赤外線リモコンで遠隔操作する「IR-BadUSB」Black Hatでハードウェアハック!(2)(1/3 ページ)

筆者の今岡通博氏がハッカーの祭典「Black Hat」に投稿した、ハードウェアの改変を中心にしたハッキングの事例を紹介する本連載。第2回は、赤外線リモコンを使ってBadUSBを遠隔操作する「IR-BadUSB」だ。

» 2022年09月21日 07時00分 公開
[今岡通博MONOist]

はじめに

 前回記事の「LANケーブルから直接パケットを取得するワイヤタッピングプローブ」に続いて、「Black Hat USA 2022 Arsenal」で採択された筆者の投稿を紹介します。

⇒連載「Black Hatでハードウェアハック!」バックナンバー

 今回取り上げるのは“IR(Infrared) BadUSB attack”です。サイバー攻撃を目的に悪意のあるソフトウェアを組み込んだUSBデバイスは「BadUSB」として広く知られています。本投稿では、従来のBadUSBにIR受信素子を追加することで発生する新たなリスクについて報告します。このIR-BadUSBは、一般家庭用のIR(赤外線)リモコンを使って遠隔操作します。そのため、ターゲットと攻撃者はIRリモコンの赤外線到達範囲内にいる必要があります。

「Black Hat USA 2022 Arsenal」で採択された“IR(Infrared) BadUSB attack”の紹介ページ 「Black Hat USA 2022 Arsenal」で採択された“IR(Infrared) BadUSB attack”の紹介ページ[クリックでWebサイトへ移動]

警告

 BadUSBを用いて他人のPCへの不正なアクセスなどを行うと犯罪になる場合があります。

日本国内での注意事項

 不正アクセス行為を行った場合、刑事罰(3年以下の懲役または100万円以下の罰金)の対象となります。

IR-BadUSBの仕組み

 攻撃者は、IR-BadUSBを離れた場所からIRリモコンで操作します(図1)。すると、ターゲットのPCにHID(Human Interface Device)として認識されたマイコンから、攻撃者の意図したキー配列がターゲットPCに送信されます。なお、HIDとは、PCに接続されたキーボードやマウスなどのデバイスのことです。

図1 図1 IR-BadUSBの仕組み[クリックで拡大]

赤外線レシーバー:VS1838B

 BadUSBが動作するマイコンに赤外線レシーバー(図2)を接続すると、IR-BadUSBになります。赤外線レシーバーの仕様は以下の通りです。

  • 動作電圧は2.7〜5.5Vです
  • 受信角度は±35度です
  • サブキャリア周波数は38kHzです
  • 左のピンから出力信号、GND、VCCの順です
図2 図2 赤外線レシーバーの「VS1838B」[クリックで拡大]

IRリモコン

 家庭用のリモコンには、波長940〜950nmの赤外線が使用されています。サブキャリア周波数は38kHzです。このIRリモコンは、「NEC赤外線伝送プロトコル」に従って通信内容をエンコードして赤外線で送出します(図3)。

図3 図3 IRリモコン[クリックで拡大]

NEC赤外線伝送プロトコル

 家電用IRリモコンに用いられている代表的なプロトコルの一つです。赤外線の波長は950nmを、サブキャリアとして38kHzを使用します。1フレームで32ビットを転送します。1フレームの転送時間は67.5msです。

Arduino Pro Micro

 本投稿で使用したマイコンモジュールの「Arduino Pro Micro」をブレッドボードに搭載したのが図4です。USBインタフェースを介してPCと接続するとIR-BadUSBとして動作します。マイコン(ATMega 32U4)にはUSB機能が内蔵されており、PCのHIDとして動作します。プログラムは、ArduinoIDEを使用して開発しました。LEDはテスト用で、38kHzのサブキャリアが変調されている赤外線を受信すると光るように接続しています。

図4 図4 ブレッドボード上に搭載したArduino Pro Microと赤外線レシーバー、テスト用LED[クリックで拡大]
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.