水無月ばけらのえび日記

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

2008年9月

2008年9月30日(火曜日)

神舟7号

松浦晋也のL/D: このっ、バカ共が! (smatsu.air-nifty.com)」。

一時期「人類は月に行っていない」というネタが流行ったことがありましたが、似たような話が出ているようで。

そういえば神舟5号のときも、どこかの都知事が「あんなもんは時代遅れ。日本がやろうとしたら1年でできる」などと発言してツッコまれていましたが、似たようなメンタリティなのでしょうか。

関連する話題: 科学 / 宇宙 / トンデモ

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

更新: 2008年10月1日

楽天メールマガジンの件ですが、どうもソーシャルブックマークから拾われた可能性が高いようですね (みなさん情報ありがとうございます)。OK Wave のこのやりとりは衝撃的です。

楽天市場から届くメールを毎回配信停止にしても、次から次へとメールが届くのですがどうすれば届かないようになりますか。

(~中略~)

私は、毎日ここで一発で「配信停止」をしています。

http://emagazine.rakuten.co.jp/ns?act=chg_rmail&k=%25CIlD-u0Lwi...​

以上、楽天市場について -OKWave より

イタタタタ……。

楽天で買物をすると、確認画面の一番下の方にメールマガジン配信のチェックボックスがあります。気づきにくい上に、デフォルトでチェックONなのですよね。メールマガジンを受け取りたくない場合、買うたびにこのチェックを外す必要があります。それに気づかないと、「何度配信停止しても、買い物するたびにメールマガジンの送信が再開されてしまう」という現象が起きることになり、そうなっても簡単に配信を停止できるように、「配信停止画面をブックマークしておく」ということが行われていたと……。

ブラウザのブックマークではなく、ソーシャルブックマークを使ってブックマークしたら、それはクロールされますよね。ブックマークするなよ……と言いたくなるところですが、一般のユーザが「このURLを他人に知られてはマズイ」ということに気づくのは難しいでしょう。

URLにセッション追跡や認証のための情報を埋め込む手法については、ずっと前から「Refererから漏洩する」という危険性が指摘されてきました。逆に、「ユーザが自分で積極的にリンクする」なんてことはあまりないだろうと思っていましたが……ソーシャルブックマークの普及によって気軽にリンクができるようになり、ユーザが自分でリンクしてしまう可能性も増しているわけですね。

※そういえば、WASForum Conference 2008 の「携帯電話向けWebのセキュリティ」でも、セッション追跡パラメータつきのURLを貼ってしまうユーザが多いという話が出ていましたね。

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

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

ぼくらの9

購入。

うわ、そうだったのか……。いろいろ予想外の展開。

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

2008年9月29日(月曜日)

楽天メールマガジンの変更画面から情報漏洩

更新: 2008年10月1日

セキュリティホールmemoより: site:emagazine.rakuten.co.jp で検索すると個人情報っぽいものが見えるとか見えないとか。 (www.st.ryukoku.ac.jp)

メールマガジンの設定変更の画面が第三者に見えてしまう、という話のようで。まとめると、

……ということですかね。認証なしでアクセスできてしまうのは明らかにマズイと思いますが……。

しかし、むしろ気になるのは、そのURLがどうしてクロールされたのかという点です。外部のWebサイトからリンクしたりはしないと思いますし、楽天のサイト内からGETのみで辿れるようになっていたとも考えにくいように思います。

あるいは、そもそもブラウザがURLの情報を送信しているとか? 「Google Chromeのプライバシーについて (www.google.com)」を見ると以下のようにあります。

アドレス バーに URL またはキーワードを入力すると、入力した文字が Google に送信され、サジェスト機能によってユーザーの探しているキーワードや URL の候補が自動で提示されます。利用状況データを Google と共有し、提示された検索用語や URL をユーザーが承認した場合は、その情報も Google Chromeから Google に送信されます。この機能を無効にするには、こちらの手順をご覧ください。

Google Chromeでアクセスしたら、URLがGoogleに送られる可能性があるように読めますが……それがクロールに使われることはあるのですかね?

※といっても、べつにGoogle Chromeが漏らしていると断定しているわけではありませんので念のため。Windows Live Search でもクロールされているようですので、むしろChromeは全然関係ない可能性が高いです (Thanks: yamagataさん)。

※追記: どうもソーシャルブックマークから漏洩した可能性が高いようですね。楽天メールマガジン情報漏洩続き。コメントくださったみなさま、ありがとうございます。

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

2008年9月28日(日曜日)

かみさまのいうとおり/すもももももも

2冊購入。

うーむ、どちらも万人にはオススメできない感じなのでご注意を。

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

中山国交省辞任で砂の器を思い出した

ところが、日教組をめぐる発言については「私も言いたいことがある」と切り出した。「日本では様々な犯罪が起こっている。もうけるためならうそを言ってもいい、子殺しとか親殺しとか、これが日本だろうかと。かつての日本人はどこに行ってしまったのか」と述べたうえで、その原因は日教組に問題があると主張。

以上、中山国交相、日教組巡る発言撤回せず「教育のがん」 より

「かつての日本人」って、どんな日本人をイメージしているのでしょうね。考えてみると、私も昔の日本人の犯罪なんてほとんど知らないのですが……。とりあえず思い浮かんだのは、津山三十人殺しですね。松本清張の「砂の器 (www.amazon.co.jp)」を原作とした2004年のテレビドラマ (www.amazon.co.jp)に、この事件を引用したと思われる話が出ていましたので。

※実は原作はハンセン病をテーマにしているのですが、その部分がすっかり入れ替わっているという。

とりあえず、以下のようなサイトを見る限りでは……

「かつての日本人」がどこに行ってしまったのかは知りませんが、あんまり帰ってきてほしくない感じがしますね。

関連する話題: 与太話 / 教育 / 統計

2008年9月27日(土曜日)

第02回まっちゃ445勉強会

第02回まっちゃ445勉強会 (sites.google.com)にひっそりと参加してきました。スライドはそのうち公開されると思いますので、話の内容は端折ってポイントや感想だけメモ。

ライトニングトーク1: CVE-2008-1447を踏まえたDNS

