HttpOnly紹介とXSS攻撃防止時の役割(ターン)

3594 ワード

[url=http://www.owasp.org/index.php/HTTPOnly」HttpOnly、議論HttpOnly、およびHttpOnlyと各言語の集積(Java,Net,PHP)[/url]を紹介します。
自:[url=http://netsecurity.51cto.com/art/200902/111143.htm」HTTP-only Cookieを利用してXSSの痛みを緩和します。
Webセキュリティの分野では、クロスステーションスクリプトの攻撃は、最も一般的な攻撃のフォームは、長い間の問題であり、この記事では、この圧力を緩和するための技術、すなわちHTTP-only cookieを紹介します。
一、XSSとHTTP-only Cookie概要
サイトをまたぐスクリプト攻撃は、Webサーバの安全を悩ます一般的な問題の一つである。サイトをまたぐスクリプト攻撃はサーバー側のセキュリティ・ホールであり、ユーザーの入力をHTMLとして提出する場合、サーバー側で適切なフィルタリングが行われていないことがよくある。サイトをまたぐスクリプト攻撃は、Webサイトのユーザの敏感な情報の漏洩を引き起こす可能性がある。クロスサイトスクリプト攻撃のリスクを低減するために、マイクロソフトのInternet Explorer 6 SP 1は新しい特性を導入しました。
この特性は、クライアント・スクリプトがCookieにアクセスするのを阻止するための新しい属性をCookieに提供することである。
このような属性を持つクッキーをHTTP-only cookieと呼ぶ。HTTP-only cookieに含まれているいかなる情報がハッカーまたは悪意のあるウェブサイトに暴露される確率は大幅に減少します。以下はHTTP-only cookieのヘッダを設定する例である。
Set-Cookie: USER=123; expires=Wednesday, 09-Nov-99 23:12:40 GMT; HttpOnly
以上、HTTP-only Cookieを紹介しました。サイトをまたいでのスクリプト攻撃、スクリプトを通じてアクセスできるクッキーによる潜在的な危険性、HTTP-onlyを通じてサイトをまたぐスクリプト攻撃のリスクを低減する方法を紹介します。
サイトをまたぐスクリプト攻撃は、サーバー側によくあるセキュリティ・ホールであり、ハッカーがユーザを欺くことができ、あるウェブサイト上のユーザの敏感な情報の漏洩を引き起こす。次の簡単な例では、サイトをまたいでスクリプト攻撃に関するステップを説明する。
二、クロスサイトスクリプト攻撃例
クロスサイトスクリプト攻撃がどのようにハッカーに利用されているかを説明するために、次の例を想定しています。
A証券会社はある株の最新価格を追跡できるWebサイトを運営しています。ユーザー体験を高めるために、A証券会社のWebサイトにログインしたら、www.azhengquan.com/default.asp?name=evilScript()張三にリダイレクトされます。そして、サーバー側のスクリプトで歓迎ページを作成します。
あなたの株価データはデータベースに保存され、Webサイトはあなたのコンピュータ上にクッキーを置いています。このデータベースにとって非常に重要なデータが含まれています。A証券会社のサイトにアクセスするたびに、ブラウザは自動的にこのクッキーを送信します。
ハッカーはA証券会社のWebサイトにサイトをまたいでスクリプト攻撃の欠陥があることを発見しました。彼はこれを利用してあなたが持っている株式の名前などの敏感な情報を収集することを決めました。ハッカーはあなたが当選したというメールを送ります。そして、あるリンクをクリックして「ここをクリックしてください」と賞品を受け取りに来ます。注意してください。このリンクはwww.azhengquan.com/default.asp?name=evilScript()にハイパーリンクをリンクします。このリンクをクリックすると、目に映るのは「お帰りなさい」です。ちょっと待ってください。お名前はどこですか?実際には、メール内のリンクをクリックしてから、実際にはA証券会社のWebサイトに通知しています。名前はevilScript()です。Webサーバーはこの名前で作成したHTMLをあなたに返しますが、ブラウザはこの名前をスクリプトコードとして解釈してくれます。スクリプトが実行されると、前に見たシーンがあります。一般的に、クライアントスクリプトをサポートするのは、ブラウザの典型的な機能の一つです。このスクリプトコマンドブラウザがハッカーのコンピュータにクッキーを返送すると、このクッキーにあなたの株に関する情報が含まれていても、あなたのブラウザは誠実に実行します。最後に、A証券会社のWebサイトからの命令は、その敏感情報を含むクッキーを取得した。
次はサイドスクリプト攻撃の概略図で、攻撃の5つのステップを詳細に示しています。まず、ユーザーはハッカーから送られてきた電子メールの中の埋め込まれたリンクをクリックしました。サイトをまたぐスクリプトの攻撃の欠陥のため、ユーザのブラウザがWebサイトに要求を送信することになる(第2ステップ)。サーバー側は、この要求に応じて悪意のあるスクリプトを含む応答を生成し、ユーザのブラウザに返信します。ユーザのマシンが返す悪意のあるコードを実行すると(第4ステップ)、ユーザの敏感なデータをハッカーのコンピュータに送信します(第5ステップ)。
[img]http://dl.iteye.com/upload/attachment/389287/045fae3b-faac-38dc-9a95-9f7354a9f5ea.gif[img]
このプロセスは、ユーザーがリンクをクリックするだけで、Webサーバに送信するコマンドがあり、悪意のあるスクリプトが埋め込まれたウェブページを生成することができます。ブラウザはこの信頼されたソースからのスクリプトを実行しますが、情報がハッカーのコンピュータに漏れてしまいます。サイトをまたいでのスクリプト攻撃は様々な形がありますが、ここはその中の一つです。
三、HTTP-only Cookieでデータを保護する
クロスサイトスクリプト攻撃による情報漏洩リスクを緩和するために、Internet Explorer 6 SP 1はCookieに新たな属性を導入した。この属性はスクリプトを通じてクッキーにアクセスすることができません。HTTP-only Cookieを使用すると、Webサイトは、cookieの中の敏感な情報がハッカーのコンピュータに送信されるか、またはスクリプトを使用するWebサイトに送信される可能性を排除することができる。
Cookieは、通常HTTP応答髪としてクライアントに送るものであり、以下の例では、対応する構文を示しています。
Set-Cookie: =[; =]
[; expires=][; domain=]
[; path=][; secure][; HttpOnly]
応答ヘッダにHttpOnly属性が含まれていても、ユーザが有効ドメイン内の局をブラウズすると、このクッキーは自動的に送信されます。しかし、このcookieには、Internet Explorer 6 SP 1にスクリプトを使用してアクセスすることができず、最初にクッキーを作成したWebサイトも例外ではない。これは、サイトをまたぐスクリプト攻撃の欠陥があっても、ユーザーがその脆弱性を利用したリンクをだまされてクリックしても、そのクッキーをいかなる第三者にも送信しないことを意味する。これで情報の安全が保証されます。
なお、サイト間スクリプト攻撃によるダメージを低減するためには、HTTP-only Cookieと他の技術を組み合わせて使用する必要がある。単独で使うと、クロスサイトのスクリプト攻撃を全面的に防ぐことができません。