基本機能
Androidアプリの脆弱性・プライバシー・品質に関する問題を検出するだけでなく、アプリ内の情報を一覧にすることにより、セキュリティ対策に活用できます。
1. アプリケーション脆弱性検出機能
Androidアプリの脆弱性や、プライバシー、品質に関する問題を検出します。また、アプリ内の情報を一覧できるようにします。
リスクファインダーは脆弱性検出するだけのツールではありません。
利用者が安心して利用できるセキュアなアプリを開発するために必要となる項目を検出します。
検出された項目は以下の3つの視点に分類されます。
1. カテゴリ
検出された問題が、アプリのどの部分で検出されたのかを示す情報です。
2. 種別
検出された問題が、脆弱性なのか品質の問題なのかといった種類を示す情報です。
3. リスクレベル
検出された問題が、必ず対処しなければいけない問題なのかといった重要度を示す情報です。
問題に対処する際には、これらの情報を使って項目を整理する事で、セキュリティ対策しやすくなります。
検出項目のカテゴリ
リスクファインダーが検出した情報は、以下のカテゴリに分類されて一覧され、情報を簡単に把握できるようになっています。
カテゴリ名 | 内容 |
---|---|
Information | アプリ名、パッケージ名、バージョンコード等アプリの基本的な情報を確認できます。 |
Manifest Risk | AndroidManifest.xml内の脆弱な設定や、誤った設定等を確認できます。 |
Permission | 誤ったPermission定義や不要なPermission、利用者から危険なアプリに見えるPermissionの組み合わせの存在等を確認できます。 |
File Access | 外部ストレージの誤った利用や、他のアプリからアクセス可能なファイルを作成している処理の存在等を確認できます。 |
String Resources | ここに一覧された情報を使用して、パスワード等の重要な情報がハードコートされていないか、コメントに不適切なものがないか確認できます。 |
Logs | ログ出力メソッド、printStackTraceメソッドの使用の一覧です。この一覧を使用して重要な情報がログ出力されていないかどうか確認することができます。 |
Network | どこと通信を行っているか、WebViewの脆弱性の影響を受けないか、通信時の例外を無視していないか等、通信に関連する問題点を確認できます。 |
Module | アプリが内蔵している第三者モジュールが危険なものでないか、ライセンス契約が必要なものでないか等を確認できます。 |
Cryptography | 推奨されないHash関数、強度が十分でない暗号化ロジック等がないか確認できます。 |
Secure Logic | 外部のdexファイルの読み込み、リフレクションの使用等、セキュリティ上注意が必要な実装の存在、OSバージョンに強く依存した実装の存在を確認できます。 |
Privacy Policy | 利用者のプライバシーに配慮が必要な処理の存在を確認できます。 |
Power Saving | バッテリーに負荷をかける処理の存在を確認できます。 |
種別
リスクファインダーは、検出された項目を以下の4種類の種別で分類します。
- 脆弱性に関する項目
- センシティブな情報に関する項目
- 品質に関する項目
- バッテリ-に影響を与える項目
リスクレベル
リスクファインダーが検出した情報は、重要度に応じて「ERROR」、「WARNING」、「CONFIRM」、「INFO」の4つのレベルに分かれており、
優先的に対応すべき項目が一目でわかるようになっています。
また、検出結果は「検出内容」「検出理由」「対処方法」の3ブロックで表現されており、具体的な対処方法まで記載しています。レポートを参照すれば解決のために何をすれば良いか簡単に理解できます。
レベル | 意味 |
---|---|
ERROR | 明らかな誤りであり、修正が必要なものです。 |
WARNING | 脆弱性と考えられる項目ですが、アプリの仕様上そうならざるを得ない場合があるため、
設計通りであるか確認が必要なものです。 例えば、不特定多数のアプリからインテントを受け取るように設計された公開Activity等があります。 |
CONFIRM | この項目だけでは脆弱性とはなりませんが、他の処理との関連によっては脆弱性となりうるものです。 例えば、SDカードへの書き込み権限を持つアプリの場合、脆弱性となるかどうかは書き込む内容に依存するため、 SDカードへ出力される内容の確認が必要となります。 |
INFO | 直接脆弱性に繋がるものではありませんが、アプリの使用状況を踏まえて対策することを検討してもよいと思われるものです。 |
2. 解析結果のダウンロード機能
診断結果をHTML形式、Excel形式でダウンロードする事ができます。
会議等での使用、リスクファインダーのアカウントを持っていない方との情報共有が可能になります。
Excelデータは、「リスクレベル」と「種別」でフィルタリングできるため、対処が必要な項目を絞り込んで表示させることができます。
会議等での使用、リスクファインダーのアカウントを持っていない方との情報共有が可能になります。
Excelデータは、「リスクレベル」と「種別」でフィルタリングできるため、対処が必要な項目を絞り込んで表示させることができます。