バスの乗り継ぎで残念な思いをしたために遅刻しており、最初のライトニングトークはちゃんと聞けませんでした。申し訳なし……。orz

最後の最後しか聞けていないのですが、「ヤバイよね」「無理だよね」という話と理解して良いのですかね……。フォームに「本当にHTTPSですか、確認してください」と書くなどして、ユーザにリテラシを身につけさせるしか無いのではないか、という話が出ていたようです。

ライトニングトーク2: PHP4.4.9の現状 誰もが知っているPHP4.4.9の脆弱性

大垣さんのライトニングトーク。PHP4.4.9はダメだよねという話と、最新のPHPの脆弱性の話。

mt_srandって名前からしてメルセンヌ・ツイスタっぽいですが、メルセンヌ・ツイスタは暗号論的疑似乱数ではないので、十分なサンプルが得られれば生成される乱数を予測できます。これをパスワードを生成するのに使って良いものかどうか疑問ですが……そういえば、そもそも PHP には暗号に使えるような乱数が標準では用意されていないという話を聞いたことがあるような。

※あと、スライドの文字が読みづらかったです。白文字で、背景は基本的に青っぽい写真なのですが、一部に白っぽい部分があり……。

ライトニングトーク3: 自己流リバースチャレンジ!

ゆまのさんがリバースエンジニアリングチャレンジ (www.netagent.co.jp)に挑戦したお話。Webと関係ない話なのですが、面白かったです。

私はアセンブラはさっぱりなので、手法の良し悪しは分からないのですが……早いほうなんじゃないか、ということらしい。

ライトニングトーク4: WAFをググった話

正式名称失念。まっちゃだいふくさんのお話。

英語圏では「ワフ」とか言わないらしい?

言われてみれば、IIS の URLScan も WAF の一種ですね。当時は WAF なんて言葉は聞いたこともありませんでしたが。

WAF入門~原理、効果、限界~

徳丸さんのお話。実際の WAF 製品を使用してのデモなどもありました。

デモに使用されたのは JP-Secure の SiteGuard (www.jp-secure.com) で、お値段は178万円くらい。実は某社Y氏からの特別提供だそうで、シグネチャも某社が調整したものだというお話でした。

  • 「'or」は通すが「'or A=A」は通さない
  • 「"onload="aa」は通すが「"onload="aaaaa」は通さない
  • 「z' DECLARE」は通すが「z' DECLARE--」は通さない。「z' DECLARE#」は通す
  • 「../../../../」は通すが「../../../../etc/passwd」は通さない

とか。あと、ログからの学習によるホワイトリストの生成などもできるようです。

現実的なWAFモジュールの実装とその運用 - wafful.org の今後の展開

竹迫さんのお話。基本的には mod_wafful.c の紹介。

ワッフルの正しい綴りは waffle ですが、あえて wafful にしているとのこと。waffle を検索すると、18歳未満の人は見ないでくださいというサイトが先頭に出てくるという。

手軽にブラックリスト・ホワイトリストの定義ができて使いやすいっぽい。

パネルDISカッション

園田さん、竹迫さん、徳丸さん、大垣さんによるディスカッション。

竹迫さんって Namazu に関わっていらっしゃったのですね。振り返ってみると、「Re: Namazu v2.0.7 にクロスサイトスクリプティング脆弱性 (www.namazu.org)」などは竹迫さんの投稿ですね。

「情報セキュリティ早期警戒パートナーシップ」という名前の認知度は、やっぱり低い模様。利用者にも知られていないとか。

森博嗣のサイトMORI LOG ACADEMY (blog.mf-davinci.com)は、打ち出しのイラストが漫画家の羽海野チカ (ハチクロ (www.amazon.co.jp)の作者) のものになっています。これは可愛くて良いとは思うのですが、このサイトが漫画家のサイトであると誤認される危険性があるのですね。Webサイトのアイデンティティとしては望ましくないのかもしれません。

……本筋の話って何だったのでしたっけ。結局のところ、大垣さんの言う「ホワイトリスト」という用語が、徳丸さんの用語とは全く違うもののようだ……ということが明らかになったという事で良いのでしょうか。

懇親会

大垣さん、徳丸さん、竹迫さん、佐名木さんらが同席する「濃い席」に居合わせることができ、しかも後半は園田さんまで合流して盛り上がりました。出た話題をいくつかメモ。

  • ホワイトリスト話。「出力時にホワイトリストで処理する」と言われると、「原則として全ての文字を数値文字参照で出力し、安全であることが明確な一部の文字だけを素通しする」という処理をイメージしますよ……。
  • PHPみたいな感じでもっと堅牢な感じの言語はないのだろうかという話が出て、私が「ASP.NETは固いイメージがある」と言うと、割と同意してもらえました。検査員も .aspx だと萎えたりするそうな。園田さんが「Microsoft .NET Web アプリケーションセキュリティ (www.amazon.co.jp)」をオススメしてくださいました。
  • 脆弱性を直す気がない人っていますよね、という話。IPAが公表することは難しいようなので、発見者が公表するしかないか?

関連する話題: WAF / PHP / セキュリティ / まっちゃ445勉強会

文字符号化方式判定の優先順位

唐突に、ブラウザが文字符号化方式を判定する場合の優先順位についてメモ。この順序については、HTML 4.01 5.2.2 で規定されています。

To sum up, conforming user agents must observe the following priorities when determining a document's character encoding (from highest priority to lowest):

1. An HTTP "charset" parameter in a "Content-Type" field.

2. A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset".

3. The charset attribute set on an element that designates an external resource.

以上、HTML4.01 5.2.2 Specifying the character encoding より

これは明確でしょう。HTTP応答ヘッダでの指定が優先、それがなければmeta要素の指定が参照され、それらがない場合に初めてリンク元のcharset属性が参照されます。"must observe the following priorities..." とあるので、この順番は必須遵守事項です。おまけに、6.9 にはこういう記述もあります。

User agents must follow the steps set out in the section on specifying character encodings in order to determine the character encoding of an external resource.

以上、HTML4.01 6.9 Character encodings より

こちらも must です。前述の優先順位が守られていない場合、そのブラウザは HTML4.01 の仕様に適合していないことになります。

