HBGary事件の顛末
セキュリティベンダーの HBGaryが先日 Anonymousによってハックされ話題になった。HBGaryはセキュリティ研究者である Greg Hoglundがファウンダーである。彼は長年 rootkit.comを運営しているほか、Exploiting Softwareや rootkitsなどのすばらしい書籍も書いており、この業界ではかなりの有名人だ。
この事件は一体どのようにして起きたのか。きっかけは、HBGary Federalという会社が Anonymousについて調査した結果を公表しようとしたことに対する、Anonymousの報復攻撃ということのようだ。(Anonymousについてはこちらの解説が詳しい。)
さて、この事件についての詳細が Anonymousによって明らかにされたようなのだが、その経緯が非常におもしろい。
Anonymous speaks: the inside story of the HBGary hack | Ars Technica
ちょっと長い記事なので、こんなの読んでらんねーという人向けに、概要をまとめておく。
- HBGary Federalの Webサイトで利用されていた CMSに SQL Injectionの脆弱性があり、パスワードハッシュが盗まれた。
- ハッシュは MD5を利用していたが、ソルトもストレッチングもなかった。そのため Rainbow Tableによる解析が可能だった。
- HBGary Federalの CEOと COOの2人とも、簡単なパスワードを設定していたので、解析されてしまった。(英字6文字+数字2文字)
- CEOとCOOの2人とも別の場所でも同じパスワードを使用していた。
- support.hbgary.com(Linuxサーバー)は社員が SSHアクセス(パスワード認証)に利用しており、このCOOも使っていた。(同じパスワードで)
- Linuxサーバーには昨年10月に発見された脆弱性が残っていた。これを利用して root権限を取得することができた。
- CEOは Google Appsのパスワードに同じものを使っていた。しかも彼は会社のメールシステムの管理者権限をもっていた。
- 上記権限を利用して、Greg Hoglundのメールにアクセスした。
- メールの中から rootkit.comにおける rootパスワードの候補が 2つ見つかった。また Nokiaの Chief Security Specialist (Jussi)が、Gregと同じく rootkit.comの root権限を持っていることがわかった。
- Gregからのメールを装い、Jussiに rootkit.comの自分のパスワードをリセットさせた。また rootkit.comへの sshアクセスもできるようにファイアウォールの設定を変えさせた。
- rootkit.comにログインして、ユーザーパスワードを含むデータを取得した。ここでも MD5ハッシュがソルトもストレッチングもなしに利用されていた。
- 再び Rainbow Tableを利用して、rootkit.comユーザーのパスワードを解析した。
ざっとこんな感じ。特にメールを使った Social Engineeringの部分が非常におもしろい。攻撃者は GregのユーザーIDもパスワードもどちらも知らなかったのだが、メールでうまく聞きだしてしまった。
(別エントリにメールのやりとりを追加)
この事件にはたくさんの教訓が含まれていると思う。
- もし、SQL Injectionへの防御策があれば… (WAFとかね ^^)
- もし、パスワードの使い回しをしていなければ… (ユーザー教育?)
- もし、パスワードハッシュがもっと強固であれば… (ソルトとストレッチング)
- もし、SSHのパスワード認証を許可せず、公開鍵認証を使っていれば… (これくらいやろう)
- もし、Gregからのメールに何かおかしいと気がつくことができれば… (難しいかも)
これらの多層防御が一つでも有効であれば、事件は起きなかったかもしれない。もちろん別の穴を攻撃されていたかもしれない。それはわからないが、少なくとも攻撃はもっと難しかったはずだ。上記の事件の経緯が事実だとすると、この程度のペネトレーションはちょっと経験があれば誰にでもできるレベルだ。Anonymousは意外にもあっさり攻略できてしまったので、拍子抜けしたかもしれない。
あ、このネタ、講義で使えそうだな。(^^)