Dockerコンテナイメージのセキュリティスキャナの脆弱性

発行済み パッチが適用されていない脆弱性を特定し、分離された Docker コンテナ イメージ内のセキュリティ問題を特定するためのテスト ツールの結果。 監査の結果、既知の Docker イメージ スキャナー 4 つのうち 6 つに重大な脆弱性が含まれており、場合によっては (Snyk を使用している場合など)、root 権限でスキャナー自体を直接攻撃し、システム上でそのコードを実行することが可能になることが判明しました。

攻撃するには、攻撃者が特別に設計されたメタデータを含む Dockerfile または manifest.json のチェックを開始するか、Podfile および gradlew ファイルをイメージ内に配置するだけで済みます。 プロトタイプを悪用する なんとか準備できた システム用
ホワイトソース, スナック,
フォッサ и
アンカー。 パッケージは最高のセキュリティを示しました 明確な、元々はセキュリティを念頭に置いて作成されました。 パッケージにも問題は確認されませんでした。 雑学。 その結果、Docker コンテナ スキャナは隔離された環境で実行するか、独自のイメージを確認する目的のみに使用する必要があり、そのようなツールを自動化された継続的統合システムに接続する場合は注意が必要であると結論付けられました。

FOSSA、Snyk、WhiteSource では、この脆弱性は依存関係を判断するための外部パッケージ マネージャーの呼び出しに関連しており、ファイル内で touch コマンドと system コマンドを指定することでコードの実行を整理できるようになります。 グラドル и ポッドファイル.

Snyk と WhiteSource にはさらに 見つかった 脆弱性, 関連した Dockerfile を解析するときにシステム コマンドを起動する構成です (たとえば、Snyk では、Dockefile を介して、スキャナーによって呼び出される /bin/ls ユーティリティを置き換えることができました。また、WhiteSurce では、引数を介してコードを置き換えることができました)。形式「echo ';touch /tmp/hacked_whitesource_pip;=1.0 '」)。

アンカーの脆弱性 と呼ばれていました ユーティリティを使用して スコペオ Docker イメージを操作するためのものです。 操作は、'"os": "$(touch hacked_anchore)"' のようなパラメーターを manifest.json ファイルに追加することに要約されます。これらのパラメーターは、適切なエスケープなしで skopeo を呼び出すときに置き換えられます (";&<>" 文字のみが切り取られました)。ただし、構文「$( )」)。

同じ著者は、Docker コンテナー セキュリティ スキャナーを使用してパッチが適用されていない脆弱性を特定する有効性と誤検知のレベルに関する調査を実施しました (パート1, パート2, パート3)。 以下は、既知の脆弱性を含む 73 個のイメージをテストした結果であり、イメージ内の典型的なアプリケーション (nginx、tomcat、haproxy、gunicorn、redis、ruby、node) の存在を判断する有効性も評価しています。

Dockerコンテナイメージのセキュリティスキャナの脆弱性

Dockerコンテナイメージのセキュリティスキャナの脆弱性

出所: オープンネット.ru

コメントを追加します