「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>テスト]]

* 目次 [#w382d929]
#contents

*概要 [#c023adca]
脆弱性対策のポイント

*主なモノ [#jb87aa89]
**[[SQLインジェクション対策の実装方針]] [#q3067e97]
*詳細 [#u6023d20]
**[[ネットワーク脆弱性対策]] [#deddd528]
**[[Webアプリケーション脆弱性対策]] [#lf124f9e]

**[[XSS対策の実装方針]] [#x3c5804e]
*参考 [#c1fe2836]

**[[CSRF(XSRF)対策の実装方針]] [#z96a6a63]
**[[Azure上でのテスト]] [#f6012470]

*その他、一般的な脆弱性 [#xce1a751]
**ネットワークの暗号化(HTTPSやSSL-VPN) [#v5a384d0]
-基本的に、電文の内容をガードする。
-Sessionにデータを格納すれば、電文には乗らないが、~
下記[[セッション ハイジャック>#xc05b080]]で、漏洩する危険はある。
**脆弱性診断・脆弱性検査ツール [#ve9bc2c1]
-脆弱性検査ツール - Wikipedia~
https://ja.wikipedia.org/wiki/%E8%84%86%E5%BC%B1%E6%80%A7%E6%A4%9C%E6%9F%BB%E3%83%84%E3%83%BC%E3%83%AB
-脆弱性診断・脆弱性検査ツール5選~
ソフトウェアテスト・第三者検証ならウェブレッジ~
https://webrage.jp/techblog/security_tool/
-Webアプリケーション用 フリーの脆弱性診断ツールまとめ | hifive開発者ブログ~
https://blog.htmlhifive.com/2017/04/19/web-app-vulnerability-scanner/

**インジェクションに注意 [#z161e17b]
他システム、エンドユーザからの入力データは信用しない。
***IPA [#l84a5ed5]
-IPA、Webサイトの脆弱性検査手法を解説 | マイナビニュース~
https://news.mynavi.jp/article/20131217-a132/
--IPAテクニカルウォッチ:IPA 独立行政法人 情報処理推進機構~
「ウェブサイトにおける脆弱性検査手法の紹介」の公開~
https://www.ipa.go.jp/about/technicalwatch/20131212.html

-エンドユーザ入力は、必ずチェックしてから利用する。
-これは、各種を防ぐ、基本的な防護策である。
-ASP.NETでは、以下の方法でインジェクション系の攻撃をチェックできる。
***Qiita [#scd3776a]
-OSS or Freeのセキュリティ診断ツール~
https://qiita.com/quickguard/items/f0721ecb026799506dbd
-脆弱性検査ツールまとめ~
https://qiita.com/ihorie/items/4f200b786ca48909267d

***クライアント スクリプト インジェクション [#e1c04b7d]
-別名、クロスサイト スクリプティング(XSS)
-ASP.NETで検証される(デフォルトの設定で検証は有効)。
-詳細:[[XSS対策の実装方針]]

***SQLインジェクション [#nc754092]
-パラメタライズド・クエリで検証される。
-詳細:[[SQLインジェクション対策の実装方針]]

***OSコマンド インジェクション [#q8105ec3]
チェックが必要な部位は、アプリケーションでチェックする必要がある。

***バッファ オーバー フロー [#cb565149]
.NETでは発生しないが、アンマネージド・モジュールに入力データを渡す場合は注意。

**セッション ハイジャックの防止 [#xc05b080]
特にSession Cookieを盗み、ユーザのSession情報を盗み出す方法。

***ネットワークの暗号化(HTTPSやSSL-VPN) [#q0b38462]
-ネットワークのパケット キャプチャを行い、Session Cookieを盗む事ができる。
-このため、ネットワークの暗号化(HTTPSやSSL-VPN)が必要になる。

***XSS対策を行う [#h1f50f9d]
-ネットワークの暗号化(HTTPSやSSL-VPN)をしていても、~
クロスサイト スクリプティング(XSS)で、Session Cookie、認証チケットなどが漏洩する。
-詳細:[[XSS対策の実装方針]]

**データの格納場所、暗号化・改竄防止 [#tf6e738e]
クライアントに見せられないデータ、改竄の危険性があるデータは、

***データの格納場所 [#kcf58d7d]
サーバ側のSessionなどに持たせクライアントから見えないようにする。

***暗号化・改竄防止ロジック [#t8378800]
または、ネットワークの暗号化(HTTPSやSSL-VPN)とは別に、ロジックにより個別に暗号化・改竄防止する。

この際、
-暗号化や、改竄防止のロジックには、コードやアプリケーション設計の秘匿性を要求しない。
-暗号化や、改竄防止のロジックが露呈してもクラッキングされないようにするために、~
[[一般に流布し安全性が実践的に保証されている暗号化ロジックを利用する。>.NETの署名・暗号化アルゴリズム]]

**設計面 [#r6a67eea]
***多重防御に基づいた設計 [#u6e09d90]
全体のセキュリティ バランスをとった、多重防御に基づいた設計

-部分的にセキュリティを高めても、費用対効果が高いとはいえない。
-複数の手段を組み合わせて実施したほうが、セキュリティ強度は高めやすい。
-従って、要求されるセキュリティ強度をバランスよく実現する。

***最小特権の原則に従って設計 [#v6918259]
-予め、定められた以上のことができないようにアプリケーションを設計する。
-ロックダウンの原則を受け入れ、必要なサーバ機能だけを利用可能にする。
-ASP.NETの実行ユーザ アカウント、DBへのログイン アカウントも、適切な権限になるようにする。

**運用面 [#fb7dcd92]
***セキュリティ アップデートの適用 [#l9a3c505]
-セキュリティ アップデートは必ず適用すること。
-テスト環境でテストした後、タイムリーにアップデートを実施する。
--セキュリティ アップデートをタイムリーに適用することが重要。
--このため、製品修正情報の収集 ~ テスト環境などの整備が必要となる。

----
Tags: [[:テスト]]
Tags: [[:テスト]], [[:ツール類]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS