マイクロソフト セキュリティ アドバイザリ (954462)

ユーザー データ入力の未検証を悪用した SQL インジェクション攻撃の増加

公開日: 2008年6月25日 | 最終更新日: 2008年6月26日
要訳

お知らせ内容

ツールの公開

更新プログラム

HP Scrawlr
URLScan バージョン 3.0 ベータ版
Microsoft Source Code Anlyzer for SQL Injection

被害報告

対象外

回避策

対象外

対応方法

ツールの機能をご確認のうえ、導入をご検討ください。

マイクロソフトは、安全な Web アプリケーションを開発するための最善策を実施していない Microsoft ASP および ASP.NET のテクノロジを使用した Web サイトが標的にされた攻撃の種類が昨今増加していることを認識しています。 これらの SQL インジェクション攻撃は、特定のソフトウェアの脆弱性を悪用するものではありませんが、リレーショナル データベースに保存されているデータへのアクセスおよび操作のために、安全なコーディングを実施していない Web サイトが標的にされます。 攻撃者が SQL インジェクション攻撃を実行した場合、これらのデータベースに保存されたデータを悪用し、リモートでコードを実行する可能性があります。 クライアントが危険にさらされたサーバーを参照すると、無意識のうちに悪質な Web サイトへリダイレクトされ、クライアントのコンピュータにマルウェアがインストールされる場合があります。

問題を緩和する要素:

この脆弱性は、一般で受け入れられている安全な Web アプリケーション開発向けの最善策を実施して、ユーザーのデータ入力を検証している Web アプリケーションでは悪用されません。

概説

概要

アドバイザリの目的: このアドバイザリは、安全な Web アプリケーションの開発のために最善策が実施されていない ASP および ASP.NET の影響を受ける Web アプリケーション コードの特定および修正を行う管理者を支援するために公開しました。

アドバイザリの状況: マイクロソフト セキュリティ アドバイザリおよび関連のツールを公開しました。

推奨する対応策: 必要に応じて、推奨するアクションを検討し、構成してください。 マイクロソフトはサーバーの管理者がこのツールの効果を評価し、必要に応じて使用することを推奨します。

このアドバイザリは次のソフトウェアについて説明しています。

関連するソフトウェア

Microsoft ASP および ASP.Net テクノロジ

よく寄せられる質問

このアドバイザリの目的は何ですか?
このアドバイザリは、SQL インジェクション攻撃を受ける可能性がある Web アプリケーションのコードを使用している Web サイトの管理者が潜在的な問題を特定するための支援を提供します。また、アプリケーションの修正中にサーバーが SQL インジェクション攻撃の影響を受けないように、暫定的なソリューションを提供しています。

これは、マイクロソフトがセキュリティ更新プログラムをリリースする必要のあるセキュリティ上の脆弱性ですか?
いいえ。一般で受け入れられているセキュリティの最善策を実施している Web アプリケーションは、この SQL インジェクション攻撃の影響を受ける可能性は非常に低いです。 これはセキュリティの脆弱性ではありませんが、影響を受けるサイトの管理者に対して警告および支援を提供するため、このアドバイザリを公開しました。

何が原因で起こりますか?
ユーザー入力が正しく検証されないため、攻撃者が入力フィールドに SQL コマンドを入力しデータ ソースに対して実行します。それにより、データベースが破損される、またはサーバー上でコードが実行される可能性があります。

攻撃者は、この機能を悪用して何を行う可能性がありますか?
攻撃者は、Web アプリケーション開発におけるセキュリティの最善策を実施していない Web ページの SQL インジェクションの脆弱性を悪用し、攻撃を自動化する可能性があります。 Web サイトの悪用後、攻撃者はデータベースを削除したり、このサーバーを参照しているクライアントを悪質なサイトへリダイレクトし、クライアントのコンピュータにマルウェアをインストールしたりするなど、多数の悪質な動作をサーバーに実行する可能性があります。

推奨するアクション

マイクロソフトは、管理者を支援するツールをいくつか特定しました。 これらのツールは、検出、防御および攻撃者が悪用する可能性のあるコーディングを特定します。

検出 – HP Scrawlr

ヒューレット パッカードが開発した無料のスキャナは、サイトが SQL インジェクション攻撃の影響を受けるかどうかを特定します。 このツールおよびそのサポートについては、Finding SQL Injection with Scrawlr (英語情報) および HP Security Center (英語情報) をご覧ください。

詳細:
このツールはブラック ボックスの解析ツールです (つまり、ソース コードは必要ありません)。 ユーザーは最初の URL を入力します。すると、以下の項目についてツールが実行します。

サイト ツリーを構築するため、その URL のハイパーリンクを再帰的にクロールします。

クエリ文字列のパラメータに SQL インジェクション攻撃の文字列が含まれている HTTP のリクエストを送信することで、検出したすべてのリンクの SQL インジェクションについて詳細にテストします。

SQL インジェクションの影響を受けていると思われる SQL のエラー メッセージについて、サーバーからの HTTP の応答を検証します。.

影響を受けていると検出された全ページと関連の入力フィールドを、ユーザーに報告します。 例えば、次のように報告されます: " foo.asp" のページの「ユーザー名」および「パスワード」のフィールドが影響を受けています。

防御 – URLScan バージョン 3.0 ベータ版

URLScan バージョン 3.0 のベータ版はマイクロソフトのセキュリティ ツールで、インターネット インフォメーション サービス (IIS) が処理する HTTP の種類のリクエストを制限します。URLScan は、特定の HTTP 要求をブロックして、サーバーのアプリケーションに有害な要求が到達するのを阻止します。 URLScan 3.0 は IIS 5.1 およびそれ以降(IIS 7.0 を含む) のバージョンでインストールできます。 URLScan 3.0 については、URLScan Tool 3.0 Beta (英語情報) をご覧ください。

詳細:
URLScan バージョン 3.0 は、サーバーのアプリケーションを SQL インジェクションの攻撃からより強固に守るために、多くの異なる規則を実装できます。 次のような機能があります:

適用される拒否ルールを URL、クエリ文字列、すべてのヘッダー、特定のヘッダーまたはこれらの組み合わせごとに実装します。

グローバルな DenyQueryString セクションは、クエリ文字列に拒否ルールを追加し、クエリ文字列のエスケープされないバージョンを確認するオプションがあります。

拒否ルールのエスケープ シーケンスを使用して、CRLF および構成の印刷可能範囲外の文字を拒否します。

複数の URLScan のインスタンスは、独自の構成およびログ オプション (urlscan.ini) が含まれるサイト フィルタとして、それぞれインストール可能です。

構成 (urlscan.ini) の変更通知は、リサイクルせずにワーカ プロセスに伝達されます。 ログの設定はこれに当てはまりません。

構成のエラーの具体的な説明を提供するため、強化されたログが含まれています。

特定 - Microsoft Source Code Analyzer for SQL Injection

SQL のソース コード解析ツールを開発しました。 このツールは、SQL インジェクション攻撃の影響を受ける可能性のある ASP コードの検出に使用できます。 このツールに関しては、サポート技術情報 954476 をご覧ください。

詳細:

Microsoft Source Code Analyzer for SQL Injection (SQL インジェクション用ソースコード アナライザ) は、スタンドアロン ツールで、お客様それぞれの ASP のソース コードで実行できます。 ツールだけでなく、ツールが解析したコードで検出された問題の修正方法に関するドキュメントが含まれています。 このツールの主な機能は次のとおりです:

SQL インジェクションの脆弱性を引き起こす可能性があるコードについて、ASP のソース コードをスキャンします。

出力として、コーディングの問題を表示します。

このツールは、従来の ASP コードの脆弱性のみを特定します。 ASP.NET コードの脆弱性については、特定しません。

その他の情報

マイクロソフトは、この攻撃に関連する問題の特定および修正を行う管理者を支援するため、追加のリソースを提供しています。

SQL インジェクションおよびコーディングの最善策に関する情報リンク

SQL Server インジェクションの保護 (英語情報)

ASP で SQL インジェクションを防ぐ (英語情報)

How To: ASP.NET でインジェクション攻撃から保護する方法

ASP.NET でインジェクション攻撃から保護するコード技術 (英語情報)

従来の ASP から SQL インジェクションをフィルタリングする (英語情報)

SQL インジェクションの攻撃に関するセキュリティ上の脆弱性のリサーチおよび防御のブログ (英語情報)

SQL インジェクション攻撃とその対策

米国およびカナダに在住のお客様で、この脆弱性である可能性のあるものによる影響を受けている可能性があると思われる場合、1-866-PCSAFETY でマイクロソフト プロダクト サポート サービスから技術的なサポートを受けることができます。マイクロソフトでは、お問い合わせの内容が弊社製品の不具合が原因である場合、無償またはインシデントの未消費にてサポートをご提供いたします。 海外のお客様は マイクロソフト サポート オンライン にあります地域の連絡先へご連絡ください。

すべてのお客様は、マイクロソフトからリリースされる最新のセキュリティ更新プログラムを適用し、この脆弱性を悪用しようとする攻撃からコンピュータを保護する必要があります。自動更新を有効にしているお客様は自動的にすべての Windows の更新プログラムが提供されます。セキュリティ更新プログラムについての詳細情報は、次の マイクロソフト セキュリティ Web サイトをご覧下さい。

リソース:

US マイクロソフト セキュリティ アドバイザリ (954462)
http://www.microsoft.com/technet/security/advisory/954462.mspx

フィードバックをご提供いただく際は、マイクロソフト サポート オンライン のフォームへ入力をお願いします。

セキュリティ関連、およびセキュリティ更新プログラムに関するご質問や、ご不明な点などありましたら、マイクロソフト セキュリティ情報センターまでご連絡ください。マイクロソフト セキュリティ情報センター利用可能なサポート オプションに関する詳細は マイクロソフト サポート オンライン をご覧ください。

その他、製品に関するご質問は、マイクロソフト プロダクト サポートまでご連絡ください。マイクロソフト プロダクト サポートへの連絡方法はこちらをご覧ください。

Microsoft TechNet セキュリティ センター では、製品に関するセキュリティ情報を提供しています。

免責:

この文書に含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行いません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。)結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。

更新履歴: 

2008/06/25: このアドバイザリを公開しました。

2008/06/26 HP Scrawlr ツールの説明から、フォーム フィールドおよびクッキーの値のテストに関する誤った参照を削除しました。


ページのトップへページのトップへ