ブログ

FFRI BLOG

Monthly Research 「Black Hat Europe 2016 サーベイレポート」

 今回のMonthly Researchでは2016年11月1日から4日にロンドンで開催されていたBlack Hat Europeのうち、IoT、自動車セキュリティ、標的型攻撃に関する最新の発表をご紹介します。

BREAKING BHAD: ABUSING BELKIN HOME AUTOMATION DEVICES

 家庭用電源リモートコントロール装置のWeMoに対しSQLインジェクションや物理的なハッキングを行い、任意コードを実行する脅威実証の発表です。
WeMo とは、遠隔地からACコンセントを使用している機器の電源を操作できる機器で、Wi-Fiを経由して様々な機器をインターネットに繋ぎ、アプリなどから制御する事が可能です。そして、WeMoにはアプリから機器を制御するスケジュールを設定することが可能なのですが、そのスケジュールはアプリからWeMoに送信する際にSQL文で送信されています。

SQLインジェクションの説明

 WeMoのファームウェアであるOpenWRTではデフォルトのシェルとしてashを利用しているのですが、このashは対してSQL文中で改行しシェルスクリプトを仕込んだSQL文を渡すとシェルスクリプトが実行されます。この発表ではこの方法でSQLインジェクションを行い、リモートルートを獲得するところまでを紹介しています。


図1 SQLインジェクション

telnetでルートログイン

 先ほど紹介した方法で下記のシェルコードを含むSQL文を作成しWeMoに送信します。

  • telnetから常にルートシェルを使用可能にするシェルコード
  • 上記シェルコードを/lib/network/に保存するシェルコード

 WeMoのネットワーク設定では/lib/network 下のスクリプトはネットワークが再起動されると実行されます。WeMo既存のコマンドであるStopPairコマンドでネットワークを再起動させることで、/lib/network/内に書かれたルートシェルを実行、telnetからルートシェルが使用可能になっていました。

WeMoへの物理的な攻撃

 ネットワークからの攻撃だけでなくWeMoに対して物理的な攻略も試行されました。WeMoを解体、基板とブレッドボードと接続し、起動時にキーボードの”4”を連打することで、ブートローダU-Bootを利用可能にします。
 WeMoではSquashFSからJFFS2のルートファイルシステムへの書き込みはmini_foで制限されていますが、読み込みはできるため /etc/passwdファイルを取得し、rootのパスワードを削除したpassswdファイルを加えたJFFS2を作成、U-Boot のloadbコマンドでまるごとマウントすることで、パスワードなしにrootでログインできるようになります。

(PEN)TESTING VEHICLES WITH CANTOOLZ

 自動車にはヘッドユニットに搭載されているWi-Fiを経由したリモート攻撃やOBD2やCANバスに対するバックドアECUからの物理的な攻撃など様々なアタックサーフェスが存在し、車両向けの複合的なセキュリティ検証ツールへのニーズが高まっています。この発表では、発表者たちが開発した自動車向けの総合的な診断用フレームワークが紹介されました。

CANToolz

 CANToolzはオープンソースのフレームワークでUSBTinまたはCANBus Tripleを持っている場合、CANネットワークへブラックボックスな状態で解析を行う際に利用することが可能です。このフレームワークでは、MITM、ファジング、UDS(Unified Diagnostic Services)スキャン、CAN ファイアーウォールなど様々な機能のモジュールが開発されています。プロジェクトの全容はGitHubもしくは製作者のブログに公開されており、確認することができます。

仮想車両

 ECU を CANToolz モジュールとして作成しており、これらを接続することで実際の車両をエミュレートしています。これを利用しWeb UIから各種命令によるシミュレーションできるようになっています。

実車へのリバースエンジニアリングとブラックボックス分析

 実車に対し解析を行う場合、CAN over TCPにより、遠隔からCANメッセージの解析や、UDSのMITMによるセッションのハイジャックや様々なメッセージによるファジング、車両のアンロックコマンドの特定が可能かなどの検証を実施できます。

MOBILE ESPIONAGE IN THE WILD: PEGASUS AND NATION-STATE LEVEL ATTACKS

 今年の夏頃からアラブの人権活動家Ahmed Mansoor氏などに向けた標的型攻撃が発生し、6人が逮捕されました。その際に利用されたマルウェアがiOS向けPegasus(ペガサス)だったとされています。この発表はこのマルウェアのソースコードを分析、搭載している機能の詳細についてまとめ発表しています。

Pegasusとは

 Pegasusは永続的なJailbreakを行い、管理者権限による任意のコードの実行を可能とするモバイル向けマルウェアで、iOS向けペガサスでは「Trident」と呼ばれる3つの脆弱性が利用されています。


図2 Pegasusによる攻撃の流れ

Pegasusの機能

 今回の分析によりPegasusは次のような機能を持っている事が判明しました。
まず、情報収集機能として、マイクやカメラの使用状況の確認とビデオなどの撮影、GPSや通信情報、各種サイトへのパスワードやSIM情報などの収集を行っています。
 また、複数の耐解析技術を備えています。インストールの際に利用したWebサイトへのリンクは一度きりしか使用せず、JSやObjective-Cコードの難読化、ダウンロードごとに異なる鍵による暗号化、自身をシステムサービスとして偽造し存在を隠す機能が存在します。削除されることを避けるための機能として、iOSのアップデートをブロックしたり、ユーザーに存在を気づかせないためにSafariの閲覧履歴やキャッシュを削除したりするほか、万が一の為に自身の削除が挙げられます。

まとめ

 IoTセキュリティとして紹介したWeMoに対する攻撃は工夫次第で様々な活用ができます、例えば操作する端末がセキュリティ製品や電熱器具であった場合、甚大な影響を及ぼす恐れがあります。また、昨今話題になっているIoTボットネットの一部として取り込むことで加害者に加担させることも可能でしょう。
 自動車セキュリティの発表で紹介したCANToolzのような統合ツールは、自動車の脆弱性の発見と対策にとても役立つと考えられます。
 標的型攻撃のジャンルの発表で登場したマルウェアはiOS版の他にAndroidやBlackberry向けにも作成されています。モバイルマルウェアによる標的型攻撃が今後も増加すると考えらます。
 自動車のロックなどを遠隔で操作できるスマホアプリが存在し、IoTセキュリティで紹介された製品もモバイルアプリがリリースされています。いろいろなものがIoT化されていくにつれて、これまで個別に考えられていたセキュリティについて、より広い視点での再検討が必要と考えられます。


Monthly Researchのダウンロードはこちら(日本語 / English


関連記事

Monthly Research 「BlackHat USA 2016 サーベイレポート」

Monthly Research 「Black Hat USA 2016 事前調査」

pagetop