CloudFlareの CEOが狙われた!その驚くべき手口とは?
最近 UGNaziというグループによる活動が非常に活発になっているのだが、中でも先週 6/1に発生した CloudFlareへの侵入事件がとても興味深いので、簡単に紹介したい。
UGNaziがどんなグループなのかは私もよく知らないので説明を省くが、今回もともと狙っていたのは CloudFlareではなく 4chan.org だったようだ。4chan.orgは CloudFlareのユーザなのだが、直接狙うのではなくなぜ CloudFlareを狙ったのか理由はよくわからない*1。
CloudFlareは中小規模のサイトでも手軽に利用できる CDNサービス。WAFや DDoS対策などのオプションもあり、セキュリティにも力をいれている。昨年 LulzSecの Webサイトが CloudFlareを利用したことでも注目されたし、いくつか Awardも獲得している勢いのある会社のようだ*2。
さて UGNaziは CloudFlareの CEOに目をつけた。CEOであればそこそこ個人情報も公開されているし、攻撃しやすいと考えたからかもしれない。彼らの具体的な攻撃手順は次のとおり。
- CEOのプライベートの Gmailアカウントを乗っ取る。
- CEOの CloudFlareのメールアカウント (Google Appsを利用)を乗っ取る。
- CloudFlareの管理者のメールアカウントを乗っ取る。
- 4chan.orgの管理者用の CloudFlareのアカウントを乗っ取る。
まず(1)だが攻撃者はパスワードリセット機能を悪用した。Googleユーザはパスワードを忘れたときのためにリセット機能を利用できるが、この時に確認用コードの送り先をあらかじめ決めておく必要がある。携帯電話の番号かまたは別のメールアドレスを設定するのだが、CEOは自分の携帯電話の番号を登録していた。だから攻撃者がいくらパスワードリセットをしても携帯に確認コードが送られるので乗っ取ることは不可能だ。しかし攻撃者はなんとあらかじめ CEOの携帯電話のボイスメール機能を操作して、別の番号に転送するように設定していたらしい*3。
攻撃者はあらかじめボイスメールに細工したうえで、Gmailのパスワードをリセット。CEOの携帯電話には Googleからの確認電話がかかってきたが、知らない番号からの電話だったので出なかった。電話はボイスメールにつながり、それは攻撃者の番号に転送された…というわけで、攻撃者は見事(?)に Gmailのパスワードリセットに成功してしまった。
ここからは時間との勝負。CEOも自分のGmailのパスワードがリセットされたとの通知を会社のメールで受けとり、おかしいなと思ってパスワードを元に戻す。しかし時すでに遅し、攻撃者は自分のメールアドレスをパスワードリセット用に登録していたので、再びパスワードを変更。なんと15分間に10回にわたってパスワードの変更合戦が行われたのだ。最終的には攻撃者が CEOの携帯電話と会社のメールアドレスを設定から削除。本人がパスワードリセットできないようにしてしまった。
CloudFlare側はあわてて Googleの担当者に連絡を取ろうと試みるが、その間に攻撃者は次のステップ(2)へ。CloudFlareは Google Appsを使っていて、二要素認証を有効にしていた。CEOは会社のアカウントのリセット用に自分の Gmailのアドレスを登録していた。そして二要素認証が有効な限り、パスワードを簡単にリセットすることはできない。しかしなぜかここで二要素認証は回避されてしまい、攻撃者はCEOの会社のアカウントのパスワードリセットに成功した*4。
続いて攻撃者はCEOのアカウントを利用して、他の管理者アカウントのパスワードをリセットし、こちらの乗っ取りにも成功。顧客(この場合は 4chan)のアカウントのパスワードをリセットすると、管理者のメールに通知されるようになっていたため、攻撃者は乗っ取った管理者アカウントで 4chan用アカウントのパスワードをリセット。4chan.orgの DNS設定を変更し、自分達の Twitterアカウントにリダイレクトされるようにしたようだ*5。
以上が今回の事件の概要だ。非常に手の込んだ攻撃をしていることがわかる。詳しいことは CloudFlareの CEO自身が自社の Blogで解説している。また攻撃者と CloudFlareの対応を時系列にまとめた図がとてもおもしろい。両者の緊迫した攻防が手にとるようにわかる。
(以下の図は上記 CloudFlare blogからの引用)
*1:UGNaziによる 4chan.orgへのメッセージはココで読める。
*2:LulzSecのサイトに対する DDoS攻撃などもうまく防いだようだ。http://blog.cloudflare.com/58611873
*3:この件について携帯電話会社である AT&Tはノーコメント。CEOは AT&Tのサポートスタッフが攻撃者によるソーシャルエンジニアリングによって設定を変更してしまったのではないかと推測している。
*4:後日 Googleはパスワードリセット機能に問題があったことを認め、現在は解決されている。どういう問題があったのか詳細は不明。→ (06/10追記) 管理者アカウントの場合、登録されたメールアカウントからパスワードをリセットすると二要素認証が無効になる、という単純な問題だったようだ。コメントありがとうございます。
*5:この変更は CloudFlareによって元に戻されるまで約40分間続いた。