「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次  †
概要  †
概要  †
脆弱性対策のポイント
主なモノ  †
その他、一般的な脆弱性  †
ネットワークの暗号化(HTTPSやSSL-VPN)  †
- 基本的に、電文の内容をガードする。
 
- Sessionにデータを格納すれば、電文には乗らないが、
下記セッション ハイジャックで、漏洩する危険はある。 
インジェクションに注意  †
他システム、エンドユーザからの入力データは信用しない。
- エンドユーザ入力は、必ずチェックしてから利用する。
 
- これは、各種を防ぐ、基本的な防護策である。
 
- ASP.NETでは、以下の方法でインジェクション系の攻撃をチェックできる。
 
クライアント スクリプト インジェクション  †
- 別名、クロスサイト スクリプティング(XSS)
 
- ASP.NETで検証される(デフォルトの設定で検証は有効)。
 
- 詳細:XSS対策の実装方針
 
SQLインジェクション  †
OSコマンド インジェクション  †
チェックが必要な部位は、アプリケーションでチェックする必要がある。
バッファ オーバー フロー  †
.NETでは発生しないが、アンマネージド・モジュールに入力データを渡す場合は注意。
セッション ハイジャックの防止  †
特にSession Cookieを盗み、ユーザのSession情報を盗み出す方法。
ネットワークの暗号化(HTTPSやSSL-VPN)  †
- ネットワークのパケット キャプチャを行い、Session Cookieを盗む事ができる。
 
- このため、ネットワークの暗号化(HTTPSやSSL-VPN)が必要になる。
 
XSS対策を行う  †
- ネットワークの暗号化(HTTPSやSSL-VPN)をしていても、
クロスサイト スクリプティング(XSS)で、Session Cookie、認証チケットなどが漏洩する。 
- 詳細:XSS対策の実装方針
 
データの格納場所、暗号化・改竄防止  †
クライアントに見せられないデータ、改竄の危険性があるデータは、
データの格納場所  †
サーバ側のSessionなどに持たせクライアントから見えないようにする。
暗号化・改竄防止ロジック  †
または、ネットワークの暗号化(HTTPSやSSL-VPN)とは別に、ロジックにより個別に暗号化・改竄防止する。
この際、
設計面  †
多重防御に基づいた設計  †
全体のセキュリティ バランスをとった、多重防御に基づいた設計
- 部分的にセキュリティを高めても、費用対効果が高いとはいえない。
 
- 複数の手段を組み合わせて実施したほうが、セキュリティ強度は高めやすい。
 
- 従って、要求されるセキュリティ強度をバランスよく実現する。
 
最小特権の原則に従って設計  †
- 予め、定められた以上のことができないようにアプリケーションを設計する。
 
- ロックダウンの原則を受け入れ、必要なサーバ機能だけを利用可能にする。
 
- ASP.NETの実行ユーザ アカウント、DBへのログイン アカウントも、適切な権限になるようにする。
 
運用面  †
セキュリティ アップデートの適用  †
- セキュリティ アップデートは必ず適用すること。
 
- テスト環境でテストした後、タイムリーにアップデートを実施する。
- セキュリティ アップデートをタイムリーに適用することが重要。
 
- このため、製品修正情報の収集 ~ テスト環境などの整備が必要となる。
 
 
Tags: :テスト