CppDepend
セキュリティ — 公共部門

CppDependによるC/C++のためのNISTセキュアソフトウェア開発(SSDF SP 800-218)

CppDependがNIST SSDF SP 800-218およびCWEガイダンスへの準拠をどのように支援するか:セキュアコーディングルール、脆弱性パターン検出、C/C++の継続的検証。

CppDependが標準でサポートするもの。 CppDependには次の組み込みルールセットが付属: MISRA C/MISRA C++, CWE, CERT C/CERT C++ および AUTOSAR C++14 — 他の規格は含みません。この規格を含む他のすべての規格は、次を通じて適用されます: カスタムCQLinqルール チームが作成し(必要に応じて当社が支援)、さらにアーキテクチャ検証とCI品質ゲートを組み合わせます。

NIST SP 800-218(Secure Software Development Framework、SSDF)は、米国連邦機関とそのサプライヤーがセキュアなソフトウェアを生産するために従うべきプラクティスを定義します。CWE(Common Weakness Enumeration)に関するNISTガイダンスと組み合わせることで、組織を体系的でツールベースのコード検証へと推進します — まさに静的解析が適合する領域です。C/C++コードベースでは、メモリ安全性と未定義動作の脆弱性(CWE-119、CWE-120、CWE-416、CWE-476…)が最優先ターゲットです。

静的解析にマッピングされたSSDFプラクティス

  • PW.4 — 再利用可能で十分に保護されたコード: 共有コンポーネントが組織のセキュリティ要件を満たすことを検証します。
  • PW.7 — コードのレビューと解析: 脆弱性を特定し、セキュアコーディング規格への準拠を検証する自動化された静的解析。
  • PW.8 — 実行可能コードのテスト: 測定可能なトレンドとともに解析結果を脆弱性管理プロセスに反映します。
  • RV.1 — 評価と修復: リリースごとに技術的負債と違反の傾向を追跡します。

CppDependがNIST準拠プログラムをサポートする方法

  • 組み込みCWEおよびCERT C/C++ルールセット ネイティブコードの最も危険な脆弱性をカバー。
  • カスタムCQLinqセキュリティルール: 危険なAPI(strcpy、sprintf、gets)を禁止し、範囲チェック付きの代替を適用し、リスクの高いキャストや整数オーバーフローパターンにフラグを付けます。
  • アーキテクチャレベルのセキュリティ: 強制された依存関係ルールで暗号、パース、特権コンポーネントを分離します。
  • 継続的検証: CIの品質ゲートがすべての変更でSSDFスタイルの検証を自動化します。
  • コンプライアンスレポート: ATOパッケージおよびサプライヤー評価用のエクスポート可能な証拠。

関連業界と事例

関連コーディング規格

CERT C · CERT C++ · CWE · PCI DSS

CppDependがコードベースで何を明らかにするかをご覧ください

独自のプロジェクトで解析を実行:コーディング規格、アーキテクチャ検証、技術的負債、品質ゲート — 数分で。