ライブラリ

アプリケーションで使用されるライブラリのセキュリティは、アプリケーション全体のセキュリティに影響を及ぼします。

ライブラリにはパブリックとプライベートがあります。パブリックライブラリはスコア(A~F)で識別されます。パブリックライブラリは、Maven (Java)、NuGet (.NET)、npm (Node.js)、RubyGems (Ruby)、PyPI (Python)、pkg.go (Go)から取得されたオープンソースライブラリです。プライベートライブラリはサードパーティの商用ライブラリまたは独自仕様のライブラリです。プライベートライブラリには、Contrastでのスコア付けは行われません。

Contrastエージェントは、アプリケーションに含まれるオープンソースライブラリ(Java JARS、.NET Dll、Node.js、Pythonパッケージ、Ruby gem)を自動的に特定します。Contrastは、ライブラリで発見された脆弱性を特定し、実行時にライブラリが使用されているかどうかを確認します。

そのために、Contrastによってライブラリファイルのハッシュが作成されます。このハッシュは、ファイルの内容を既知のライブラリファイルのデータベースと比較するために使用されます。データベースにハッシュがある場合は、Contrastでライブラリにスコアを割り当て、ライブラリのバージョン情報を提供して、ライブラリで見つかった全脆弱性(CVE)を報告することができます。

注記

ライブラリがカスタムファイルの場合、このハッシュはデータベースでは見つかりません。そのため、そのライブラリはエージェントによってContrastで「不明」として報告されます。これは、ライブラリが最近リリースされた場合や、オンプレミスインストールのエアギャップを使用していて、最近ライブラリの定義を更新していない場合にも起こる可能性があります。

Javaクライアントの場合、WebSphereでは実行時にライブラリが再パッケージ化されるため、SHA-1ハッシュがContrastで認識されるものとは異なります。デプロイ中にSHA-1を保持するには、JVMシステムプロパティorg.eclipse.jst.j2ee.commonarchivecore.ignore.web.fragmentを"true"に設定します。

また、全てのwsadminの呼出しに同じパラメータが必要になります。

wsadmin -javaoption "-Dorg.eclipse.jst.j2ee.commonarchivecore.ignore.web.fragment=true"

Contrastでヘッダにあるライブラリを選択すると、ポートフォリオ内の全ライブラリの概要を参照でき、ライブラリを一括管理できます。