【レポート】

アプリをセキュアにする宣言型セキュリティ機能IE6/IE7/IE8

    後藤大地  [2010/06/16]

    Windows Internet Explorer 8

    WebアプリケーションやWebサイトは高機能になり、そして複雑なものになりつつある。こうしたケースではプラットフォームのコンポーネント、コンポーネント上に構築されたサーバアプリケーション、ブラウザで実行されるJavaScriptなど、さまざまな要素が絡み合い、どの部分がどのセキュリティの責任を負うべきかの判断が難しくなってくる。

    Rely on Declarative Security Features in the Browser - IEBlogでは、Webアプリケーションを開発する場合には「宣言型セキュリティ機能」を使うべきだと主張している。複雑なシステムであってもセキュリティはすべての部分で負うべきであり、そうしたケースでは責任のなすりつけ合いが発生する可能性があるという。宣言型セキュリティ機能を活用すれば、設計の段階でセキュリティの責任を明確なものにすることができるという。

    紹介されているIEが提供する宣言型セキュリティ機能は次のとおり。こうした機能を積極的に活用しようということになる。

    • X-FRAME-OPTIONS - 他のサイトからframe/iframeを経由して参照されるのを禁止する機能。クリックジャックへの対策となる。IE8以上でサポート。
    • Cookie.Secureプロパティ - HTTPS経由でのみクッキーを送信するための指定。中間車攻撃によるクッキーの奪取への対策となる。サポートされるすべてのIEでサポート。
    • HttpOnly - クライアントコードからクッキーへのアクセスを禁止する機能。XSS攻撃によるクッキーベースセッションIDの奪取への対策となる。IE6以上でサポート。
    • toStaticHTML - 悪意ある要素をHTMLから削除する機能。IE8以上でサポート。
    • SECURITY=RESTRICTEDフレーム - フレームにおけるスクリプトの実行を禁止する機能。IE6以上でサポート。

    Rely on Declarative Security Features in the Browserでは宣言型セキュリティの例としてpostMessage()を紹介。postMessage()はクロスドメインでメッセージをやりとりするための機能。IE8からサポートされている。この場合の宣言型セキュリティは、postMessage()のtargetOriginパラメータにワイルドカードを指定せずに、明示的にドメインを指定することを意味するという。ワイルドカードを指定した場合にはチェックなしでメッセージが送信されるため、なんらかの脆弱性を突かれてメッセージがリークする可能性がある。ワイルドカードを使用せず明示的に記述することで、そうした潜在的な危険性を回避できるというわけだ。

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン