水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2007年のえび日記 > 2007年11月

2007年11月

2007年11月30日(金曜日)

CSRF と Cookie 漏洩は関係ない

404 Blog Not Found : Immortal Session の恐怖 (blog.livedoor.jp)」という話。

そしてcookieを奪うのがどれほど簡単かというのは、CSRFの事例が後をたたないことからも伺い知ることができる。

うーむ、CSRFの理解って結構浸透してきたと思っていたのですが、そうでもないようで……。

CSRF は Cookie を奪取してセッションハイジャックするような攻撃ではなく、攻撃者は Cookie の値を知る必要がありません。また、CSRF 攻撃によって攻撃者が Cookie を奪取することもできません。もちろん、別途 XSS があったりすれば Cookie を奪取できる余地がありますが、それは XSS による漏洩ということになるでしょう。

それから、User-Agent の一致チェックは対策としては不十分です。というのも、CSRF では原理上 User-Agent が一致するに決まっていますし、Cookie 奪取を想定するなら、攻撃者が User-Agent を一致させることは容易なはずです (攻撃者が Cookie を奪取できるが User-Agent の値は取れない、という状況は考えにくいので)。まあ、チェックしても害はないので、「念のため」としてチェックを導入しても良いと思いますが……。

また、IP アドレスの一致チェックについても、NAT やらなにやらで複数端末が同一 IP アドレスになるとか、逆にゲートウェイが複数 IP アドレスを持つために同一端末でもアクセスごとに IP アドレスが異なる、という事が起こり得ます。特に後者の場合は正規の利用者がアクセス不能になってしまう場合がありますので、こちらは「念のため」として導入するのにも注意が必要でしょう。

ちなみに秋のDK収穫祭 (side2.net)によると、

そんなこと言われたって、その抜かれてしまったパスワードはkogaidanだったわけですよ。

……だそうで、そもそも Cookie とか CSRF とかあんまり関係ない話だったようです。

関連する話題: Web / セキュリティ / CSRF / CSRFではない

ASP.NET で Path.GetTempFileName() が例外

ASP.NET でテンポラリファイルを使いたくなって、System.IO.Path.GetTempFileName() を使ってみたら

System.IO.IOException: ディレクトリ名が無効です。

という例外が出て死亡し、残念な思いをいたしました。普通に使うと普通に動くのですが、ASP.NET から使うと駄目な模様。

ASP.NET から環境変数 Temp にアクセスした時の値が変なのかと思いきや、Environment.GetEnvironmentVariable("Temp"); の結果には普通に有効なディレクトリ名が入っているし……。原因が今一つ分かりません。

関連する話題: C# / 失敗談

2007年11月25日(日曜日)

賭博破戒録カイジ

読みました。

パチンコで引っ張りすぎだから!

関連する話題: マンガ / 買い物 / カイジ

2007年11月24日(土曜日)

楽天テクノロジーカンファレンス2007

楽天テクノロジーカンファレンス2007 (www.rakuten.co.jp)に行ってきたので、印象に残ったところだけ簡単にメモしておきます。

「日本発の楽天に期待すること」

「楽天技術研究所フェロー」である、まつもとさん (www.rubyist.net)のお話。「何故楽天に?」「楽天で何を?」というお話がメインでしたが……そんなことより、もう楽天ロゴの真ん中の R が Ruby のロゴにしか見えないわけですよ……。

「Web開発者のための最新セキュリティ動向」

カーネギーメロン大学の武田さん (motivate.jp)のお話。一般的な脆弱性の話と DNS Rebinding、あとは OpenID の話題。細かい話ですが気になった点を挙げておくと、

  • 最近の高木さんの銀行オレオレ話 (takagi-hiromitsu.jp)は、正当な証明書を別なドメインで使おうとしている話なので、「自己署名」と言われるとちょっと違うかなと。
  • Java は DNS Pinning をしていた → Anti DNS Pinning 手法が登場 → 対策、という流れなのですが、Flash は Anti DNS Pinning 対策以前に、そもそも DNS Pinning 自体していないということでした (Black Hat Japan での話)。
  • 楽天のサイトをチェックしたら……という前置きはドキドキ。まさかオチが安心クッキー (hb.afl.rakuten.co.jp)とは……。