ところで、5.2.2 の続きにはこうあって……。

In addition to this list of priorities, the user agent may use heuristics and user settings. For example, many user agents use a heuristic to distinguish the various encodings used for Japanese text.

以上、HTML4.01 5.2.2 Specifying the character encoding より

"In addition to this list of priorities" と言われても、上に足すのか下に足すのかは書かれていないという微妙な罠があります。ブラウザによる自動判別の優先度は不明としか言いようがありません。直感的には前述の3つより優先度が低くなるべきだと思うのですが、それは明確には規定されていないように思います。

関連する話題: HTML / メモ

2008年9月26日(金曜日)

うおォン 俺はまるで人間火力発電所だ

孤独のグルメ (www.amazon.co.jp)。シリアスな劇画調のタッチで描かれているのですが、モノローグが凄い。「うおォン」て……。結構いろいろなサイトで名言集として取り上げられているようですが、これは絵とのギャップが良いのであって、テキストだけ取り出されてもいまいち楽しめないと思います。やはり読むしか。

ところで、銀座の竹葉亭が池波正太郎ゆかりの店だったことをこのマンガで初めて知りました。以前、鰻を食べたりお茶漬けを食べたりしましたが、全然知りませんでした。

関連する話題: / マンガ / 飲食物

2008年9月25日(木曜日)

QMA 痛恨の一撃集

クイズマジックアカデミーDS (www.amazon.co.jp)はぼちぼち。印象に残った痛恨の誤答をいくつかメモしておきます。

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

2008年9月24日(水曜日)

論理少女: 指定かくれんぼの疑問その2

論理少女 (www.amazon.co.jp)の Logic 4 に登場する「指定かくれんぼ」について。

昨日の時点では、前提が成立するのかどうか疑問に思っていましたが……よく考えてみると、前提が成立したとしても出題ミスなのではないかという疑惑が浮かんできました。それは、「化学部はこのパズルを解くことができるのだろうか?」ということです。以下ネタバレ注意。

条件の再確認

もう一度条件をおさらいしてみます。まず、自明である前提条件から。

  • 参加者は生徒会、英語部、化学部、チェス研。1~4階に1チームずつ隠れている (中庭に面した廊下で待機している)
  • 出題者であるチェス研は、どの階に誰がいるのか全て把握している
  • 他の三者は、自分が何階にいるのかは分かっている
  • 外は暗闇なので、「基本的には」他人の姿は見えない

さらに、チェス研により以下の条件が明示されています。

  • 成績に差があるのでビリの英語部にはハンデをつけた。英語部は、あることに気づけば答えが即答できる階にいる。
  • チェス研は化学部よりも上にいる。

実は、他にも隠された条件があります。条件の中で「あることに気づけば……」と言われていることから、「隠された条件が存在する」ということも示されていると考えて良いでしょう。

化学部には解けない?

さて、本編では生徒会と英語部の立場でしか考えられていませんでしたが、ここでは化学部の立場で考えてみます。

化学部自身は3階にいます。チェス研は化学部よりも上にいるのですから、4階で確定します。あとは1階と2階で、生徒会と英語部がどちらにいるのかですが……既出の条件だけでは特定できません。

そこで、隠された条件を検討します。その条件は以下のようなものです。

  • 生徒会は赤外線スコープを所持しているので、自分より下の階にいる者を見ることができる。生徒会が3階か4階にいるとゲームが成立しないので、生徒会は1階か2階にいる

……残念、生徒会が1階か2階にいるということは、化学部には最初から分かっていました。これは何のヒントにもなっていません。

ここで、「英語部は、あることに気づけば答えが即答できる」という条件が生きてくるはずです。英語部は「生徒会が1階か2階」という事に気づけば答えが即答できるのですから、1階か2階のうち、生徒会がいない方の階にいることになります。

……って、あれ? どちらが1階でどちらが2階なのかは、これだけでは定まりませんよ? 最初の状態からぜんぜん進展していませんよ!?

そうなのです。化学部は「生徒会が1階か2階にいる」「英語部がそれに気づけば答えが即答できる」という情報を与えられても、答えを絞り込めないのです。

「化学部はこのパズルを解くことができない」という事であれば明らかに不公平ですし、なにより、解けない問題が出題されたことになりますから、問題に不備があるということになるはずです。

実は化学部にも解ける?

……しかし、実は、隠された条件を少し見直せば化学部は問題を解くことができます。

いつきの言葉から、「あること」とは「生徒会は1階か2階にいる」ということであると思われましたが、この条件を以下のように読み直します。

  • 生徒会は、赤外線スコープを使用しても即答することができない階にいる

一見同じように思えますが、化学部の立場からすると全く違います。この条件であれば、以下のようなことが言えます。

  • 生徒会が3階か4階にいるとその時点で即答できてしまうので、生徒会は1階か2階にいる (ここまでは従来と同じ)
  • 生徒会2階かつ英語部1階ということはあり得ない

もし生徒会が2階にいるのであれば、1階は英語部ではあり得ません。2階にいる生徒会が「英語部が1階」ということを知れば、その時点で即答できてしまうからです。

よって化学部は、「生徒会は2階ではない」と判断できます。これで生徒会1階、英語部2階が確定し、問題を解くことができました。

これで解決……と思いきや、実は別の問題が出てきます。

化学部にも解けるとした場合の問題点

問題を解いた化学部の思考の過程を振り返ると、次のようになります。

  • 化学部は3階にいる
  • チェス研は化学部より上にいるので、チェス研は4階にいる
  • 「あること」に気づく……生徒会2階かつ英語部1階はありえないので、生徒会は1階、英語部が2階となる

過程に問題はないのですが、「英語部はあることに気づけば答えが即答できる階にいる」という条件を全く使わずに解いていることにお気づきでしょうか。つまり化学部は、「あること」に気づいた時点で即答できているのです。ビリの英語部だけでなく、化学部も「あることに気づけば答えが即答できる」という状態だったということです。

ということは、チェス研の言葉に嘘があったことになってしまいます。この発言も問題を解くための条件の一つですから、条件の説明に嘘があったことになり、これは問題の不備ということになるでしょう。

