ユーザーに気づかれないようにiPhoneのバック/フロントカメラを利用し、写真を撮影・アップロードするアプリのPoCが公開されています。詳細は以下から。
InstagramやTwitterなど多くのSNSは写真の投稿に対応しているため、iOSアプリが起動時にiPhoneやiPadのカメラへのアクセス許可を求めてきますが、悪意のある攻撃者がこのアクセス権を悪用しユーザーが気づかないように写真を撮影・アップロードするアプリのコンセプト(以下、PoC:Proof of Concept)が新たに公開されています。
📸 Every iOS app you ever gave permission to use your camera can record you any time it runs – without noticehttps://t.co/M4iYlmXbWH pic.twitter.com/Yg1C5frcjI
— Felix Krause (@KrauseFx) 2017年10月25日
Once you grant an app access to your camera, it can
- access both the front and the back camera
- record you at any time the app is in the foreground
- take pictures and videos without telling you
- upload the pictures/videos it takes immediately
- run real-time face recognition to detect facial features or expressions
Have you ever used a social media app while using the bathroom? 🚽
All without indicating that your phone is recording you and your surrounding, no LEDs, no light or any other kind of indication.iOS Privacy: watch.user – Access both iPhone cameras any time your app is running – Felix Krause
PoC
PoCを公開したのはiOSのポップアップを偽装し、Apple IDやそのパスワードを盗み取ることが出来るアプリを提案したGoogleのFelix Krauseさんで、FelixさんはiOSデバイスにはMacと違いカメラが利用されていることを示すLEDインジケーター類が無いことから、一度悪意のあるアプリへカメラのアクセス許可を与えてしまうとユーザーが気づかないところで写真やビデオを撮影し利用されてしまうとコメントしており、
これを利用すれば写真に埋め込まれている情報からユーザーの位置情報を特定したり、顔認識技術を利用しインターネット上から利用しているユーザーの個人情報を特定、トイレや浴室でSNSフィールドなどを見ているユーザーのライブストリーミングなど様々な事が実行できるとしています。
Felixさんが実際に開発した”watch.user”アプリは以下の通り、一度カメラへのアクセス許可を与えるとその後フロントカメラを利用しFelixさん自身を撮影し続け、iOS 11から採用されたVisionフレームワークを使用し顔認証まで行ってくれます。
対策
悪意のあるアプリはフロントカメラを利用してユーザーを撮影しているところをディスプレイ上に表示しないため、MacBookの様にインジケーターの無いiOSデバイスでこの問題を防ぐことは難しいですが、Felixさんは以下の事を行うことでこの問題を防げるとコメントしており、
- Mark Zuckerbergさんの様にセキュリティシールなどを使用し、カメラを物理的に塞いでしまう。
- 設定アプリから全てのアプリのカメラへのアクセス許可を取り消し、iOSのカメラアプリを使用して写真を撮影、サードパーティ製アプリに渡す(これには位置情報の問題があります)。
- カメラアプリの位置情報問題を防ぐため、撮影した写真をスクリーンショットで撮影し、他のアプリへコピー&ペーストする。
AppleはiOSデバイスにもサードパーティ製アプリのサンドボックス内からアクセスできないLEDインジケーターを付けるべきだと主張(rdar://35116272)しています。
Add an LED to the iPhone’s camera (both sides) that can’t be worked around by sandboxed apps, which is the elegant solution that the MacBook uses
iOS Privacy: watch.user – Access both iPhone cameras any time your app is running – Felix Krause
コメント
確かにLEDインジケーターあったほうがいいねえ