あと、ひさしぶりに公の場で officeさんの名前を聞きました。

楽天API

API を用意した目的とか、API 利用事例とか。驚いたのは、アクトビラ用楽天市場 (actvila.jp)が API を利用したものだという話。自前のサービスでも API を使うと開発コストが削減できるということですね。

WSDLが無いのは何故ですか、と質問してみたかったのですが質問タイム無し。

TV向け楽天市場サービス紹介

アクトビラ用楽天市場が API を利用したものだという話……は前の話で既出だったので驚きませんでしたが、改めて感心。

楽天グループのセキュリティ対策とCSIRT構築の取り組み

楽天の CSIRT「Rakuten-CERT」の紹介、日本CSIRT協議会の話など。

細かい話ですが、「JPCERT」という単語が連発されていたのが気になりました。「JPCERTコーディネーションセンター」、略して「JPCERT/CC」という組織がありますが、それを「JPCERT」と呼んでしまうのは推奨されていなかったような記憶があります。

懇親会

カオス。徳丸さん (d.hatena.ne.jp)っぽい姿を見かけたのでご挨拶しようと思ったのに、その後、結局遭遇できなかったというような状態。

グリーンカレーがおいしかった。

与太話

無料でラッキーと思っていたら、終電の時間を間違えていて、なんとタクシー代 7,000円の出費。orz

関連する話題: Web / セキュリティ

2007年11月21日(水曜日)

インターネット記念日

よつばとひめくり (www.amazon.co.jp)によると、11月21日は「インターネット記念日」なのだそうで。

関連する話題: 与太話 / よつばと! / あずまきよひこ

2007年11月20日(火曜日)

Feed2JS におけるクロスサイトスクリプティングの脆弱性

7月に届け出た奴ですが……。

Feed2JS では、

/feed2js.php?src=http://bakera.jp/ebi/rss

のように取得する RSS の URL を指定するようになっているのですが、この URL が Not Found のときはエラー画面が出るようになっています。そして、そこに URL が表示されるのですが、%3c が含まれていると < がそのまま出てしまったというお話です。ひたすらよくある XSS ですね。

※ちなみに CNET に「ウェブアプリケーション「Feed2JS」にクロスサイトスクリプティングの脆弱性 (japan.cnet.com)」という記事が出ていて、そこには「11月9日……公開した」とあるのですが、JVN や IPA のページの公開日は 20日になっています。私が連絡を受けたのも 20日なってからですし……。

関連する話題: セキュリティ / IPA / JPCERT/CC

2007年11月18日(日曜日)

スター120個

スーパーマリオギャラクシー (www.amazon.co.jp)、クリア & スター120個達成。

マリオ64はスター120個で終わりでしたが、ギャラクシーはこれで半分なんですね。先は長い……。

関連する話題: ゲーム / wii / マリオ / スーパーマリオギャラクシー

2007年11月5日(月曜日)

ノートPCの無線LANから自宅が特定される可能性

興味深いのでメモ : 「ユビキタス社会の歩き方(5) [重要] 自宅を特定されないようノートPCの無線LAN設定を変更する (takagi-hiromitsu.jp)」。

うっかりするとノートPC が自宅のアクセスポイントの MAC アドレスを垂れ流してしまい、そこから自宅の位置を特定される可能性があるというお話。

うーん、これはヤバイ。

関連する話題: セキュリティ

2007年11月1日(木曜日)

スーパーマリオギャラクシー

スーパーマリオギャラクシー (www.amazon.co.jp)、ひとまず購入。

とりあえず 30分くらいプレイ。うーん、いろいろな意味で不思議な感覚のゲームではあります。

関連する話題: ゲーム / wii / マリオ / スーパーマリオギャラクシー / 任天堂

最近の日記

関わった本など