Online Seminar Review

コンテナSummit 2022

DX開発・運用迅速化する必須技術

トレンドマイクロ

コンテナ環境を採用するならセキュリティーの発想を変えよ

従来の仮想サーバーのセキュリティー手法が、コンテナ環境においては適用できないケースがある。今後予想される日本企業のコンテナ環境採用率増加を見据え、トレンドマイクロの福田氏は警鐘を鳴らす。今のうちにコンテナにおけるセキュリティーの特徴を正確に把握し、新たなセキュリティーシステムの導入に備えたい。

年間平均1億4800万円 金銭的被害を防ぐには?

トレンドマイクロ ビジネスマーケティング本部 クラウドビジネス&アライアンスグループ グループ長 福田 俊介 氏

トレンドマイクロ

ビジネスマーケティング本部
クラウドビジネス&アライアンスグループ
グループ長

福田 俊介

福田氏は最初に、IT環境におけるセキュリティー被害の状況やコンテナの利用状況を紹介する。同社による調査では、日本企業の約8割が何らかのセキュリティーインシデントを経験していることが分かったという。さらにこのセキュリティーインシデントによる年間の平均被害額は実に1億4800万円にのぼる。「改めて対策が必要なことを認識しなければなりません」、福田氏はそう警告した。

別の調査では、コンテナを本番環境で利用している割合が、全世界で76%にものぼることが明らかになっている。いずれ日本でもコンテナを使った環境が増えてくると福田氏は予測する。それに伴い、コンテナ環境からの情報漏洩で金銭的被害が発生するケースも想定される。

「現時点ではまだだが、今後コンテナ環境を開発する、もしくはコンテナ環境でシステムを開発するという人にこそ、本番環境で稼働させる前にまずはセキュリティーについて考えなくてはなりません」(福田氏)

福田氏はここで1つ、新たにアンケートを紹介する。質問事項は、コンテナを含めたサーバーレス環境のセキュリティーについて、各企業の誰が責任を持っているのか。結果を見ると、34%がIT担当者、16%がアプリケーション開発者と、回答者の半数が「セキュリティー以外の担当者にサーバーレス環境のセキュリティーに責任がある」と答えている。ここに福田氏は着目する。

「今までのIaaS(Infrastructure as a Service)を中心にしたクラウド環境の管理とは傾向が異なっています。海外では、開発者がサーバーレス環境を使ったシステムを開発するときからセキュリティーを考慮することが求められ、ここに責任を持たせるケースが増加しています。日本でもこういった流れが生まれるでしょう」(福田氏)

コンテナ特有の攻撃リスクを理解せよ

次に福田氏はコンテナ環境で起こりうる脅威について、一般的なコンテナ環境を例に、どのような被害が起こるのかを説明。例えば攻撃者がパブリックなレジストリや、不正侵入したレジストリに悪意のあるイメージを登録しておくと、ビルド工程でコンテナのレジストリにそのイメージがそのまま保管される。福田氏は「この状況を放置しておくと、悪意のあるイメージがそのままデプロイされ、実行されることになります」と、その脅威を解説する。

ここで福田氏はトレンドマイクロが観測した、コンテナ環境特有の攻撃例を2つ紹介した。1つは仮想通貨を発掘する不正なDockerコンテナを拡散した例だ。攻撃者は、まずDockerデーモンの通信に利用するポートが誤って外部に露出してしまったDockerサーバーを、検索サービスを使って検出し接続する。次に、事前にパブリックレジストリに保管しているコンテナイメージを、侵入した環境に不正にデプロイする。福田氏によるとこの例では、その後に不正な仮想通貨発掘ツール(コインマイナー)が実行され、「ポートが露出している他のDockerホストも検出して、横展開する動きを取るものが観測されている」という。