……ということで、「あること」の内容の解釈によって、「化学部には解けない問題が出題された」、あるいは「化学部にも解けるがチェス研の言葉は嘘だった」のいずれかになります。いずれの場合も、チェス研の問題には不備があるということになりそうなのですよね……。

関連する話題: / 買い物 / 論理少女 / 論理

2008年9月23日(火曜日)

論理少女

ジャケ買いというか、タイトル買いというか。

ジャンルとしては「論理パズルバトルマンガ」なのですかね? パズルはどこかで見たようなものが多いですが、解説は少なめかも。せっかくなので、以下各パズルの感想と解説 (ネタバレ注意)。

Logic 1: 知恵の輪

これは立体ものなので、実際に解いてみないと分かりにくいですねぇ。元ネタはこれですかね……「ハンドメイド・ワイヤーパズル8の字セット (www.torito.jp)」。

Logic 1: 数字の橋

これ、「ルールを説明しなければならない」という条件はついていないので、当てずっぽうで突破される可能性があるのが気になります。

分岐1つめの突破率が1/3、2つめが1/4、3つめが1/3なので、1人目の突破率は1/36です。そして1人目が死んだ場合、2人目は1人目の踏んだ地雷を見ていますから突破率がアップします。2人がルールを見いだせずに当てずっぽうでチャレンジしたとして、どちらかに突破される確率は?

1人目がどこまで行ったかで、場合分けして考えてみると……。

  • 1人目が1つめの分岐で死亡の場合 (24/36) …… 1つめの地雷が一つ判明。残りは2つですから、1つめの突破率が 1/2 にアップし、他はそのまま。2人目の突破率は 1/24 となります。このパターンが発生し、かつ2人目に突破される確率は 1/36 です。
  • 1人目が1つめの分岐を突破、2つめで死亡の場合 (9/36) …… 1つめは正解が判明、2つめの突破率が 1/3 にアップ。2人目の突破率は 1/9。このパターンで突破される確率は 1/36。
  • 1人目が2つめの分岐を突破、3つめで死亡の場合 (2/36) …… 2つめまで正解が判明、3つめの突破率が 1/2 にアップ。2人目の突破率は 1/2。このパターンで突破される確率は 1/36。
  • 1人目が3つすべてを突破の場合 (1/36) …… 既に突破していますね。このパターンが発生する確率は 1/36。

……これを全部足すと1/9 ですね。微妙なところ。

Logic 1: 目隠しルービックキューブ

パズルというよりとんちですが……目隠し状態でこれを達成するのは結構難しいような。塗り残しがあると勝利条件を満たせませんし。

Logic 2: 美少女写真カードバトル

交互に1~3枚取って、最後のカード(芝いつき)を取った人が勝利。これは良くあるパズルですね。

  • 自分のターンで1~3枚残っていれば勝利となる。
  • 4枚残っている状態では、何枚取っても1~3枚残してしまうことになるので、相手に勝利されてしまう。つまり、4枚の状態で相手にターンを回せば勝利となる。
  • 4枚の状態で相手にターンを回すには、自分のターンで5~7枚残っていれば良い。自分のターンで5~7枚残っていれば勝利となる。
  • 8枚残っている状態では、何枚取っても5~7枚残してしまうことになるので、相手に勝利されてしまう。つまり、8枚の状態で相手にターンを回せば勝利。

というわけで、8枚の状態でスタートすると後手必勝です。あとは数学的帰納法の考え方で、カードが4n枚の時は後手必勝、それ以外の時は先手必勝となることが分かります。

Logic 3: コインバトル

「リバース」されるたびに表の枚数の偶数・奇数が入れ替わるというだけの話。いつきは6回リバースしたので……あれれ? まあ、のちにネタばらしがありますね。

Logic 4: ジクザグトラックレース

オイラーの一筆書きの法則……全ての頂点が偶数点なら一筆書き可能。それ以外では、奇数点が2つだけなら一筆書き可能。ただし、後者の場合は奇数点の片方がスタート、もう片方がゴールとなる。

パズルというより、一筆書きに関する知識の有無だけが問われているような。

Logic 4: 脳殺クロスワード

悩殺ではなく脳殺。ちなみに、話し言葉ではありますが buy は名詞形でも使われる模様。

━━ n. 〔話〕 買うこと, 買物; 〔話〕 格安品 (bargain).

以上、buy - goo 辞書 より

英語部が食い下がれば生徒会の勝利だったかもしれません。

Logic 4: 指定かくれんぼ

これも良くある論理パズルですが……「赤外線スコープ所有者を3階以上に配置すると問題を解かれてしまう」というのは論理的な前提として良いのでしょうか? 「電話で位置を知っても解いたことにはならない」というのと同じ理由で、「赤外線スコープで位置を知っても解いたことにはならない」と考えられるので、上の階に配置しても何ら問題ないはずですが。

※もっと言うと、上の階にいても窓際に出てくれば見えそうな気がしたり、そもそも赤外線スコープで人の顔までちゃんと識別できるのかどうか、ちょっと怪しい気もします。

もっとも、チェス研の出題ミスだとしても生徒会は優勝になるので、ストーリー上は問題ないのですが。

※続きあります。論理少女: 指定かくれんぼの疑問その2

sepcial1: 生徒会費争奪戦 Q1

これまた良くある論理パズル。条件は「一万円は髪」「千円は十円より上の位置」「スカートは胸の10倍」。

まず十円の位置を考えると、髪にないのは自明、スカートは胸より高額でないといけないので、スカートにも十円はありません。さらに、千円より下になければならないので、胸にも十円はないことがわかります。よって十円は靴で確定します。

残る千円と百円がスカートと胸になりますが、「スカートは胸の10倍」という条件から、スカートが千円、胸が百円に確定します。

sepcial1: 生徒会費争奪戦 Q2

これまた良くある論理パズルその2。条件は「千円か一万円が胸」「靴には十円はない」「髪はスカートより少ない金額」で、髪だけ当てれば良い。

またしても十円の位置から考えると、条件から胸でも靴でもない事が分かります。スカートが十円だと最後の条件を満たせないので、髪が十円だと確定します。

