水無月ばけらのえび日記

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

2008年10月

2008年10月31日(金曜日)

Wiiプロゴルファー猿

公開: 2018年11月15日23時45分頃

Wiiのスカイ・クロラ (www.amazon.co.jp)の話から、なんとなくプロゴルファー猿 (www.amazon.co.jp)の話題に。

プロゴルファー猿はファミ通のクロスレビューで「3・3・3・3」の12点をたたき出した凄いゲームで、ネット上でも結構話題になっているようです。Amazonのレビューを見ると5つ星をつけているひとが結構いるのですが、注意深く読んでみると「クソゲーハンターにオススメ」みたいなレビューだったりとか……。

そして何より印象深いのは、任天堂のサイトに出ているジャンルの表記。

プロゴルファー猿

なりきりゲーム

以上、Wii 任天堂以外のソフト より

ゴルフゲームではありません、「プロゴルファー猿なりきりゲーム」という新たなジャンルを確立したのです。実際、ゴルフゲームではないらしいですが……。

関連する話題: ゲーム

アルゴリズムデザイン

公開: 2018年11月15日21時37分頃

価格が、価格がっ! とても一般人に買える価格とは思えないッ!!

ということで、この本を購入したりゅうさん (rryu.sakura.ne.jp)は、今日一日「麻生」と呼ばれ続けたという……。恐ろしい……。

※でも、20世紀少年 (www.amazon.co.jp)シリーズ全巻買うのも大差ないじゃんと言われてしまいました。まあ、そうか。

関連する話題:

ツン読

「地域最大」で1000円以上買うとくじが引けるキャンペーンをやっていたので、うっかり本を買ってしまったり。

買ったのに読んでいない本がかなり蓄積されている……。

他にもあったかも。ちなみに、くじは外れました。

※「地域最大」というのは、浜松町の貿易センタービルにあるブックストア談浜松町店のこと。入り口に「地域最大」と書いてあって、それが店名よりもインパクトが強いためこう呼ばれています。

関連する話題: / 買い物 / とらドラ! / 容疑者xの献身 / 探偵ガリレオ

若手はすごい

若手は意外にすごい。彼らの技を盗み取ろう (business.nikkeibp.co.jp)」。

「まだまだ半人前だ」とか「今どきの若者はまともに日本語がしゃべれない」などとぬかっていると、せっかくの彼らの優れた部分を見失う。まずは若者への誤った先入観を捨てよう。

確かに、若者の方がタグと要素の違いを正しく理解していたり、ちゃんと「実体参照」という言葉を知っていたりする気がします。少なくともHTMLに関しては、10年前と今では教育のレベルが全く違いますしね。

※冗談でも誇張でもなく、10年前はウソを教えている本の方が多かった。

関連する話題: 思ったこと / HTML / 教育

Atomを修正

テスト中のhatomaru.dll (test.bakera.jp)ですが、W3C Feed Validation Service (validator.w3.org)でフィードをvalidateしたら残念なことになっていたので修正。これでたぶん大丈夫でしょう。

今のところ大きな問題は出ていないようなので、明日未明頃に本番のシステムを入れ替える予定です。移行作業の前後では表示が不安定になるかもしれませんが、ご容赦ください。

※で、本番化して初めて無数のバグが表面化してくるので、随時修正すると。:-)

関連する話題: hatomaru.dll

ウェブの仕事力が上がる標準ガイドブック5 Webプログラミング

そういえばもうすぐ出るようなのですが、メモし忘れていました……「BOOK:ウェブの仕事力が上がる標準ガイドブック5 Webプログラミング (withd.jp)」。

我が社が誇るシニア・ソフトウェアエンジニア、我らがリーダーのRiyuuzi Sakai氏(誰?)がリアル書籍に初の執筆! 歴史上の重要なマイルストーンとなる一冊だッ!!

※って、どんな宣伝文句だよ……。あと、私もちょこっと書いていたりします。

関連する話題: Web / プログラミング /

2008年10月30日(木曜日)

VBAでTwitter

Twittexceler (subtech.g.hatena.ne.jp)

Excel VBA で Twitter クライアントを作ってみました。これでお仕事中にもこっそりTwitterできます!

ヨスケ先生にオススメ?

※……いや、ヨスケ先生は堂々とTwitterやってたし、必要ないか。

関連する話題: メモ

あたしンち 14

購入。

※表紙の色がいつもとかなり違うテイストだったので、一瞬わかりませんでした……。

関連する話題: マンガ / 買い物 / あたしンち

なんでもベータ

Firefoxの開発版「Minefield」は高速だけど地雷もある (slashdot.jp)」。まあ、「地雷原」という名前が付いているくらいですからね……。

このコメントが興味深いです。

どこのどいつが始めた慣習かは知りませんが、なんでもβってつけときゃ許されるって風習のせいで

「βとつくサービスでも案外普通に動く」という認識が一般に広がっているのも一因の気がします。

(最近はダウンロードが必要なソフトウェアにも同文化が感染しつつありますが)

以上、βの氾濫 より

確かに、「β」という表現は形骸化してきてしまっているかも。

関連する話題: 思ったこと

Aの世界

「麻生首相宅見に行こう」 ネットで募り無届けデモ容疑 (www.asahi.com)……なんて話がありましたが、その現場映像がいくつかYouTubeに出ていますね。

特に印象的なのがこれ。

無届けデモという話ですが、前者のビデオを見る限りでは「5人ずつ歩道を歩く分にはOK」という旨のことをはっきり言われていますし、それを逸脱するようなことはしていないように見えるのですよね。

そして後者の映像はなかなかのインパクトです。べつに暴れたりしているわけでもないのに、少し離れたところから「よしっ!」と言って向かって行く様子がハッキリわかります。どう見ても警察官が自ら積極的に突進して行っているようにしか見えません。

これで公務執行妨害というのは、「A (www.amazon.co.jp)」と同じ世界ですなぁ。

関連する話題: 思ったこと

パナソニックが23年ぶり最高益

景気の悪いニュースが多い中、こんなニュースが。

社名変更も無事済んだことですし、このまま勢いに乗れると良いですね。

関連する話題: メモ

2008年10月29日(水曜日)

書籍の脆弱性: はじめてのPHPプログラミング基本編 5.3対応

徳丸さんによる書籍の脆弱性シリーズ第二弾、書籍「はじめてのPHPプログラミング基本編5.3対応」にSQLインジェクション脆弱性 (www.tokumaru.org)

汎用的なsqlエスケープ関数を用意して、対策をこの関数にカプセル化しようという心意気はよかったのだが、あいにくこの関数にバグがあって、意図がかえって仇となる結果となった。

はじめてのPHPプログラミング基本編 5.3対応 (www.amazon.co.jp)」に書かれているdbescapeという関数の実装にバグがあり、複数の引数を受け取るとSQLインジェクションが可能になるというお話。SQLインジェクションの対策として紹介されている実装が脆弱ということで、本の通りにまじめに作ると脆弱になってしまいます。これはかなりマズイかもしれません。

著者のサイトではさっそく正誤表が出ていますね……「はじめてのPHPプログラミング 基本編―5.3対応 (TECHNICAL MASTER 54) (www.doyouphp.jp)」。

関連する話題: PHP / セキュリティ / 書籍の脆弱性 / SQLインジェクション

ヨドバシどっと混む

ヨドバシカメラのサイトが大変なことになっているようで。

アクセスしてみるとこんな感じの応答が返ってきたり。

HTTP/1.1 200 OK
Date: Wed, 29 Oct 2008 05:51:51 GMT
Server: Apache
Pragma: no-cache
Cache-Control: private
Expires: -1
Set-Cookie: JSESSIONID=709E173492C3070D9A954F111D6B9F77; Path=/cs
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Set-Cookie: SS_X_JSESSIONID=17152FD41ADBAED85E283F15E77F20AF; Path=/
Content-Length: 83878
Content-Type: text/html;charset=Windows-31J
Set-Cookie: BIGipServerPool_www_yodobashi_com_cms=1191946432.20480.0000; path=/

Cookie多すぎ! 全く同じSet-Cookieフィールドが9つも出力されています。変なことが起きているのは間違いなさそうですが、どうしてこんな事が起きるのかはよくわかりません。

最後のCookieを見ると、ロードバランサとしては割と定番のBIG-IPを使っているようですね。画像やCSSは別のサーバに振られているようですし、負荷分散についてそれなりに考慮している形跡はあるのですが……。

※負荷分散はそれ自体いろいろ複雑なようで、「負荷テストは大丈夫だったんだけど本番に置いたらメチャクチャ遅くなり、サーバ屋さんがロードバランサの設定を変更して解決した」なんて話もたまにありますね。

関連する話題: Web

503の2乗

高木さんの日記が……。

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Additionally, a 503 Service Temporarily Unavailable error was encountered while trying to use an ErrorDocument to handle the request.

503になり、しかもその503のエラーページも内部的に503になって表示できないという。

関連する話題: 与太話

水で脱臭する空気清浄機クリアフォース

「煙草大嫌い」 ダイキン女性社員の生んだ空気清浄機 (www.itmedia.co.jp)

空調生産本部デザイングループの樫本寛子さん(28)は昨年、非技術系の若手社員10人による「20代チーム」を結成した。たばこが大嫌いな樫本さんは、「飲食店でコートなどに付いたたばこのにおいを、ハンガーにかけておくだけで取る方法はないだろうか」と考えていた。

そうそう。飲食店で厳しいのは当然なのですが、帰ってからがまた厳しいのですよね……。

加湿機能があれば花粉の時期にも良さそうな気がしますし、結構良いかも。

※なにげにAmazonにありますね……ダイキン 除加湿空気清浄機 クリアフォース MCZ65JJ6-W (www.amazon.co.jp)。しかし高いなぁ。従来品 (www.amazon.co.jp)の倍以上するのですね。

関連する話題: メモ / たばこ / 飲食物

2008年10月28日(火曜日)

MTFileUploader

使ってみたのでメモ: MTFileUploader (coderepos.org)

MTをCMSっぽく使っている場合、新規ページを追加するたびに大量の画像を投入する必要があったりします。しかしMTのインターフェイスでは画像を一点ずつちくちく登録する必要があり、かなり大変です。

このツールを使うとXML RPC経由でどばっと投入できるので、だいぶ楽になります。

関連する話題: Movable Type / メモ

ワンタイムトークンをハッシュ関数で処理する意味はある?

更新: 2008年10月29日

PHPでのセキュリティ対策についてのメモ (note.openvista.jp)」。なかなか良くまとまっていると思いますが、CSRFの話で少し気になった点が。

第三者が知り得ない文字列(ユーザIDやワンタイムトークンなど)をハッシュ関数(md5関数やsha1関数)を複数回用いて擬似乱数化した文字列をフォームに埋め込んでおき、サーバ側で照合することで、リクエストが利用者の意図した動作かどうかをチェックする

以上、PHPでのセキュリティ対策についてのメモ クロスサイトリクエストフォージェリ(略称:CSRF) より

※強調は引用者による。原文では<span class="weaken">でマーク付けされている

※2008-10-29追記: 引用した部分は既に修正されています。

「疑似乱数化」ってなんでしょう……。「疑似乱数」は良く聞きますが、「疑似乱数化」は耳慣れない言葉です。複数のハッシュ関数で処理することをそう呼ばれているようなのですが、ハッシュ関数を何度通しても得られる結果は常に一定なはずですから、乱数とはあまり関係ないように思います。

それから、ユーザIDをハッシュ関数に通してそれをトークンとして使うという手法は、CSRF対策としては不適切です。ハッシュ関数を通すと、「生成後の値から元の値を推測することが困難になる」という効果が得られます。しかし、ここで推測されて困るのは元の値 (ユーザID) ではなく、生成後の値のほうです。ユーザIDとハッシュアルゴリズムがわかれば攻撃者もトークンを作れてしまいますから、CSRFの対策としては問題があります。

※あるいは、オリジナルのハッシュアルゴリズムを採用して、そのアルゴリズム自体を秘匿するとか? :-)

ワンタイムトークンを使うのであれば、それ自体はCSRFの対策になります。が、トークンが安全に作られていればハッシュ関数を使用する必要はありません。逆に、トークンの生成アルゴリズムに問題があれば、ハッシュ関数を通しても安全にはなりません。ハッシュ関数を使う必要はないと思います。

なお、類似するケースとして、「セッションIDをハッシュ関数で処理してトークンとして利用する」という処理があります。これは実際、よく見かける実装です。ただ、この場合は「トークンを推測されないように」という理由でハッシュ関数を使っているのではなく、「たとえトークンが漏洩してもセッションIDを推測されないように」という理由でハッシュ関数を使っています。つまり、ここでのハッシュ関数による処理はセッションID漏洩への対策であって、CSRFへの対策ではないのです。

※もっとも、「トークンだけ漏れてセッションCookieが漏れない」という状況も考えにくいように思うので、このハッシュ関数も必須ではないように思います。気分的な問題で採用されているというのが近いかも。まあ、やっても害はないので問題ありませんが。

というわけで、「第三者が知り得ない文字列」というところまではよいと思うのですが、その生成方法として「ハッシュ関数を」というのは問題があるように思います。基本的には、安全な疑似乱数を使用して生成する、というのがセオリーでしょう。

とは言っても、とにかく疑似乱数を使えば良いというわけではありません。疑似乱数にもいろいろありますが、線形合同法やメルセンヌ・ツイスタなどのアルゴリズムでは、値を観測することで次に生成される値が予測されてしまう事があります。

……ただ、PHPだと、標準では安全な乱数が使えないかも……。

※通常はセッションIDが安全な疑似乱数によって生成されているので、それをそのまま使うことでもCSRF対策になります。これをそのまま使うのではなく、ハッシュ関数で処理してから使うというのが前述の方法ですね。

※あと、どうでも良いのですが「セキュリティ対策」という言葉自体に違和感があります。セキュリティに対抗してそれを破るという話ではなく、セキュリティを高めるための話をしていますので……。まあ、意味はわかるので問題はありませんが、どちらかというと「セキュリティ施策」とか言った方が良いのかも。

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

2008年10月27日(月曜日)

ドージンワーク6

5巻 (www.amazon.co.jp)で完結していたはずなのに、なぜか6巻が出ていたので購入。

5巻の3年後の話で、主人公も違います……というか、なじみは全く出てこないですね。露理と星は出てますけど。ちなみにソーラは準主役級。

※というか、表紙の右側がソーラだって気がつかなかった……。

主人公は中学生ですが内容は相変わらずで、子ども向けではないので注意が必要かも。

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

IE8βの謎

こんなシンプルなHTMLがあったとします。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>テスト</title>
</head>
<body>
<p>下に画像があるはず</p>
<!--[]--><div><p><img src="http://bakera.jp/shared/images/ebibg" width="34" height="26" alt="?"></p></div><!---->
<p>上に画像があるはず</p>
</body>
</html>

スタイルシートも何も適用されていないわけですが、IE8β2では、何故かこの画像が表示されないことがあります。再現率100%でないのがいやらしい……。前後のコメントを削除すると、ちゃんと表示されるというのも謎。コメント中の [] がコンディショナルコメントの一部っぽく見えるのが良くないのかも。

※Googleの検索結果が表示されないとか、他にもいろいろ怪しい挙動はありますね。正式版では良くなるのかなぁ。

関連する話題: メモ / Microsoft / Internet Explorer

新hatomaru.dll一通り完了?

hatomaru.dllのテスト (test.bakera.jp)

何気に内部の処理がだいぶ変わったり、くりきんスレ省略機能が実装されたり、右側ナビの下に最近書いた本を表示する機能が実装されたりしました。

これで正常系に追加したかった機能は一通り実装した感じ。あとはエラー周りを実装しつつ、しばらく様子見。問題なければ11月から新実装に移行したいと思います。

関連する話題: hatomaru.dll

2008年10月26日(日曜日)

勇吾さんインタビュー

文化庁メディア芸術プラザのサイトに勇吾さんのインタビュー記事が載っていますね。「Entertainment Meister - Vol.5 中村 勇吾 (plaza.bunka.go.jp)

