AVTokyo2011に参加してきました。Androidのセキュリティとか何かネタが転がってないかなーとか、英語のセッション聴いてみて理解できるかな、とかその辺りが狙い目。 - AVTOKYO2011 - AVTOKYO JP -- http://ja.avtokyo.org/avtokyo2011 - AVTokyo2011のつぶやきまとめ(#AVTokyo) - Togetter -- http://togetter.com/li/213437 - AVTokyo2011まとめ - Togetter -- http://togetter.com/li/213408 セッションが並行していたため取捨選択しなければならなかったのだけれど、とりあえず英語セッションを聴いてみたいのと、最近Androidセキュリティ界隈で露出が多くなってるKDDI関連の人のセッションを聴いてみたかったのと、本業とかなり関係が深いSQLインジェクションのセッションということでずっと2Fに居ました。最後3FでWeb開発とかのトークイベントを拝聴して、帰宅。 - カードのPINやEMV POS端末などのskimmingの話題: -- 英語ヒアリング能力の無さを痛感。プレゼンの文章を(日本語翻訳も載せてくれていたので)追うので精一杯。 -- 磁気カードとICカードから情報を抜き取る手法。EMVというのは磁気カードからICカードへの切り替えをスムーズにするため、ICカードの読取やプロトコルを定めた読取端末の統一規格。 -- 磁気カードで読み取るかICカードを利用するかの切り替え部分や、CVM(Cardholder Verification Method)の優先順位の改ざんなどでPIN番号を平文で取得できる場合がある。 -- CVV(Card Verification Value) 数字3桁は弱いのでは?iCVVへの切り替え。 -- POS端末を入れ替えるとなると、数時間の間業務が停止する。オランダはそれでも決行した。 -- 参考:この辺予習しておけばもう少し聞き取れたかもしれない。"magstripe"とか最初分からなかった。 --- http://en.wikipedia.org/wiki/EMV --- http://en.wikipedia.org/wiki/Card_security_code - 「サイバー・クライム」の内側 -- FBIへのDoSが100Gbpsってどうやったら実現できたんだ・・・。 -- DoSを使った脅迫に対して、一度お金を払ってしまうと二度目、三度目と狙われる。 -- 国境を跨ぐ犯罪になるため、調査に手間がかかるし実行犯に対する刑罰が国によりバラバラだったりする。 - Androidフォンのセキュリティ -- KDDIではAPIの呼び出しをHOOKして、実際にcallされたときに利用者にpopupして許可するか確認できるようにAndroidを改造して検証中。 -- au one Marketでは開発者向けのサービスとして3,150円でAndroidアプリの検査を提供している。permissionや実行時のログなどを調査し、passすればMarket上で検査済みのマークが表示されるらしい。 -- 但し著作権法に抵触するリスクがあるため逆コンパイルまではしていないようだ。 -- WebViewでは独自にJavaScriptの関数を追加できるということもあり、独自に追加した関数を悪意のあるWebサイト上で呼ばれてしまう可能性があるとのこと。 --- 但し、例えばREAD_PHONE_STATEが必要な機能をJavaScriptから呼べるようにした場合、WebViewを組み込んだアプリであればどれでも利用できるわけではなく、その機能をJavaScriptにBINDしたアプリからのみでなおかつ、そのアプリ自身にも相応のManifestパーミッションが必要となる。なのでアプリのパーミッションを確認するのがまず重要。 -- Manifestパーミッションは開発者が独自に定義することもできるが、GoogleのAndroidMarketでは独自定義パーミッションは表示されない?らしい。au one Marketでは表示するようにしているが、表示内容にわかりづらさがあったとか。(「未知のパーミッション」等と表示されていた?) -- 企業向けにカスタマイズされた、より細かい制御が可能なOSを開発中。rootを取られたとしても被害を最小限にできるようにしたり。"3LM"でぐぐってみてください、とのこと。 -- これかな? --- http://www.kddi.com/business/3lm_security/index.html --- http://www.threelm.com/ - SQLインジェクションの過去と未来 -- MySQLメインの話。"SQL"は"シークェル"と発音すると目にしたことがあるが、実際にその発音をナマで聴いたのは初めて。 -- column名の重複でエラーになるというテクニックでplugin_dirとdatadirの位置を割り出し、 -- "SELECT INTO DUMPFILE"で7KBほどのユーザ関数を格納したDLLを書きだして、 -- "SELECT INTO DUMPFILE"で上で投入したユーザ関数をcallするTrigger用のデータファイルを書きだして、 -- 通常のSQLでtriggerを発動させる、という合わせ技。デモされたのはWindowsのシャットダウンコマンド。 そのあとは3Fで「徹底討論! デベロッパとブラウザの果てしなき戦い」を聴く。ほしくず氏が紳士すぎて惚れかけた。 Androidフォンのセキュリティについてスピーカーの川端氏にもう少し話を聴いてみたかったのだけれど、別件の用事が入ってしまいタイムアップで18:00頃撤退。 しかしセキュリティ業界って開発系よりは世界が狭いと言うか・・・2Fでオープニング待ってる間も、そこかしこで知り合い同士の挨拶や近況の共有、誰が辞めてどこに移ったとかそういう話ばかりが聞こえてきた。 あとtogetterの中で、「話しかけるの難しい、ボッチで寂しいよ」みたいな投稿がところどころ見かけられましたけど、ぼっちで参加するカンファレンスというのはいわば地引網みたいなもので、とりあえずぐわーっと周りの情景、雰囲気、雑音も含めたあらゆる会話やひそひそ声を頭の中に流しこんで、その中から1つか2つ、「あ、これ気になる」と思えるネタなり人物を見つけることが出来れば大成功レベル。その後深堀りしてけばいいんじゃないかな。別にカンファレンスに参加したからといって、みんながみんな誰とでも話しかけて盛り上がらなくちゃいけない、っていうルールが強制されてるわけじゃないので、ぼっち参加ならぼっち参加なりの「元の取り方」をしてけば良いように思う。 あと、スクリーンに映し出されてるプレゼンの資料をデジカメで撮影している人たちが多くて、新鮮というか「あ、そーゆーやり方があったのか」と今更ながら感心。自分、ずっとノートに手書きでメモしたりしてた・・・。