安全なクライアント アプリケーション (ADO.NET)
更新 : November 2007
通常、アプリケーションは多数の要素で構成されており、それぞれをデータの損失やシステムのセキュリティ侵害を招く脆弱性から確実に保護する必要があります。安全なユーザー インターフェイスを作成し、攻撃者によるデータやシステム リソースへのアクセスを未然に阻止することで、多くの問題を防ぐことができます。
ユーザー入力の検証
データにアクセスするアプリケーションを構築する場合、ユーザーの入力はすべて悪意のあるものと想定しない限り、攻撃に対する脆弱性をアプリケーションから取り除くことはできません。.NET Framework には、入力できる文字数の制限など、入力コントロールの値の範囲を設定するクラスが用意されています。イベントを捕捉することによって、値の有効性を確認するプロシージャを作成できます。ユーザーによって入力されるデータを検証し、厳密に型指定することで、アプリケーションをスクリプト インジェクションや SQL インジェクションなどの攻撃にさらす機会を制限できます。
セキュリティに関するメモ : |
---|
クライアント アプリケーションだけでなく、データ ソース側でもユーザー入力を検証する必要があります。攻撃者がアプリケーションを迂回し、データ ソースを直接攻撃してくる可能性もあります。 |
セキュリティとユーザー入力
発見が難しく大きな危険を招く可能性のあるユーザー入力に関連したバグへの対処方法を説明します。ASP.NET Web ページにおけるユーザー入力の検証
ASP.NET の検証コントロールを使ったユーザー入力の検証について概要を説明します。Windows フォームでのユーザー入力
Windows フォーム アプリケーションにおけるマウス入力およびキーボード入力の検証に関連したリンクや情報を提供します。.NET Framework の正規表現
Regex クラスを使用してユーザー入力の有効性を確認する方法について説明します。
Windows アプリケーション
これまで、Windows アプリケーションは、アクセスがすべて許可された状態で実行されていました。.NET Framework は、コード アクセス セキュリティ (CAS) を使用して Windows アプリケーションで実行されるコードを制限するインフラストラクチャを提供します。ただし、CAS だけでは、アプリケーションを保護するには不十分です。
Windows フォームのセキュリティ
Windows フォーム アプリケーションをセキュリティで保護する方法について説明します。また、関連項目へのリンクがあります。Windows フォームとアンマネージ アプリケーション
Windows フォーム アプリケーションでアンマネージ アプリケーションと対話する方法について説明します。Windows フォーム アプリケーションの ClickOnce 配置
Windows フォーム アプリケーションでの ClickOnce 配置の使用方法およびセキュリティへの影響について説明します。
ASP.NET と XML Web サービス
通常、ASP.NET アプリケーションは、アクセスを Web サイトの一部に制限し、データ保護およびサイト セキュリティのための他のメカニズムを提供する必要があります。以下のリンクにアクセスすると、ASP.NET アプリケーションをセキュリティで保護するための有益な情報を見つけることができます。
XML Web サービスは、ASP.NET アプリケーション、Windows フォーム アプリケーション、またはその他の Web サービスが使用できるデータを提供します。クライアント アプリケーションのセキュリティだけでなく、Web サービスそのもののセキュリティを管理する必要があります。
詳細については、次のリソースを参照してください。
リソース |
説明 |
---|---|
ASP.NET アプリケーションをセキュリティで保護する方法について説明します。 |
|
ASP.NET Web サービスへのセキュリティの実装方法について説明します。 |
|
Web ページに悪意のある文字の挿入を試みるスクリプト攻略攻撃を阻止する方法について説明します。 |
|
一般的なセキュリティ情報のほか、より詳細なページへのリンクも掲載されています。 |
リモート処理
NET リモート処理を使用すると、すべてのアプリケーション コンポーネントを 1 台のコンピュータに置くか全世界に分散させるかを問わず、大規模な分散アプリケーションを容易に構築できます。同じコンピュータまたはネットワーク経由で到達可能な別のコンピュータで動作する他のプロセスのオブジェクトを使ったクライアント アプリケーションを構築できます。.NET リモート処理を使用することで、同じプロセス内の他のアプリケーション ドメインと通信することもできます。
リソース |
説明 |
---|---|
一般的な問題を回避するためのリモート処理アプリケーションの構成方法について説明します。 |
|
認証と暗号化のほか、リモート処理に関連したその他のセキュリティ トピックについて説明します。 |
|
保護されたオブジェクトやアプリケーション ドメインの境界越えに伴うセキュリティの問題について説明します。 |