大きなクライアントの仕事が多かったですね。僕が手がけたのは、NTTデータ、パナソニック、ソニーなど、大企業のホームページをゼロからつくり直す案件が中心でした。頼まれてもいないのに凝ったデザインにしたりして、逆に「使いづらい」と言われてつくり直したことも(笑)。

そういえば、勇吾さんの作ったFlashコンテンツに、私が「真っ白ですが」とツッコミを入れるのがお約束になっていたなぁ……などと懐かしく振り返ってみたり。

※当時は、弊社制作物でもちゃんとした代替が用意されていないケースが結構あったのです。なお、代替を用意するのは勇吾さんの役目ではないので、勇吾さんが悪いわけではありません。

関連する話題: Web

2008年10月25日(土曜日)

本人から教えてもらったパスワードで不正アクセスは成立する?

オンラインゲーム内での「離婚」に腹を立てた女性、相手のオンラインゲームキャラを削除して逮捕 (slashdot.jp)」。

女性によると、IDとパスワードは以前に男性から聞いていたとのことだ。傍から見ると非常にどうでもよいような事件だが、最終的に北海道警が動く事態となり、女性は不正アクセス禁止法違反容疑で逮捕された。「男性はゲームが下手で、容疑者にIDを教え、自分のキャラのステージクリアを頼んでいた」とのことで、不正アクセスなのかどうかも非常に疑問ではあるのだが、個人的にはこんなどうでもよいような事件に関わることになった警察の方々に同情したい。

これはなかなか興味深い状況ですね。規約 (www.nexon.co.jp)を見ると以下のようにありますので……

4. 会員は、会員IDおよび会員パスワードを第三者に利用させてはならないものとします。

以上、ネクソンジャパン会員サービス利用規約 より

IDとパスワードは不正アクセス禁止法2条2項の「識別符号」にあたるでしょう。件の男性会員はその識別符号を第三者である女性会員に教えており、その女性会員が実際にその識別符号を使ってログインし、ゲームをプレイしていたわけですね。

パスワードを他人に教えるのは会員規約違反ですが、違法ではなさそうです。不正アクセス禁止法4条の但し書きを見ると、

何人も、アクセス制御機能に係る他人の識別符号を、その識別符号がどの特定電子計算機の特定利用に係るものであるかを明らかにして、又はこれを知っている者の求めに応じて、当該アクセス制御機能に係るアクセス管理者及び当該識別符号に係る利用権者以外の者に提供してはならない。ただし、当該アクセス管理者がする場合又は当該アクセス管理者若しくは当該利用権者の承諾を得てする場合は、この限りでない。

以上、不正アクセス行為の禁止等に関する法律 第4条 より

利用権者の承諾を得てパスワードを他人に教える場合はOKですので、利用権者本人が他人にパスワードを教える行為は合法のようですね。

そして3条2項1号を見ると、

アクセス制御機能を有する特定電子計算機に電気通信回線を通じて当該アクセス制御機能に係る他人の識別符号を入力して当該特定電子計算機を作動させ、当該アクセス制御機能により制限されている特定利用をし得る状態にさせる行為(当該アクセス制御機能を付加したアクセス管理者がするもの及び当該アクセス管理者又は当該識別符号に係る利用権者の承諾を得てするものを除く。)

以上、不正アクセス行為の禁止等に関する法律 第3条 より

ということで、「利用権者の承諾を得て」ログインする場合は、1号不正アクセス行為には該当しません。今回のケースは2号、3号にも該当しないでしょう。

まとめると、

……ということで、ログインすることについて、利用権者の承諾があったかどうかが問題になります。もちろん「キャラクタを消すためにログインする」なんてことは承諾していなかったでしょうから、そのログインについては承諾がなかったのだという主張になりそうです。

しかし、たとえばこんな感じだったら……?

この場合、利用権者の承諾を得てログインしていますし、ログインの時点では悪意も何もなく、利用権者の意に沿っているだけです。そして、気が変わった後には、識別符号を入力する行為はしていません。キャラクタの削除自体は不正アクセス行為ではありませんから、これはOK……ということになるのですかね?

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

2008年10月24日(金曜日)

MS08-067緊急パッチ

マイクロソフト セキュリティ情報 MS08-067 - 緊急 : Server サービスの脆弱性により、リモートでコードが実行される (958644) (www.microsoft.com)」。

細工されたRPCによってリモートから任意コードが実行できる……ということは、Blasterが利用していたMS03-026 (www.microsoft.com)と同種の脆弱性ですね。

既に攻撃が行われているという話もあるようで、大変まずいです。可及的速やかにパッチを当てる必要がありますね。

※利用者のリテラシも向上しているのでBlasterやWelchiaの再来は無い……と思いたいのですが、どうですかね。

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

2008年10月23日(木曜日)

ニンテンドーDSiでも従来ソフトではWEPになる?

ニンテンドーWi-Fiネットワークアダプタ (wifi.nintendo.co.jp)のサイトで社長が訊く「ニンテンドーWi-Fiネットワークアダプタ」 (wifi.nintendo.co.jp)が公開されていますね。

岩田

Wiiやパソコンをつなぐときは、セキュリティレベルの高い方式を使いながら、一方ではDSともちゃんと通信ができるという仕組みなんですよね。

あと、先日発表されたばかりのニンテンドーDSiを使うときは、従来のDS用ソフトは、従来のセキュリティレベルですが、ニンテンドーDSiブラウザーやニンテンドーDSiショップなどDSi専用に作られた新たなソフト群では、セキュリティレベルの高い方式を使えるようになりました。

ということは、DSiでも従来のソフトではWEPでの通信になるということですね。

「WEPを捨てるためにDSiを買う」ということを一瞬検討しましたが、そもそもそういうことはできなかったのですね。orz

DSiはWEPを捨てる良いタイミングという話もありましたけれど、前提が……。

関連する話題: ニンテンドーDS / セキュリティ

MyJVN

脆弱性対策情報収集ツール「MyJVN」を公開 (www.ipa.go.jp)」だそうで。去年くらいから作っているという話は聞いていましたが、ようやく登場ですね。

……って、Flashですか。しかも、個々の脆弱性情報を参照しようとすると、ポップアップウィンドウを開こうとしてポップアップブロックを喰らったりしますね。これはちょっとつらいかも。

このFlash、基本的には JVNRSS (jvnrss.ise.chuo-u.ac.jp) を絞り込み表示しているだけのようなので、UIを勝手に作り直すこともできそうな気がしますが。

※JVNRSSは、RSS1.0に名前空間http://jvn.jp/rss/mod_sec/の要素 (jvnrss.ise.chuo-u.ac.jp)をいくつか追加したもの。

関連する話題: IPA / JPCERT/CC

2008年10月22日(水曜日)

Extended ValidationではなくElectric Vehicle

見えてきた!EV本格普及への道 (www.nikkeibp.co.jp)

先ごろ日産自動車が2010年に電気自動車(EV)を発売すると表明した。

……見出しで、EV SSLの話かと思ってしまいました……。orz

関連する話題: 与太話

ポメラ

起動は2秒、ATOK、パンタグラフキー搭載--キングジム、デジタルメモ「ポメラ」発表 (japan.cnet.com)」。

おっ、これは電車内で原稿書いたりするのに良いかも……と思ったのも束の間。

作成したデータはテキスト形式(.txt)で保存される。内蔵メモリは128Kバイトで1ファイルあたり約8000字のファイルを6ファイルまで保存できる。micro SDにも保存できるが、1ファイルあたり8000字の制限は変わらないという。

1文字2バイトで計算しているとして、16KBですか。

長編小説は論外ですが、雑誌原稿でも厳しいですね。手元にたまたまあった去年のSSL記事の草稿を見ると、40KBを超えています。短い原稿なら書けそうですが、基本的にはコンセプトのとおり、メモにしか使えないと思った方がよさそうです。

関連する話題: 与太話 / ATOK

visited疑似クラスの話・続き

