![]() |
Pwn2Ownのハッカー、Charlie Miller氏へのインタビュー |
バンクーバー発 -- CanSecWestセキュリティカンファレンスで、私はCharlie Miller氏と話をする機会を得ることができた。同氏はSafariのコード実行脆弱性を利用して、完全にパッチを適用したMacBookに侵入した。
われわれはウェブブラウザのセキュリティの現状、脆弱性市場、現代のオペレーティングシステムでの耐攻撃措置の必要性について議論した。
Charlie Miller氏:あまりありません。コンテストのルールの一部として、私は技術的な詳細に関する守秘義務契約に縛られています。あのコンピュータ(MacBook Air)には、完全にパッチが適用されていたということは言ってもいいでしょう。使った攻撃はSafari 4に対するものですが、これはSafari 3でも使えます。本当は、私はこのバグを去年のPwn2Ownの前に見つけていたのですが、当時はこのバグを悪用するのが難しい状況でした。去年のCanSecWestでは2つのバグを知っていましたが、攻撃コードは1つしか持っていませんでした。去年のルールでは、勝てるのは1度だけだったので、2つめのバグは取っておきました。結局今年になってもそのバグは残っていたので、それを利用するコードを書き、それを今年使ったのです。
分かりません。調べていません。
私は決して無料でバグを提供することはしません。私は新しい運動をしています。これは、「NO MORE FREE BUGS(無料のバグ提供をなくそう)」という運動です。脆弱性には市場価値があるため、がんばってバグを探し、それを利用するコードを書き、それを無料で渡すことには意味がなくなっています。Appleは同じ仕事をする人たちに給料を払っているので、われわれはこの仕事に価値があることを知っている訳です。無料でのバグ提供はなくさなくてはなりません。
おそらく、私が受け取った5000ドル以上の価値があります。しかし、例のIE 8の脆弱性(Nils氏によって別に突かれた脆弱性)に比べれば何十分の1でしょう。私は5000ドル以上手に入れることもできましたが、自分の働いている会社(Independent Security Evaluators)のために、ここに来て私ができることを示してみせ、ニュースの見出しになるのもいいと考えました。
簡単なことです。Mac上のSafariの方が攻撃が簡単だからです。Windows上のいくつかの技術は攻撃を成功させるのを難しくしていますが、Macではそういうことはしていません。Macをハッキングする方がずっと簡単です。曲芸をして、Windows上で見られる耐攻撃措置を相手にする必要がないからです。
これは、対象となるプログラムではなくオペレーティングシステムの問題です。Mac上のFirefoxも比較的簡単です。その下にあるOSに、攻撃に対抗する仕組みが組み込まれていないからです。
(参照:10 questions for MacBook hacker Dino Dai Zovi)
私が使ったSafariに対する攻撃では、コードをプロセスに埋め込むと、そのコードの場所を正確に知ることができます。ランダム化されたりはしません。そこにジャンプすれば、コードはそこにあり、そこから実行することができます。Windowsでは、コードは現れるかもしれませんが、それがどこにあるか分かりません。コードの場所にたどり着いたとしても、実行できません。これら2つの障害は、Macにはないものです。
3つすべてのブラウザ(Safari、IE、Firefox)にバグがあるのは明らかです。コードを実行できるセキュリティホールがあちこちにあります。しかし、それは公式の片側の辺に過ぎません。もう一方の辺には、それを悪用するということがあります。Mac OS Xでは、そこにほとんど障害がありません。
それは変わりつつあります。昔は、バグを見つける方がずっと難しかったのですが、一度何かが見つかってしまえば、信頼できる攻撃コードを書くのは簡単でした。今では(ソフトウェア会社は)賢くなっており、バグを悪用するのはずっと難しくなっています。最近ではよいバグを見つけるのは難しくなっているのですが、それを利用し、対抗措置を迂回するのはそれ以上に難しくなっています。それが、Dino(Dai Zovi氏)と私がよいチームである理由です。彼は攻撃コードを専門にしており、私はよいバグを見つけるのに集中できます。
私は驚きました。IE 8については、私は10点満点で9点をつけます。Safariについては、2点と言うところでしょうか。Safariを攻撃するのは簡単すぎます。Windows用Firefoxには、10点をつけます。これが3つの中でもっともすごいことでした。Windows用Firefoxを攻撃するのは、本当に難しいことです。
彼がIEで使ったテクニックは、Firefoxでは使えません。このテクニックを使えば、コードを常にメモリの特定の場所に置くことができます。Mark Dowd氏とAlex Sotirov氏が、この技術について去年のBlack Hat会議で話しました。このテクニックを使って、.netに対抗処置を取らせないようにすれば、障害を簡単に乗り越えることができます。しかし、Firefoxではこのテクニックは使えません。
すべてのブラウザとOSの組み合わせの中で、一番難しいのがWindows上のFirefoxです。Mac OS XのFirefoxなら、やりたいことは何でもできます。Macのオペレーティングシステムには、障害になるものはありません。
彼が極めて有能であることは明らかです。私は、IE 8を狙う人がいるというだけで驚きました。あれらのバグには、5000ドルよりはるかに高い価値があります。私は多くの賢くて知識も持っている人たちと話したのですが、彼が何をやったのかを正確に分かっている人は1人もいませんでした。彼はあの脆弱性で5万ドルは手に入れることができたでしょう。最低限の価格が5万ドルだと思います。
彼がIEとFirefoxでやったことのために費やした時間で、5個や10個のSafariのバグを見つけ、攻撃を成功させることができたかも知れません。今回は検証できるバグ1つにつき5000ドル支払われましたから、彼がもしMac上のSafariを狙っていれば、同じ時間と資源で2万5000ドル、3万ドルといった額も簡単に稼げたはずです。
Chromeにはバグはありますが、それらを悪用して攻撃を成功させるのが難しいのです。私はChromeの脆弱性を1つ知っていますが、これを悪用する方法はわかりません。これは非常に困難です。Chromeにはサンドボックスモデルが使われており、そこから抜け出すのが大変です。Chromeの場合、物事を組み合わせる必要があります。ヒープを実行できず、Windowsの保護があり、サンドボックスがあります。
(参照:Pwn2Own hacker: Apple Safari is 'easy pickings')
私はこのバグで、コードを実行することはできるかも知れません。しかし、依然としてサンドボックスの中であり、権限を持っていないので、何もできません。サンドボックスの外に出るには別のバグが必要です。つまり、2つのバグと2つの攻撃コードが必要になります。これが障害を大きくしているのです。
最初、私が予想を示したとき、ChromeやIE、Firefoxを狙う人が出るとは思っていませんでした。これは経済学です。誰かが払ってくれる金銭に比べて、それが難しいかどうかというだけの問題です。もしPwn2OwnがChromeのバグ1つにつき100万ドルを払ってくれるのであれば、彼らを破産させようという人の列ができるでしょう。
ブラウザはあまりに複雑なので、間違いをなくすのはまず不可能です。あれだけのコードと依存関係があれば、完璧にするのは困難です。5年前には、今頃にはバッファオーバーフローの問題は解決されるだろうと言われていましたが、ごらんの通りそんなことはありません。バグは決してなくならないので、対抗措置や(攻撃に備えた)妨害の仕組みを作る方が賢いと言えます。
ブラウザは、フィッシング詐欺やマルウェアサイト、ひどいSSLに対して警告を出すことについては、よくなっています。十分ではありませんが、ないよりはましです。私は、Chromeとサンドボックスがやっていることは、今後すべてのブラウザが目指す必要のあることだと思います。何年かはかかるでしょうが、これが標準にならなくてはなりません。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ
ZDNET Japanは、Ziff Davisからのライセンスに基づき株式会社4Xが運営しています。
ZDNET Japan is operated by 4X Corp under license from Ziff Davis.
Copyright © 2026 4X Corp, Inc. All rights reserved. No reproduction or republication without written permission.