続報 – デジカメにWiFiやUSBからランサムウェアを感染させる方法(cpr)
8月6日にCanonのがカメラが攻撃される可能性をプレスリリース、そして先日カメラがランサムウェアによって乗っ取られる実験の動画をご紹介させていただきましたが、この動画はセキュリティ関連の調査やコンサルティングを行っているCheck Point Research社がアップしたものでした。
そして、Check Point Research社のサイトに本件の更に詳しい説明がアップされていましたので読ませて頂いたところ、かなりクリティカルだったことが判りました。
“Cameras. We take them to every important life event, we bring them on our vacations, and we store them in a protective case to keep them safe during transit. Cameras are more than just a tool or toy; we entrust them with our very memories, and so they are very important to us.”
Via ‘ Say Cheese: Ransomware-ing a DSLR Camera – Check Point Research (https://research.checkpoint.com/say-cheese-ransomware-ing-a-dslr-camera/)

はじめに
- ハッカーが、カメラにランサムウェアを感染させることができるか? 答えはYesだ。
- デジタルカメラは、屋根裏部屋で見つかるような歴史上のアンティークフィルムカメラでは無い。
- 今日のカメラは、USBを使用してコンピューターに接続するデジタルデバイスであり、Wi-Fiもサポートしている。
- USBとWi-Fiはカメラを周囲の環境に晒すことになる。
- 我々の調査では、遠隔での攻撃者(Wi-Fi)、または既にPC(USB)をハイジャックした攻撃者が、最愛のカメラにマルウェアを感染させる方法を示すことが出来ている。
- 攻撃者が、コンピューターとカメラの両方にランサムウェアを注入して身代金を支払わない限り全ての写真を人質にした場合どのような事態になるのかを想像してみてほしい。
Picture Transfer Protocol (PTP)について
- International Imaging Industry Associationは、カメラのデジタル画像をコンピューターに転送するための標準化されたプロトコル、Picture Transfer Protocol(PTP)を考案した。
- 当初は画像転送に特化していたが、その後、ライブ画像撮影、カメラのファームウェアのアップグレードまでをサポートするさまざまなコマンドを含めるに至った。
- ほとんどのユーザーはUSBケーブルを使用してカメラをPCに接続していたが、最近のモデルはWiFiをサポートするようになった。
- これは、かつてUSB接続デバイスにのみアクセス可能であったPTP / USBプロトコルが、近接するすべてのWiFi対応デバイスからアクセス可能なPTP / IPでもあることを意味する。
「IPを介したパパラッチ」
- ダニエル メンデ氏(ERNW)は「IPを介したパパラッチ」(HITB 2013)という講演で、当時キヤノンのEOSカメラがサポートしていた各ネットワークプロトコルで起こりうる様々なネットワーク攻撃をデモンストレーションした。
- ダニエル氏は講演の最後にPTP / IPネットワークプロトコルについて議論し、攻撃者がネットワークから特定のGUIDを盗聴することでカメラと通信できることを示した。
- これはコンピューターとカメラとペアリングされたときに生成されるGUIDである。
- PTPプロトコルはさまざまなコマンドを提供しているが、それらはいずれも認証または暗号化されていないため、カメラを操作する為のプロトコルの機能を使用(誤った使用例)した方法を示した。
実証実験について
- 我々は、更にそのプロトコルの使用方法を拡張し、攻撃者をシミュレートし、プロトコルの実装の脆弱性を見つけ、それらを活用することでカメラを乗っ取ることを試した。
- リモートコード実行(RCE)のシナリオによって、攻撃者はカメラで何でもできるようになる。
- ランサムウェアの感染は多くのオプションの1つに過ぎない。
- 攻撃者の観点からすると、PTPレイヤーは大きな標的となりうる。
- PTPは、さまざまな複雑なコマンドをサポートする非認証プロトコルである。
- PTPの脆弱性は、USB経由でもWiFi経由でも同様に利用できる。
- WiFiがサポートされたことで、近接した攻撃者がカメラにアクセスしやすくなる。
- このブログでは、PTPに焦点を当て、攻撃者の2つの潜在的な手段を説明する。
- USB – PCを乗っ取った攻撃者が、カメラに侵入した場合。
- WiFi – 攻撃者が観光スポットに不正なWiFiアクセスポイントを配置して、カメラに感染させることができる。
- それらが成功した場合、あなたの愛するカメラと写真ファイルを解放するために身代金を支払わなければならない可能性がある。
実証ターゲットの紹介 – Cano EOS 80D を使う理由
- Canonは最大のカメラメーカーであり、市場の50%以上を獲得している。
- EOS 80Dは、USBとWiFiの両方をサポートしている。
- Canonには、Magic Lantern(ML)と呼ばれる大きな規模の「改造」コミュニティがある。
- MLコミュニティはすでにファームウェアの一部を研究し、そのAPIのいくつかを文書化した。
- 攻撃者は利益を最大化するために、最小限の労力(コスト)で最大の影響(利益)を得ようと努力する。
- Canonのカメラはユーザーに対して最も大きな影響を与え、MLコミュニティによるドキュメントのおかげで、開始するのが最も簡単である。
実証した内容
- MLのフォーラムやWikiから、MLがポータブルROMダンプなるものを開発していることを発見した。
- これでカメラのメモリの内容をSDカードにダンプ出来るものである。
- これで得たファームウェアのダンプファイルを、逆アセンブラー(IDA Pro)にロードしカメラの脆弱性を探した。
- PTPレイヤーを見つけるのは非常に簡単で、そこから150の独自コマンドがあることを確認出来た。
- すぐに入力バッファを制御する38のコマンドを絞り込むことが出来、そこから簡単に脆弱性を発見することが出来た。
- このカメラはBluetoothをサポートしていないが、Bluetooth関連のコマンドにアクセス出来ることも発見した。またバッファオーバーフローが見つかった。
- Bluetoothコマンドは他のコマンドよりも脆弱であるように見える。
- これは、経験の少ない開発チームであることを示唆している可能性がある。
- 我々のPCをUSB経由で接続し、PythonのPTPライブラリにあるptpyによって簡単にアクセスすることが出来た。
- PoC(単純化した実証)によって脆弱性を試すトリガーを実行したところカメラはErr70のメッセージを出し簡単にクラッシュした。(オーバーフローさせた)
- ファームウエアにあるErr 70をトリガーするコードアドレスを発見し、そこから独自のアッセンブリーを実行することが可能になった。
- カメラのさまざまな設定を試したところ、USBが接続されている間はWiFiを使用できないことがわかった。
- これは、おそらく両方がPTPレイヤーによって使用されることを示している。
- よってUSBからWiFiにも適用出来ると判断した。
- Wi-Fi経由でのテストでもカメラをクラッシュさせることが出来るようになった。
- USBとWi-Fiの両方でカメラをハイジャックすることが出来るようになった。
- ランサムウェアに必要な暗号化処理は、カメラ自体がファームウェアの更新に使うAES機能と暗号化キーが使えることが判明した。
- 更に、これらの脆弱性を全て取り除いたとしてもリモートファームウェア更新用のPTPコマンドによって、悪意のあるランサムウェアをファーム更新プログラムを利用してカメラに感染させる可能性も判明した。
- ランサムウェアは、ファームウェアの更新処理と同じ暗号化機能を使用することでAES機能を呼び出す。
- 結果SDカード上のすべてのファイルを暗号化した後、ランサムウェアはユーザーにランサムメッセージを表示することが出来た。
それがこちらの動画
攻撃をチェーン化するには
- 攻撃者がまず不正なWiFiアクセスポイントを設定する必要がある。
- これは、カメラが自動的に接続しようとする名前と同じ名前を持つようにAPを偽装することで簡単に実現できる。
- 攻撃者がカメラと同じLAN内にいると、攻撃を開始できる。
情報開示タイムライン
- 2019年3月31日 – 脆弱性がCanonに報告された。
- 2019年5月14日 – キヤノンはすべての脆弱性を確認した。
- これ以降、両当事者は協力して脆弱性を修正した。
- 2019年7月8日–キヤノンのパッチを検証および承認した。
- 2019年8月6日–キヤノンは公式のセキュリティアドバイザリの一部としてパッチを公開。セキュリティ勧告を行った。
まとめ
- Canonが実装したPicture Transfer Protocolに複数の重大な脆弱性が見つかったが、そのプロトコルは標準化されており、他のカメラに組み込まれている。
- 同様の脆弱性は他のベンダーのPTP実装にも見られると考えている。
- 我々の調査では、「スマート」なデバイス(この場合はDSLRカメラ)は攻撃を受けやすいことが示されている。
- 価格、デリケートなコンテンツ、幅広い消費者層の組み合わせにより、カメラは攻撃者にとって有利な標的になりうる。
このCheck Point Research社の報告が正しいとすれば、Canonが警告したPTPのセキュリティ問題を発見した過程が書かれているということですね。
それにしても、PTPは暗号化していない、Bluetoothは更に危険、経験の浅い開発が行われている、、、、ということに驚きました。
そのPTPはWi-fi経由でも通信出来るということは重要で、USBの場合PCのセキュリティを確保していれば危険性は少なかったのですが、WiFiによって容易に外部から攻撃される可能性を示しています。
これをググってみたところ、このPTPをWi-Fiに拡張する技術を開発したのはNikonということでした、、、、、、、
“ニコンは、デジタルカメラ内の画像を無線LAN経由でPCに転送する技術を開発した。同社が9月13日に明らかにしたもの。USB接続用のプロトコルPTPを拡張し、無線LAN接続を可能とするプロトコル、Picture Transfer Protocol over Internet Protocol(PTP/IP)を使う。”
Via ‘ ニコン、デジカメとPCを無線LAN接続して画像転送する技術を開発 – CNET Japan (https://japan.cnet.com/article/20073363/)
Canonは業界のリーダーとして、この脆弱性を対策することになったようですが、PTPを使っている他社も調査して頂いて報告して頂ければより安心出来ると思いますが、それよりもユーザーの意識が重要だと思います。
カメラが便利になった代償だとも思いますが。。。。
WPA2-PSKのセキュアなネットワーク環境で利用している場合にまずどーやってそれを突破するのか? よく分からなかった。
↓がブルートフォース(総当たり)式攻撃のことを言っているのだとすると、推測されやすい簡単なパスワードを設定している場合にしか短時間突破できないはず。
>攻撃者がまず不正なWiFiアクセスポイントを設定する必要がある。これは、カメラが自動的に接続しようとする名前と同じ名前を持つようにAPを偽装することで簡単に実現できる。
ピンバック: キヤノンがPTPプロトコルの脆弱性に対応した複数機種のファームアップをアナウンス | Dmaniax.com