強制ブラウズ

強制ブラウズは、URL へのアクセスを適切に制御していないアプリケーションの脆弱性を利用して、本来は管理者などの特権を持ったユーザや認証済みのユーザしかアクセスできないページの URL を直接ブラウザに入力してアクセスすることです。

強制ブラウズの例

例えば、ユーザ認証後のメニュー画面で、管理者には管理メニュー画面に遷移するためのボタンが表示され、一般ユーザには表示されないものとします。ボタンを表示していないだけで、アプリケーションのロジックではアクセス権をチェックしていないと、攻撃者が管理メニュー画面のURLをあらかじめ知っているか、または、推測によって特定した場合、そのURLを直接ブラウザのアドレスバーから入力するだけで管理メニュー画面にアクセスできてしまいます。

強制ブラウズの例

またログイン画面で一度だけユーザを認証したあと、認証済みユーザ用の個々のページでアクセス権をチェックしていない場合も、同様にログイン画面を迂回して認証済みユーザー用のページのURLを直接入力することで不正なアクセスが可能です。

対策

どのURLにどのアクセス権を持ったユーザがアクセスできるのかを明確にします。許可されないページへのリンクを画面上で非表示にするだけでなく、アプリケーションのビジネスロジックでもアクセス制御を行ないます。セッションの最初のステップでだけアクセス制御を行なうのではなく、その後のすべてのステップでもアクセス制御を行ないます。

Jtestのルール

  • アクセス制御メソッドを呼び出して一貫性を徹底する

このルールは、アクセス制御メソッドを呼び出していないメソッドを違反としてレポートします。パラメータとして、アクセス制御メソッドの呼び出しが義務付けられているメソッド名およびアクセス制御メソッド名を正規表現で指定します。これにより、組織のセキュリティポリシーに沿ったアクセス制御が行なわれているかどうかを検証できます。

Jtestのアクセス制御メソッドを呼び出して一貫性を徹底するルールでソースコードを解析することにより、強制ブラウズによる攻撃に対して脆弱なコードを発見し、改修することが可能になります。
※ セキュリティルール及びセキュリティコンプライアンス規約セットによる静的解析には「セキュリティコンプライアンスパック」のライセンス(有償)が必要です。

Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

CONTACT

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。