PHP カンファレンス 2013 にて『XMLとPHPのイケナイ関係 (セキュリティ的な意味で)』という講演をします

来る 2013/09/14 (土) に開催される PHP カンファレンス 2013 にて、『XMLとPHPのイケナイ関係 (セキュリティ的な意味で)』という題目で講演をさせていただけることとなりました。

日時
2013/09/14 (土) 10:00 - 17:00 (私の講演はいまのところ 11:20 - 11:50 の予定です)
場所
大田区産業プラザPiO 東京都大田区南蒲田1-20-20 (私の講演はいまのところ「1F奥会場」にておこなわれるとのことです)
費用
無料 (要事前申込)
講演タイトル
『XMLとPHPのイケナイ関係(セキュリティ的な意味で) - Introduction of XXE attack and XML Bomb with PHP -』
ターゲット
  • Web アプリケーションセキュリティに関心がある方
  • XML を利用するアプリケーションを開発した経験があるが、 XXE (XML External Entity Injection) や XML Bomb (XML Entity Expansion) に関する充分な知識をお持ちでない方

PHP カンファレンス 2013 の参加申し込みページ より、カンファレンス全体の参加登録がおこなえます (一部のワークショップを除き、講演についての事前の参加申し込みは不要となっています)。当日都合が付かない方も、例年通り中継があれば、そちらから参加ということもできそうですね。なお、私の講演資料については発表後に公開予定です。

講演の内容について簡単に説明させてください。応募の際に提出した abstract を以下に引きます (PHP カンファレンス 2013 のサイトに掲載していただいているものから誤記を一部訂正してあります)。

Web アプリ界隈、特に日本ではまだあまり知られていないと思われる XXE や XML Bomb (XML Entity Expansion) というセキュリティ脆弱性の概要、 PHP の機能と組み合わせた攻撃手法、主に PHP 周りでの発覚事例や、対策方法について説明します

ということで、 XML のエンティティに関連した脆弱性を中心とした講演となります。攻撃の様子についてもデモをおこなう予定です。ほとんどがこの種の問題についての基礎的な内容となる予定ですが、私が独自で調査した内容もできるだけ散りばめていくので、この問題についての知識を有している方にとっても興味深いところがあるかもしれません。

時間に余裕があれば、 XXE に関連が深い話ということで、最近一部界隈でにわかに注目されている SSRF (Server Side Request Forgeries) の手法についても触れていこうと思います……が、 30 分という時間の中でそこまで盛り込めるかどうかはわかりません。

さて、題材としている XXE や XML Bomb について、「なんてニッチな題材を選んだんだ」と思われたでしょうか。それとも「そんな脆弱性聞いたこともないな」「聞いたことはあるけどよく知らないな」と思われたでしょうか。どちらも私の意図するところで、これらの感想を抱いた方には是非講演をお聞きいただきたいと思います。

XXE や XML Bomb 自体は古くより知られていたものの、極めてニッチな脆弱性です。セキュリティ研究者か、セキュリティオタク、もしくは XML の仕様について深く理解しておかなければならない人を除いて、本来知らなくてもいい脆弱性のはずである、と私は考えています。

ところが、近年になってこの脆弱性に注目する動きが出てきています。

たとえば昨年 (2012 年) 5 月末 にロシアで執り行われた PHDays 2012 では、 ONsec の Vladimir Vorontsov さんが ONsec PHDays 2012 XXE incapsulated report という題目でもって講演をおこなっています。 Vladimir Vorontsov さんは XXE や SSRF に対する関心が…… 2012 年にはあったようで、この他にも XXE と絡めた講演をいくつかおこなっておられるようです。

今年 (2013 年) に開催された OWASP Poland Local Chapter でもこの問題に触れた発表がおこなわれたようですね。 発表資料 はおそらくポーランド語? という謎の言語で綴られていて残念ながら機械翻訳に頼りながらじゃないと私は読めませんでした。

Zend Framework の Pádraic Brady さんもこの問題について何度か言及しておられます。 2012 年末に公開された Web Advent 2012 / The Three Ugly Sisters は XXE 以外の点においても非常に参考になる記事です。

それから、最近、いくつかの Web アプリケーションやフレームワークで、この脆弱性に関する対策がおこなわるといった動きが出てきています (このあたりの動きは講演でも触れていく予定です——じ、時間に余裕があれば……)。

みなさんが既に目にしていると思われるものとしては、 Symfony や Zend Framework、 CakePHP での発覚事例なんかがあるでしょうか (Symfony と Zend Framework には複数例ありますがそれぞれ 1 件ずつ挙げます)。

それから WordPress や MediaWiki での発覚事例もあります。

また、私が報告したなかで既に公表されているものとして、 PHP OpenID Library の事例があります。他にも調整中のものが数件存在します (そのうちの一つは明日明らかになるとのことです)。

さてさて。

みなさんの作ったコードの中にも XML を使ったものがあることでしょう。いままで紹介してきた事例と同様に、みなさんも同種の脆弱性を作り込んでしまっている可能性が充分にあるのではないか、と私は考えています。

繰り返します。この脆弱性はニッチです。ドマイナーです。豆知識です。トリビアです。それが証拠にググっても日本語の情報はほとんど出てきません。しかし状況から言って、向こう数年間は、 Web アプリケーション開発者が知っておかなくてはならない脆弱性なのではないかとも思えるのです。

そういったわけで、日本でもこの脆弱性についての存在を広めていくために、今回の講演に踏み切った次第です。

なかなか仕事が忙しく、積みゲーもあまり崩せず、艦これはやっと 2-4 を突破したものの編成クエがどうしてもあと 2 つクリアできず、モンハン 4 の発売も迫っているなか、講演資料の完成度もまだまだというところで結構プレッシャーのかかる状況ではあるのですが、一人でも多くの方にお越しいただき、この問題について知っていただくことができれば幸甚に存じます。

それでは、当日はどうぞよろしくお願いいたします。

comments powered by Disqus

Recently entries