……って十円の位置を特定したら終了してしまいました。逆に、他は特定できませんね。

sepcial1: 生徒会費争奪戦 Q3

これまた良くある論理パズルその3。条件は「1. 髪かスカートに一万円」「2. 胸はスカートの10倍」「3. 百円は千円より上の位置」「4. 靴は髪の100倍」かつ「1~4つのうち一つだけが偽り」。靴だけ当てれば良い。

まず条件を吟味すると、2と4は同時に満たせない事が分かります。2が満たされるとすると、「靴十円・髪千円で残りは百円と一万円」もしくは「靴百円・髪一万円で残りは十円と千円」となりますが、いずれの場合も残ったお金が4を満たせません。従って、2と4のいずれかが偽りだと分かります。逆に1と3は真実であることが確定し、1が真実であることから、靴が一万円ではないことが確定します。

ひとまず、2が真実だと仮定します。2から、スカートに一万円はないことになるので、1から髪が一万円と確定します。2から胸は百円か千円ですが、3から百円であることが確定します。そこでもう一度2を見ると、スカートが十円で確定します。よって、靴は千円になります。

次に、4が真実だと仮定します。1より、靴は一万円ではないのですから、4が満たされるのは髪が十円で靴が千円のときだけです。1からスカートが一万円で確定、残った胸が百円で確定します。これは3の条件と矛盾しません。

2が真実の場合と4が真実の場合とで配置が違いますが、いずれの場合も靴は千円です。

sepcial2: 納豆パン

覆面算の問題。「焼あ×納 = あ焼納」のとき、「あ+あ+納」はいくつか?

……足し算だといきなり百の位が確定したりすることが多いですが、かけ算だと難しいなぁ。えーい、たかが1000通り、総当たりしてしまえ!!

public static void Main(){
    for(int 焼きそばパン=0; 焼きそばパン < 10; 焼きそばパン++){
        for(int あんパン=0; あんパン < 10; あんパン++){
            for(int 納豆パン=0; 納豆パン < 10; 納豆パン++){
                int 左辺被乗数 = 焼きそばパン*10 + あんパン;
                int 左辺乗数 = 納豆パン;
                int 右辺 = あんパン*100 + 焼きそばパン*10 + 納豆パン;
                if(左辺被乗数*左辺乗数==右辺){
                    Console.WriteLine("{0}×{1}={2}", 左辺被乗数, 左辺乗数, 右辺);
                }
            }
        }
    }
}

その結果。

  • 0×0=0
  • 21×6=126
  • 51×3=153
  • 86×8=688

おっと、作中で述べられていない別解が2つも……と思ったら、どちらも2つ以上のパンに同じ数字がアサインされています。しかし、「全てのパンは異なる数字である」という条件は明示されていませんよね。00×0=000は数字の表記としておかしいので却下でしょうが、86×8=688はさらなる別解としても良いのではないでしょうか。

ただ、その場合は「あんパン+あんパン+納豆パン」が 6+6+8=20となってしまい、答えをパンで表現できなくなります。でも、答えをパンで言えとも言われていないような……。

……結論としては、このマンガは面白いということですよ!

関連する話題: / 買い物 / 論理少女 / 論理

2008年9月22日(月曜日)

重力ピエロ

読み終わったのでメモ。

ストーリーはけっこう陰鬱で重苦しいものなのですが、文体が軽妙なので読みやすいですね。謎の大半も途中で気づきますし、全体的にライトな印象です。登場人物もちょっと浮世離れしていて、これも雰囲気を明るくしています。が、発想や思考が浮世離れしているということは、すなわち、ちょっと共感はしにくいということでもありますが。

ラストは……ハムラビ法典の話を出したのなら、肉親に会いに行かなきゃダメなのでは。

ラスト間際に「何故人を殺してはいけないんだ?」と訊かれたら……という話がありますが、個人的には、これは質問自体が成立しないと思いますね。現在の日本の刑法は死刑を許容していますし、それは実際に運用されていますから、この社会では「悪い奴は殺すべきだ」というコンセンサスが得られているのだと考えられます。無条件に「人を殺してはいけない」とするコンセンサスは得られていないはずです。

※もちろん、現在のこのスタンスに反対して「いかなる場合でも人命は尊重すべきだ」と主張する人も大勢いますし、個人的には応援していますが、大多数であるとは言えない状況でしょう。

……と、このくらいの議論があっても良いのかなぁと思ったりしたのですが。

関連する話題: / 買い物

誕生日のパラドックス

いつものようにWii Fit (www.amazon.co.jp)を起動したら、バランスWiiボードのウィーボ君、なんかいつもとちがう……。

今日は帽子をかぶっているっぽい。

ところで、クイズマジックアカデミーDS (www.amazon.co.jp)にはクイズが7万問収録されていると言われています。それだけあるのだから、当分の間は同じ問題が出ることはないだろう……と思いがちですが、実際にプレイしてると、けっこう頻繁に同じ問題に出くわします。そんなに廃人的なプレイはしていないつもりですが、既に4回見た問題さえあります。

これはまさに「誕生日のパラドックス」です。その辺の人を無作為に集めて同じ誕生日の人を2人そろえたいと思ったとき、だいたい何人くらい集めれば良いかというと……感覚的には100人とか200人とか必要そうな気がしてしまいますが、確率的には、23人集めただけで約50%の確率で揃うことになり、50~60人集めれば9割以上の確率で揃います。感覚と実際の確率が、ずいぶん乖離しているわけです。

情報セキュリティの分野では、「誕生日攻撃」という言葉も使われます。なかなか成功しそうにないように思える当てずっぽうの攻撃でも、「誕生日のパラドックス」により、思ったよりも攻撃の成功率が高いことがあるという話です。最近、DNSに関してカミンスキー氏の攻撃手法が話題になっていますが、DNSのパケットのIDが合致する確率の話がまさにこれですね。

以上、なんとなく誕生日の話を書いてみました。

関連する話題: セキュリティ / DNS / ゲーム / Wii / Wii Fit / 任天堂 / ニンテンドーDS / クイズマジックアカデミー

2008年9月21日(日曜日)

今日のQMA (第二弾)

