2012-04-05
■[Event] Shibuya.XSS テクニカルトーク#1 開催しました。

Shibuya.XSS テクニカルトーク#1を開催しました。
参加して頂いたみなさん、発表してくださったみなさん、そして会場を快くお貸しくださったうえにビールとピザまでご用意くださったmixiさん、ありがとうございました。
私の発表した資料を置いておきます。
次回予定はまったく未定ですが、もし開催することがありましたらまたみなさんのご参加をお願い致します。
2012-04-01
■ 退職のお知らせ

昨日2012年3月31日をもってネットエージェント株式会社を退職しました。
2008年1月からでしたので4年と少しという長くはない期間でしたが、とても密度の高い時間を過ごせたと感じています。周りには、新卒で入って1年も経っていないのにバイナリの固まりを見るだけでそのなかに埋め込まれたデータを的確に目視で抽出するような人や、再現性が恐ろしく低くなかなか原因がわからなかったバグを退治する手伝いをお願いしたら、1時間もしないうちに「だいたい原因はわかりました。xxxという関数のバッファが1バイト足りていないんだと思いますが、ちゃんと確認したいのでソースコード見せて下さい」という返事を返してくるような気違いみたいなバイナリアンが多く、どれだけ学んでも自分なんて追いつけない圧倒的な劣等感を感じさせてくれる会社でした。
また、課長や部長といった管理職への昇進だけが昇給の道ではなく、技術面で優れた人材を課長待遇あるいは部長待遇として扱うエキスパート職という制度も、社内でいかにエンジニアを大切にしていたかを表すものでした。
退職の理由ですが、やはり自分の持っている技術と会社の求めている技術の方向性が異なっていたと感じ始めたからでしょうか。言語化すると安っぽくなってしまってうまく伝わりませんが、まぁ、そういう感じです。
とはいえ今後も様々なかたちでセキュリティ技術者として世の中に貢献できるよう頑張っていきたいと思いますので、よろしくお願いいたします。ちなみに4月からの勤務先はこちらになります。
sen-u
2012/04/01 07:43
お疲れさまでした。次の職場もがんばってくださいね。
2012-03-01
■[SECURITY] IE6/7の<meta refresh>では「;」で区切ってURLが複数指定できる問題

Masato Kinugawaさんのブログ「Masato Kinugawa Security Blog: Googleのmetaリダイレクトに存在した問題」を読んで、
<meta http-equiv="refresh" content="0;url=http://good/;url=http://evil/">
みたいな書き方をするとIE6、IE7ではevilなほうにリダイレクトされるということを初めて知ったわけですけど、それをTwitter上で言ったら
@hasegawayosuke あれ、意外!古いXSSチートシートにもついてるよ! URL
2012-03-01 12:45:45 via web to @hasegawayosuke
みたいに言われてしまって軽くショック受けたんで追試してみたけど、「;」をエスケープしようと
<meta http-equiv="refresh" content="0;url=http://good/;url=http://evil/">
みたいに書いても、「;url=」みたいな文字列が出現してしまって、やっぱりevilにリダイレクトされてしまう。なので、本気でオープンリダイレクタをつぶそうと思うと
<meta http-equiv="refresh" content="0;url='http://good/;url=http://evil/'">
のように記述する必要があるわけで、なかなかバッドノウハウ色の強いおもしろい事象だったのでちょっと感動して久々に日記を書いてしまいました。
(追記)
そもそもリダイレクト先に「'」が含まれているのでこれを ' みたいにエスケープしてると
<meta http-equiv="refresh" content="0;url='http://good/;'url=http://evil/'">
みたいになって、やっぱりevilにリダイレクトされちゃう。なにこれひどい。
2012-01-10
■[Event] 世界のセキュリティ人材育成と日本の課題 〜CTFが切り札となるか!?〜


ということで、CTFとかほとんど関わってないけど成り行きで Network Security Forum 2012(NSF2012)に出演させていただくことになりました。
110分も何を話そう..
2011-12-20
■[SECURITY] MS11-099 Internet Explorer 用の累積的なセキュリティ更新プログラム で修正されたXSSの話

マイクロソフト セキュリティ情報 MS11-099 - 重要 : Internet Explorer 用の累積的なセキュリティ更新プログラム (2618444) で修正された「Content-Disposition の情報漏えいの脆弱性 - CVE-2011-3404」について書いておきます。
Content-Disposition: attachment をHTTPレスポンスヘッダに指定すると、一般的なブラウザではコンテンツをブラウザ内でいきなり開くのではなく、ローカルディスクへダウンロードすることになります。ところが、MS11-099にて修正された脆弱性を使用すると、罠ページを経由することで Content-Disposition: attachment のついたhtmlを強制的にInternet Explorer内で開くことができたため、例えば Wiki や Web メールの添付ファイルなどを経由することでXSSを発生させることができました。
攻撃者は以下のような罠ページを作って、iframe にて Content-Disposition: attachment つきのリソースを指定しておきます。
<iframe src="http://target.example.com/attachment.cgi" id="ifr"></iframe> <script> </script> function f2(){ document.getElementById("ifr").history.back(); } function f1(){ document.getElementById("ifr").location = "trap2.html"; } setTimeout( 'f1()', 1000 );
最初は Content-Disposition 付きのコンテンツが iframe の src に指定されており、IEでこの罠ページを開いたときにはダウンロード指令つきのコンテンツをブロックした旨が情報バーにて表示されます。
ただし、1秒後にはsetTimeout の結果 iframe の src は 攻撃者が作成した trap2.html へと変わります。trap2.html の内容は以下の1行です。
<script>history.back();</script>
この結果、iframe の src は再び Content-Disposition つきのコンテンツとなりますが、このとき Content-Disposition は無視され、iframe 内にてコンテンツがいきなり開かれてしまい、攻撃者はXSSを成功させることができます。
「Content-Disposition の情報漏えいの脆弱性 - CVE-2011-3404」の「Content-Disposition の情報漏えいの脆弱性」のよく寄せられる質問 - CVE-2011-3404 には
このセキュリティ情報の公開時に、この脆弱性は一般に知られていましたか?
いいえ。マイクロソフトは協調的な脆弱性の公開を通して、この脆弱性に関する情報を受けました。
とあるのですが、2007年夏ごろすでに詳細がWeb上に公開されていました。そのため、Microsoftに対して本件を脆弱性として把握しているかの連絡をとったのですが、修正までに4年を要したようです。
本件が修正前に公知であったことを確認できるリソースとしては、「ウェブアプリケーションセキュリティ」(書籍,いわゆる「金床本」)や「BK通信 - ブラウザのバッドノウハウ コンテンツ編」などがあります。とくに金床本では上記と同様のPoCつきで丁寧に解説されています。
