検索
連載

見せたくないなら「持たせない」が鉄則!イチから始める! Androidセキュリティ(最終回)(1/3 ページ)

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

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

アプリ完成! でもリリースの前に……

 「Androidアプリについて語る会」の集まりで、あらためてAndroidアプリケーションを開発する際には、どういったデータがどこに出力されているかを正しく把握することが大切だと認識したクウ。

 一方、会社のほうでは順調にAndroidアプリの開発案件が進んで……。

クウ 「終わった〜♪」

ナツ 「おー! おめでとー」

開発が終わって喜ぶクウ

クウ 「じゃあ、いよいよリリースですかね? まだリリース予定日まで1週間くらい日がありますけど〜」

ナツ 「今回はちょっと重要な情報を扱うアプリになるから、ちゃんとセキュリティの検査をやろうと思ってね」

クウ 「おー。けど、うちにAndroidセキュリティに詳しい人っていましたっけ……?」

ナツ 「そうだねー。だから、今回は他にお願いすることにしたんだよね♪」

クウ 「なるほどー」

ナツ 「こないだ会ったアキって子覚えてる? そういう検査とか請け負ってたりするみたいだから、お願いしてあるの」

クウ 「なるほどー!」


 Android端末は、従来のフィーチャーフォンなどに比べ、PCに近い形で操作可能だ。保存されているアプリケーションのデータを操作したり、アプリケーションの挙動を監視したりといったことが、比較的容易に行える。また前提として、PCよりも持ち運ぶ機会が多くなる。このため、データの管理にはいっそうの注意が必要だ。

 従って、Androidアプリケーションをリリースする前には、セキュリティ上問題がないか、または問題を最小化できているかどうかの確認作業が必要だ。

 特に以下の3点については、悪意のあるユーザーから狙われる可能性が高いため、注意が必要となる。

  • A. 通信データおよびサーバへの攻撃
  • B. 端末内の保存データ
  • C. プログラムデータ自身

 Androidアプリケーションに特有の要注意項目は、(B)、(C)の端末内データおよびプログラムデータ自身である。こうした重要なデータの保存や処理部分の扱いに関しては、従来のフィーチャーフォン向けのアプリケーションや、PCブラウザから利用することを前提としたWebアプリなどとは大きく異なってくる。

難読化で逆コンパイルに対抗!

クウ 「どんなことをやってもらうのですかー?」

ナツ 「なんか、逆コンパイルとかしてプログラムの解析までやってくれるらしいよ」

クウ 「ひえー! そんなんもできるんですかー。何も対策してないけど大丈夫ですかねぇ……」

ナツ 「どうだろうね……私も正直、よく分かんないや」

クウ 「どうしましょ。何か今からでも対策したりとか〜」

ナツ 「そうだね。とりあえず、分かる範囲でってことで“難読化”くらいしておこうか」

クウ 「難読化……? ほう……」


 基本的にAndroidアプリケーションのプログラムは、Javaによって記述されている。そしてAndroidアプリケーションに限った話ではなく、Javaプログラムは一般的に、コンパイルされた状態でも、逆コンパイルによって容易に元コードの復元が行える。

 そのため、逆コンパイルに対する対策として、「難読化」という手法が用いられる。難読化とは、逆コンパイルされてしまったとしても、内部のロジックを分かりにくくするような仕組みで、文字通り「読むことを難しくする技術」である。

 Eclipseなどを利用したAndroidアプリケーションの開発環境では、この難読化を行う「ProGuard」という仕組みが用意されている。これを利用すれば、リリース用のapkファイルを作成する際に、簡単な手順で難読化を行うことができる。

関連リンク
ProGuard | Android Developers
http://developer.android.com/guide/developing/tools/proguard.html


 リリースを行うapkファイルに対して最終的な段階でのチェックが必要となる。

図1 Eclipseを利用した難読化の概要
図1 Eclipseを利用した難読化の概要

 クウたちは、作成したAndroidアプリケーションに対して早速難読化を行い、アキとの打ち合わせに臨んだ。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. 3割程度のSaaS事業者が標準的なセキュリティ対策をしていない アシュアードがSaaS事業者を調査
  2. 高度なAIでAIをテスト OpenAIが実践するAIモデルのレッドチーム演習とは
  3. ChatGPTやClaudeのAPIアクセスをかたってマルウェアを配布するPython用パッケージ確認 Kasperskyが注意喚起
  4. 「生成AIのサイバー攻撃への悪用」は増加する? 徳丸浩氏が予測する2025年のセキュリティ
  5. Google、オープンソースのセキュリティパッチ検証ツール「Vanir」を公開 多種多様なAndroidデバイスの脆弱性対応を支援するアプローチとは
  6. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  7. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  8. AWS、組織のセキュリティインシデント対応を支援する「AWS Security Incident Response」を発表 アラートに圧倒されるセキュリティチームをどう支援?
  9. ゼロトラストの理想と現実を立命館大学 上原教授が語る――本当に運用できるか? 最後は“人”を信用できるかどうか
  10. CrowdStrike、約850万台のWindowsデバイスで発生したブルースクリーン問題を謝罪 原因と対処法を公開
ページトップに戻る