Hatena::ブログ(Diary)

葉っぱ日記 このページをアンテナに追加

2014-03-27

[] OWASP AppSec APAC 2014で発表しました  OWASP AppSec APAC 2014で発表しましたを含むブックマーク

OWASP AppSec APAC 2014 で、Masato Kinugawaさん、malaさんと一緒に、「XSS Allstars from Japan」という枠で登壇しました。3人それぞれ好きなテーマについて発表をしたのですが、僕は、Masato Kinugawaさんが活用していた、Tabular Data Controlについて発表しました。

スライドは以下で公開されています。

Bypass SOP, Theft your data // Speaker Deck

Masato Kinugawaさんのスライドはこちら: The Complete Investigation of Encoding and Security // Speaker Deck
malaさんのスライドはこちら: XSS with HTML parsing confusion // Speaker Deck

TDCではないVBScriptのエラーメッセージに関する調査結果は以下で公開しています。

http://d.hatena.ne.jp/hasegawayosuke/20130517/p1

結果に変更があり次第、更新していきます。
もともとMasato Kinugawaさんの発表を聞きたくて無理やり3人でスピーカー枠に応募しただけなので、荒い部分もあるかもしれません。おかしなところがあれば教えてください。

以下、発表では伝えきれなかったこと、確実に伝えたいことを Q & A 形式でお送りします。

Q.
VBScriptのやつ、もっと詳しく知りたいんだけど。
A.
このへんこのへんを読んでください。

Q.
わたしは開発者です。手っ取り早く、すべきことはなに?
A.
まず僕にファンレターを送ってください。そして、X-Content-Type-Options: nosniffをレスポンスヘッダで確実に指定してください。

Q.
VBScriptのやつ、IE11は平気なの?
A.
試した範囲ではIE11では大丈夫でした。

Q.
TDCのやつ、IE11でドキュメントモードをエッジモードにしていたら平気なの?
A.
ドキュメントモードを指定するのは攻撃者の指定した罠ページ上なのでIE11を使っていてもダメです。



その他、疑問点などありましたら言って頂ければお答えします。



OWASP AppSec APAC 2014に関わった皆様、お疲れ様でした。
スタッフの方々、撮影の不可など、ご配慮いただきましてありがとうございました。
一緒に発表したmalaさん、発表寸前まで行方不明で、どうなるか不安でした。ありがとうございました。
同時通訳の方、しゃべるの早すぎるし、言葉が滑らかにでてこないしで、 相当大変だったと思います。発表中は通訳さんのことを考えている余裕がありませんでした…。大変ご迷惑をおかけしました。ありがとうございました。
最後に、拙い発表を聴いて下さったたくさんの方々、ありがとうございました。

このような素晴らしいイベントに関われて本当に嬉しいです。

(参考文献:Masato Kinugawa Security Blog: OWASP AppSec APAC 2014で発表しました)

2014-02-14

5分でテンションを上げる方法  5分でテンションを上げる方法を含むブックマーク

f:id:hasegawayosuke:20140214105151j:image

ちょっとテンションを上げたくなる時ってありますよね!今日はそんなときに簡単にテンションをあげる方法をお伝えします!




まず、PowerPoint(画像は2010)に適当な写真を張り付け

f:id:hasegawayosuke:20140214105146j:image:w400


四角形を置き、写真と同じ大きさの四角形を置きます。

f:id:hasegawayosuke:20140214105147j:image:w400


四角形の枠線を「なし」にし、「塗りつぶし」の図を先ほどの写真にします。これで同じ写真が2枚ならぶ恰好になります。

f:id:hasegawayosuke:20140214105148j:image:w400


「図ツール 書式」から「背景の削除」を選び、顔と首を残し残りの背景を削除します。

f:id:hasegawayosuke:20140214105149j:image:w400


顔パーツの「透過性」を40%くらいにします。

f:id:hasegawayosuke:20140214105150j:image:w400


「図ツール 書式」の「回転」で顔パーツを左右反転させ、位置を調整すれば完成!

f:id:hasegawayosuke:20140214110937j:image:w400



テンションあがってきたー!

f:id:hasegawayosuke:20140214111558j:image

2013-12-20

[][] JPCERT/CCの「HTML5(中略)調査報告書」が安全になっていた  JPCERT/CCの「HTML5(中略)調査報告書」が安全になっていたを含むブックマーク

JPCERT/CCは「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」(PDF))を以下のURLから公開しています。

http://www.jpcert.or.jp/research/html5.html

「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」はお勧めである、とするエントリを書こうかと思い、久しぶりにJPCERT/CCのトップページを確認すると改定されていました。

古いJPCERT/CCのトップページは右肩のお知らせ欄で「HTML5(中略)調査報告書」をリンクしていました。国内情報セキュリティの向上を目指しているのがJPCERT/CCですが、多数のお知らせに流れて「HTML5(以下略)」が消えてしまいました。はっきり言うと当然でした。

しかし、今も「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」のページはちゃんと残っており、安全な解説書になっています。

関係者の皆様、報告書の公開ありがとうございました。今回の報告書では、基本中の基本であるHTML5に関連しないブラウザの機能、JavaScript APIなどにも言及して頂けて有難いです。

Webアプリケーションの開発に関わっている方にはHTML5での注意点はもちろん、WebではないJavaScriptアプリケーションの開発にも注意して頂きたいです。JPCERT/CCでは随分前から様々な報告書を提供しています。

2013-12-03

[] Chromeで(☝ ՞ਊ ՞)☝ウイーン  Chromeで(☝ ՞ਊ ՞)☝ウイーンを含むブックマーク

この記事はEject Advent Calendar 20133日目の記事です。ちなみに今日は僕の誕生日です

かつて一世を風靡し世界中のChromeユーザーを病院送りにしたCD-ROM トレイを取り出せる Chrome拡張、「chrome-eject」ですが、内部でNPAPIを使っていたために近い将来確実に動かなくなります。

そこで人類が平和に暮らせるようEjectできる代替措置を探す必要に駆られ、非常に限定的ながらChromeからEjectする方法を確立し、Chrome-eject2としてリリースしましたのでAdvent Calendarの記事として記す次第です。

上記スライド内にも書いてあるとおり、Chrome拡張では chrome.system.storage.ejectDevice というまさに Eject のためのAPIが用意されているのですが、残念ながら現在はうまくCD-ROMをejectできていません。。

Windows版のChromeでは、

  • CD-ROMドライブに対する chrome.system.storage.getInfo では、StorageUnitInfo.capacity が0なので、対象デバイスがCD-ROMであることは簡単に判断できる
  • とはいうものの、CD-ROMドライブに対するStorageUnitInfo.type が"fixed" であって "removable" ではない
  • そのため(?)CD-ROMドライブに対する chrome.system.storage.ejectDevice が "failure" となりEjectできない。

という状況です(このあたりを見ると、CD-ROMはremovable扱いされていない感じです…)。

Linux版のChromeではさらに問題があり(Debian GNU/Linux on x86で確認)、

  • chrome.system.storage.getInfoで列挙できるデバイスの一覧はChrome起動時点のスナップショットでありChrome起動後に変更されたデバイスの状態は反映されていない
  • CD-ROMドライブに対する StorageUnitInfo.type は "removable" であるものの、chrome.system.storage.getInfo では StorageUnitInfo.capacity が0ではないため、そもそもどのデバイスがCD-ROMなのか判断できない
  • CD-ROMドライブに対してchrome.system.storage.ejectDeviceした場合にはroot権限でないためにumountに失敗する

という状況です。

(さらに余談ですが、chrome.system.stora.getAvailableCapacity というAPIはChrome beta版でもまだ実装されていないようです。)

そのようなわけで、Windows上では拡張内にEjectするためのVBScriptファイルを含めておき、これを拡張内で自らダウンロードして実行することによりEjectするという強引な手法を採っていますが、Linux版ではなかなかうまい方法がまだ見つかっていません。そんなわけで、早くLinuxでも(☝ ՞ਊ ՞)☝ウイーンできる日が来るよう、日々精進せねばと気を引き締める毎日です。

Eject Advent Calendar、明日は…だれ?

2013-11-20

[] バグハンティング生活  バグハンティング生活を含むブックマーク

セキュリティの専門家が錦糸町の小さな会社についたとき、JVNに一人のバグハンターが乗っていた。

JVNの中には数種のXSSが載せられていた。
そのセキュリティ専門家はバグハンターにバグの品質を褒めて、見つけるのにどれくらい時間がかかったのか尋ねた。

バグハンターは答えた。
「ほんの少しの間さ」

「何故、もう少し続けてもっとバグを見つけないのかい?」

「これだけあれば、家族が食べるのには十分だ。」

「でも、君は残った時間に何をするんだい?」

バグハンターは答えた。
「朝はゆっくり目を覚まし、少しXSS探しをして、社長たちと遊び、同僚の隆と昼寝し、夕方にはFacebookを散策し、はてブを味わい、アミーゴ(仲間)とTwitterで呟くのさ。それで人生は一杯さ。」

セキュリティ専門家は小馬鹿にし、
「私はCDIの上級分析官を取得しててね、きっと君を助けることが出来ると思うよ。」

「君は、もっとバグ探しに時間を割いて、その報奨金でIDA Proを買うんだ。IDA Proでまたバグハンティングをして、その報奨金で今度はデバッガを何種類も買うんだ。次第に、君はバグハンターの一団を率いるようになるだろう。そして見つけたバグをZDIに売る代わりに、ソフトウェアベンダに直接売るんだ。次第に、君は自分の脆弱性検査会社を始めるようになるだろう。君は検査・報告量をコントロールするようになる。このMSの古いブラウザを離れてMozilla Firefoxに移る必要が出てくる。それからApple Safariへ引っ越し、次第にGoogle Chromeへ移り、君はこれまで拡大してきた君の企業を運営するんだ。」

バグハンターは尋ねた。「でも、一体どれくらいのバグハンターがいるんだ?」

それに対して、セキュリティ専門家は答えた。「100人くらいだろうな。」

「で、それからどうなるんだ?」バグハンターは尋ねた。

セキュリティ専門家は笑って
「時に合えば、君はExploitを公開をし、君の会社の株を売って、大金持ちになるのさ、億万長者にね。」

「億万長者?…で、それからどうなる?」

セキュリティ専門家は言った。

「それから君は引退して、錦糸町に引っ越し、朝はゆっくり目覚め、少しだけXSS探しをして、社長たちと遊び、同僚と昼寝し、夕方にはFacebookを散策し、はてブを味わい、アミーゴとTwitterで呟くのさ………」

(参考文献:『日経産業新聞』,2013年11月20日,朝刊,「登場ネットの用心棒(下)」)