visited疑似クラスの話ですが、20日あたりからBug147777 (bugzilla.mozilla.org)の議論がふたたび盛り上がっているようですね。

設定で:visitedを全無視できるようにする方向……なのでしょうかね? まだ収束していない感じではありますが。

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

2008年10月21日(火曜日)

JVNのクレジットに英語表記も併記しては?

先日のMT4.22の件、なにげにSecuniaのサイトにも出ていたりするのですね。「Movable Type Unspecified Cross-Site Scripting Vulnerability (secunia.com)」……で、クレジットも表記されているのですが、

JVN credits Mr. Riyuuzi Sakai, Architects Inc.

……いや、なんかいろいろ間違っている気がしますけれど。"Ryuji Sakai, Business Architects Inc." が正解。

ちなみに届出時には以下のように記載していまして、ちゃんと英語表記も送っているつもりなのです。

記載しても良い場合は、記載する情報を記入してください(日本語、英語)

所属:株式会社ビジネス・アーキテクツ (Business Architects Inc.)

氏名:坂井 隆二 (Ryuji Sakai), 吉野 友人 (Tomohito Yoshino), 太田 良典 (Yoshinori Ohta)

おそらくSecuniaはこれを見ているわけではなく、JVNの日本語の表記を見て、そこから英訳しているのでしょう。

これは、JVNの日本語ページが英語圏のユーザに見られているということを意味するわけで……こういうニーズがあるのなら、JVNでは英語表記も併記してもらった方が良いのかもしれないと思いました。せっかく英語表記も送っているのに、使われないのはもったいないです。

関連する話題: JVN / IPA / JPCERT/CC / 情報セキュリティ早期警戒パートナーシップ / Movable Type

PHP×携帯サイト デベロッパーズバイブル

うわさの「PHP×携帯サイト デベロッパーズバイブル (www.amazon.co.jp)」を軽く見ましたが……「ゆるいなぁ」、というのがひとまずの感想。

メモ的なコメントを順不同でだらだら列挙しておきます。

ちなみに内容ですが、HTMLの説明はきわめて少なく、CSSの説明は一切なしと言って良い状態で、バックエンドの実装の話しかありません。バイブルと謳っていますが、この本だけで携帯サイトを開発することは難しいでしょう。

※スタイル一切なしで良いのであればともかく。

……と、ややネガティブな感想が並びましたが、ちゃんと収穫もありました。特に「SJISを指定すると絵文字が壊れるがSJIS-winを指定すれば大丈夫」という話は、なかなか興味深いです。

初学者にはオススメしませんが、ある程度知識のある人がバックエンド実装のノウハウを身につけたいという場合には良いのではないかと思います。

関連する話題: / PHP

2008年10月20日(月曜日)

21世紀少年上・下

21世紀少年の上・下を購入。

やっと完結。

当初は読破しようとは思っていなかったのですが、「正体は誰?」というのが気になって続きを読んでしまう罠。

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

BlosxomのXSS脆弱性が修正

BlosxomのXSS脆弱性が修正されたようで。

2007年の5月に届け出ていたやつですね。

BlosxomのパーマリンクなんかのURLから拡張子を削ると、こんなメッセージが表示されて……。

Error: I'm afraid this is the first I've heard of a "ht" flavoured Blosxom. Try dropping the "/+ht" bit from the end of the URL.

……まあ、あとはあえて説明しませんが。

Blosxom2.1.2で修正されている模様です。

関連する話題: セキュリティ / Web / IPA / JPCERT/CC / 情報セキュリティ早期警戒パートナーシップ

拡張子に脆弱性の気配を感じる人

マニュアルでそれ以外の何かであると偽装することが勧められているPHP (rryu.sakura.ne.jp)

(拡張子がphpというだけで脆弱だと感じる人を除く)。

誰のことですかっ。

個人的な拡張子の印象(?)としては、.aspx < .jsp < .cgi << .php < .asp < .cfm といったところですかね……。

こう見ると意外にPHPはがんばっている気がしますが、.aspは非常に古いものが多いですし、.cfmは滅多に見ないので、.phpが目立つのかもしれません。

あと、Railsアプリなんかは拡張子なしがデフォルトだったり、拡張子だけでは分からないケースも増えていますね。

※かく言うこのサイトが拡張子なしですね。まあ.NETなのですが、ASP.NETの機能はほとんど使っていないという変なアプリでして……。

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

hatomaru.dll修正中

テスト中のhatomaru.dll (test.bakera.jp)は案の定バグが大量にあり、以下を修正。

あと、Not Found の画面を作り忘れていたので作らないと。

関連する話題: hatomaru.dll

2008年10月19日(日曜日)

中学生女子がひき逃げ

ひき逃げ容疑で中3女子逮捕 男性180m引きずり放置 (www.asahi.com)」。

もちろん無免許運転。不覚にも苺ましまろ (www.amazon.co.jp)の伸恵を連想してしまった……。

関連する話題: 与太話

高木さんの日記がいつも503になっている件

高木さんの日記 (takagi-hiromitsu.jp)にこんなお知らせが。

お知らせ: Firefoxに先読み機能の拡張機能を導入している方はご遠慮ください。一瞬にして十数件ものアクセスが集中して503エラー状態(Service Temporarily Unavailable)となり、他の方が読めない原因の1つとなっています。

Fasterfox (addons.mozilla.org)のようなものをご遠慮くださいということで。

Fasterfoxに関しては、「Fasterfoxが酷すぎる件 (la.ma.la)」なんて話もあるようですね。「Fasterfox の先読みをブロックする方法 (www.lucky-bag.com)」によると、robots.txt でブロックできるようですが……。

関連する話題: Firefox

20世紀少年20~22

20世紀少年の20巻~22巻を買ってみるテスト。

あれ、完結してない?

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

Atomフィードを追加

テスト中のえび日記 (test.bakera.jp)にRSSのlinkを入れ忘れていたので追加。

ついでにAtom1.0のフィードも実装してみましたが、正しく生成できているかどうかイマイチ自信なし……。

関連する話題: hatomaru.dll

2008年10月18日(土曜日)

20世紀少年12~19

20世紀少年の12巻~19巻を買ってみるテスト。

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

Flash Player 10とバージョン判定

Adobe、クリックジャック攻撃対策も行われたFlash Player 10を公開 (slashdot.jp)」。バージョン番号が2桁になりましたね。

変数の型が静的に決まらない言語の場合、こういう話が良くあります。

数値として比較すれば 10 > 2 なのですが、文字列として比較すると "10" < "2" となります。バージョン判定にこの罠があると、バージョン10がバージョン2未満と思われてしまったりするわけです。

というわけで、バージョン判定が残念なことになっている例があちこちにあるようでして、いろいろ大変なわけでございますよ。

関連する話題: Flash

新hatomaru.dllのテスト

このサイトを管理しているプログラム hatomaru.dll ですが、だいぶ昔に作り直そうかなと思ってから1年余。何もないところから再実装して、ようやく一通りの機能が実装できました。

というわけで、新しい hatomaru.dll を http://test.bakera.jp/ (test.bakera.jp) でテストしています。一部変更されている点もありますが、使いやすくなるのか、使いにくくなるのか……。

一番大きな変更は掲示板のスレッド表示です。特定記事へのコメントの場合、現在は各コメントの中に「※これは××に対するコメントです」と表示しているのですが、これが親コメントへのリンクに見えたりして、なかなか紛らわしい感じがしております。新しいシステムでは、スレッド表示の頭にコメント対象記事へのリンクが表示され、そこにコメントがぶら下がるようになりました。この方が構造に即した表示になっているような気がするのですが、どうでしょうか……。

ちなみにコメントの書き込みなども試せるようになっていますので、どんどん試していただいてかまいません。ただし、テストが終了した段階でテストサイトにつけられたコメントは全部削除される運命にありますので、ご注意ください。

※たぶん、バグの嵐なのだろうなぁ。

関連する話題: hatomaru.dll

2008年10月17日(金曜日)

20世紀少年9,10,11

20世紀少年の9巻~11巻を買ってみるテスト。

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

MT管理画面の件がJVNで公開

更新: 2008年12月3日15時55分頃

