オンプレミスの当たり前が通用しない! 設計時から気をつけたい、コンテナ環境のセキュリティ対策
【9-E-5】クラウドネイティブのセキュリティ所在や対応を考える ~コンテナ環境のマルウェア対策を例に~
クラウドネイティブといってもマイクロサービスやサービスメッシュなど幅広いが、今回は主にコンテナ環境を中心としてセキュリティ対策を考える。そもそもクラウド環境では責任共有モデルがあり、オンプレミス環境とは考え方が異なる。さらにコンテナになると従来のマルウェア対策ソフトウェアを導入できないケースもある。インフラ運用担当者だけではなく開発者にも有益なコンテナ環境におけるセキュリティ対策について、トレンドマイクロ フィールドセールスエンジニア 野村達広氏が解説する。
クラウドネイティブにおけるセキュリティ対策のポイント
コンテナを中心としたクラウドネイティブでは、セキュリティ対策が従来と異なる場合がある。もちろんクラウドネイティブであろうともサイバー脅威は実在するため、まずは管理対象の資産を洗い出しして、リスクの識別、分析、評価、対応、受容していくという基本的な流れは大きく変わらない。
クラウドネイティブでは管理資産の範囲が変わる。クラウドでは責任共有モデルがあり、資産や責任はユーザーとクラウドベンダーで分け合う形となる。特にコンテナやサーバーレスアーキテクチャ、レジストリサービスを採用すると、ユーザーから見て管理対象外の資産が増えていく。
そうなるとクラウドベンダーとユーザー企業、ユーザー企業内での責任分担をあらためて考える必要が出てくる。またシステムを構成するコンポーネントやサプライチェーンの観点で違いが生じてくる。
なおクラウドネイティブにおけるリスクを把握するために参考となるのがNIST SP800-190に代表されるNIST(アメリカ国立標準技術研究所)が発行しているドキュメント、あるいはマイター社が攻撃者視点で手法をまとめたMITRE&ATTACKフレームワークがある。
野村氏はクラウドネイティブにおけるセキュリティ対策のポイントとして「1つ目に多層防御の重要性。多岐にわたるコンポーネントやサプライチェーンで対策のレイヤを重ねて抜け漏れなく。2つ目にシフトレフトやセキュリティ バイ デザインで手戻りコストを最小に。3つ目はユーザー組織内のセキュリティナレッジ強化」と挙げる。
それではコンテナ環境におけるマルウェア対策を考えてみよう。当初コンテナ環境では仮想通貨のマイニングツールが流行したこともあった。コンテナ環境では従来のセキュリティ対策ソフトウェアを導入できない場合もある。従来のものはサーバーまたはクライアントに導入するもので、コンテナを想定していないためだ。しかし対策はいろいろとある。詳しくは後述するが、コンテナ実行前と実行後(デプロイ環境)に分けて対策を施していくことができる。
コンテナ環境におけるマルウェア混入のタイミングはデプロイ前、デプロイ時、デプロイ後と分けることができる。デプロイ前だと、公開ベースイメージやOSS、あるいは開発環境やビルド環境にマルウェアが混入し、ユーザーは気づかずにマルウェアごとパッケージングしてしまう。デプロイ時だと、コンテナ実行時のスクリプトにマルウェアをダウンロード、実行するという命令が含まれるケースが考えられる。デプロイ後だと、稼働中のコンテナにマルウェアが配置、実行されることになり、混入経路は多岐にわたる。脆弱性を突かれるケース、アプリのファイルアップロードで不正ファイルが混入するケース、環境に直接乗り込まれるケースも考えられる。
対策としては、直接的にはマルウェアの検知と駆除があり、間接的にはマルウェアの配置や実行の検出や防止、目的達成の阻止などがある。ユーザーで作り込めるものもあれば、クラウドベンダーのサービス利用や設定で可能なものもあり、サードパーティー製品を採用することも可能だ。混入のタイミングや経路により、対策が分かれてくる。
野村氏は「対策や混入タイミングがまちまちである一方、脅威が顕在化するのはデプロイ後の稼働環境です。そのため顕在化する前後で複数の対策を重ねれば、早期発見、被害の拡大防止につなげられます」と話す。
この記事は参考になりましたか?
- Developers Summit 2023 セッションレポート連載記事一覧
- この記事の著者
-
加山 恵美(カヤマ エミ)
フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:トレンドマイクロ株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
