「マイクロソフト系技術情報 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: :テスト