デバッグ情報にご用心!:イチから始める! Androidセキュリティ(3)(3/3 ページ)
「もいちどイチから! HTTP基礎訓練中」でWebアプリケーションの脆弱性と対策について学んだクウが、今度はAndroidの世界に挑戦。Android特有の問題、PCや従来の携帯電話向けのWebアプリとの違いや対策について紹介します。(編集部)
使いこなせば楽しく便利なデバッグ機能
ナツ 「なるほどねー。クウって標準出力使ってデバッグしてんの?」
クウ 「そうですけど、他に方法あるんですか??」
ナツ 「他にというか、Eclipseのデバッグ機能使うのが便利だよ。まあ、ログを出力したくなる気持ちは分かるけど」
クウ 「デバッグ機能なんて、あるのですかー。知らなかった……。エミュレータ使ってやったりするんですか?」
ナツ 「いや、実機でアプリを動かしながらデバッグできるんだよ。結構便利」
クウ 「そんな便利なのがあったのですか〜」
EclipseとAndroid SDKを利用した開発環境では、デバッグ機能が利用可能だ。
デバッグ機能では、ソースコード内の任意の場所にブレークポイントを設定し、処理を一時停止させ、変数の状態などを閲覧可能だ。実機でこのデバッグ機能を有効にするには、AndroidManifest.xml内にデバッグ用の記述を行うだけでよく、簡単に利用できる。
また、「停止したブレークポイントからステップごとに進めていく」などの機能も利用できるため、細かい動作のデバッグが可能である。
クウ 「おー。こんなのできるんですね。すごい!」
ナツ 「複雑なアプリ作っていくならコードを細かく追えないと大変だしね」
クウ 「これなら、ログを出さなくってもデバッグできますね」
ナツ 「だね。リリースの時にログ出力部分を削ったりしなくていいし〜」
クウ 「なるほど〜。ありがとうございました! デバッグ機能をいろいろと試してみます!」
ナツ 「うん。これ、結構重要だからちゃんと覚えてね」
クウ 「はーい♪」
ナツ 「あと、どうしてもログ出力したい場合は、ちゃんと消すようにね」
クウ 「はーい♪」
このように、かなり細かいデバッグ方法も用意されている。これらを活用し、重要な情報をログに出力してしまうことは、極力避けることが望ましい。
例えば、パスワードなどの重要な情報を、暗号化して他のアプリケーションから読めない場所に格納するなどの対処をしていたとする。その場合でも、ログを監視するようなマルウェアが端末にインストールされてしまった場合、結果として「提供したAndroidアプリケーション経由で情報漏えいが発生した」状態となってしまう。そのような事態を避けるためにも、ログの扱いには細心の注意を払う必要がある。
関連記事
Androidで動く携帯Javaアプリ作成入門
http://www.atmarkit.co.jp/fsmart/index/android.html
今日から始める! Androidケータイアプリ作成の基礎
http://www.atmarkit.co.jp/fsmart/articles/android/01.html
App Inventorでアプリ開発はどこまでできるのか
http://www.atmarkit.co.jp/fsmart/index/appinventor.html
クウはその日、家に帰ると自分の作ったアプリケーションのログ出力部分を見直すためにPCを立ち上げた。
クウ 「Androidアプリ作るの簡単♪ とか思ってたけど、中身知らないで作ると意外と大変なんだな。とりあえず直しておこうっと……」
クウ 「……あ。ジュンさんからメールきてる。久しぶりだな〜」
@IT Mail
こんばんわー。ジュンです。久しぶり♪
ナツから聞いたー?
今週末にみんなでAndroidについて語ろうみたいのすることになったらしいね〜。
クウも来るんだよね??
よろしくねー♪
クウ (おー!おー?……聞いてないけど楽しそうかも。後でナツさんに聞いてみよう)
クウがナツに確認すると、Androidアプリケーションに関して雑談レベルでいろいろと話をしたいということで、急遽集まることになったそうだ。クウはその日の予定が空いていたので参加することにした。
(次回へ続く)
【クウたちの壁紙カレンダー、配布中!】
本連載のイラストを担当しているはるぷさんによる、毎月更新のカレンダーが配布されています。ぜひご利用ください!
特製ウォールペーパー
http://www.ubsecure.jp/wallpaper.php
Profile
杉山 俊春(すぎやま としはる)
株式会社ユービーセキュア
技術本部 VEXグループ リーダー 兼 セキュリティオーディットコンサルタント
セキュリティコンサルタントとして、主にWebアプリケーションのセキュリティ検査やWebアプリケーション検査ツールの開発などに従事している。大手ショッピングサイトなどの検査実績を持つ。
Copyright © ITmedia, Inc. All Rights Reserved.