「もいちどイチから! HTTP基礎訓練中」でWebアプリケーションの脆弱性と対策について学んだクウが、今度はAndroidの世界に挑戦。Android特有の問題、PCや従来の携帯電話向けのWebアプリとの違いや対策について紹介します。(編集部)
勇んでAndroidアプリの開発に取りかかったクウだが、一度ならず二度までも、思わぬ穴を付かれてクウヤにパスワードを見られてしまった。果たして三度目の正直はなるのか……?
クウ 「今度は完璧! USBデバッグでの接続でも何でもやってみたまえ!」
ユウヤ 「ほー、大した自信だな」
クウ 「今度はちゃんと暗号化したのだ♪」
ユウヤ 「まあ、見てやろう。貸してみ?」
ユウヤは、クウのAndroid端末を自分のPCに繋ぎ、USBデバッグを使って端末内を調べ始めた。
ユウヤ 「……うむ。確かに暗号化してあるな」
クウ 「でしょー♪ これなら大丈夫なはず♪」
ユウヤ 「けど、『yuya-baka!』っていうパスワードはちょっと趣味悪いな」
クウ 「え! なんで?!」
クウ 「なんで? 暗号化してあるんでしょ?」
ユウヤ 「まあ、その前に、パスワードについて何か言うことは?」
クウ 「う……ごめんなさい。絶対に大丈夫だ!っていう自信があったからそういうパスワードに……」
ユウヤ 「まあいいか……」
クウ 「でも、なんで分かったの? 暗号解読とか今の一瞬でしたの??」
ユウヤ 「ふむ。まあ、今回は教えてやるか」
クウはユウヤのPCを見た。そこには、暗号化しているはずのパスワードがそのまま表示されていた。
クウ 「なんで……。これって何か特別なことしたの??」
ユウヤ 「まあ、なんだ。頑張れ」
ユウヤの画面に表示されていたのは以下のようなものである。
ユウヤのPC上に表示されていた画面は、Android端末上のシステムのログを閲覧する「logcat」コマンドの実行画面である。Android SDKがインストールされているPCからUSBデバッグでAndroid端末へ接続することで、logcatコマンドの閲覧が可能となる。logcatコマンドの実行は、以下のいずれかのコマンドをコマンドプロンプトなどで入力すればよい。
adb logcat adb shell logcat
Android端末上のシステムログには、システム内のアプリケーションの動作ログや、Androidアプリケーションの“標準出力”“エラー出力”などが出力される。そのシステムログの中に、パスワードのような重要な情報が誤って出力されてしまっていたことになる。
Copyright © ITmedia, Inc. All Rights Reserved.