クイズマジックアカデミーDS (www.amazon.co.jp)、賢者になってエンディング。賢者になると服装変わるのですね。まだまだ上の階級があるようで……。

ガルーダ先生にスポーツ書き取りで挑戦されましたが、スポーツは無理ですってば。書き取りだと運でクリアするのも無理で、完全にハマリ状態に。仕方ないので……。

……ええ、調べましたとも。

それから、今日の印象に残った問題。

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

2008年9月20日(土曜日)

今日のQMA

クイズマジックアカデミーDS (www.amazon.co.jp)。フェニックス組とドラゴン組を行ったり来たりしながら、なんとか大魔導士1級に。クイズに慣れてきたからなのか、ドラゴン組でもちょこちょこ優勝できるようになってきました。しかし相変わらず芸能とスポーツは無理です……。orz

印象に残った問題をいくつかメモ。問題文を正確にメモしたわけではないので、大意です。

なかなか勉強になります。

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

Yahoo!ブログの脆弱性が修正された

届け出ていたYahoo!ブログ (blogs.yahoo.co.jp)XSS脆弱性が修正されたようなので、「Firefoxではembedのsrcに書かれたスクリプトが動作する」というお話で伏せていた部分を公開しました。

Yahoo!ブログでは他のユーザとドメインを共用していますし、管理画面も同じドメインですので、ブログでスクリプトが動作するとあまり良くないことが起こります。そして、独自のWiki記法で img 要素や embed 要素を書けるのですが、

[[img(javascript:alert(document.cookie))]]
[[item(javascript:alert(document.cookie))]]

……のように書くと、まあ想像通りの残念な動作になったというお話です。現在では奇妙なサニタイズが行われるようになったようですね。

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

2008年9月19日(金曜日)

マロン先生、噛んでます

クイズマジックアカデミーDS (www.amazon.co.jp)

大魔導士になり、マロン先生が担任になりました。カスミン (www.amazon.co.jp)来たー!!

……で、ドラゴン組予選2回戦。アニメ&ゲームのタイピングで、こんな感じの問題が出題されました。

「ケロロ軍曹」で、ドドロ兵長と一緒に暮らしているくの一の名前は?

答えは「あずまやこゆき」……いや、ちょ、待った待った。「ドドロ兵長」って誰スか?

小雪と一緒に暮らしているのは「ドロロ兵長」ですよね、マロン先生?

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

2008年9月16日(火曜日)

みんなの海腹先生

カッとなってやった。後悔はしていない。

α版という位置づけですが、本日公開しました。ビジュアルデザインは矢崎さん (blog.n1n9.jp)で、バックエンドのプログラミングを私が担当しています。とりあえず試験的に作ってみた感じなので、「果たしてこれが面白いのか」という根本的な問いにもまだ答えられない状態ですが、まあご意見やご感想などありましたらお寄せください。

※しかしα版だけあってエラー処理周辺は相当手抜き状態なので、残念なことがいろいろ起きるかもしれません。ぼちぼちと安定させて行こうかなと……。

関連する話題: 与太話

○×の女王アロエ

クイズマジックアカデミーDS (www.amazon.co.jp)を少しずつ。

一つはっきり分かったのは、私にはドラゴン組の芸能問題は無理だということです。orz

……が、唯一、○×問題だけは勝機が。予選一回戦が○×だった場合、異様に高い確率でトップ通過できる気がします。なので、私の中でアロエは「○×の女王」と呼ばれています。

※いやまあ、実際に答えているのは私ですけれども。

……というか、アロエが○×に強いのではなくて、CPUが○×に弱いような……。49点台で予選トップ通過したこともありますし、CPUは○×問題の正解率が低いような気がします。

※正解が分からなくても50%の確率で正解を選択できるはずなのですが、CPUは「正解が分からなかったらハズレの回答を選ぶ」というアルゴリズムになっているとか?

まあ、しかし○×以外は全く歯が立たないのであっさりフェニックス組に逆戻り。しばらくして、またドラゴン組に返り咲きましたが……またすぐに戻りそうだなぁ。

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

2008年9月15日(月曜日)

RFC違反のメールアドレスは無理です!

C# で以下のようなコードを実行しようとすると、

using System.Net.Mail;
...
MailAddress m = new MailAddress("foo.@example.com");

こんな感じになります。

ハンドルされていない例外: System.FormatException: 指定された文字列は、電子メール アドレスに必要な形式ではありません。
場所 System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset, String& displayName)
場所 System.Net.Mail.MailAddress.ParseValue(String address)
場所 System.Net.Mail.MailAddress..ctor(String address, String displayName, Encoding displayNameEncoding)
場所 System.Net.Mail.MailAddress..ctor(String address)

メールアドレスの変なところに "." が入っているので不正なのですが、実際こういうメールアドレスがあるから困ります。これを受け入れられるようにするのは大変なので、今回はこのようなメールアドレスは受け付けない方向にしてしまいますが……そうは言っていられない場合も多いのでしょうね。

NTTドコモの人は全員、RFC2822を100回音読すること。

※あと、できればParseValueメソッドをふつうに使えるようにしてほしかったなぁ。

関連する話題: C# / プログラミング / RFC / 電子メール

2008年9月14日(日曜日)

水はなんにも知らないよ

何となく読んでいて印象に残ったので……「松尾 貴史 【私のターニングポイント】 (engekilife.com)」。

Q:最近、面白かった本は?

A:左巻健男さんの「水はなんにも知らないよ」。「ニュアンスは人に伝わらない」と教えてくれる良書です。

水はなんにも知らないよ (www.amazon.co.jp)」をオススメするとは、さすが松尾貴史。演劇と全然関係ないような気もしますが、さすがです。

関連する話題: 与太話

2008年9月13日(土曜日)

クイズマジックアカデミーDS つづき

クイズマジックアカデミーDS (www.amazon.co.jp)

予選一回戦最下位で敗退したら、サイクロプス組からケルベロス組に降格されてしまい……そこで初めて気づいたのですが、クイズの難易度は階級で決まるのではなく、所属している組で決まるようですね。ケルベロス組に戻ったらかなり楽になってまた優勝、サイクロプス組に復活しました。するとまた勝てなくなり……。

