「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
Webアプリケーション脆弱性対策のポイント
主なモノ †
その他、一般的な脆弱性 †
ネットワークの暗号化(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へのログイン アカウントも、適切な権限になるようにする。
運用面 †
セキュリティ アップデートの適用 †
- セキュリティ アップデートは必ず適用すること。
- テスト環境でテストした後、タイムリーにアップデートを実施する。
- セキュリティ アップデートをタイムリーに適用することが重要。
- このため、製品修正情報の収集 ~ テスト環境などの整備が必要となる。
プロダクト †
エンプラ向けの高価な有償ツールは、
各社使用するものが決まっていることが多いので、
ここでは廉価なOSSツールを中心に調査を行う。
OWASP ZAP(Zed Attack Proxy) †
概要 †
- Parosをフォークした開発した動的(能動的)な、
Webアプリケーション脆弱性診断ツール。
- OWASPコミュニティが運営する。
- OWASPコミュニティとは、下記に関する情報共有と普及啓発を目的とした
プロフェッショナルの集まる、オープンソース・ソフトウェアコミュニティ
- ソフトウェアのセキュリティ環境の現状
- セキュアなソフトウェア開発を促進する技術・プロセス
- ZAP Projectは、OWASPコミュニティのフラッグシップ・プロジェクトでもある。
- 2011年にParosからのフォークがされており、
リポジトリを見る限り、現在もアクティブな開発が行われている。
参考 †
Paros †
概要 †
- ???が開発した動的(能動的)な、Webアプリケーション脆弱性診断ツール。
- 20XX年に初回リリースがされており、
- リポジトリを見る限り、開発はあまりアクティブではない。
- 現在はOWASP ZAPがフォークして開発を継続している。
参考 †
skipfish †
概要 †
- Googleが開発した動的(能動的)な、Webアプリケーション脆弱性診断ツール。
- 2011年に初回リリースがされており、リポジトリを見る限り、開発は停止している。
参考 †
ratproxy †
概要 †
- Googleが開発した静的(受動的)な、Webアプリケーション脆弱性診断ツール。
- 2008年に初回リリースがされており、リポジトリを見る限り、開発は停止している。
参考 †
参考 †
Tags: :テスト, :ツール類