重要情報の想定外のログ出力

本シナリオでの学習内容

ここでは、重要情報の想定外のログ出力によって生じる脆弱性について学習します。
実際にサンプルアプリを実行して脆弱性によってどのような被害が発生するのかを体験し、その後、脆弱性の原因と対策についてソースコードを参照しながら学習します。

重要情報の想定外のログ出力とは

「重要情報の想定外のログ出力」とはどのような問題でしょうか。ここで概要について理解しておきましょう。
不適切なログ出力によって生じる脆弱性で説明した通り、ログ出力の内容から情報漏えいが起こる可能性があります。
重要な情報は、ログに出力しないように注意する事が必要です。

ログに重要な情報を出力しなければ
攻撃アプリに情報を盗み出されることはない

しかし、ログ出力処理の削除漏れなどの理由により、ログ出力処理がリリース版のアプリに残ってしまった場合、ログへ出力した内容を他のアプリから読み取られる可能性があります。
ログに重要な情報を出力していると
攻撃アプリに情報を盗み出される

開発者のケアレスミスや、Android OSのログ出力についての知識不足によって、ログに重要な情報が出力されてしまうことが「重要情報の想定外のログ出力」による脆弱性です。

学習用アプリについて

このシナリオでは、以下の学習用アプリを使用して学習します。
  • 学習用アプリの概要
    サンプルアプリ「08オンライン銀行」と、攻撃アプリ「08オンライン銀行スパイ」を使用します。
    攻撃アプリ「08オンライン銀行スパイ」が、サンプルアプリ「08オンライン銀行」の出力ログを、読み取って盗み出すという想定です。

  • サンプルアプリ「08オンライン銀行」
    銀行のオンラインバンキングシステムにログインし、口座の残高照会、振り込み処理等を行うアプリです。
    ログに重要な情報を出力する脆弱性があります。

  • 攻撃アプリ「08オンライン銀行スパイ」
    「08オンライン銀行」アプリが出力しているログを読み取り、サービスへのログインに必要なTokenを入手するアプリです。

どのような実装がこの脆弱性につながるのか次のページで学習していきましょう。