【実録】攻撃者のお気に入り API 10選
AWSアクセスキーセキュリティ意識向上委員会って何?
昨今、AWSのアクセスキーを漏洩させてしまうことが原因でアカウントへの侵入を受け、 多額の利用費発生・情報漏洩疑いなど重大なセキュリティ事案が発生するケースが実際に多々起きています。
そこで、アクセスキー運用に関する安全向上の取組みをブログでご紹介する企画をはじめました。
アクセスキーを利用する場合は利用する上でのリスクを正しく理解し、 セキュリティ対策を事前に適用した上で適切にご利用ください。
はじめに
弊社オペレーションチームでは、AWS よりお客様アカウントの侵害疑いの連絡を受けた際に、状況確認のため CloudTrail を調査しています。本記事では調査で気づいたことをいくつかお伝えできればと思います。
仮想通貨のマイニングを例とすると、攻撃者は自分たちの IAM ユーザーを作り、とにかく「ハイスペックなインスタンス」をとにかくたくさん稼働させようとします。 裏を返せば、アクセスキーを用いた運用をする際にはアクセスキーにこれらの過剰な権限を付与しないことで、不正利用の抑止効果が見込まれます。
攻撃者は Create 好き
攻撃者に使われがち API は以下の通りです。
- RunInstances (EC2) とにかくインスタンス欲しい
- CreateUser (IAM) ユーザー欲しい
- CreateGroup (IAM) グループ欲しい
- CreateAccessKey (IAM) アクセスキー欲しい
- CreateKeyPair (IAM) SSH 鍵欲しい
- CreateSecurityGroup (EC2) インスタンスにはセキュリティグループ
- RequestServiceQuotaIncrease (Service Quotas) EC2 起動上限数引きあげをリクエスト
- AddCommunicationToCase (Support) 上記リクエストに関してサポートと会話
- CreateLaunchTemplate (EC2) インスタンス作成をテンプレート化
- CreateAutoScalingGroup (AutoScaling) 台数キープ
上記のほか、ModifyInstanceAttribute (EC2) や UpdateAutoScalingGroup (AutoScaling) もインスタンスタイプや数などの変更が行えるため注意が必要です。
攻撃者は HPC 好き
攻撃者だってスペックのいいマシンが使いたい!と思っているかは分かりませんが、下記のタイプを選択する傾向があるようです。
また、下図はバージニア北部 (us-east-1) の料金表 (2021.06現在) を一部抜粋したものです。赤の他人にやたらと起動されては困るものであることがお分かりいただけるかと思います。
その他気づいた特徴
- dryrun オプションを使っており時には慎重
- 1 秒置きに API 呼び出しをしている箇所もあり、スクリプト等を用意している
- 後始末用の IAM ユーザーも作っており、用済みのインスタンスを削除することで発見を遅らせるような行動を取っている(あるいは紳士淑女のたしなみ)
おわりに
アクセスキーに代わる手段の実装には少し検討が必要と思いますが、IAM の権限を必要最小限にするのは比較的すぐに実施できます。なにげなく「Administratorなんとか」「Powerなんとか」「なんとかFullAccess」といった権限を選びがちな方は、早期に見直しすることをお勧めします!
なお、お守りとして「your-mom-will-be-sad」などという名前の IAM を置いておくことで、犯行を思いとどまってくれるのか気になるところですが、効果のほどは不明です。