「非公開コンポーネントのアクセス制限不備」とはどのような問題でしょうか。ここで概要について理解しておきましょう。
「コンポーネントとは」で説明した通り、開発者はコンポーネントを組み合わせて、アプリに様々な機能を実装します。
アプリが実装する機能には、アプリ内でのみ使用されることを想定したものがあります。
このような機能を提供するコンポーネントは他のアプリから利用されないように非公開に設定し他のアプリから不正に利用されないようにします。
コンポーネントのアクセス制限の挙動について、Activityを例に図示します。
|
非公開に設定されたActivityは
他のアプリからアクセスできない
|
しかし非公開コンポーネントを誤って公開してしまった場合、そのコンポーネントが持っている機能は他のアプリから利用できてしまいます。
|
公開に設定されたActivityは
他のアプリからアクセスできる
|
非公開コンポーネントが公開されており、想定外のアプリからアプリの機能を利用できるようになっていることが「非公開コンポーネントのアクセス制限不備」によって生じる脆弱性です。