JVNで以下の情報が公開されました。

この情報公開に伴い、過去の日記に対して追記・修正を行いました。

MT4.22 にこの修正が含まれているようですね。

※2008-12-03追記: しかし、実はこの修正は不完全で、まだ脆弱性が残っていました。MT4.23でさらに修正されています。たぶん関連: 「なかなか直らないMovable TypeのXSS脆弱性の訳 (rryu.sakura.ne.jp)」。

※……また別途追記するかも。

関連する話題: Web / セキュリティ / IPA / JPCERT/CC / 情報セキュリティ早期警戒パートナーシップ / Movable Type

visited疑似クラスのビーコンを拾うサービスが登場

行動ターゲティング広告はどこまで許されるのか (it.nikkei.co.jp)」。

行動ターゲティング広告は以前から存在していたが、今年の動向として新しいのは、行動を追跡する手段として、自サイトでの閲覧行動だけでなくよそのサイトでの閲覧行動まで追跡するタイプが現れたことだ。

(~中略~)

仕組みはこうだ。Webページのリンクは標準では青色で表示されるが、訪問済みのリンクは紫色に変わる。このリンクの表示色をJavaScriptなどのプログラムで取得することができれば、閲覧者が特定のサイトに行ったことがあるか否かを調べることができてしまう。

以前、津田ふみかさんがご指摘されていた話ですね。実際に悪用(?)する人が現れたようで……。

仕組みはとても単純で、以下のようにすれば簡単に情報が取得できます。

<style type="text/css>
#sita-A a:visited{background:url("/beacon/site-A.gif")}
#sita-B a:visited{background:url("/beacon/site-B.gif")}
</style>

<ul>
<li id="sita-A"><a href="http://other-company.example.com"></a></li>
<li id="sita-B"><a href="http://rival-company.example.com"></a></li>
</ul>

これで /beacon/site-B.gif がアクセスされたら、そのユーザは http://rival-company.example.com にアクセスしたことがあると分かるわけです。

これ、確かに問題はあると思うのですが、実装のミスによるバグというわけではではなく、仕様どおりの動作なのですよね。対策は難しいと思うのですが、どうなのでしょう。軽く考えてみると……。

Bugzillaの「Bug 147777 - :visited support allows queries into global history (bugzilla.mozilla.org)」では 2002年から議論が続いているものの、いまだに決定版と言える対策は打ち出されていないように思えます……。

※2010-04-03追記: Firefoxでは、:visitedでは色だけしか変えられない、といった対策を実施するようです……「次期Firefoxでは:visited疑似クラスのスタイルが制限される」。

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

2008年10月16日(木曜日)

MT4.22のセキュリティ修正

更新: 2008年10月17日

[重要] セキュリティアップデート Movable Type 4.22 の提供を開始 (www.movabletype.jp)」。

アプリケーション管理画面の一部において、適切に入力エスケープされないため、クロスサイトスクリプティングが発生しうる

入力エスケープって……。どちらかというとテンプレートの出力時の不具合だと思うわけですが。

……というツッコミはさておき。

※以下、2008-10-17追記。

詳細が出ていないし謝辞も特に表示されていないので、私が届け出たやつの修正なのかどうかが分からないというのが困ったところ。1日後にJVNに出たので、たぶんそうなのでしょうが……。

※なんか他のバグ修正も混ざっているっぽい。

関連する話題: セキュリティ / MT / IPA / JPCERT/CC / 情報セキュリティ早期警戒パートナーシップ / Movable Type

20世紀少年6,7,8

20世紀少年の6巻~8巻を買ってみるテスト。

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

2008年10月15日(水曜日)

書籍の脆弱性シリーズ?

書籍「PHP×携帯サイト デベロッパーズバイブル」の脆弱性 (www.tokumaru.org)……ということで「PHP×携帯サイト デベロッパーズバイブル (www.amazon.co.jp)」のセッション管理関係の記述が残念なことになっているそうで。

書籍の脆弱性 (takagi-hiromitsu.jp)シリーズ?

※りゅうさんが購入するに違いないのでメモしておきます。:-)

関連する話題: セキュリティ / 書籍の脆弱性

20世紀少年4,5

20世紀少年の4巻と5巻を買ってみるテスト。

帯がアレで巻数が(以下略)。オビの設計が悪いだけ (www.st.ryukoku.ac.jp)という話もありますが、確かにそうかも。おそらく、デフォルトの帯には巻数が書いてあって、しかしながら今は映画の宣伝の帯で統一されてしまっていて、それが残念なことになっているのかもしれません。

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

届出状況2008Q2

ソフトウエア等の脆弱性関連情報に関する届出状況2008年第3四半期 (www.ipa.go.jp)」。

図7に示すように、2008年第3四半期はDNS情報の設定不備の届出件数が突出して激増しました。これは、DNS(Domain Name System)キャッシュポイズニングの脆弱性に関して、「実際に運用中のウェブサイトのDNSサーバに、対策を実施していないのではないか?」という旨の届出が激増したためです。

えー、これって、公表済みの脆弱性が対策されずに放置されているケースですよね。そういうのは取扱い対象じゃないって言われたことがあるような気がするのですが。

メールを発掘してみるとこんな感じ。

ウェブサイトにて使用しているソフトウエアの問題の場合は、ソフトウエア製品の脆弱性として取扱わせていただいております。ただし、本件においては、当該ソフトウエアの脆弱性は既に公開されているため、取扱い対象外と判断いたしました。

これは、とあるセキュリティ系の会社で使われていた Movable Type が古いまま放置されていて脆弱だったという話なのですが、DNSサーバをアップデートしていないのも同じことだと思うのですよね。

DNSはヤバイので特別に取り扱い対象としているのか、あるいは、単純に方針が変わったのか……。まあ、このときには「取り扱うようにしてほしい」という要望も出していたわけでして、取り扱ってくれるようになったのであれば嬉しいのですが。

関連する話題: セキュリティ / IPA / JPCERT/CC / JVN / 情報セキュリティ早期警戒パートナーシップ

2008年10月14日(火曜日)

クリックジャッキング

AdobeやNoScriptからクリックジャッキング対策発表される (slashdot.jp)」。

iframeの上にFlashをオーバーレイするというシンプルな話のようで。デモムービー (jp.youtube.com)を見ると何が起きているのかよく分かりますね。

スクリプト無効でも回避できないと言われていましたが、FlashなどのActiveX系も無効になっていれば問題ないような……。スクリプト無効かつFlash有効というシチュエーションって、そんなにあるのでしょうか。

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

IT Pro がまたやっちゃった

ブラウザに実際に表示されるのは,HTML文書のどの部分? (itpro.nikkeibp.co.jp)

実際にページとして表示されているのは,どのタグで指定した部分でしょうか。

1.<title>タグ

2.<body>タグ

3.<head>タグ

4.<table>タグ

IT Pro、またやっちまったよ……。しかも回答には、

HTML文書でもXHTML文書でも,Webページの基本構文は同じです。

という解説がありますが、これも誤りです。嘘だと思うなら、以下のようなHTMLを The W3C Markup Validation Service (validator.w3.org)でチェックしてみると良いでしょう。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>test</title>
<p>test page</p>

これはvalidになるはずです。一方、以下のXHTMLはinvalidになります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<title>test</title>
<p>test page</p>

なぜ前者はvalidなのに、文書型宣言が異なるだけの後者がinvalidなのでしょうか。それは、「Webページの基本構文が異なるから」に他なりません。このような構文はHTMLでは許されていても、XHTMLでは許されていないのです。

さて、前者のHTML文書ですが、これはvalidですし、ブラウザでちゃんと表示できます。このHTMLには問題の選択肢2~4に該当する部分は存在しませんが、内容はちゃんと表示されています。このことから、2~4は不正解であることがわかり、消去法で選択肢1が唯一の正解となります。

※……というか、HTMLをぜんぜん知らない人にHTMLの問題を作らせるのはやめてください。過去の事件とか全く生かせていないですよね。

関連する話題: HTML / ITpro

MySQLのカラム切り捨て問題

MySQLのカラム切り捨て脆弱性 (rryu.sakura.ne.jp)

