TOP
>
情報セキュリティ
> 権限昇格による管理者機能へのアクセス
クラッカーから企業Webサイトを守り抜け!
第2回:Webサイトへの不正アクセス手法とその対策
著者:
NRIセキュアテクノロジーズ 観堂 剛太郎
2006/10/16
前のページ
1
2
3
次のページ
権限昇格による管理者機能へのアクセス
次に、権限昇格について説明する。これは、特権機能などの管理者用の機能が、一般ユーザやログインしていない第3者でも不正に利用できてしまうという問題である。
図4:権限昇格による管理者機能への不正アクセス
発生しやすいパターンを1つあげると、ログインするユーザの権限によって、利用可能なメニュー表示を増減する仕組みだ。権限の低いユーザでログインした場合、管理者用のメニュー(ボタン)は表示されないが、メニューIDなどを指定してアクセスすることで、管理機能が利用できてしまうといった脆弱性になる。
この例では、メニューの表示時にだけ権限のチェックを行っており、実際の各機能の処理の中では権限チェックが行われていないために発生してしまうと考えられる。メニューIDではなく、画面IDや機能IDといったパラメータを改竄することでも同様の問題が発生する場合があり、また、これらのIDを推測することは、それ程難しくない場合が多い。
上記のように管理者機能と一般ユーザ機能が権限管理によって融合しているWebサイトもあれば、両者が独立して存在するものも存在する。後者の場合、利用者が限定されているせいか、管理者機能は一般ユーザ側よりも工数をかけずに実装されていたり、運用フェーズにおいても次々に機能が追加され続けたりするといった傾向が見受けられる。
そうしたWebサイトの中には、管理者機能を安易にインターネットに公開してしまっても、URLを権限者だけの「秘密」とするだけで安心し、攻撃を受ける可能性が考慮されない、といったものも存在した。実際のセキュリティ診断では、「秘密」とされたURLが推測できることが多く、また、そもそも開発に携わった内部開発者は皆URLを知っていることになるので「秘密」情報であるとはいえない。
対策としては、まず、利用者が限定されており、アクセス元が制限できるのであれば、インターネットに公開しない、公開する場合でもアクセス元規制を加える、クライアント証明書を要求する、というように第3者が容易にアクセスできないようにすることがあげられる。
また、アプリケーション内で権限管理を行なうのであれば、要求された機能を実行する権限がログインユーザにあるかどうかのチェックを、全リクエストで等しく行なわれるように実装する、もしくは、そういったフレームワークを利用・実装する必要がある。複雑な階層構造の権限を実現しなくてはならないWebサイトも存在するため、「漏れ」が発生しない実装方式、テスト方式を採用する必要もあるといえるだろう。
管理者機能は、ユーザの重要情報を一覧表示できるような機能を持っていることが多く、一般ユーザ向け機能は堅牢に実装されているにも関わらず、脆弱な管理者機能から大量にデータが取得できるという場合も考えられるため、より注意を払い、手を抜かずに対策を検討する必要がある。
前のページ
1
2
3
次のページ
著者プロフィール
NRIセキュアテクノロジーズ株式会社 観堂 剛太郎
コンサルティング事業部 セキュリティコンサルタント
システム・インテグレータを経て2001年、NRIセキュアテクノロジーズに入社。システム開発で養ったセキュアなWebアプリケーション開発のノウハウを活かし、現在は主にWebサイトのセキュリティ診断や設計コンサルティング業務に従事する。
INDEX
第2回:Webサイトへの不正アクセス手法とその対策
多くのWebサイトに潜む3大脆弱性
権限昇格による管理者機能へのアクセス
SQLインジェクションによるデータベースの不正操作