検索
連載

要注意! 本当は怖い出力データイチから始める! Androidセキュリティ(4)(2/3 ページ)

「もいちどイチから! HTTP基礎訓練中」でWebアプリケーションの脆弱性と対策について学んだクウが、今度はAndroidの世界に挑戦。Android特有の問題、PCや従来の携帯電話向けのWebアプリとの違いや対策について紹介します。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ログに出力されない形のデータ受け渡し方法を

クウ 「えー、そうなんですか? それじゃあ、データの受け渡しとかどうするんですか?」

アキ 「そうだねー、場合によってはログに残らないように受け渡しができたりするっぽいよ」

クウ 「おー、そうなんですか。知らなかったです」

 Intentによるデータの受け渡しを行う場合は、データを受け取る側の仕様を確認しよう。データを受け取る側が、ログにデータが残らない形の受け渡し方法を用意している場合は、それを利用すると有効だ。

 以下は、標準のブラウザに対し、POSTデータとして受け渡しを行う例だ。

Uri uri = Uri.parse("https://www.ubsecure.jp/");

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

byte[] postData = "id=test&password=pass".getBytes();
Intent intent2 = i.putExtra("com.android.browser.post_data", postData);

startActivity(intent2);

脆弱なコードの修正例(ブラウザの起動)

I/ActivityManager( 1143): Starting activity: Intent { act=android.intent.action.

VIEW dat= https://www.ubsecure.jp/ flg=0x3800000 cmp=com.android.browser/.BrowserActivity (has extras) }

上記の脆弱なコードの修正例により出力される端末ログ

 しかしこの例は、単に「結果としてログに出力されていない」というだけである。残念ながら、すべてのAndroidアプリケーションでこのようなデータの渡し方が用意されているとは限らない。中には、システムにプリインストールされているAndroidアプリケーションにしか許可されていない操作も多くある。このため、やむを得ず、情報を取得されてしまう可能性を許容する必要が生じることもある。

 従って、設計の段階で個人情報などの重要な情報(設計上困難な場合もあるが)を出力しないよう考慮したり、ユーザーへ注意喚起を行うなどの対処を講じる必要がある。

 また逆に、自作のアプリが、他のAndroidアプリケーションからIntentを利用して重要なデータを受け取る場合、ログに出力されない形でデータを受け取る仕組みを用意しなければならない。

どんなログが出てる? 一度は確認を

クウ 「やっぱりあきらめるしかない場合も残っちゃうんですね……」

ジュン 「やっぱり、READ_LOGSパーミッションに注意するってとこなのかね」

クウ 「むう……」

アキ 「端末による部分も結構あるけれど、いろんなログが出過ぎてる感はあるから、一度はどういうログが出てるかちゃんと見ておいた方がいいよね」

ログはチェックしておくべきだと話すアキ

 ログの出力に関しては、Androidアプリケーションを開発・提供する側からの情報漏えい対策はもちろんのこと、ユーザー側でもできる対策がある。具体的には、android.permission.READ_LOGSパーミッションに注意することだ(root化を行う仕組みを有したマルウェアなどを考慮した場合は、この限りではない)。

 Intentを利用して他のアプリケーションに重要なデータを渡すアプリケーションや、標準出力へデバッグ情報を出力するアプリケーションは比較的多く存在する。このため、このログを取得されることで思わぬ情報が漏えいする可能性がある。

 また、このようなAndroidアプリケーションによるログ出力以外に、端末によってはGPSの位置情報や、Wi-Fiの接続情報が出力されていることもある。ユーザーには十分な注意が必要といえる。

 通常、システムログにどのような情報が出力されているのかを把握することは困難だ。だがシステムログには、単なる挙動を記録するログ情報だけでなく、個人情報など重要な情報が含まれる可能性がある。この点を考慮し、どのような内容が含まれるか、一度は確認しておくといいだろう(ログ出力の確認方法は第3回を参考にしてほしい)。

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  2. 終わらせましょう。複雑過ぎるKubernetes/クラウドネイティブが生む心理的安全性の低下を――無料でクラウドセキュリティの勘所が分かる130ページの電子書籍
  3. AWS、組織のセキュリティインシデント対応を支援する「AWS Security Incident Response」を発表 アラートに圧倒されるセキュリティチームをどう支援?
  4. ChatGPTやClaudeのAPIアクセスをかたってマルウェアを配布するPython用パッケージ確認 Kasperskyが注意喚起
  5. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  6. 中小企業の20%の経営層は「自社はサイバー攻撃に遭わない」と信じている バラクーダネットワークス調査
  7. CrowdStrikeが引き起こした大規模障害の根本原因はメモリアクセス違反、Microsoftが確認
  8. 商用国家安全保障アルゴリズム(CNSA)の期限となる2030年までに暗号化/キー管理サービス市場が60億ドルに達するとABI Researchが予測 急成長の要因とは?
  9. 「PC操作が不能になる手口」が増加中 IPAが推奨される対処法を紹介
  10. 「SQLite」のゼロデイ脆弱性、GoogleのAIエージェントが見つける AIは脆弱性調査の課題をどう解決したのか?
ページトップに戻る