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

ユーザー入力の検証を怠るなど、コーディング時に陥りやすい基本的なミスを防ぐだけでは、安全な ADO.NET アプリケーションを作成することはできません。 データにアクセスするアプリケーションには、機密データの取得、操作、破壊など、攻撃者に攻略される可能性がある障害点が多数あります。 そのため、アプリケーションの設計フェーズで行う脅威のモデリングのプロセスから、アプリケーションの最終的な配置と継続的な保守に至るまで、セキュリティのすべての側面を理解することが重要です。

.NET Framework には、データベース アプリケーションのセキュリティを確保し、管理するのに有用なクラス、サービス、およびツールが多数用意されています。 共通言語ランタイム (CLR) によって、コードを実行するためのタイプ セーフな環境が実現され、それと同時に、コード アクセス セキュリティ (CAS) によって、マネージド コードのアクセス許可はより制限されています。 攻撃者によってもたらされる可能性のある損害は、安全なデータ アクセスのためのコーディング方法に従うことによって最小限に抑えることができます。

データベースなどのアンマネージ リソースを扱う場合、安全なコードを作成したとしても、自ら招いたセキュリティ ホールを防ぐことはできません。 SQL Server を含め、ほとんどのサーバー データベースには、正しく実装することによってセキュリティを強化できる独自のセキュリティ システムがあります。 しかし、データ ソースがいかに堅牢なセキュリティ システムを備えていたとしても、それが適切に構成されていなければ攻撃を防ぐことはできません。

このセクションの内容

セキュリティの概要
安全な ADO.NET アプリケーションを設計するための推奨事項について説明します。

安全なデータ アクセス
セキュリティで保護されたデータ ソースのデータを使用する方法について説明します。

安全なクライアント アプリケーション
クライアント アプリケーションのセキュリティに関する考慮事項について説明します。

コード アクセス セキュリティと ADO.NET
CAS を使用して ADO.NET コードを保護する方法について説明します。 部分信頼の使用方法についても説明します。

プライバシーとデータ セキュリティ
ADO.NET アプリケーションの暗号化オプションについて説明します。

DataSet と DataTable のセキュリティ ガイダンス
DataSetDataTable に関するセキュリティ ガイダンスを提供します。

SQL Server のセキュリティ
開発者の観点から SQL Server のセキュリティ機能について説明します。

セキュリティの考慮事項
Entity Framework アプリケーションのセキュリティについて説明します。

セキュリティ
.NET のセキュリティをあらゆる観点から説明した記事へのリンクが含まれています。

セキュリティ ツール
セキュリティ保護およびセキュリティ ポリシーの管理に使用する .NET Framework ツールについて説明します。

セキュリティで保護されたアプリケーションを作成するためのリソース
安全なアプリケーションを作成するための記事へのリンク集です。

セキュリティ参考文献
オンラインまたは出版物として提供されている外部リソースへのリンク集です。

関連項目