[論文レビュー] Automatically Securing Permission-Based Software by Reducing the Attack Surface: An Application to Android
本稿では、バイトコードを解析して必要な最小限の権限の集合を特定することにより、Androidアプリケーションにおける権限の不足を自動で同定する静的解析ツールCOPESを提示する。攻撃面を小さくする。742個のアプリと679個のアプリを解析した結果、それぞれ94個、35個のアプリが不要な宣言権限を有していることが判明し、Androidアプリケーションにおける権限の過剰宣言が広範にわたる問題であることが示された。
A common security architecture, called the permission-based security model (used e.g. in Android and Blackberry), entails intrinsic risks. For instance, applications can be granted more permissions than they actually need, what we call a "permission gap". Malware can leverage the unused permissions for achieving their malicious goals, for instance using code injection. In this paper, we present an approach to detecting permission gaps using static analysis. Our prototype implementation in the context of Android shows that the static analysis must take into account a significant amount of platform-specific knowledge. Using our tool on two datasets of Android applications, we found out that a non negligible part of applications suffers from permission gaps, i.e. does not use all the permissions they declare.
研究の動機と目的
- Androidのような権限ベースのシステムにおいて、アプリが必要以上に権限を宣言することで生じるセキュリティリスクに対処すること。
- 不要または不必要な権限を特定・削除することで、攻撃面を小さくすること。
- 手作業による宣言や誤りの多いプロセスを回避するため、最小限の必須権限セットを自動で特定するプロセスを自動化すること。
- フレームワークAPI across プラットフォームレベルの権限要件を体系的かつ再利用可能な方法で文書化すること。
提案手法
- 権限ベースのセキュリティモデルをブール行列代数表現として構築し、権限の依存関係を形式化する。
- Androidフレームワークのバイトコードに対して静的解析を実行し、各APIメソッドが必要な権限を抽出するマッピングを取得する。
- アプリケーションのバイトコードを解析し、アプリが実際に呼び出しているフレームワークメソッドを特定する。
- 呼び出されたメソッドが要請する権限の集合の和集合として、最小限の必須権限セットを計算する。
- 宣言された権限と計算された必須セットとの差分として、権限の不足を計算する。
- 並行して実施されたテストベースのアプローチと比較することで結果を検証し、補完的であることを示し、不一致を同定する。
実験結果
リサーチクエスチョン
- RQ1Androidアプリケーションは、実際に使用していない権限をどれほど多く宣言しており、権限の不足が生じているか?
- RQ2静的解析は、Androidアプリケーションの最小限の必須権限セットを正確かつ自動的に推定できるか?
- RQ3静的解析ベースのアプローチとテストベースのアプローチは、権限使用の同定においてどのように比較できるか?
- RQ4提案手法は、Androidフレームワーク全体にわたって権限要件を体系的に文書化できるか?
- RQ5実世界の生産環境におけるAndroidアプリケーションに、権限の不足がどれほど広く存在しているか?
主な発見
- 742個および679個のAndroidアプリケーションに対する評価から、それぞれ94個、35個のアプリが権限の不足を抱えていることが判明し、過剰宣言が無視できない問題であることが示された。
- 静的解析アプローチにより、権限をチェックする9,562のAndroidフレームワークエントリーポイントが同定され、権限要件の体系的文書化が可能になった。
- 並行して実施されたテストベースのアプローチと比較して不一致が発見され、補完的な分析手法の重要性が浮き彫りになった。
- 本手法は完全に自動化されており、専門家の入力や手動でのテストシード生成を必要とせず、他の手法とは異なり、これに依存しない。
- 結果から、権限の不足が広く存在しており、静的解析がそれらを検出するための実用的でスケーラブルな手法であることが検証された。
- 本研究は、静的解析が不要な権限宣言を最小限に抑えることで、攻撃面を効果的に小さくできると示している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。