個人で契約していたAWSのアカウントがこの度不正利用の被害にあいました。被害額は合計60万円。。。
Qiitaなどの記事で同様の事例は過去に見たことがありましたが、不本意ながら今回私も仲間入りしました。
アカウントの不正利用は私自身の過失により発生したものでしたが、AWSのサポートに問い合わせしたところ、一度限りの特例として費用を全額免除いただきました。
また、不正利用に伴う対応を進めるにあたり、同様の過去事例が非常に参考になったため、私自身も今後のために、一連の流れを共有いたします。
不正利用に気づいたきっかけ
アカウントの不正利用に気づいたきっかけは、AWSより以下のメールが届いたことがきっかけでした。
Dear AWS customer,
Your AWS Account may be compromised. Please review the following notice and take immediate action to secure your account.
This account compromise poses a security risk to your account (including other account users), and could lead to excessive charges from unauthorized activity. To protect your account from excessive charges, we have temporarily limited your ability to use some AWS services.
メールの本文をGoogle翻訳を使用して日本語に置き換えると、以下の通りになります。
AWSのお客様へ、
AWSアカウントが危険にさらされている可能性があります。次の通知を確認し、アカウントを保護するためにすぐに対処してください。
このアカウントの侵害は、アカウント(他のアカウントユーザーを含む)にセキュリティリスクをもたらし、不正な活動による過度の請求につながる可能性があります。アカウントを過剰な請求から保護するために、一部のAWSサービスを使用する機能を一時的に制限しています。
このメールをもとに、私が利用しているAWSアカウントで通常とは異なる操作が実施されたこと、このままだと過剰な請求がされる可能性があるということを理解しました。
取り急ぎ実施した対応内容
不正利用を知らせるメールを受け取った後、対応として以下の内容を実施しました。
① 過去事例の見直し
私自身、AWSに関してはまだまだ勉強中ということもあり、このような不正利用の被害にあった際にどのような対応を取ればよいのか、すぐに整理ができませんでした。そのため、まずは過去に一度読んだことがあった、AWS不正利用に関する記事を再度見直してみることにしました。
② 意図しないユーザーが残存していないかの確認
関連記事を確認したところ、AWSのアクセスキーとシークレットキーが外部に漏れてしまったことにより、アカウントが不正に利用されてしまった事例が複数ありました。
そのため、まずは「セキュリティ認証情報」のページから不要なアクセスキーが残っていないかを確認しましたが、今回の場合はアクセスキー等は特に作成されていませんでした。
また、IAM(AWS Identity and Access Management)ユーザーの存在有無についても確認しましたが、同様に作成されていない状態でした。
これらのことから、今回はAWSのルートユーザーが不正に利用されたことで発生したものと判断しました。
③ 不正に作成されたリソースがないか確認
過去の事例を踏まえると、このようなAWS不正利用の際は、EC2にて巨大なインスタンスが作成される被害にあうという認識を私自身持っていました。そのため、ひとまず各リージョンのEC2インスタンスの状況を確認しましたが、どのリージョンにもEC2インスタンスは存在しない状態でした。
他のリソース状況を確認したところ、いくつかVPCが作成されてはいたものの、肝心のEC2インスタンスが見当たらなかったことから、不正にログインされて一時的に巨大なインスタンスが作成されたものの、現時点では全て削除済みであると判断してしまいました。
④ AWSのアカウント閉鎖
今回不正利用の被害を受けたAWSアカウントは、1年間の無料利用期間を過ぎて、ここしばらく利用していなかったということ、また、第三者により作成された何かしらのリソースが残っていたとしても、アカウントを閉鎖することでそれらのリソースも同時に無効になると考えたため、対象のAWSアカウントを閉鎖することにしました。
⑤ サポートへの問い合わせ
今回の不正利用を受けて、今回の請求額および今後の対応方針に関してサポートへ問い合わせました。
問い合わせた内容としては以下の通りになります。
- 不正利用された費用(問い合わせ時点で$2,607.63)の免除についてご相談できないか。
- 取り急ぎアカウントを無効化したが対処として問題ないか。他に実施すべきことはないか。
なお、ちょうど週末を挟んだために日本語サポートの対応時間外(平日9時~18時)であったということと、最初にアカウント不正利用を知らせてきたメールへの返信として問い合わせを実施したところ、英語のみしか受け付けられなかったことから、今回の一連の問い合わせは全て英語にて実施しました。
日本語サポートの受付時間は、契約しているサポートプランによって異なります。
開発者レベルの場合は平日9時~18時のみですが、ビジネスレベルおよびエンタープライズレベルの場合は24時間365日のサポートを受けることが可能です。
これだけだとまだ対応が不十分だった
「不正に作成されたリソースも見当たらず、アカウント自体も削除したので、あとはサポートからの回答を待てば大丈夫!」と思っていたのですが、翌日に以下のメールが届きました。
上記のメールから、EC2で実際にかかった費用が昨日時点よりも増えていることに気づきました。
また、昨日確認した時点では更新されていなかった請求書の内容を確認したところ、「Elastic Container Service」にて莫大な費用が発生していることが判明しました。
追加で実施した対応内容
① アカウントの再開申請
一度閉鎖したアカウントを再開するためには、改めてサポートに問合せし申請する必要があります。
そのため、不正利用に関して問い合わせしているCase内で、不正に作成されたリソースを削除するために、再度当該アカウントを再開したい旨を伝え、回答を待ちました。
なお、アカウントの再開については以下の記事にある通り、以前にも経験があったため特に迷わず実施できました。
② アカウントのセキュリティ向上
アカウントが再開されたことにより、本アカウントに対する不正アクセスが再度実施される危険性がありました。
そのため、まずは以下の対応を実施し、この後の対応を進めるためのセキュリティ向上の施策を実施しました。
- 複雑かつ他のサービスで利用していないパスワードに変更する。
- 多要素認証(MFA)を設定する。
なお、多要素認証(MFA)の詳細や設定方法は、AWSの公式ドキュメントにも記載されています。
③ 不正に作成されたリソースの削除
請求書の内容から、今回不正に作成されたリソースがElastic Container Service(ECS)であることを特定できたため、全てのリージョンのECSコンテナインスタンスの状況を確認しました。
その結果、各リージョンに対し、これまでに覚えのないECSクラスターが作成されていることを確認しました。また、大半のECSクラスターでタスク100件が稼働中の状態となっていました。
そのため、ECSクラスターや実行中のタスク、およびそれらに紐づく形で作成されていたVPCのリソースやDHCPオプションセットを一つずつ停止・削除していきました。併せて、念のため他にも削除すべきリソースが残っていないか、下記サイトを参考にタグエディターから確認しました。
これらの対応が完了した後、しばらくの間請求書を定期的にチェックしてみましたが、費用は増加していませんでした。また、AWSのサポート側でも不審な動きがないか24時間程度監視していただき、特に問題ない旨回答をいただいたので、無事に全ての対応を完了させることができました。
審査結果の通知
不正利用から約10日間が経った頃、AWSから以下のメールが届きました。
Hello,
As part of the AWS Customer Agreement, customers are responsible for all activities that occur under their account. This includes all applicable fees and charges for use of AWS services.
As a once off exception, we’ve approved a credit of 1,332.44 USD and have applied it to your AWS account. The credit automatically absorbs any service charges that it applies to. Because the credit reduces your service charges, you will see an update to the total tax amount.
メールの本文をGoogle翻訳を使用して日本語に置き換えると、以下の通りになります。
こんにちは、
AWSカスタマーアグリーメントの一部として、お客様は自分のアカウントで発生するすべてのアクティビティに対して責任があります。これには、AWSサービスの使用に適用されるすべての料金と料金が含まれます。
一度限りの例外として、1,332.44米ドルのクレジットを承認し、AWSアカウントに適用しました。クレジットは、適用されるサービス料金を自動的に吸収します。クレジットによりサービス料が減額されるため、合計税額が更新されます。
上記の通り、以前サポートに問い合わせていた不正利用に伴う請求額の免除が受理され、対象金額($1,322.44)がAWSのクレジットとして適用されていることを確認できました。
不正利用された時の対応まとめ
今回の経験を踏まえ、AWSアカウントの不正利用を検知したときにすべきことは以下の通りとなります。
- AWSアカウントのセキュリティを向上させる。(パスワードの複雑化や多要素認証の利用など)
- アクセスキーが作成されている場合は削除する。
- 不正に作成されたリソースが何かを請求書やタグエディターから確認し、それらを全て停止・削除する。
- AWSサポートに問い合わせを上げて相談する。
特に今回学んだこととして、AWSアカウントを閉鎖したとしても、不正に作成したリソースは存在したままの状態となるため、必ず全てのリソースを洗い出した上で漏れなく削除することが重要です。
また、そもそもこのような不正利用の被害に合わないようにするため、他サービスでも利用しているパスワードを使いまわさないなど、常日頃からセキュリティ向上のための対策を取り続けることが重要です。
コメント