日本スマートフォンセキュリティ協会
技術部会
昨今、国内外の報道にてスマートフォンアプリのアプリ内ブラウザでの情報窃取が行われている可能性について指摘されています。
アプリ内ブラウザの挙動については、指摘されているように表示したウェブコンテンツにアプリが独自にソースコードの注入(インジェクション)が可能です。
JSSECでは、スマートフォンアプリ利用時における一般的な注意として、アプリ内ブラウザの操作について注意喚起を行います。
アプリ内ブラウザの概要
一般的にスマートフォンアプリでは、アプリ内で表示したURLやウェブサイトに接続する際に、別アプリである標準ブラウザに遷移せず、アプリの内部に組み込まれたブラウザ(アプリ内ブラウザ)を使用する場合が多くみられます。
アプリ内ブラウザそのものの挙動は一般的なブラウザと同様ですが、表示したウェブコンテンツのソースコードにアプリがアクセス可能なため、アプリ内ブラウザ上でのキーボード入力の取得や表示したウェブコンテンツのタイトルを取得など様々なデータの取得が可能です。
取得されたデータはアプリ提供者のサーバや解析用のサービスに送信されるケースが確認されています。
これらのコードはパフォーマンス計測やデバッグなどを目的として挿入されるケースが一般的ですが、昨今ではサイト間でのトラッキングが難しくなっている背景もあり、トラッキングデータとして活用される場合や、悪意をもってパスワードやコメントを取得する場合も考えられます。
iOSアプリについては、Apple社の開示している開発者向けのレビューガイドラインの5.法的事項 5.1プライバシー 5.1.1 データの収集及び保存において、(vi)Appを利用して密かにユーザーのパスワードやその他のプライベートデータを取得するデベロッパは、Apple Developer Programから除名されます。
と記載されています。
https://developer.apple.com/jp/app-store/review/guidelines
スマートフォンアプリでアプリ内で表示されるウェブコンテンツを使用する際の注意事項
アプリ内ブラウザでは、アプリの実装の仕方によってパスワードやコメント文などキーボードで入力した内容や画面上のタップした場所、表示したサイトのURLなど利用者が取得されていることを意図しないデータが取得されている可能性があります。
多くのスマホアプリでは、ウェブページを表示する際「ブラウザで開く」などのボタンで標準のブラウザでページを開く機能が用意されています。
アプリ内ブラウザに表示されたウェブサイトでキーボード入力などの情報が取得されているかどうかは判別しづらいため、パスワードやコメントなど他人に窃取されたくない情報を記入する際は、可能な限り標準のブラウザで開く機能を使用しましょう。
アプリに標準ブラウザで開く機能が実装されていない場合、アクセスするURLのコピーペースが可能な場合は、アプリ上でURLをコピーして別途標準ブラウザアプリから開く方法が考えられます。
対処方法
・アプリ内ブラウザを使用する際は、パスワードなどを入力しないように注意する
・機微な情報の入力を伴う場合は「標準ブラウザを開く」機能を使用して標準ブラウザから入力する
・標準ブラウザにURLをコピーして閲覧する
日本スマートフォンセキュリティ協会
技術部会長 仲上 竜太(ニューリジェンセキュリティ株式会社)