ということは、私の今の実力はケルベロス~サイクロプス周辺という事なんですかね。強いのか弱いのかよく分かりませんが……。

……などと言っていたら、運良くサイクロプス組で優勝できて、フェニックス組に昇格。

そして魔導士昇格試験。普段の問題よりも難しいだろうと覚悟して挑んだのですが、なんか異様に簡単で、あっさり全問正解できてしまいました……。

魔導士になってからは決勝進出し続ける幸運が続き、数回目でついに優勝、そこでドラゴン組に昇格しました。取説によると組は8種類なので、ドラゴン組が最上位っぽいですね。

※ピクシー組、セイレーン組、ユニコーン組、グリフォン組、ケルベロス組、サイクロプス組、フェニックス組、ドラゴン組の8種。

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

2008年9月12日(金曜日)

クイズマジックアカデミーDS

一部で話題のようなので、買ってみました。

アカデミーモードでスタート。いきなりキャラ選択と言われますが、キャラほとんど知らないし……。テキトーに選んでみるものの、デフォルト名が自動入力されたりはしないようなので、名前で困ったり。しようがないので、唯一知っていたキャラでスタート。

※ってもちろんアロエですが何か問題でも? :-)

学校の名前入力って……これ何に使われるんだろう……? まあテキトーで、「私立聖もののけ学園」にしてみました。

で、開始。修練生の間はえらく簡単で、予選も決勝も常に1位通過でずっと優勝していたのですが、魔術師に昇格してから急に勝てなくなり……。学問と雑学は割とできるのですが、スポーツと芸能がとにかく苦手。orz

なんというか、やっぱり対戦してナンボのゲームという気もしますね。

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

2008年9月10日(水曜日)

128ビットカエサル暗号

会社で Google Chrome をいろいろ見ていたのですが、HTTPSなサイトで情報を見ると……。

「128ビット暗号により暗号化されています」

いや……単に128ビットとだけ言われてもなぁ。同じ128ビットでも、AESとRC4ではだいぶ違う気がするし……などと社内で話していたら、「ひょっとしたら128ビットカエサル暗号かもしれない」という話が。

カエサル暗号というのはローマ時代の暗号で、HELLO → IFMMP のように文字を前後にずらして暗号文を作るものです。この暗号における鍵とは、「何文字目の文字を何文字ずらすか」という情報になるでしょう。鍵が 12345 なら HELLO → IGOPT となるわけです。

……これをバイナリに適用すると、バイナリデータの各ビットについてシフトする・しないを記したものが鍵ということになるでしょう。要は、鍵とデータとのXORをとるだけということですね。データの方が長い場合は (たいてい長いと思いますが) 鍵を繰り返して長くすると。いやー、めちゃくちゃ簡単に実装できそうです。

※文字シフト数が一定でないものはカエサル暗号とは呼ばないかも……。まあ、いずれにしても、こんなのは暗号としてはお話にならないので念のため。当然、Google Chrome は128ビットカエサル暗号には対応していません。:-)

関連する話題: セキュリティ / SSL/TLS / Google Chrome

問い合わせ先電話番号もSSLで保護すべきなのか

巧妙化する「音声フィッシング」、偽の電話番号を本物に見せかける (itpro.nikkeibp.co.jp)」。

まず、偽の電話番号を掲載した偽のWebページを用意。SEOを駆使して、偽メールに記載した電話番号やその企業/組織名で検索した場合に、その結果の上位に表示されるようにしておく。こうしておけば、検索サイトで確認したユーザーはまんまとだまされる危険性が高い。

偽の電話番号を表示するフィッシングサイトということですね。最近では問い合わせフォームをSSL/TLSで保護することは常識になってきた感がありますが、問い合わせ先の電話番号を掲載しているページもSSL/TLSにした方が良いという話になってくるのかも。

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

2008年9月9日(火曜日)

MTのセキュリティ修正正式版

更新: 2008年10月17日

正式版って何やねん、と思うわけですが。どうも8月7日に出た奴と変わっていないようなので、

……という理解で良いのですかね。

Six Apart のセキュリティに関するアナウンスは、なんかいつも分かりにくいような……。

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

ちなみに8月7日の修正には残念ながら修正漏れが大量にありまして、そのことはIPA経由で伝わっているはずなのです。てっきりそれが直ったものかと思ったのですが……調べてみたら全然直っていなかったという。orz

そちらは10月16日にいちおう対応されました。

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

2008年9月7日(日曜日)

らき☆すた御輿

祭りのマンネリ打破に投入された「らき☆すた」神輿、担ぎ手希望者が殺到 (slashdot.jp)」だそうで。柊家特別住民票交付なんてイベントもありましたが、今度は御輿(みこし)ですか。らき☆すた町おこしはうまく行っているみたいですね。

……と、ふと自らのデスクトップをかえりみると、偶然にも6巻 (www.amazon.co.jp)発売記念モードになっていたり。:-)

(つかさ背景なデスクトップですが……)

※ちなみに、右下のかがみ&つかさはVistaFace (www.misuzilla.org)ぞっくさん提供顔パターン (anime.geocities.jp)を入れたもの。それぞれCPU1と2を担当しています。幅1024px でサイドバーを出しているので、デスクトップめちゃくちゃ狭いですね……。

関連する話題: マンガ / MacFace

2008年9月6日(土曜日)

らき☆すた6

購入。

9月10日発売予定となっていたような気がするのですが、本屋にあったので速攻で購入。

つれづれにメモ。

……やっぱり、原作だとつかさはかがみに負けている感じがしてしまいますね。アニメのつかさには強力な個性があるのですが。逆輸入はないのですかね……。

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

2008年9月4日(木曜日)

運用終了後に放置でやられてしまったケース

セキュリティホールmemoより、「ドッグワンライフ」に SQL インジェクション攻撃、会員情報 18,374 件が漏洩 (www.st.ryukoku.ac.jp)というお話が。リンクされている PDF を見ると、

2007年6月以降もサーバーが稼動状態であった為、商品の販売終了後2007年6月以降にも、上記サイトに会員登録を頂きましたお客様も対象となります。

