
AWSはAmazon Web Servicesで、いろいろな機能を持つクラウドコンピューティングサービスです。
管理サイトにアクセスして認証を経てサービスを利用します。
この認証に利用できる仕組みに、IAMというものがあります。
AWS Identity and Access Management(IAM)は、AWSのサービスへのアクセス権限を管理するウェブサービスです。
IAMを使用することで、誰がどのリソースにアクセスできるかを細かく制御できます。
このIAMの情報を盗まれてしまう脅威キャンペーンが観測されています。
- SSRF
今回の脅威キャンペーンで使用された手法はSSRFです。
SSRFは、Server-Side Request Forgeryです。
これは、例えばクラウド上にある外部に公開されているサーバから、内部のサーバに送られるリクエストを偽造し、本来公開されてないサーバにアクセスするという手法です。
AWSのサービスの中にEC2というAWS上で仮想サーバーを構築するためのサービスがあります。
このEC2の仮想マシンは、いくつもの機器に関連する情報を持って動作しています。
この仮想マシンの情報は管理性確保のため、外部から参照ができる仕組みを持っています。
外部といっても、いわゆる外のインターネットではなく、内部ネットワークからのみ 到達が可能なIPアドレスで公開されている状態になっています。 - IMDSv1とIMDSv2
これらはどちらもInstance Metadata Serviceです。
仕様は異なりますが、目的は同じです。
インスタンスの構成情報だけでなく、認証情報を取得することも可能な仕組みです。
名前から想像できるように、IMDSv1のほうが最初に公開された仕組みです。
これはインスタンスの構成情報や認証情報を取得できるという意味では、機能的には実装は完了しているのですが、その利用の前提が弱いものになっています。
IMDSv1の場合、実行中のEC2インスタンスからcURLなどのツールでリンクローカルアドレス(http://169.254.169.254)にHTTPリクエストを送ることで、誰でもインスタンスメタデータを取得できます。
一方、IMDSv2はIMDSv1の問題点を改善した新しいバージョンです。
IMDSv2では、IMDSv1のようにリンクローカルアドレスへ単純なHTTPリクエストを送るだけではEC2インスタンスのメタデータを取得できないようになっています。
そして、IMDSv2が有効な状態に設定されると、IMDSv1は利用できない状態にできます。 - IMDSv1でSSRF
詳細な手順は公開されていませんが、これらを組み合わせるとAWSで利用できる認証情報を入手することができてしまいます。
認証情報を取得されてしまうと、その取得された認証情報の権限の範囲でなんでも参照や変更を実施することができてしまう状態となります。
利用されてしまう範囲はEC2にとどまりません。
取得されてしまったIAMロールにS3などの他のサービスのアクセス権がある場合は、そういった他の情報も参照可能となってしまいます。
権限の最小化は古くからあるテーマです。
いろいろなサービスでこれに取り組むことのできる機構が提供されています。
最小権限の原則は、情報セキュリティや計算機科学などの分野において、コンピューティング環境の特定の抽象化レイヤー内で全てのモジュールがその正当な目的に必要とされる情報と計算資源のみにアクセスできるように制限する設計原則です。
一時的に利用する機構の実装などの際には、ともすると「とりあえず何でもできる設定で作っておこう」というようなことになりがちです。
こういった状態にあるものが、今回の侵害の対象となると、どのような事態となるでしょうか。
認証に関するシステム設計は面倒なものの一つですが、大事にしたいテーマです。
Campaign Targets Amazon EC2 Instance Metadata via SSRF
https://www.f5.com/labs/articles/threat-intelligence/campaign-targets-amazon-ec2-instance-metadata-via-ssrf
この記事をシェア |
---|