こういうことですかね。

……という感じのシステムがあり、ユーザbakeraが既に存在するとき、二重登録チェックはこんな感じになり……。

「bakera 」は登録できないのに、「bakera a」を登録すると「bakera 」で登録できてしまい、さらに「bakera」と同じ WHERE 句で拾われたりすることになると。

ちゃんと長さチェックしようね、という話で良いのでしょうか。

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

脆弱性にぶちきれ

XSS.in (subtech.g.hatena.ne.jp)」。

昨日の手乗りタイガー並のむかつきっぷりです。電柱蹴って斜めにしたい。大丈夫じゃないんじゃああああって。

基本的に深夜アニメとか見ないもので、10月8日 (というか9日未明?) 放送の「とらドラ!」第2話も見ていないのですが、まあ雰囲気はなんとなく分かります。

関連する話題: Web / セキュリティ / 26分で5件届出の伝説

WEPが10秒で解読

更新: 2008年10月23日

「WEPは10秒で解読可能」、神戸大と広島大のグループが発表 (internet.watch.impress.co.jp)だそうで。

昔から言われていたことではありますが、そろそろ本気で気をつけた方が良いということですね。ニンテンドーWi-Fiネットワークアダプタ (wifi.nintendo.co.jp)のように、ニンテンドーDSと他で使い分けるのが良いのかな……。

森井教授は、「ニンテンドーDSのようにWEPにしか対応していない機器があることなどから、現在でもWEPが広く使われているという現状があるが、先日発表された新モデル(ニンテンドーDSi)ではWPAやWPA2に対応しており、WEPの使用禁止を呼びかけるには良いタイミング」と判断したという。

いやー、しかし、そのためだけに買い換えるというのもちょっと……。ニンテンドーDSiにはGBAスロットがないので、ポケモンが困ったりしますし。

※2008-10-23追記: 実は、DSiでも過去のソフトではWPAやWPA2は使えない模様。参考: ニンテンドーDSiでも従来ソフトではWEPになる?

関連する話題: セキュリティ / ニンテンドーDS

2008年10月13日(月曜日)

20世紀少年

20世紀少年の2巻と3巻を買ってみるテスト。

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

例えば、PHPと謎の用語

PHPはスジが悪い言語 (rryu.sakura.ne.jp)」。

それでもhtmlentities()はひどい。HTMLにあるのは数値文字参照と文字実体参照で、そのふたつを総称して文字参照と呼ばれることはあるが、HTMLエンティティと呼ばれることはない。HTMLエンティティという言葉からHTMLの仕様にたどり着くのは難しいだろう。

PHP畑の人と会話していると、たまに用語に違和感を感じることがあります。特に実体参照のことを「HTMLエンティティ」とか「エンティティ化」と呼んでいる人がけっこういるようなのですが、これは htmlentities() の影響なのかもしれません。

別途定義された実体 (entity) を参照 (reference) するから実体参照 (entity reference) なのでして、実体というのは実体宣言で定義された何かを指します。「リファレンス化」ならまだしも、「エンティティ化」では意味が逆になってしまうと思うのですが……。

そういう語に違和感を感じない人というのは、SGMLやXMLの実体宣言の仕組みをちゃんと理解できていないのではないか……などと思ってしまう今日この頃です。

※そういえば、どこかで「RSSでは何故か&copy;が使えない」などと言っている人もいましたが……XMLでは「&lt;」「&gt;」「&amp;」「&quot;」「&apos;」の5つしか定義されていないので、他の実体は自分で宣言してから使う必要があります。こういう基本的なところがおさえられていない人は結構多いかも。

関連する話題: PHP / SGML

2008年10月12日(日曜日)

20世紀少年の表紙デザインとユーザビリティ

ハガレン&20世紀少年の1巻だけ買ってみるテスト。

20世紀少年は、1巻を探し出すのに苦労しました。表紙を見ても巻数が確認できないので、平積みされているものを1冊ずつ手にとって背表紙を確認する羽目に……。実は表紙の下のほうに巻数の表示があるのですが、帯で隠れてしまい全く見えなくなってしまっているという。

帯がつくことは事前に想定できると思うわけでして、デザイン時にもう少し気をつかってほしかった気がします。

関連する話題: マンガ / 買い物 / ユーザビリティ

今日のQMA (第六弾)

クイズマジックアカデミーDS (www.amazon.co.jp)。○×中心に予習していますが、結構難しいなー。

関連する話題: ゲーム / ニンテンドーDS / クイズマジックアカデミー

2008年10月11日(土曜日)

情報セキュリティ早期警戒パートナーシップガイドラインに関するいくつかのメモ

第02回まっちゃ445懇親会で、「IPAから言われても脆弱性を修正する気配がない人がいたりするが、どうしたら良いのか」「IPAが名前を公表したりするのは難しいようだ」「では発見者が公表するしかないのか」というような話が出ていました。

だいぶ時間が経ってしまいましたが、あらためて「情報セキュリティ早期警戒パートナーシップガイドライン (www.ipa.go.jp)」を確認してみたので、いくつかメモしておきます。

修正期間はどのくらいなのか

まず、ウェブサイト運営者が修正にかける期間について。「Ⅴ.ウェブアプリケーションに係る脆弱性関連情報取扱」の「4.ウェブサイト運営者」の「1) 脆弱性関連情報への対処」に規定があります。

ウェブサイト運営者は、通知を受けたら、脆弱性の内容の検証および脆弱性の及ぼす影響を正確に把握した後、影響の大きさを考慮し、脆弱性を修正してください。また、当該脆弱性関連情報に関して検証した結果、および修正した場合その旨をIPA に連絡してください。この連絡は、IPA から脆弱性関連情報の通知を受けてから、3 ヶ月以内を目処としてください。

つまり、修正には3ヶ月かけて良いことになっています。2ヶ月間何もなかったからといって、「直す気がまったくない」と判断してしまうのは早計だということです。取り扱い開始から3ヶ月は温かく見守りましょう。ちなみに、届出から3ヶ月ではないので注意が必要です。

ちなみにソフトウェア製品の場合は以下のようになっていて、

なお、一般への公表日は、IPA およびJPCERT/CC が脆弱性関連情報の取扱いを開始した日時((1)2)参照)から起算して、45 日を目安とします。公表に更なる時間を要する場合は、JPCERT/CC と相談してください。

こちらは半分の45日が目安です。

※もちろん、いずれも単なる目処・目安でしかありません。単なるXSSなのに取り扱い開始から修正完了の報告まで2年以上を費やしたケースもあります。

脆弱性関連情報とは何か

ガイドラインには「脆弱性関連情報」という言葉が何度も出てきます。言葉の印象からすると、脆弱性に関連する情報であれば何でも該当しそうに思えますが、実はけっこう厳密に定義されています。

脆弱性関連情報とは、脆弱性に関する情報であり、次のいずれかに該当するものです。

1) 脆弱性情報

脆弱性の性質及び特徴を示す情報のことです。

2) 検証方法

脆弱性が存在することを調べるための方法です。例えば、特定の入力パターンにより脆弱性の有無を検証するツール等が該当します。

3) 攻撃方法

脆弱性を悪用するプログラムやコマンド、データおよびそれらの使い方です。

例えば、エクスプロイトコード(付録4にて述べます)や、コンピュータウイルス等が該当します。

定義はこれだけです。これらに該当しないものは、ガイドラインの言う「脆弱性関連情報」には該当しません。脆弱性について何か語っていたとしても、「脆弱性情報」「検証方法」「攻撃方法」以外のものは「脆弱性関連情報」にはならないということになります。

「○○というサイトが脆弱だ」というだけの情報があったとしますと、これは脆弱性について述べていますが、具体的にどこがどのように脆弱なのかという情報は欠けています。性質や特徴についても述べられていませんし、検証方法や攻撃方法についても述べられていません。このようなものは「脆弱性関連情報」には該当しないと考えて良いでしょう。

発見者とは

ガイドラインでは「発見者」という言葉が何度も出てきますが、この用語も直感とは異なる定義がなされています。