以上、お客様の個人情報流出に関するお詫びとご報告 より

ということで、サイトの運営が終わったのにサーバが放置されていてやられてしまったようですね。

※http://www.hottaweb.co.jp/dog-one-life/reserve/comp.asp なんて URL を見ると、現在でもけっこうな放置っぷりのような気がします。まあ、アプリケーションは動作していないので、害はありませんが……。

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

2008年9月3日(水曜日)

label要素でフォームを制御って……

JavaScript無しでフォームをコントロール (blog.ohgaki.net)

言われてみれば、そう言えばそんな機能があったね、と思うような機能はよくあります。

JavaScript無しでフォームを制御する方法はHTML4が策定されている時に追加された機能です。

……最初はまったく意味が分からなかったのですが、これ、label要素の話ですか!?

label要素が「言われてみれば、そう言えばそんな機能があったね、と思うような機能」であり、「JavaScript無しでフォームを制御する方法」である、というのは想像を絶していました。少なくとも、Web屋では絶対に考えられない発言ですね。今世紀に入ってから作られたフォームでは、label要素が使われていないものの方が珍しいのではないかと思いますが……。

※まともにWCAGなどを読んでいる人が作る場合は、という限定がつくかもしれませんが。

なんというか、住んでいる世界が違うのかなぁ。

……ちなみに、label要素を使わなくても、以下のようなものを使えばサンプルと同じようなことができます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
<title>submit test</title>
<style type="text/css">
body,p,button{
    border:none;
    background:transparent;
    text-align:left;
    margin:0;
    padding:0;
    width:100%;
    height:100%;
}
button{
    padding:1em 1em 100% 1em;
}
</style>
<form action="http://www.google.com">
<p><button type="submit">
foo bar baz<br>
foo bar baz<br>
foo bar baz<br>
foo bar baz<br>
foo bar baz<br>
</button></p>
</form>

これは HTML としてvalidなものになっていますので、個人的にはこちらの方をプッシュしたいですね。:-)

「スクリプト無効でも、submitするつもりもないのにsubmitしてしまう」という例でしたら、昔IPAに届け出たCSRFのPoCも参考になるかと思います。この例では、フォームのsubmitボタンがテキストリンクに見えるようにになっています。

世にマークアップエンジニアと呼ばれている人々なら、この手のものはいくらでも思いつくはずです。Web屋をやっていると、UIデザインの都合でフォームコントロールをリッチにしたい、などという場面がしばしばあるものです。本物のフォームコントロールを隠してリッチなボタンを置く、というような手法もかなり研究されていますし、特に驚くようなものではないですね。

※関係ありませんが、大昔の、fieldsetで角丸という話を思い出してしまった……。

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

2008年9月2日(火曜日)

頭脳戦艦ガルと同ジャンルのゲーム

売り上げ重視か、それともセキュリティ重視か!? 「安全なウェブサイト運営入門」 (www.atmarkit.co.jp)

数々の名作セキュリティコンテンツを生み出してきた、情報処理推進機構(IPA)が放つ新たなタイトルは、ロールプレイング形式のゲーム「安全なウェブサイト運営入門」。

ロ、ロールプレイング? ……ああ、「頭脳戦艦ガル (www.amazon.co.jp)」と同じジャンルですね。わかります。

※頭脳戦艦ガルは自称「スクロールRPG」ですが、どう見てもシューティングゲームです。「安全なウェブサイト運営入門」は、普通はアドベンチャーゲームかサウンドノベルに分類されると思います。

ちなみにこのゲーム、最初の名前入力のインターフェイスが酷くて、りゅうさん (rryu.sakura.ne.jp)が3回も入力内容をリセットしてしまうという悲劇が。他にも以下のような不具合がある模様です。

あと、ストーリーの分岐の都合なのか、最後まで回収されない変な伏線があったりとか。

個人的に気になっているのは、サーバのプラン選択の場面などでコストが提示されないということ。セキュリティがしっかりしているプランはお値段も高いのではないかと思うのですが、それは提示されないのですよね。

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

2008年9月1日(月曜日)

買う予定リスト

忘れそうな気がするので、今月買う予定のものリスト。

あと、12月ですがこれもメモ。

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

8月32日

よつばとひめくり (www.amazon.co.jp)では、今日は8月32日になっていて、まだ夏休みは終わっていない模様。

※9月1日もそれはそれで存在する。

関連する話題: 与太話

雑誌から脆弱性

とある経済誌を見ていたら、届け出た覚えのあるサイトの画面キャプチャが。記事を読むと肯定的に紹介されていますが、このサイトにはおそらくSQLインジェクションの脆弱性があるので危ないですよー、と心の中でツッコミを入れてみたり。まあ、取材している記者にそんなことが分かるはずもないでしょうし、特に誰が悪いというわけでもないのですが。

ところで、その雑誌をさらに読み進んでいったら、別のサイトの画面キャプチャに気になる点が。キャプチャにはアドレスバーも含まれているのですが、そこに出ている URL が、なんというか……きな臭いというか、脆弱なオーラをまとっているというか……。そして実際にアクセスしてみたら脆弱だったので、さくっと届出。

雑誌の写真が脆弱性発見の端緒というのはあまりなさそうで、面白いですね。

関連する話題: セキュリティ / IPA / 情報セキュリティ早期警戒パートナーシップ / SQLインジェクション

とあるサイトを見て

とあるサイトを見ての感想。

……いろいろな意味で今後が気になりますね。

状況は伝えられているはずなのですから、他にするべきことがあると思うのですよね。反省とまでは言わないにしても、せめて今後はあらためるとか、そういう気持ちはないのでしょうか。あるいは、気持ちはあっても技術力が低すぎて実行できないのでしょうか。いずれにしても酷すぎると思うのですが……。

そもそも対応する気が一切ないということであれば、状況を公表して利用者に危険性を知ってもらうという選択をしたほうが良いのかもしれないと思ったり。

※現時点では具体的なことは何も書けないので謎のメモでしかありませんが、そのうち追記されるかも。されないかも。

関連する話題: セキュリティ / IPA / 情報セキュリティ早期警戒パートナーシップ / 26分で5件届出の伝説

最近の日記

関わった本など