本シリーズでは、ランタイム脅威検知のデファクトスタンダードであるFalcoの検知Ruleを、1つの記事で1つ簡単に紹介していきます。
ランタイムセキュリティやFalco自体の概要を知りたい方はこちらのブログ記事をご参照ください。
今回ご紹介する検知Ruleは「Console Login Through Assume Role」です。
Rule記述
- rule: Console Login Through Assume Role
desc: Detect a console login through Assume Role.
condition:
ct.name="ConsoleLogin" and not ct.error exists
and ct.user.identitytype="AssumedRole"
and json.value[/responseElements/ConsoleLogin]="Success"
output:
Detected a console login through Assume Role
(principal=%ct.user.principalid,
assumedRole=%ct.user.arn,
requesting IP=%ct.srcip,
AWS region=%ct.region)
priority: WARNING
tags:
- cloud
- aws
- aws_console
- aws_iam
source: aws_cloudtrail
Rule概要
CloudTrailプラグインをインストールすることで使用可能になるルールです。
通常、AWSのAssumeRoleは、自身の権限ではアクセスできないAWSリソースに一時的にアクセスするために使用します。つまり、一時的なセキュリティ認証情報のセットを使用することになります。これらの一時的な資格情報は、アクセスキーID、シークレットアクセスキー、およびセキュリティトークンで構成されています。
このため、AssumeRoleによるコンソールログインはすべて 'Valid Account' の侵害と見なすことができます。
Condition(条件)
ct.name="ConsoleLogin" and not ct.error exists
CloudTrailのイベント名が"ConsoleLogin"で、エラーが発生しておらず、
and ct.user.identitytype="AssumedRole"
ユーザーのアイデンティティタイプが"AssumedRole"で、
and json.value[/responseElements/ConsoleLogin]="Success"
コンソールログインの結果が"Success"の場合
Output(出力)
AssumeRoleによるコンソールログインを検知しました。
%ct.user.principalid
ユーザー固有の識別子
%ct.user.arn
ユーザーのARN
%ct.srcip
送信元IPアドレス
%ct.region
AWSリージョン