発見者とは、脆弱性関連情報を発見または取得した人を含みます。例えば、ソフトウエアの脆弱性を発見した人や、インターネット上で脆弱性関連情報を入手した人などが当てはまります。ソフトウエアの脆弱性を発見した人のみを対象としているわけではありません。

自分で発見したのではなく、伝聞によって取得した場合でも「発見者」となります。

脆弱性関連情報がゼロデイでWebにさらされたりすると、発見者が大勢現れることになります。

脆弱性関連情報の管理

ガイドラインには以下のような記述もあります。

発見者は、脆弱性が修正されるまでの間は、脆弱性関連情報が第三者に漏れないように適切に管理してください。また、脆弱性関連情報を開示する場合には、IPA に問い合わせてください。

先に検討したとおり、ここで言う「発見者」は伝聞によって脆弱性関連情報を取得した人を含みます。

また、これも検討したとおり、「脆弱性関連情報」とは「脆弱性情報」「検証方法」「攻撃方法」に限られていますから、それら以外の情報については適宜開示してもかまわないのだと解釈できます。

付録にはこういう記述もあります。

脆弱性関連情報の公表は、その情報の内容が真実と異なることを知っていた場合、あるいは,真実である場合であっても、特定人の名誉を毀損する意図で公表がなされ、かつ、公共の利益と無関係である場合には、刑法の名誉毀損罪に触れる可能性があります。

……。まあ、そりゃそうですね。

……というわけで、「○○というサイトは脆弱だ」とか「○○というサイトについて届け出た」という程度の事実であれば、取扱中であっても適宜開示して良いように思えます。

実際、検証方法や攻撃方法を伴わない情報が開示されても即座に悪用することは難しいはずですので、開示しても支障はないものと判断しているのでしょう。また、表現の自由との兼ね合いで、開示の規制は最小限にとどめているのだろうとも思います。

ただ、なんか最後に変な釘を刺されているのが微妙です。脆弱性関連情報の開示は、たいてい対策を促す目的でなされるわけで、それが公共の利益と無関係ということはないだろうとは思うのですが……。

関連する話題: セキュリティ / Web / IPA / JPCERT/CC / 情報セキュリティ早期警戒パートナーシップ

2008年10月10日(金曜日)

みんなでスペランカー

なんとPS3ソフトとして25年ぶりによみがえった「みんなでスペランカー」、ムダに高画質なプレイアブルムービーを公開 (gigazine.net)」。

な、なぜ PS3?「ムダに高画質」と言われてしまっていますが、ホントに無駄だと思いますし、DSかWiiで出してほしかった……。

※まあ、そのバカっぽい無駄さが良いのだという意見もあるでしょうけれども。

関連する話題: ゲーム

2008年10月9日(木曜日)

名前とか

思い出話 (hemiolia.com)。「ヨスケ先生」に変な名前の人って言われた。orz

実は私の筆名はもともとは単に「ばけら」だったのですが、編集の方からもっと普通っぽい名前にしてほしいと言われ、登場人物の姓をそのままもらったという逸話があります。まあ、どうでもいい話ですね。

ともあれ、お疲れ様でした。

関連する話題: 与太話

2008年10月7日(火曜日)

楽天メールマガジン情報漏洩の話・その後

前回の話で仕組みはそのままっぽいと書いていましたが、既にURLは期限付きのものになっているそうで (knackさんありがとうございます)。なかなか素早い対応ですね。

というわけで、修正されて一件落着と言うことなのでしょうかね。

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

今日のQMA (第五弾): ややこしい雑学○×

クイズマジックアカデミーDS (www.amazon.co.jp)。雑学○×を予習しましたが、ややこしいと思った問題をいくつかメモ。

関連する話題: ゲーム / ニンテンドーDS / クイズマジックアカデミー

2008年10月6日(月曜日)

日常的な誤動作

管理人「非常ベル止めた」 誤作動と判断 ビデオ店放火 (www.asahi.com)

管理人は府警に対し、ベルが鳴った後に切ったことを認めており、市消防局に対しても、「誤作動だと思った。うるさいのでベルのスイッチを消した」と説明したという。ビル関係者によると、これまでも何度か誤作動があり、そのたびにベルを止めていたという。

誤作動が日常化すると、本当に動作したときにも誤動作だと思って止めてしまうということですね。

関連する話題: メモ

粘菌の研究でイグ・ノーベル賞

「迷路の近道、菌でも探せる」中垣氏らにイグ・ノーベル賞 (www.yomiuri.co.jp)」。

あー、これもやしもん (www.amazon.co.jp)に出ていた話ですね。イグ・ノーベル認知科学賞なのですね。

関連する話題: メモ

2008年10月5日(日曜日)

出力をホワイトリストで処理することを真剣に考えてみる

第02回まっちゃ445の懇親会の帰りに考えていた事なのですが、メモし忘れていたのであらためて。

HTMLの中に変数を出力する際、何も考えずに文字列をそのまま出力すると、HTMLのマークとみなされる文字が含まれていた場合にまずいことが起こります。たとえば#PCDATAの中に出力する場合、「<」や「&」がそれぞれSTAGOEROとして解釈されますので、これらをそのまま出力しないようにする必要があります。以下のように文字実体参照に置き換えるのが一般的です。

同様に、二重引用符で括られた属性値リテラルに出力する場合は「"」と「&」がマークとして解釈されます。XHTMLの場合は「<」も書けないことになっていますので、これも置き換える必要があります。

※#PCDATAの中で「"」を変換しても問題は起きないので、多くの場合は後者の処理が前者にも使い回されます。一重引用符の属性値リテラルやコメントの中ではまた違った処理が必要なのですが、そのような場所に変数を出力するようなことは滅多にないでしょう。

さて、これらの変換処理は、「マークとして解釈され得るため、そのまま出力してはまずい文字」を列挙して、それらだけを置き換えるという処理になっています。これはブラックリストによる処理だと言えるでしょう。

ところで、まっちゃ445では「変数の出力時にホワイトリストを適用する」という言葉が出ていました。前述の処理をブラックリストではなく、ホワイトリストで行うことはできるだろうか……と考えてみると、もちろんできます。「マークとしては解釈され得ないため、そのまま出力して問題ない文字」を列挙しておき、それら以外を全て文字参照に置き換えてしまえば良いのです。

たとえば、まあ [0-9a-zA-Z] は安全だろうと考えて、それ以外を全て変換するとします。そして「><s>test&テスト++」という文字列をp要素の内容として出力する場合、以下のようになります。

<p>&#62;&#60;s&#62;test&#38;&#12486;&#12473;&#12488;&#43;&#43;</p>

あまり見慣れない処理ではありますが、考えてみればこれでも問題はないのですね。そして、この方法にはメリットもあります。

この処理、日本語の文字などは全て文字参照にしてしまい、ASCII文字だけを出力します。そのため、文字コード関係の攻撃にめっぽう強いのです。具体的には、以下のような耐性があります。

最後の項目は意味不明かもしれませんので説明しておきます。妥当なcharsetパラメータを出力していれば文字コード関係の攻撃は受けないと思われがちですが、たとえば罠サイトに以下のような記述があったらどうでしょうか。

以下のサイトには、実はものすごい情報が隠されています。

http://target.example.com/?%XX%XX……

(普通にアクセスしても見えませんが、「エンコード」を「EUC」にすると……)

charsetパラメータを出力していても、ユーザが手動でエンコードを変更すれば変更できてしまいます。罠サイトの指示に従ってエンコードを変えると発動してしまう、という攻撃が考えられるわけです。が、全部を文字参照にしてしまえば、こういう攻撃も無効になります。

※ASCII非互換でものすごく変な文字符号化方式があったりしたら分かりませんが……聞いたことないので。

また、さらに地味なメリットとして、この手法は「単引用符で括られた属性値の中やコメントの中でもそのまま使いまわせる」という汎用性も持ち合わせています。一つの処理で使い回しOKというのは、意外に心強いメリットかもしれません。

……というわけで、まじめに考えてみると、「出力時にホワイトリスト」というのも意味があるのかもしれないなぁと思う次第です。

