原作石ノ森章太郎というより楳図かずおの漂流教室だな
ウェブアプリケーション開発者の立場から見たCSRF対策について、さまざまな情報が入り乱れている。筆者が2006年3月の時点において国内のウェブサイトやコンピュータ書籍・雑誌などでCSRF対策について書かれている記事を調べた結果、おどろくべきことに、そのほとんどが誤りを含んでいたり、現実的には使用できない方法を紹介したりしていた。そこで本稿ではウェブアプリケーション開発者にとっての本当に正しいCSRF対策についてまとめることとする。また、誤ったCSRF対策とその理由も合わせて紹介する。
CSRFのメカニズムに関する理解に時間を割かないで対策手法を論じる態度に隙があるという意味から言うと、金床氏も誤りを含んだ対策を示した人のリストに入る日も遠くない。
_ JavScript と Cookie 必須?!
「正しい対策その1: ワンタイムトークンを正しく使用する方法」IE固有の CSSXSS 脆弱性を悪用される事に固執している為に、クライアント側に JavaScript と Coookie を有効にする事を強制している。
「正しい対策その2: パスワードの再入力を求める方法」ではパスワードを複数回入力させるというのはパスワードを抜こうとしている行為との境界が(クライアント側の挙動として)判別しにくく「わざとパスワードを間違える」と言う通常の防衛行動を阻害しかねない(Blogの編集で毎回パスワードを求められる場合を考えてみよう)。
「正しい対策その3: CAPTCHAを正しく使用する方法」一見悪くないアイディアだが、視覚障害者やテキストブラウザあるいは一部の携帯電話からのアクセスは締め出すことになる、CAPTCHA より1桁の掛算の答えを入力させる方法の法がまだまし(これは掛算の出来ない欧米人を対象に使うことは出来ない;その場合は小学校1年レベルの足算にする(桁上がりが無いことが望ましい))。
些細なことだが金床氏のページにはアンカーが無いので個々のセクションにリンクが張れず不便極まりない。(意図的?)
_ あぁ実際に HTML を書く人ではないんだ
LI を OL や UL なしに使ったりしてる開発者のための正しいCSRF対策。
もっとちゃんとした(実務的な)立場からの意見だと思ったので過剰に高いレベルを期待してしまった。
_ 高木式 CSRF対策
tDiary の実装が有名
「クロスサイトリクエストフォージェリ」がにわかに注目を集めている。古く から存在したこの問題がなぜ今まであまり注目されてこなかったかについて考 えているところだが、引越しやら転勤やらでいまひとつ日記を書く時間がない。 しかし、 @ITの記事などのように混乱させる解説も散見されるので、一点だけ対策 方法について書いておくとする。
クロスサイトリクエストフォージェリ――Cross-Site Request Forgeries (CSRF)を防止する簡潔で自然な解決策は以下のとおりである。
改めて高木氏のページを読むと、tDiary はちょっと違うかも、ともあれ tDiary に CSRF 対策が必要と指摘し実装に関与したのは高木氏だったと思う。
既存の複数のドメイン上のWebサイトにアクセシビリティを高めるなどの新たな機能を追加するという要求がある.これらの要求に対して,現在,提案されている解決策は,ActiveXのような特定のクライアント環境でのみ動作する技術を用いている.本論文では,ダイナミックHTMLを用いて,複数のクライアント環境で動作する手法について述べる.
この技術を悪用するときわめて強力な攻撃手段になる気がする。
昨日政令指定都市に移行した堺市だが、政令指定都市ドメイン city.sakai.jp には移行していない。これはどうも sakai.jp(汎用JPドメイン) が株式会社エアネット(本社品川区)により登録済みだということと関係があるのではないだろうか?
浜松市も政令指定都市への移行を来年四月を目標に進めていますが、やはり hamamatsu.jp が株式会社カオス(本社京都)により登録済みなので city.hamamatsu.jp は見送りか?
ちなみに shizuoka.jp は「組織名:静岡ドメイン」として登録されているが[状態]は Reserved、他の県名と政令都市名の2LDも同様。
またなぜか kanazawa.jp は Reserved になっている。numazu.jp と himeji.jp は売りに出ている。
去年4月に政令市に移行した静岡市は? 調べてみると、なんと政令市移行と同時にアドレスを変更している! 静岡市は移行と同時に短いアドレスを手に入れたわけだ。
地方公共団体のアドレスは、地方公共団体であることを明確にするため順次「lgドメイン」に移行しつつあるようですね。<br>それはともかく、「堺市」の場合は福井県の「坂井市」と読みが重複するため、漢字で書かないかぎり、都道府県名を入れないと明確に区別できないことが主要な理由に思えますがどうでしょうか?<br><br>ちなみに、まったく同名の市は<br>府中市(東京・広島)と伊達市(北海道・福島)の2市だけですが<br>読みが同じ市は<br>堺市と坂井市のほか、出水市と和泉市、鹿島市と鹿嶋市、江南市と香南市、古河市と古賀市、佐倉市とさくら市、津島市対馬市、北杜市と北斗市、三次市と三好市、山形市と山県市、<br>とけっこうあるのです。<br>でも政令市では初めてですね。 <br>あ!かつて仙台市と川内市がありました。<br>こちらの場合は、アドレスを決める際、仙台市はすでに政令市だったのに、堺市の場合は後からというので分が悪いということで(自分で勝手に納得)<br>駄文失礼しました。
ツッコミありがとうございます。<br>こちら http://www.sandeinc.com/~eguchi/diary/20060403.html#p02<br>に返事を書きました。