検索
特集/連載

GCPの設定ミスが原因? 正規APIを悪用してVMを乗っ取る“驚きの手口”悪用されると危険な「Google Cloud Platform」のAPI【第2回】

Googleの「GCP」には、「設定ミス」が原因で悪用されてしまう恐れのある2つのAPIがある。どのような手口なのか。なぜ攻撃が可能になるのか。

Share
Tweet
LINE
Hatena

 クラウドセキュリティベンダーのMitiga Securityは、Googleのクラウドサービス群「Google Cloud Platform」で、攻撃者が悪用する可能性のある正規の要素を発見した。その要素は、Googleが公開する2つのAPI(アプリケーションプログラムインタフェース)だ。

GCPの正規APIを悪用した攻撃の手口とは

 MitigaはGCPの仮想マシンサービス「Compute Engine」を調査する過程で、まずシリアルポートからの出力データを取得するAPI「getSerialPortOutput」の危険性に注目した。当初同社はGCPのAPIの問題について、データが流出するリスクに限られると考えていたが、そうではなかったという。「APIはデータの流出経路の一つにすぎない」と、Mitigaのプリンシパルコンサルタント、アンドルー・ジョンストン氏は調査報告に記している。

 ジョンストン氏によると、getSerialPortOutputと、仮想マシン(VM)のメタデータを変更する役割を持つAPI「setMetadata」の両者を用いた攻撃を組み合わせることで、攻撃者はクラウドサービスの認証情報だけで、VMに対するコマンド&コントロール(攻撃指示・制御)が可能になる。

 Mitigaは、getSerialPortOutputとsetMetadataを悪用する2つの攻撃シナリオを発見し、テストした。どちらのシナリオでも、まず攻撃者は、両APIへのアクセス権限を持つGCPの認証情報を不正利用し、1つまたは複数のVMを操作する。

 一方の攻撃シナリオでは、ネットワークのラテラルムーブメント(横方向移動)を通して、標的のシステムにマルウェアをインストールする。他方のシナリオでは、標的のシステムが起動する度に参照するユーザーデータに、APIを悪用するマルウェアを挿入する。

 その後攻撃者はsetMetadataを使い、VMのメタデータに悪意あるコマンドを挿入する。これによりgetSerialPortOutputを通して、GCPのVMと攻撃者のシステム間でコマンドが入出力できるようになる。強力なアクセス制御がなされていなければ、攻撃者はこれらの手法でVMを制御できる。

 これらの手法を適用するには、関連するアクセス権限を持つGCP認証情報が必要だ。特にsetMetadataは、「Admin」(管理者)のロール(アクセス権限群)でのみ公開されており、アクセスできるエンドユーザーは限定されている。ユーザー企業では、管理用のパスワードやユーザー名の共有や再利用が常態化している場合がある。このような場合、攻撃者は管理権限を盗みやすくなる。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る