※とは言っても、無条件にオススメしたりはしませんし、私も今のところ実践するつもりはないのですが。

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

2008年10月4日(土曜日)

ゲームセンターCX 番外編

ニンテンドーカンファレンスの映像が出ているかと期待してWii (www.amazon.co.jp)の「みんなのニンテンドーチャンネル」を見ていたら、なんとゲームセンターCXの番外編映像が。見ると、有野課長がいつもの調子でロックマン9に挑戦していました。

これ、DVD-BOX5 (www.amazon.co.jp)に収録されるのですかね?

関連する話題: ゲーム / DVD / ゲームセンターCX

今日のQMA (第四弾)

クイズマジックアカデミーDS (www.amazon.co.jp)。何となく印象に残ったミステリ分野の問題をメモ。記憶が曖昧なのでいくぶん不正確ですが。

関連する話題: ゲーム / ニンテンドーDS / クイズマジックアカデミー

問い合わせ対応のGoogleメソッド

辻野晃一郎製品企画本部長の発言は本当なのか、グーグル株式会社に電話で確認した (takagi-hiromitsu.jp)」。

消費者センターが本当にそういう仕事を引き受けているのだろうか。たいへん疑わしいので、東京都消費生活部に電話し、「このような報道が出ているが、消費生活センターや行政の窓口が、本当にそのような対応をしてるのか?」と問い合わせたところ、東京都消費生活総合センターから回答の電話があった。

それによると、「代理で画像を私どもが確認するということはやっておりません。」とのことである。

まあ、それはそうでしょう。対応する義理はないですよね。

逆に、もし「消費者センターや地域の行政窓口」が対応しているのだとしたら、Googleが負担するべき問い合わせ対応のコストが行政に転嫁されているという話になってしまいます。いずれにしても恐るべしGoogleメソッド。

関連する話題: Web

楽天メールマガジン情報漏洩の話・楽天の見解

楽天市場からのお知らせ (www.rakuten.co.jp)」に「【お知らせ】メルマガ登録情報画面からの個人情報の表示について (www.rakuten.co.jp)」というものが出ていますね。

調査した結果、弊社から『【楽天市場からのお知らせ】メルマガ登録情報の確認・変更・配信停止について』というメールにて個別にご案内したメルマガ登録情報画面のURLをお客様ご自身がQ&Aサイトやブログに貼り付けたり、ソーシャルブックマーク等に登録してURLを公開した場合、当該URLが検索サイトのクロールの対象となり、検索サイトに登録されたことが原因であることが判明致しました。

楽天の見解も「ユーザが自分で貼った」というもののようで、これでファイナルアンサーですかね。

今回の件は、当該URLの想定を超えた使途によるものでしたが、弊社と致しましても、早速、当該情報が検索サイトのクロールの対象とならないための対策等を実施するとともに、すでにクロールの対象となった情報についてはインターネット検索サイトに削除依頼を行うなど、今後メルマガ登録情報が表示されないよう万全の対策を講じました。

引き続き監視を続けてまいりますが、個人情報が表示される当該URLについては、ブログやソーシャルブックマーク等において、不用意に公開されませんよう十分ご留意ください。

……って、クロールされないようにrobots.txtを置いただけで、根本的な仕組みは変えていないということですよね。しかしまあ、この短時間で仕組みを作り直すのは難しいと思います。さすがに楽天の人もこのままで良いとは思っていないでしょうから、もう少し時間を掛けて取り組んで行くのでしょう。

ということで、当面の間は「楽天のメルマガ登録情報変更のURLを他人に知られてはまずい」ということを意識して、各自気をつけましょう……ということになるようです。

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

2008年10月3日(金曜日)

ニンテンドーカンファレンス2008秋

任天堂のサイトで「ニンテンドーカンファレンス2008秋」の映像などが公開されていますね。ニンテンドーDSiは……とりあえず様子見か。

まあ、どうぶつの森とドラクエは買いますが、ドラクエはホントに2009年3月に出るのですかね。

関連する話題: ゲーム / 任天堂 / ニンテンドーDS / どうぶつの森 / ドラクエ / ドラクエ9

橋本弁護士敗訴

社説:橋下知事敗訴 判決は弁護士の自覚を促した - 毎日jp(毎日新聞) (mainichi.jp)」。

さらに、橋下氏は視聴者をあおりながら、自らは懲戒を求めていない。

あー、銀河英雄伝説 (www.amazon.co.jp)のヨブ・トリューニヒトを思い出してしまいました。職業が政治家というところも見事に重なりましたね。

※銀英伝って、いつのまにか創元SF文庫で出るようになっていたのですね……。私が読んだのは徳間文庫版ですが、そちらは現在は絶版だそうで。

関連する話題: 与太話 / 田中芳樹

2008年10月2日(木曜日)

Ajaxセキュリティ

りゅうさん (rryu.sakura.ne.jp)が力強く購入したらしいので、少し見せてもらいました。

そういえばこの本、第02回まっちゃ445でも紹介されていましたね。表紙の写真はAjaxの選手が大切なところをガードしているところで、編集の方が気合いを入れてチョイスされたのだとか。

※AFC Ajax = アヤックス・アムステルダム。オランダのアムステルダムを拠点とするサッカーチーム。

ざっと見た感じ、生々しい攻撃手法が出ていたり、割と濃い内容で興味深いと思います。

※が、どこかの脚注に「IEのAccept:は長すぎて無駄」みたいな記述があり、コンテント・ネゴシエーションがイマイチ理解されていない気配も……。

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

2008年10月1日(水曜日)

s/(松下|ナショナル)/パナソニック/g

更新: 2008年10月2日

松下グループの社名変更が本日実施。

社名変更/ブランド統一情報 (panasonic.co.jp)」で新しいCMが公開されているのですが、未明にこれを繰り返し見ていたら、「ぱ~なそにっ」というフレーズが頭にこびりついて離れなくなってしまいました……。

以前は「あっかっるーいなっしょっなーる」のCMソングが印象的でしたが、今後はこちらを使っていくのでしょうね。

※2008-10-02追記: 連れてって 連れてって(限定盤) (www.amazon.co.jp)のボーナストラックに "SEEDS OF TOMORROW - MIDDLE OF NOWHERE Panasonic VERSION -" として収録されるらしいですね。

関連する話題: Web

楽天メールマガジン情報漏洩の話・さらに続き

楽天メールマガジンの件ですが、スラッシュドットにタレこまれたそうで……「個人情報を含む楽天メルマガの設定変更画面、Google経由で第三者にさらされる (slashdot.jp)」(優さん情報ありがとうございます)。

なかなか興味深いお話が出ています。

3年前に取得したメルマガ設定のリンクが今でも使えます。

以上、http://slashdot.jp/security/comments.pl?sid=420884&cid=1429623 より

多くの場合、セッション情報や認証情報を含むようなURLは一時的なものになっていて、一定時間経つとで使えなくなったりします。が、楽天のこれはそういう感じではなくて、無期限に使えるものだったようです。

この「k=......」のパラメータ部分ですが、セッションIDではなく、当該ユーザのメールアドレスを何らかのアルゴリズムで暗号化しただけのものっぽいです。

Googleで5個ほどの事例を見てみたところ、この「k=......」パラメータの文字列長は、どれもその人のメールアドレスの文字列長 + 4 となっていました。

以上、http://slashdot.jp/security/comments.pl?sid=420884&cid=1429556 より

URLの生成自体がランダムではない可能性があると。これはまた微妙な話ですね……。

※それから、前回のタイトルについて「そんなにしょっちゅうやらかしてたのかと思ってしまった (slashdot.jp)」というご意見をいただきましたので、タイトルを変更しました。

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

今日のQMA (第三弾)

クイズマジックアカデミーDS (www.amazon.co.jp)。だいぶダメなので、実力の底上げをするべく○×問題の予習などを。

全ジャンルの○×を予習して星5つにしましたが、正解率80%を超えているのは雑学のみ……。まだまだ修行が必要ですね。

関連する話題: ゲーム / ニンテンドーDS / クイズマジックアカデミー

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)友井町バスターズ (富士見ファンタジア文庫)

その他サイト