コンテナや Kubernetesの 利用は、 どのような 指標で 見ても 増加し続けています。 また、 最近 大きく 報道された 名前を 口に するのもはばかられる 脆弱性 に よって、 アプリケーションセキュリティ プログラム全体に おいて コンテナセキュリティ が いかに 重要かが 明らかに なりました。 自社コードや 依存関係 、そして 利用する コンテナ化サービスを 保護する ことは、 すべて 欠かせません。
コンテナの 急速な 普及が 続いている 兆しは、 至る ところで 見られます。 202 1年、 Snykの お客様は コンテナテストを 1億3,000万 回以上 実施しました。 これは 202 0年の 10倍です。 Datadog と Sysdig は、 それぞれ 10億 を 大きく 超える コンテナを 監視していると 報告しています。 また、 Gartnerの 予測 に よると、 202 2年には 世界の 組織の 75%超が 本番環境で コンテナ化アプリケーションを 実行する 見込みです。 わずか 昨年 の 30%未満から 大きく 増加しています。
202 1年も 終わりに 近づくなか、 Snyk各製品に 追加された 新機能を 振り返ります。 この 記事では Snyk Container に 焦点を 当てます。
2021年、Snyk Containerの利用が急増 前述の とおり、 202 1年には Snyk Containerで 1億3,000 万回以上の コンテナテストが 実施されました。 しかし、 コンテナを テストする こと自体が Snyk Containerの 最終目標ではありません。 目指すのは コンテナの 問題を 修正する こと です。 Snyk Containerでは、 次のような 成果が ありました。
202 1年、 Snyk Containerユーザーが 5,600万件の 脆弱性を 修正 しました。
これは、 200万を 超える イメージに 対して 1億3,300 万回以上の コンテナスキャンを 実施し、 1億1,100万件を 超える 固有の コンテナ脆弱性を 検出した 結果です。
* 脆弱性の 数が テスト数より 少ないのは、 同じ イメージに 対する テストを 繰り返しても、 検出された 脆弱性は 1回だけ カウントされる ためです。
パイプラインや レジストリ内の イメージを スキャンするだけではありません。 Snyk Containerは、 47,000件の Kubernetesプロジェクトと、 Dockerfileを 含む 352,000件の Gitリポジトリも 監視しました。
Snyk Containerの開発者向け機能強化 202 1年、 Snyk Containerには、 開発者の ワークフローに 適合する 複数の 機能が 追加されました。 コンテナの 問題を 簡単に 検出して 修正できる ように する ことが 目標です。 誰でも 迷わず 使える ほど シンプルに する ことで、 問題を 修正しない と いう 選択が 難しくなる ことを 目指しています。
特に 重要な 新機能の 一つは、 ソースコードリポジトリ内の Dockerfileを スキャンし、 検出された 問題を 修正する プルリクエストを 作成する 機能 です。 これは コンテナセキュリティ製品と して 初めての 取り組みです。 アプリケーションに 適した 安全な ベースイメージを 選ぶことは、 比較的 少ない 労力で コンテナの 脆弱性を 最大90%削減できる 方法です。
Snyk ContainerはDockerfileをスキャンし、ベースイメージの推奨と修正PRを提供します。
ベースと なる 親イメージの 選択が 非常に 重要な ため、 コンテナライフサイクルの どの 段階で スキャンするかに かかわらず、 できるだけ 多くの ユーザーが Snykの ベースイメージに 関する ガイダンスを 受け取れるように したいと 考えました。 その ため、 コンテナ内の 親イメージの 検出方法を 変更しました。 12月を 迎える 時点で、 テスト対象と なった コンテナの 80%超に ベースイメージの ガイダンスが 提供されています。 1月の 約25%から 大幅に 増加しました。
親イメージの自動アップグレードに関するアドバイスが提供されるコンテナプロジェクトの割合。
興味深いことに、 Snyk Containerの ベースイメージ判定ロジックは Dockerの 公式イメージを 基盤と しています。 その ため、 親イメージの ガイダンス提供率の 高さは、 コンテナの 世界に おける Dockerの 根強い 人気と 重要性を はっきりと 示しています。
また、 SnykConでは Snyk Containerの IDEサポートの 開発中機能を 紹介 しました。 Dockerとの パートナーシップを 継続している ことと あわせて、 コンテナセキュリティを さらに 開発の 早期段階へ 移行していく 今後の 展開を 期待させる ものです。
コンテナのワークフローとエコシステムを改善 202 1年は、 問題の 修正を 複雑に する、 コンテナベースの ワークフローに おける 厄介な 課題の 解決にも 取り組みました。 また、 拡大を 続ける エコシステムで 広く 使われている コンテナツールへの 対応も 強化しました。
コンテナの ワークフローで 悩ましい 問題の 一つは、 Dockerfileと、 そこから 作成された イメージを 関連付けて 管理し続ける ことです。 コンテナイメージには、 作成に 使われた Dockerfileを 追跡する 仕組みが 標準で 備わっていません。 その ため、 特定の コンテナの 担当者や、 問題の 修正時に 編集すべき Dockerfileを 特定するのが 難しくなることがあります。 Snyk Containerでは この 作業を 簡単に する ため、 2つの 成果物を 関連付けられる OCI標準の コンテナラベル に 対応しました。 これらの OCIラベルを 使うと、 Snykで テストした コンテナイメージの うち、 特定の Dockerfileから ビルドされた ものを 自動で 表示できます。 コンテナテスト同士を 関連付けるだけでなく、 変更を 加える Dockerfileに すぐ アクセスできます。
標準規格への 対応に ついて もう 一つ ご紹介します。 オープンポリシー標準を 使用して、 Snykが Kubernetesクラスター内で 監視する 対象を 指定できる ようになりました。 Open Policy Agent (OPA)は、 クラウドネイティブ環境で 広く 使われている ポリシーベースの コントロールプレーンです。 Kubernetesモニターで OPAを 活用する ことで、 自動的に 監視する ワークロードを 選択できます。 また、 ワークロードが クラスター内で 稼働しなくなった 場合に、 削除するかどうか、 いつ削除するかも 指定できます。
さらに、 コンテナエコシステムで 広く 使われている ツールとの 新しい インテグレーションを 追加しました。
コンテナのノイズを減らし、セキュリティ情報を拡充 一見すると、 セキュリティ情報を 増やし ながら、 コンテナの 脆弱性に 関する ノイズを 減らす のは 矛盾しているように 思えるかもしれません。 しかし 202 1年、 Snyk Containerで それを 実現しました。
コンテナに 関する セキュリティアラートの ノイズを 減らし、 修正すべき 重要な 脆弱性を 優先できるよう、 脆弱性情報に ソーシャルトレンドデータ を 追加しました。 ソーシャルメディア上の 話題の 増加は、 脆弱性を めぐって 悪意ある 動きが ある 可能性を 示すシグナルと なり、 優先順位付けに 大きく 役立ちます。
また、 Snykプラットフォームの セキュリティポリシー機能も 強化し、 組織全体で 脆弱性への 対応の 優先度を 一括して 調整する 新たな 方法を 提供しました。 たとえば、 本番環境で 稼働する アプリに ついて、 メモリ関連の 脆弱性の 優先度を 上げたい 場合が あります。 Snykの セキュリティポリシーインターフェースでは、 次のような ポリシーを 設定できます。
メモリ関連の脆弱性を抱えるクリティカルなフロントエンドプロジェクトの重要度を引き上げるSnykセキュリティポリシー。
コンテナセキュリティ情報を さらに 充実させる 取り組みと して、 Alpine、 Debian、 Ubuntu、 新しい CentOS Streamなど、 コンテナで 使われている 主要な Linuxディストリビューションの 最新版に、 メンテナーの リリース後 速やかに 対応しました。 また、 Red Hat Enterprise Linux、 Amazon Linux、 CentOS Streamの 脆弱性レポートの 方法を 変更し、 各CVEの 詳細を より 細かく 提示できるようにしました。 重大度に ついても、 ディストリビューション固有の 詳細を 追加しています。
2022年のSnyk Containerに期待できること Danielが ブログ記事 「 Snyk Open Sourceの 202 1年を 振り返る 」で 述べたように、 セキュアな サプライチェーン の 重要性と 注目度は 高まっており、 コンテナは その 大きな 要素です。 独自の ビルドプロセスで 作成した コンテナに 含まれる すべての コンポーネントを 把握する ことは、 ますます 重要に なっています。 また、 利用する サードパーティ製の コンテナパッケージアプリに 何が 含まれているかを 知ることも 重要です。 データベース、 ログ記録ツール、 検索ツール、 ロードバランサー、 ゲートウェイなどの コンテナは、 多くの 場合、 アプリケーションと 並行して デプロイされ、 重要な 機能を 提供します。 しかし、 危険な 脆弱性が 潜んでいる 可能性も あります。 脆弱性を 把握し、 メンテナーが 新バージョンを 公開したら すぐに 導入できるように する 必要が あります。
脆弱性の 優先順位付けに ついても、 さらに 取り組 むべき ことがあります。 特定の パッケージや 脆弱性が より 危険である ことを 示す 新たな シグナルに 加え、 開発者が 本当に 関係の ある 脆弱性に 集中できるよう、 ノイズの 多い 脆弱性を 除外する ための インテリジェンスと、 大規模に 適用できる ポリシーも 必要です。 この 2つを 組み合わせる ことで、 Snyk Containerユーザーが スキャンで 検出された 何百もの 脆弱性を、 最も 緊急性の 高い ものを 修正する ための わずかな 手順に 絞り込めるよう 支援できると 考えています。 過重な 負担を 抱える セキュリティチームから、 脆弱性管理の 手作業を 減らすことにも つながります。
202 2年が 皆さまに とって、 幸せで 安全な 一年に なりますように!
開発者ファーストの コンテナセキュリティ Snykは、 コンテナイメージと Kubernetesワークロードの 脆弱性を 検出し、 自動的に 修正します。