このリリースでは、セキュリティ コンプライアンス ソリューションの改善と既存機能の拡張に重点が置かれました。

環境のサポート

以下のサポートが追加されました。

  • Windows Server 2019

以下の OS はサポートされなくなりました。

  • Windows 8
  • Windows Server 2008

追加または更新されたテスト コンフィギュレーション

CWE SANS Top 25 2011 標準のサポートが拡張され、On the Cusp ガイドラインが含まれるようになりました。次のテスト コンフィギュレーションは、ビルトインの Security Compliance Pack テスト コンフィギュレーションカテゴリで提供されるようになりました。

  • CWE SANS Top 25 2011+On the Cusp

次のテスト コンフィギュレーションが拡張され、新規ルールまたは更新されたルールによってセキュリティ標準のサポートが強化されました。

  • CWE 3.1 → CWE 3.2 として拡張されました
  • OWASP Top 10 2017 → OWASP Top 10-2017 として拡張されました
  • PCI Data Security Standard → PCI DSS 3.2 として拡張されました
  • CWE SANS Top 25 2011 拡張されました
  • UL 2900 → 新しい UL 2900 テスト コンフィギュレーションに置き換えられました。このコンフィギュレーションには、CWE SANS Top 25 2011+On the Cusp および OWASP Top 10-2017 テスト コンフィギュレーションのルールが含まれます。

解析結果の向上のため、以下のテスト コンフィギュレーションが更新されました。

  • Calculate Application Coverage
  • Recommended .NET Core Rules

dotTEST に付属するテスト コンフィギュレーションの一覧は「ビルトイン テスト コンフィギュレーション」を参照してください。

非推奨のテスト コンフィギュレーション

  • PCI Data Security Standard – 非推奨になり、PCI DSS 3.2 テスト コンフィギュレーションに置き換えられました。

  • UL 2900 - 非推奨となり、新しい UL 2900 テスト コンフィギュレーションに置き換えられました。このコンフィギュレーションには、CWE SANS Top 25 2011 および OWASP Top 10 2017 ルールが含まれます。

非推奨のテスト コンフィギュレーションは、デフォルトでは利用できません。ユーザー定義コンフィギュレーションとして適用することはできます。これらのテスト コンフィギュレーションは、次の場所にあります: [INSTALL_DIR]\configs\Deprecated

フロー解析の改善

  • 実行パス中で発見されたときに常に解析対象とする関数を指定できるようになりました。詳細は「フロー解析の設定」を参照してください。
  • .aspx や .cshtml など、Website プロジェクトファイルから生成される CS ファイルが解析スコープに含まれるようになりました。
  • XUnit アサーションのサポートが追加されました。

その他の改善

  • -property オプションが追加され、コマンド ラインで直接コンフィギュレーション設定を指定できるようになりました。「コマンド ライン オプション」を参照してください。
  • IDE からの解析実行またはカバレッジ情報を収集する際の dotTEST のパフォーマンスが向上しました。

新規静的解析ルール

以下のルールが追加されました。

ルール ID

ヘッダー

BD.PB.CHECKRET

非 void 関数の戻り値を必ずチェックする

BD.PB.INTOVERF

整数のオーバーフローを避ける

BD.PB.NOTEXPLINIT

明示的に初期化する前の使用を避ける

BD.SECURITY.AUTH

認証に影響を与える可能性がある信頼性のない入力を避ける

BD.SECURITY.SALT

ランダムな salt が使用されていることを確認する

BD.SECURITY.TDRFL

Reflection インジェクションから防御する

BD.SECURITY.USXRS

セキュアな XmlResolver プロパティでオブジェクトを使用する

CT.ECLTS

データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける

CT.ECLSII

データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける

PB.AIHUE

HttpResponse メソッドで不適切な HTML または URL エンコーディングを使用しない

SEC.IREC

完全性のチェックを行わずに外部コードを実行しない

SEC.WEB.AAM

MVC Core に認可サービスを追加する

SEC.WEB.IIPHEU

セキュリティ上の決定を行う際に逆引き DNS に依存しない

SEC.WEB.ISE

セッション有効期限が適切であるようにする

SEC.WEB.LUAFLA

ログインの試行が失敗したあとにユーザーをロックアウトする

SEC.WEB.UAAMC

認可属性がコントローラーと一致していることを確認する

SEC.WEB.VAFT

POST メソッドでは anti-forgery 属性を使用する

更新された静的解析ルール

解析結果の向上のため、以下の静的解析ルールが更新されました。

  • BD.SECURITY.TDRESP
  • BD.SECURITY.TDSQL
  • BRM.CMT.TSC
  • CS.PB.CNFA
  • CS.PB.USC.UC
  • NG.CAPSTY.PASCAL.ENUMTYPE
  • NG.CAPSTY.PASCAL.STRUCT
  • PB.EMPTYMETHODS
  • SEC.LGE
  • TUG.AU.UFABFE

以下のルールの出力メッセージが更新されました。そのため、以前に DTP で関連付けられたこれらのルールの抑制はもう利用できない場合があります。

  • CS.PB.USC.UC

解決済みのバグおよび FR

バグ/FR ID

説明

DT-9402

"Calculate Application Coverage" コンフィギュレーション実行時に -exclude オプションが考慮されない

DT-13026

SEC.LGE 違反を検出できない可能性

DT-13093

SymbolsParser が複雑な lambda で表現されたメソッドで失敗する

DT-13262

catch で when 条件を使用している場合に「到達できないコードを避ける」 CS.PB.USC.UC ルールの誤検出

DT-12353

CS.PB.USC.UC ルールの ?? 演算子に対する誤検出

DT-13043

CS.PB.USC.UC の誤検出

DT-11051

CS.PB.USC.UC ルールの誤検出

DT-10958

「到達できないコードを避ける」 CS.PB.USC.UC の誤検出

DT-13217

単体テスト違反スタック トレースから余計なファイルをスコープに追加しない

DT-13160

日本語環境で TUG.AU.UFABFE が違反を検出できない

DT-13056

巨大なプロジェクトをテストする場合、MAX_COVERABLE_LINES カバレッジ制限が十分ではない

DT-12608

CS.PB.CNFA ルールの再実装

DT-12657

大文字/小文字表記ルール ((NG.CAPSTY.PASCAL.ENUMTYPE, NG.CAPSTY.PASCAL.STRUCT)) の違反検出漏れ

DT-11571

BRM.CMT.TSCの誤検出

FA-6416変数がイニシャライザー/linq で使用されている場合の BD.PB.VOVR の誤検出
FA-6786.NET Framework と .NET Core を混合して使用しているプロジェクトで TextWriter/TextReader に関する BD.RES.LEAKS 違反が検出されない
FA-6805例外をスローする可能性があるメソッドの判定に関する問題 (Dllimport、NETの extern メソッド)
FA-6822変数がオブジェクトイニシャライザーのリスト イニシャライザーで使用されている場合の BD.PB.VOVR の誤検出
XT-36443dottestcli.properties のテクニカル サポート設定値が UI の設定より優先される
XT-36549

IDE 内で設定された名前はシステム ユーザーをオーバーライドできるか?




  • No labels