「AWSから120万円の高額請求が来た話」を読んで
「AWSから120万円の高額請求が来た話」を読んで:
AWSから120万円の高額請求が来た話という記事がQiitaのトレンドに上がっていました。
私はアソビュー株式会社でSREをやっており、AWSを含むサービスのインフラ全般を担当しています。また、前職Sansan株式会社では情シスをやっておりCSIRTとも比較的近い立場だったので、その観点から「起こったあとの初動」について考えてみました。
元記事のコメントはLaravelの設定などについての指摘が多く、セキュリティ的な指摘が少し少ないように感じた為です。
会社やサービス、そして自分を守るためにはどうすれば良いのでしょうか。
幾分か批判的な内容になっております。この記事のテーマは「AWSの高額請求の対処法」がテーマであり、それにフォーカスするため、実際には細かい行動内容まで書かれていない可能性や、脚色されている可能性もあると思っています。
私には筆者さんを貶めたい意図は全くありません。あくまで、情シスやセキュリティ、インフラ観点から、このケースを題材に考察するものであります。
この記事の筆者さんの行動で、不十分だったと思うのは下記の点です。
『「開発者」だけでは判断できない領域が大きい』のです。
確かにまず『請求』という単語が目に付きますが、AWSのパワーユーザーやアドミンレベルを奪取されるということは、EC2の料金だけではなく、個人情報などを含むRDSやS3などの情報も抜かれてしまうリスクが非常に高いです。仮にそれが現実になった場合、会社にかかる損害は120万円では済まず、マルウェアの混入や最悪の場合倒産の危険性まであります。
AWSのIAMを含むいろんなサービスは、利用履歴を追うことができます。例えば後ほど「不正利用により情報が流出した可能性がある」となった場合に、遡って利用履歴やEC2のログなどを調べる必要が出てきます。
「調べる必要が出てくる」というのは法務やセキュリティ部署の欲求になりますが、後日そういった部署から「調査依頼」をされた際に調べる材料が全く無くなってしまっています。
そうなると、然るべき相手への損害賠償請求や公へのアナウンスをする材料も無くなってくる為、企業として挽回の手立てが無くなってしまいます。
また、「停止や無効化だけする」場合も必ず、変更前の状態は記録しておきましょう
セキュリティや法務的な判断が出来る人であれば「まずは削除はせずに、不正アクセスに使われた可能性のあるIAMなどを無効化し、EC2は停止のみ行ってください。その後影響範囲の調査をお願いします」というような判断が下ると思います。
そういった判断を最速かつ的確に下す為にも、まずは対応方針を上長に即時相談すべきです。例え夜中であろうと、連絡がつくまで電話やチャットで連絡し続けましょう。
仮に、どうしても連絡がつかない場合は、状況(事実)を出来るだけ詳細に整理しつつ、「停止や無効化だけする」という判断が下せればベターかもしれません。もちろんその間連絡は続けましょう。
『「停止や無効化だけする」という判断が下せればベターかもしれません。』と書きましたが、判断がつかなければ「事実確認」に努めましょう。結果的に「削除した」方が良かった可能性もありますが、「自分が判断できない」事象を勝手に判断して対応すると、後々自身の立場を危うくします。
「判断を仰がないといけない領域がある」ということと、様々な可能性を知っておくことが自分を守ることに繋がると思います。
誰でもミスはあります。また、自分が全ての領域に精通している必要はありません。組織は様々な領域の専門家がおり、多人数で成り立っているからこそ一人では出せない成果が出せるものです。これはリスク回避だけではなく、より成果を出す為に念頭に置いておくべきでしょう。
月並みですがホウレンソウが大事です。ホウレンソウ出来ない状況であれば、事実確認に努めましょう。
以上です。
AWSから120万円の高額請求が来た話という記事がQiitaのトレンドに上がっていました。
私はアソビュー株式会社でSREをやっており、AWSを含むサービスのインフラ全般を担当しています。また、前職Sansan株式会社では情シスをやっておりCSIRTとも比較的近い立場だったので、その観点から「起こったあとの初動」について考えてみました。
元記事のコメントはLaravelの設定などについての指摘が多く、セキュリティ的な指摘が少し少ないように感じた為です。
会社やサービス、そして自分を守るためにはどうすれば良いのでしょうか。
注意
幾分か批判的な内容になっております。この記事のテーマは「AWSの高額請求の対処法」がテーマであり、それにフォーカスするため、実際には細かい行動内容まで書かれていない可能性や、脚色されている可能性もあると思っています。私には筆者さんを貶めたい意図は全くありません。あくまで、情シスやセキュリティ、インフラ観点から、このケースを題材に考察するものであります。
2018/10/15 22時46分 追記
職場の人や一緒に来ていた友人には相談せず職場というワードで勘違いをしておりました。下記の通り個人のプロジェクトの話であるため、筆者さんの行動には何の問題もありませんでした。申し訳ございません。
Laravelで開発していた個人のプロジェクト
問題点
この記事の筆者さんの行動で、不十分だったと思うのは下記の点です。-
問題点1
深夜だった事や、自分の問題だったのもあり、職場の人や一緒に来ていた友人には相談せずに、次の日まで様子を見る事にしました。(とりあえず、翌日になればこの要望が受け入れられて、料金請求も無くなっているだろう。。)
-
問題点2
レポジトリからキーを載せていたコミットの削除(ついでにレポジトリも削除)を行いました。また、EC2インスタンスを見てみると、いろんなリージョンで見覚えのないインスタンスが大量に立っていたので削除、IAMの見覚えのないユーザーも削除、AWSのキーも削除しました(下記でも述べますが、正確には全部の対応はこの時点では終わっていなかったです。)。
問題点1
- 即時連絡しなかった
『「開発者」だけでは判断できない領域が大きい』のです。
確かにまず『請求』という単語が目に付きますが、AWSのパワーユーザーやアドミンレベルを奪取されるということは、EC2の料金だけではなく、個人情報などを含むRDSやS3などの情報も抜かれてしまうリスクが非常に高いです。仮にそれが現実になった場合、会社にかかる損害は120万円では済まず、マルウェアの混入や最悪の場合倒産の危険性まであります。
【セキュリティ ニュース】サンリオ、個人情報漏洩で優待券やクオカードを配布(1ページ目 / 全1ページ):Security NEXT例えば上記の記事では、流出した可能性のある株主一人につき1000円のクオカードを配布しています。1200人以上のユーザの個人情報が流出した場合どうでしょうか? 120万円をあっさり超えてきます。
問題点2
-
上長への相談なしに不正利用されたIAMやEC2インスタンスなどを削除した
AWSのIAMを含むいろんなサービスは、利用履歴を追うことができます。例えば後ほど「不正利用により情報が流出した可能性がある」となった場合に、遡って利用履歴やEC2のログなどを調べる必要が出てきます。
「調べる必要が出てくる」というのは法務やセキュリティ部署の欲求になりますが、後日そういった部署から「調査依頼」をされた際に調べる材料が全く無くなってしまっています。
そうなると、然るべき相手への損害賠償請求や公へのアナウンスをする材料も無くなってくる為、企業として挽回の手立てが無くなってしまいます。
また、「停止や無効化だけする」場合も必ず、変更前の状態は記録しておきましょう
会社を守る為にどうすべきか
セキュリティや法務的な判断が出来る人であれば「まずは削除はせずに、不正アクセスに使われた可能性のあるIAMなどを無効化し、EC2は停止のみ行ってください。その後影響範囲の調査をお願いします」というような判断が下ると思います。そういった判断を最速かつ的確に下す為にも、まずは対応方針を上長に即時相談すべきです。例え夜中であろうと、連絡がつくまで電話やチャットで連絡し続けましょう。
仮に、どうしても連絡がつかない場合は、状況(事実)を出来るだけ詳細に整理しつつ、「停止や無効化だけする」という判断が下せればベターかもしれません。もちろんその間連絡は続けましょう。
自分を守る為にどうすべきか
『「停止や無効化だけする」という判断が下せればベターかもしれません。』と書きましたが、判断がつかなければ「事実確認」に努めましょう。結果的に「削除した」方が良かった可能性もありますが、「自分が判断できない」事象を勝手に判断して対応すると、後々自身の立場を危うくします。「判断を仰がないといけない領域がある」ということと、様々な可能性を知っておくことが自分を守ることに繋がると思います。
まとめ
誰でもミスはあります。また、自分が全ての領域に精通している必要はありません。組織は様々な領域の専門家がおり、多人数で成り立っているからこそ一人では出せない成果が出せるものです。これはリスク回避だけではなく、より成果を出す為に念頭に置いておくべきでしょう。月並みですがホウレンソウが大事です。ホウレンソウ出来ない状況であれば、事実確認に努めましょう。
以上です。
コメント
コメントを投稿