イランによる(?)Twitter攻撃の手口はこうだった

次の記事

ハックされたTwitter: それはイランの大きな立体的作戦の一側面にすぎない

7月に起きたTwittergateのときは、一人のハッカーがいくつかのメールアカウントに侵入してTwitterの内部文書を盗んだ。ハッカー本人から話を聞く機会があったので、その手口の解説を本誌の記事「Twitterのハッカーとのコンタクトに成功」に書いた。そして今日は不幸にも、その続編として、「TwitterのDNSサーバが昨夜やられた(そしてサイトは損壊ページへリダイレクトされた)」をこれから書かなければならない。

前回と違って犯人に直接話を聞くことはできないが、セキュリティの裏世界に詳しい人たちから取材し、それに公開されている情報を合わせて、記事をまとめていこう。昨夜(米国時間12/18)の事件はIranian Cyber Armyと名乗る連中の犯行で、情報筋によればそれはイラン政府の機関だそうだ。攻撃は、そのほかの複数の外交的事変と同じタイミングで起きた。その中には、イランと合衆国/欧州連合とのあいだの敵対外交をエスカレートする声明や、油田の帰属を争っている国境地域へのイラン軍の侵入もあった。

損壊は、twitter.comというドメインのDNSレコードをホストしているサーバ(複数)をハイジャックすることによって行われた(この、DNSサーバと呼ばれるサーバがドメイン名をIPアドレスに翻訳する)。犯人たちはDNSレコードを書き換えて、損壊ページのあるWebサーバのIPアドレスを指すようにした。twitter.comというドメイン本体は(NetworkSolutionsに登録)ハイジャックされず、レコードの書き換えも行われなかった。

TwitterのDNSレコードはDynがホストしている。ここは10万以上のドメイン名に対してDNSサービスを提供しているほか、そのほかの企業向けサービスも行っている。未確認情報によると、犯人はパスワード回復機能を利用してTwitterのDynのアカウントのパスワードを別のものに変えた。そのパスワード回復ページには入力欄など何もなく、Dynにコンタクトせよというメッセージがあるだけだ。このページに元々何らかの自動化処理があって、今は(今回の事故後は)それが取り下げられているのか、その確認はできなかった。

パスワードを変えてDNSレコードをホストしているアカウントにアクセスするために、犯人はそのアカウントに付随しているメールアドレスを入手した。TwitterはすべてのメールをGoogle Apps for Domainでホストしている。ここはこの前のTwitterに対する攻撃でも中心的な役割を演じたが、それはアプリケーション自身に脆弱性があったのではなく、パスワード変更に伴う遅れのせいでマイナーなアカウントが外に漏れたのだ。そしてそれを足がかりにして、ほかのアカウントも盗まれた。

犯人たちはDynのTwitterアカウントを盗み、twitter.comのDNSレコードが匿名のTorネットワーク上のIPアドレスを指すようにした。犯人たちはtwitter.comのすべてのレコードを書き換えたようで、API用のサブドメインやステータスページも変えられていた。しかしキャッシングのレベルの違いや、IPアドレスを直接使うクライアントもあるので、すべてのサービスが直ちにだめになったわけではない。

しかしTwitterのWebアプリケーションを使うユーザは、約1時間近く、損壊ページを見ることになった。

このような攻撃は技術的に高度なものではないが、きわめて効果的だ。DNSサーバに
脆弱性があるのではなくて、アカウント処理の部分とメールアドレスに弱点がある。Twitter本体は被害を受けなかったが、HTTPの平文(非暗号化)でユーザ名とパスワードをTwitterに直接送るデスクトップアプリケーションやWebサイトは、その情報を犯人のIPアドレスに送ったことになる。その気があれば、情報を取り出すのは簡単だ。

対策は、アカウントのパスワードの管理をしっかりやることだ。DNSサーバのような重要なサーバではとくにそう言える。しかも、Twitterのステータスページはメインサイトと同じドメイン上でホストされているから、損壊ページが出ている間とTwitterが修復作業をやってる間はそれも使えなかったのだ。

[原文へ]
[米TechCrunch最新記事サムネイル集]

(翻訳:iwatani(a.k.a. hiwa))