もう1つの例では、コンテナ経由でホストを侵害する「コンテナエスケープ」攻撃が確認された。コンテナイメージを不正にデプロイするところまでは、先の例と手口は同じだ。異なるのはその後に「コンテナエスケープ」で攻撃され、コインマイニングが実行されていたという点。このイメージは特権コンテナとしてデプロイされていた。その後ホストに侵入して横展開したり、ランサムウエアとしてホストごと暗号化するといった事象も観測されたという。

こうした攻撃にはいずれも、コンテナ特有の構成要素である「コンテナイメージ」「レジストリ」「Dockerデーモン」が利用されている。こうした状況について福田氏は、「コンテナ特有の構成要素を悪用してくることが、最近の攻撃パターンの1つであることを認識してください。これまでのIaaSや仮想サーバーに対する攻撃の仕方とは異なる可能性があります」と、注意喚起する。

コンテナ環境で観測された、コンテナ特有の攻撃例

コンテナ環境で観測された、コンテナ特有の攻撃例

コンテナ環境で観測された攻撃の例。どちらのケースでもコンテナ特有の構成要素が利用されている

画像を拡大する

コンテナ環境のセキュリティーは「キツネうどん」と同じ発想で

続けて、コンテナ環境と従来のサーバー環境とのセキュリティーの違いについて福田氏は説明する。例えば従来のIaaSでは、セキュリティーソフトをサーバーにインストールすることで、仮想サーバーを丸ごと保護できた。しかしコンテナ環境では、利用者はサーバーにソフトウエアをインストールできないケースが多い。福田氏のアドバイスはこうだ。

「システムをクラウドネイティブ化していく際は、できる限りセキュリティーも同じくクラウドネイティブ化するという発想が必要になります。すなわちセキュリティーも一緒に作り替えるということです」

次に福田氏は、サーバーレスの環境を使ってからDevOpsの開発手法を回していく場合のポイントについて解説する。例えば従来のアプリケーションやシステムにおけるセキュリティー手法では、デザインからコーディング、テスト、デプロイといった一連のフローにおいて、開発から運用環境に移った後にセキュリティーを実装し、全体を確かめるケースが多かった。しかしコンテナ環境においてこのフローでセキュリティーを実装した場合、問題が生じた場合は最初から開発を見直さなくてはならない。DevOpsの目的である「素早い開発」を阻害する可能性があるのだ。

コンテナ環境でのDevOpsでは、どのようにセキュリティーを実装すべきか。福田氏は「コンテナ環境のセキュリティーは、キツネうどんの作り方の発想で考えることが重要」と説明する。どういうことか。カップ麺の「かき揚げうどん」と「キツネうどん」の作り方をそれぞれ想像してほしい。「かき揚げうどん」は、カップからかき揚げを取り出して粉末スープを入れ、お湯をかけてからかき揚げを載せる完成させる。それに対して「キツネうどん」は、粉末スープを入れて、油揚げは取り出さずにお湯をかけるだけで完成する。これと同じ発想が、コンテナ環境にも生かせるという。開発段階から、セキュリティーの実装を進めることで「素早い開発」を失わない。

最後に福田氏は、コンテナ環境のセキュリティーに関わる一般論として「クラウドでコンテナマネージドサービスを利用する際には、仮想サーバーのセキュリティーソフトが使えないケースがあります。また従来のサーバー環境とは違った構成要素が登場するため、コンテナイメージやレジストリ、オーケストレーションなどの要素それぞれにセキュリティーを実装するという発想が重要」とまとめる。さらに、こうしたポイントを押さえるには「コンテナのライフサイクル全体を俯瞰して、パイプラインにセキュリティー機能を埋め込むという発想が有効」と述べ、講演を終えた。

コンテナ環境のセキュリティー 一般論

コンテナ環境のセキュリティー一般論

コンテナ環境におけるセキュリティーは、仮想サーバーのソフトが使えず個々の構成要素にセキュリティーを実装することがポイント

画像を拡大する

このページのトップに戻る