CloudNative Days Tokyo 2023から、クラウドネイティブセキュリティの脅威や論点を紹介
2023年12月11日、12日の両日にハイブリッド形式で開催されたCloudNative Days Tokyo 2023のキーノートから、株式会社スリーシェイクのKyohei Mizumoto氏による、クラウドネイティブなセキュリティ脅威の動向とその対応について解説するセッション「Unlocking Cloud Native Security」を紹介する。
クラウドネイティブセキュリティの脅威動向
まずは2023年のクラウドネイティブなシステムのセキュリティの脅威動向や攻撃手法についての紹介だ。
インターネット上の通信状況を分析する「GreyNoise」によると、Kubernetesのサーバーをスキャンして回っているホストが2,300以上あるという。スキャンの目的は研究目的や攻撃のためなどいろいろあるが、いずれにしても公開されると見つかるわけだ。
一方Kubernetesを立てる側については、インターネット上で観測できるKubernetesサーバーが160万ほどあるという調査もある。設定で制限をかけないと、このように公開されるわけだ。さらに別の調査では、350以上の組織のKubernetesクラスターが保護されない状態でオープンになっており、そのうち約60%が実際に侵害を受けているという。
具体的な脅威としては、まずTeamTNTという攻撃キャンペーンがある。DockerとKubernetesを標的として、ボットネットを拡大したり、マルウェアを感染させたり、AWSなどの認証情報を取得したりしている。
また、マルウェアとしてはKinsingがある。WordPressやPHPUnitの脆弱性のあるバージョンを含むコンテナや、PostgreSQLの設定ミスのあるコンテナを利用して侵入して、マイニングを実行する。Kubernetes環境は一般にコンピュータリソースが豊富にあると目されており、そこが攻撃者にとっての狙い目だという。
またクラウド環境を狙ったランサムウェアもある。流出したAWSの認証情報を使ってS3にランサムウェア攻撃を行うというものだ。ちなみに、GitHubのリポジトリにAWSの認証情報が誤って公開されると5分以内に盗まれ、さらに数分以内でマイニングが開始されるという調査結果もある。
そのほか、クラウドネイティブな脅威についてのOSINTによる統計情報もMizumoto氏は紹介し、「やはりAWSなどは狙われがちという印象」とコメントした。
クラウドネイティブセキュリティの全体を把握するための2つのモデル
続いて、クラウドネイティブセキュリティの全体を把握するための2つのモデルを紹介した。
1つめは「4Cモデル」。クラウドネイティブを構成する要素として、コード(Code)、コンテナ(Container)、クラスター(Cluster)、クラウド(Cloud)の4つに分けてセキュリティを見るものだ。
コード(アプリケーションのコード)のセキュリティについては、コードのスキャンや脆弱性診断といった脆弱性対策、ソフトウェアを構成するライブラリなどの脆弱性対策、GitHubなどのリポジトリのアクセス制御といった点が挙げられた。
コンテナのセキュリティについては、Dockerfileの堅牢化や、イメージ署名などのコンテナイメージの脆弱性管理などが挙げられた。また、Kata Containerなどの軽量ハイパーバイザーを使ったサンドボックスコンテナの利用なども紹介された。
クラスターのセキュリティについて、Mizumoto氏は重点的に紹介した。
まずKubernetesを構成するkubeletやkube-api-serverなどのクラスターコンポーネントのセキュリティ強化がある。これについては、脆弱性情報の収集やバージョン管理、セキュリティの適切な設定などが挙げられた。
またKubernetes上で動かすリソースのセキュリティ強化としては、Kubernetesのセキュリティポスチャー管理として、KSPMツールなどの導入や、ベストプラクティスに準拠した実装などが挙げられた。
もうひとつ、Admission Controlやランタイムセキュリティといった追加のセキュリティ要件を入れることがある。これにはPod Security StandardやOPAを使ったリソースのポリシーチェックにより、ベストプラクティスに沿っているかどうかの確認や、信頼できるイメージレジストリからのイメージであることの確認、イメージの署名検証などが含まれる。また、FalcoやTetragon、Traceeなどのワークロード監視もある。
クラウドのセキュリティとしては、まずクラウドプロバイダーと利用者の責任共有モデルの理解がある。そのうえで利用者にとってのセキュリティとして、適切なIAM設計や、アカウントの権限を組織全体で管理するツールの利用、ベストプラクティスに沿った設定、ポスチャー管理ツール、ログ監視ツールによるアクティビティの監視が挙げられた。
もう1つのモデルとしては「開発ライフサイクル」がある。開発、ディストリビュート、デプロイ、ランタイムの4つに分けてセキュリティを見るものだ。
これの個々のセキュリティ対策は4Cとほぼ同じということでMizumoto氏は詳細を割愛し、4Cと開発ライフサイクルでの対応表を紹介した。
セキュリティ強化のための論点を紹介
続いて、クラウドネイティブなシステムのセキュリティ強化の考え方の話だ。まず基本として、多層防御、最小権限、職掌分離の3つの原則が挙げられた。
セキュリティ対応について、ルールベースとリスクベースの2種類のアプローチも紹介された。
まずポリシーや設定などの問題をルールで検知するのがルールベースのアプローチだ。一律にいろいろなシステムに展開できる簡単さの一方、ルールが多くなったときの維持や、陳腐化といった課題もある。
ルールベースの次のステップとなるのがリスクベースのアプローチで、個別のシステムなどに必要な対策をそれぞれとっていくものだ。ただし、これにはセキュリティの専門性や組織の理解が必要となるので、より成熟度が必要となる。
次は多層防御で包括的なセキュリティが欠けている場合の問題だ。その例として、インフラレイヤーで暗号化対策をしっかりとっても、アプリケーションレイヤーに脆弱性があると、インフラの対策にかかわらず守れなくなってしまうという例が紹介された。
最後に、セキュリティ対策の費用と効果である。「費用対効果の高いセキュリティ対策を」と言われるときの費用と効果がどのようなものかという話だ。
費用としては、導入運用費がわかりやすい。そのほか、対策を入れたことで開発しにくくなって生産性が下がりサービスの競争力が下がる、ということも費用として考えておくのがよいという。
一方の効果としては、対策によるリスク減少や、セキュリティの品質が上がること自体がサービスの競争力を上げることにつながること、運用効率化による生産性向上などが考えられる。
そしてリスク減少効果として、すでに対策をいくつか入れているうえで対策を追加する場合、リスク減少は少なくなり、まったく対策をとっていない部分にセキュリティ対策を入れればリスク減少が大きくなるとMizumoto氏は説明した。
Kubernetes環境を中心とするクラウドネイティブのセキュリティについて、概要を紹介するセッションであった。
最初にクラウドネイティブなセキュリティ脅威の実例を紹介したうえで、クラウドネイティブなセキュリティ対策の考え方やアプローチがいろいろ紹介された。20分の短い時間では主な論点を紹介するにとどまったが、詳細は資料を調べてほしいとのことで、クラウドネイティブセキュリティに取り組むうえでの入口となるセッションだったと言える。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- イメージスキャンやランタイム保護などコンテナのライフサイクル全般をカバー、Aqua Security Softwareが展開するセキュリティ新機軸
- コンテナのセキュアな運用のために
- CNDO 2021、KubernetesのセキュリティをHPEのアーキテクトが解説
- CNSC 2022からOSSの脆弱性スキャンツールであるTrivyの作者が語るTrivyの最新情報を紹介
- 「CloudNative Security Conference 2022」開催レポート
- コンテナ環境のモニタリングやセキュリティ対策を一気通貫で提供、世界300社以上に採用が進むSysdigの真価
- CNDT2021、NTTデータのエンジニアがコンテナの乗っ取り方とその防ぎ方を解説
- 開発者主導のセキュリティ対策の強い味方、脆弱性スキャンを随所に組み込む「Snyk」の価値
- CNCFがKubernetesモニタリングのFalcoをサンドボックスとしてホスト開始
- CNDT2020シリーズ:CAのインフラエンジニアが解説するKubernetesネイティブなCI/CD