開発者がアプリの動作を確認するために出力するログには、利用者が入力した内容やサーバから受信した内容などが出力されることがあり、重要な情報が含まれる場合があります。
このようなログは、通常はアプリの開発時にだけ必要な物であり、アプリのリリース前に削除しておくべきものです。
しかし、削除されるはずのログ出力処理がリリース版のアプリに残っていることがあります。
LogCatに出力されるログ情報は、Android OSのバージョンによっては(
脆弱性チェックリスト参照)、端末内の他のアプリからから読み取り可能になっています。
ログに重要な情報が出力されてしまう原因としては、以下のようなものが考えられます。
- ログ出力処理の削除漏れ
リリース版では削除されるはずのログ出力処理が削除されていなかったため、デバッグ目的で出力していた情報がログに出力されてしまう。
- Android OS、他のアプリによるログ出力
Android OSのログ出力について知識が不足していたため、Android OSがログに出力する部分に重要な情報を格納してしまう。
- デバッグモードのアプリをリリース
デバッグモードでアプリがリリースされてしまったため、デバッグ目的で出力していた情報がログに出力されてしまう。
利用者が入力した情報やサーバから受信したアクセストークン、端末位置情報などがログに出力されていた場合、これらの情報を他のアプリに摂取され、悪用される可能性があります。悪用されると、利用者になり済ましてサービスを利用されたり、利用者の行動を監視されたりしてしまいます。
このように、重要な情報をLogCatにログ出力しているアプリには情報漏えいの脆弱性があるといえます。