.TEST -.NET対応自動テストツール-
セキュリティ - セキュアコードチェック:静的解析
.TESTでは、『バグ探偵(フロー解析)』と『静的解析(コーディングルールを使用したパターンマッチング解析)』の機能を使って、OWASP (Open Web Application Security Project)やPCI DSS(Payment Card Industry Data Security Standard)に掲載されている脆弱性を有するソースコードを検出します。また、Parasoft社が推奨する脆弱性チェックルールセットも搭載されています。
.TESTがチェックするセキュリティ上の脆弱性
- OWASP Top 10(Open Web Application Security Project)ルールセット
- 安全なWebアプリケーションを実現するためにさまざまな情報を提供しているOWASP(Open Web Security Project)が発表した脆弱性トップ 10(http://www.owasp.org/index.php/Top_10_2007)をチェックするためのルールセットです。 OWASP Top 10ルールセットには、以下のような脆弱性を検出するルールが含まれています。

- クロス サイト スクリプティング (XSS)
- インジェクションの欠陥
- 悪意のあるファイルの実行
- 安全ではないオブジェクトの直接参照
- クロス サイト リクエスト フォージェリ
- 情報の漏洩と不適切なエラー処理
- URLアクセスの制限の不備
- PCI DSS(Payment Card Industry Data Security Standard)ルールセット
- PCI DSS(https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml) は、クレジットカードデータを処理する上で確保されるべきセキュリティ要件に関する基準です。.TESTでは、PCI DSSのセクション6に記載された要件を推進するルールを提供します。
- Security Assessment ルールセット
- 広範なセキュリティ攻撃に対するコードの脆弱性を査定するため、Parasoft社が.TESTのコーディングルールやバグ探偵ルールの中から選択したルールのセットです。セキュリティカテゴリのルールや最適化、ガベージコレクション、スレッドなどのカテゴリからセキュリティ上注意すべきルールが約 120個セッsトされています。
コーディング時のチェックにより、効率的なデバックが可能
.TESTによる脆弱性の検証は、コーディング時から実施できるので、開発後期に実施する擬似的な攻撃によるテストで脆弱性が検出された場合に比べて、原因箇所を特定しやすいため、確実なデバッグと作業の効率化が期待できます。
静的な検証により、網羅性の高い検証を実現
.TESTによる脆弱性の検証は、ソースコード上に存在するさまざまな分岐の可能性を検査するので、通常の動的テストでカバーされない珍しい状況を処理するときに発生する問題を特定できるため、高い網羅率の検証が行なえます。また、バッチでも実施できるので、夜間や休日など開発作業にマシンを使用していない時間を利用して検証を自動実行させることも可能です。
脆弱性を含むコードと処理フローをレポート
脆弱性を含むコードが発見された場合は、問題が発生した箇所とそれに至るまでの処理フローがレポートされます。処理フローから問題の原因となるコードや渡された値を確認することができます。
テストケースやスタブは、不必要。テスト資産のないソースコードでも検証可能
テストケースを作成し、実際にアプリケーションを実行する必要はありません。コンパイル可能なソースコードがあれば、脆弱性を検証できます。過去に開発したプログラムを検証する場合でも、テストケースの準備をすることなく、脆弱性の検証が可能です。










