Share via


安全なクライアント アプリケーション (ADO.NET)

更新 : November 2007

通常、アプリケーションは多数の要素で構成されており、それぞれをデータの損失やシステムのセキュリティ侵害を招く脆弱性から確実に保護する必要があります。安全なユーザー インターフェイスを作成し、攻撃者によるデータやシステム リソースへのアクセスを未然に阻止することで、多くの問題を防ぐことができます。

ユーザー入力の検証

データにアクセスするアプリケーションを構築する場合、ユーザーの入力はすべて悪意のあるものと想定しない限り、攻撃に対する脆弱性をアプリケーションから取り除くことはできません。.NET Framework には、入力できる文字数の制限など、入力コントロールの値の範囲を設定するクラスが用意されています。イベントを捕捉することによって、値の有効性を確認するプロシージャを作成できます。ユーザーによって入力されるデータを検証し、厳密に型指定することで、アプリケーションをスクリプト インジェクションや SQL インジェクションなどの攻撃にさらす機会を制限できます。

ms172106.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

クライアント アプリケーションだけでなく、データ ソース側でもユーザー入力を検証する必要があります。攻撃者がアプリケーションを迂回し、データ ソースを直接攻撃してくる可能性もあります。

Windows アプリケーション

これまで、Windows アプリケーションは、アクセスがすべて許可された状態で実行されていました。.NET Framework は、コード アクセス セキュリティ (CAS) を使用して Windows アプリケーションで実行されるコードを制限するインフラストラクチャを提供します。ただし、CAS だけでは、アプリケーションを保護するには不十分です。

ASP.NET と XML Web サービス

通常、ASP.NET アプリケーションは、アクセスを Web サイトの一部に制限し、データ保護およびサイト セキュリティのための他のメカニズムを提供する必要があります。以下のリンクにアクセスすると、ASP.NET アプリケーションをセキュリティで保護するための有益な情報を見つけることができます。

XML Web サービスは、ASP.NET アプリケーション、Windows フォーム アプリケーション、またはその他の Web サービスが使用できるデータを提供します。クライアント アプリケーションのセキュリティだけでなく、Web サービスそのもののセキュリティを管理する必要があります。

詳細については、次のリソースを参照してください。

リソース

説明

ASP.NET Web サイトのセキュリティ

ASP.NET アプリケーションをセキュリティで保護する方法について説明します。

ASP.NET を使用して作成した XML Web サービスのセキュリティ

ASP.NET Web サービスへのセキュリティの実装方法について説明します。

スクリプトによる攻略の概要

Web ページに悪意のある文字の挿入を試みるスクリプト攻略攻撃を阻止する方法について説明します。

ASP.NET Web アプリケーションのセキュリティに関する基本的な対策

一般的なセキュリティ情報のほか、より詳細なページへのリンクも掲載されています。

リモート処理

NET リモート処理を使用すると、すべてのアプリケーション コンポーネントを 1 台のコンピュータに置くか全世界に分散させるかを問わず、大規模な分散アプリケーションを容易に構築できます。同じコンピュータまたはネットワーク経由で到達可能な別のコンピュータで動作する他のプロセスのオブジェクトを使ったクライアント アプリケーションを構築できます。.NET リモート処理を使用することで、同じプロセス内の他のアプリケーション ドメインと通信することもできます。

リソース

説明

リモート アプリケーションの構成

一般的な問題を回避するためのリモート処理アプリケーションの構成方法について説明します。

リモート処理でのセキュリティ

認証と暗号化のほか、リモート処理に関連したその他のセキュリティ トピックについて説明します。

セキュリティとリモート処理の考慮事項

保護されたオブジェクトやアプリケーション ドメインの境界越えに伴うセキュリティの問題について説明します。

参照

概念

データ アクセスに関する推奨事項

アプリケーションの保護

接続情報の保護 (ADO.NET)

その他の技術情報

ADO.NET アプリケーションのセキュリティ保護