水無月ばけらのえび日記

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

2008年5月

2008年5月29日(木曜日)

閉鎖病棟

読み終わったのでメモ。

……良い話ですがごめんなさい、どうしても秀丸エディタ (hide.maruo.co.jp)が頭から離れませんでした。

※主要登場人物に「秀丸さん」という人がいる。

関連する話題: / 買い物

2008年5月23日(金曜日)

とある改竄報告ページにあった脆弱性の話

更新: 2008年7月30日

少し前、トレンドマイクロのサイトが改竄された (www.itmedia.co.jp)という話がありましたが、トレンドマイクロのサイトには「弊社ウイルス情報ページの改ざんについて」というお知らせが掲載されていました。

それを見ていたら、ふとページの右上に検索フォームが存在するのに気づいたのですが、その検索フォームにXSSがあってズッコケたので届け出ていたのでした。

そして今日、IPAの方からこんなメールが。

トレンドマイクロの件につきまして、ウェブサイト運営者より、届出いただきました脆弱性に対する修正が完了したとの報告がありましたのでご連絡いたします。

有名サイトですし、改竄報告ページが脆弱というのは面白いので日記に書こうかなと思い、念のため確認してみたわけです。

するとこれが、入力された文字列からタグ部分だけ消去するという、典型的なダメ回避策なわけですよ。そして案の定……。

"><scr<s>ipt>alert(document.cookie)</sc<s>ript>

……こんな感じの検索で貫通。

もっと頑張ってください、としか言いようがないです。

※2008-07-30追記: 修正されたので非公開部分を公開しました。参考: トレンドマイクロのサイトの脆弱性が修正された

関連する話題: Web / セキュリティ / 情報セキュリティ早期警戒パートナーシップ / クロスサイトスクリプティング脆弱性

2008年5月21日(水曜日)

XSLTでXHTMLをHTML4に変換してみる

プログラムでHTMLを出力したいのですが、出力結果をUTF-8のXHTMLではなく、Shift_JISのHTML4にしたいという……。

文字列連結でHTMLを作るのは避けたいと思っているので、DOM操作でなんとかしたいところですが、それだとSGMLであるところのHTML4を出力するのは何かと面倒です。

というわけで、XHTMLで吐いてからHTML4に変換できないかと画策。XSLTの output method="html" で行けるはず……と思い、<xsl:copy-of/> でさくっとコピーしてみたのですが、それだと名前空間がついてきてしまうのでダメでした。というわけでこんなテンプレートを作成。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
 method="html"
 encoding="Shift_JIS"
 indent="yes"
 doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
 doctype-system="http://www.w3.org/TR/html4/loose.dtd"
/>

<xsl:template match="*">
    <xsl:element name="{name()}">
        <xsl:for-each select="@*">
            <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute>
        </xsl:for-each>
        <xsl:apply-templates />
    </xsl:element>
</xsl:template>
</xsl:stylesheet>

これで割とうまく行ったような気がしましたが、xml:langがついてきてしまったり、meta http-equiv がダブったり……。もう少し調整しないとダメですか。

関連する話題: XML / HTML / XSLT

2008年5月17日(土曜日)

小さな王様 6周目クリア

小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル (www.square-enix.co.jp)」6周目ベリーハードをクリア。

クリア日数は92日で、5周目より4日短縮。研究レベルもちょっとだけ増えましたが、冒険者評価SSSには至らず。

関連する話題: Wii / ゲーム / 小さな王様と約束の国 / FFCC

賭博堕天録カイジ9,10,11,12,13

堕天録カイジをラストまで購入。

13巻まで延々と麻雀ですかっ。しかし、カイジの「地道にいこう……」という台詞は面白かった。

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

2008年5月16日(金曜日)

賭博堕天録カイジ7,8

さらに引き続き堕天録カイジを購入。

いよいよ血なまぐさい展開が……。しかし、延々と麻雀というのはつらいですなぁ。

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

XMLも例外で出力するSchematron.NET

Schematron.NETですが、コンストラクタを呼ぶときに

new Validator(OutputFormatting.XML);

のようにすると、出力がXMLになる模様。

……やってみると、例外のメッセージに XML が突っ込まれていました……。

これは XML のノードではなくテキストな訳でして、パースして利用しろと?

使いづらすぎる。 (d.hatena.ne.jp)

関連する話題: プログラミング / C# / .NET / XML

2008年5月15日(木曜日)

拒否アドレス 220.194.55.47 を追加

Yicah を拒否したつもりだったのですが、220.194.55.45 ではなく 220.194.55.47 から、同じパターンで1日2万のアクセスが来ていました……。

おそまきながら拒否アドレスを追加。

関連する話題: bakera.jp / Web / HTTP

2008年5月14日(水曜日)

例外でメッセージを出力するSchematron.NET

Schematron を使用して XML ドキュメント検証を向上する (msdn.microsoft.com)」。

リンク先からソースが拾える NMatrix.Schematron.dll ですが、サンプルの通りに動かしてみると一応動作。検証エラーが出るとこんな感じ……。

NMatrix.Schematron.ValidationException: Results from Schematron validation:
Results from Schematron validation
    From pattern ""
        Assert fails: foo要素にbar要素が1つ以上含まれていなければなりません。
        At: /test[1]/foo[2]
            ...
            (Line: 4, Column: 2)

   場所 NMatrix.Schematron.Validator.Validate(XmlReader reader) 場所 Validator.cs:行 454
   場所 App.Main()

って、検証エラーなどのメッセージは例外で送られてきますか。validator なんだから検証エラーは普通に起こり得るわけで、それを例外で出してくるというのはかなり斬新。というかぶっちゃけ使いづらすぎる。 (d.hatena.ne.jp)

まあ、出力の方法は変えられるのだろうと思いますが……。

関連する話題: プログラミング / C# / .NET / XML

賭博堕天録カイジ5,6

さらに引き続き堕天録カイジを購入。

この後は血なまぐさい展開が待っている?

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

2008年5月13日(火曜日)

賭博堕天録カイジ3,4

引き続き堕天録カイジを購入。

しかし、麻雀のルールを知らないと展開が分かりにくいですね……。

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

2008年5月11日(日曜日)

賭博堕天録カイジ

kazsh (www.kazsh.com)賭博黙示録カイジ賭博破戒録カイジをすべて読み終えてしまったということなので、堕天録シリーズを購入。

とりあえず2巻まで入荷しております。

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

小さな王様 100日未満クリアかつ総合評価SSS達成

小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル (www.square-enix.co.jp)」5周目ベリーハードをクリア。

総合評価SSS、クリア日数は96日。というわけで100日未満クリアを達成しました。4周目より 20日以上短縮しています。

しかし冒険者評価はやっぱりSS止まり。冒険者平均レベルは3周目と同じなのですが、資金不足で研究レベルが低いので評価が低いものと思われます。いかに序盤で資金を稼ぐかが重要……かな。

関連する話題: Wii / ゲーム / 小さな王様と約束の国 / FFCC

2008年5月8日(木曜日)

JIS Q 15001:2006 の 8項目

謎のPマーク研修のテストを受けたりしていますが、4つの文章から正しいものを選ぶ問題で、「(Pマーク取得企業では) 採用応募時に履歴書を本人から受け取る場合、8項目の事項を通知しなければならない」というような選択肢が。個人情報保護法では、個人情報を取得するときに利用目的を伝えなければならないという規定があります。

第十八条  個人情報取扱事業者は、個人情報を取得した場合は、あらかじめその利用目的を公表している場合を除き、速やかに、その利用目的を、本人に通知し、又は公表しなければならない。

しかし、ここで言っている「8項目」というのはこれではなくて、JIS Q 15001:2006 で規定されている 8つの項目を指しています。JIS Q 15001 では、個人情報を直接書面で取得する場合に、以下のような事項を通知するということになっています。

a) 事業者の氏名または名称

b) 個人情報保護管理者(若しくはその代理人)の氏名又は職名、所属及び連絡先

c) 利用目的

d) 個人情報を第三者に提供することが予定される場合の事項

- 第三者に提供する目的

- 提供する個人情報の項目

- 提供の手段又は方法

- 当該情報の定期用を受ける者又は提供を受ける者の組織の種類、及び属性

- 個人情報の取り扱いに関する契約がある場合はその旨

e) 個人情報の取り扱いの委託を行うことが予定される場合には、その旨

f) 3.4.4.4~3.4.4.7に該当する場合には、その求めに応じる旨及び問合せ窓口

g) 本人が個人情報を与えることの任意性及び当該情報を与えなかった場合に本人に生じる結果

h) 本人が容易に認識できない方法によって個人情報を取得する場合には、その旨

以上、JIS Q 15001:2006 3.4.2.4 本人から直接書面によって取得する場合の措置 より

というわけで確かに a) から h) まで 8項目あるのですが、d) と e) は第三者提供や委託がなければ通知しなくて良い項目です。また、「履歴書を本人から受け取る」という取得方法なら本人は容易に認識できますから、h) については通知する必要がないと言って良いでしょう。「履歴書の取得」というシチュエーションに絞られている以上、通知するのは5~7項目で良いはずで、「8項目の事項を通知しなければならない」というのは間違いではないかと思うのです。

……なのですが、他の選択肢は JIS Q 15001 を調べるまでもなく誤りと判断できるものばかりなのでして……。

関連する話題: Pマーク

最近の改竄事件でMicrosoft SQL Serverが狙われる理由

SQL Serverが狙われるには理由がある (www.tokumaru.org)」。

SQL Serverにはxp_cmdshellという便利な機能があり、SQL文で簡単に任意コマンドが実行できたりします。昔は、このxp_cmdshellを利用したと思われるタイプの改竄が良くありました。

が、最近流行っているのは任意コマンド実行ではなく、DBにひたすらスクリプトを突っ込み、それがエスケープされずに表示されるのを期待するという方法です。この方法ならxp_cmdshellは必要ないので、MSのSQL Serverに限らず、どんなSQLサーバでも攻略されるのではないか……と思いながらも、何故かSQL Serverが中心に狙われているようなので不思議だったのでした。

徳丸さんの分析によれば、最近流行の攻撃手法はSQLの複文を使用していて、それが動くのがSQL ServerとPostgreSQL であると。

……ということは、PostgreSQLもけっこう危ないと考えた方が良いのですかね。まあ、いずれにしてもSQLインジェクションを許している時点でダメなので、DBサーバ側の責任ではないと思いますが……。

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

2008年5月7日(水曜日)

パッチモンスター

梅田望夫×まつもとゆきひろ対談 第2弾「ネットのエネルギーと個の幸福」(前編) (itpro.nikkeibp.co.jp)

こういう人もいます。メーリングリストでバグの報告とかあるじゃないですか。それを見て「そろそろ手をつけないといけないかな...」と考えていると,その人から「直しておきました」というメールが来るんです。見たら確かにきちっと直っていて。僕らはパッチモンスターと呼んでいるんですけど(笑)。パッチ袋にいろいろなパッチを入れていて,話が出るとそこからパッチが出てくるという(笑)。

以上、梅田望夫×まつもとゆきひろ対談 第2弾「ネットのエネルギーと個の幸福」(前編) より

おっ、こんなところでなかださんの話が……。

※参考: [ruby-dev:22886] Re: Process.spawn & IO.popen w/o shell (blade.nagaokaut.ac.jp)

関連する話題: Ruby

2008年5月5日(月曜日)

小さな王様 総合評価SSS

小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル (www.square-enix.co.jp)」4周目ベリーハードをクリア。

総合評価SSSを達成! おそらくこれが最高評価だろうと思います。3周目よりも冒険者評価は下がってSSになっているのですが、オールSSSでなくても総合SSSになるのですね。クリア日数が117日となって大幅に短縮されているので、その分で補われているのでしょうか。

クリア日数の短縮は、前周でダンジョン詰め合わせを購入していたことによる効果が大きいです。ダンジョン詰め合わせに含まれる「隠者の洞穴シムス」は

ではなく、

なので、一度クリアすると、次周以降はいきなり立て札の公園が建設できるようになります。序盤からおふれがたくさん出せるので、探索効率が大幅に良くなります。

※他にも「砂の都クラビス」で武器屋がいきなり建てられるようになるので、自由に建設できるようになったら、いきなり武器屋+立て札でどんどん進められます。ただし、パブロフ君の追いかけっこで15回タッチしていないと精霊力が足りませんが……。

クリア日数はまだまだ短縮できますが、短縮すると税収が得られる日数も減るので、研究レベルを上げるのが難しくなります。両立はなかなか難しいですが……「クリア100日未満かつ、オールSSS」くらいなら出せるかしら。

関連する話題: Wii / ゲーム / 買い物 / 小さな王様と約束の国 / FFCC

2008年5月3日(土曜日)

WCAG2.0 Candidate Recommendation

WCAG2.0 の Candidate Recommendation (www.w3.org)が出ております。まだ軽く見始めた程度ですが、とりあえずガイドラインの 2.2 の項目が興味深いです。

20 Hour Exception: The time limit is longer than 20 hours.

ちなみに JIS X 8341-3 にはこんなのがあります。

これ、素直に読むと、セッションには有効期限を儲けないことが望ましいということになるのですね。昔、とあるセキュリティ系のガイドラインの議論で「セッションの有効期限」に関連してこの話になり、「セッションは短い方が良いと良く言われるが、それには根拠があるのか?」という議論になったりしたのですが……。

セキュリティ上の理由はさておいて、無限にセッション情報を保存するとディスクがあふれてしまいますので、どこかで切らないといけません。で、「その JIS には期限の定めとかありますか?」「無いですね」といった話を経て、結局「まあ、1日くらいあれば良いですかね?」というような話をしていたわけですが。

WCAG2.0 では、この点がかなり明確な規定になっているのが興味深いですね。

関連する話題: Web / アクセシビリティ / セキュリティ

L4U 新曲 Do-Dai

アイドルマスター ライブフォーユー! (www.amazon.co.jp)」(通称 L4U) の新曲「Do-Dai」のダウンロードが始まったようなので、久しぶりにアイドルマスター動画リンクをメンテナンスしてみました。

※亜美・真美の「何とかするべし」はまた凄いなぁ。

関連する話題: ゲーム / アイドルマスター

2008年5月2日(金曜日)

ロデオボーイ3

りゅうさん (rryu.sakura.ne.jp)ロデオボーイⅢ (www.amazon.co.jp)をオススメされ。なんと3まで出ていましたか……。

関連する話題: 与太話

2008年5月1日(木曜日)

Pマークでもパスワード定期変更は必須?

少し前に、「パスワードは90日ごとの変更」が義務づけられる!? (itpro.nikkeibp.co.jp)……という話がありましたね……。

今日、プライバシーマークについての社内文書がまわってきたのですが、そこにもしっかり「パスワードを定期的に変更する」という項目が……。訊いてみると、Pマーク制度では「パスワードの定期変更」が義務づけられていて、マークを取得・維持するためには定期的な変更を実施することが必須なのだそうで。

プライバシーマーク制度 FAQ:監査について (privacymark.jp)」に「JIS Q 15001:2006をベースにした個人情報保護マネジメントシステム実施のためのガイドライン」という文書があります。これの 3.4.3.2 にそれらしい項目があるのですが、この項目は「個人情報の保護に関する法律についての経済産業分野を対象としたガイドライン (www.meti.go.jp)」を参照していて、そのネタ元を見るとこうあります。

①個人データへのアクセスにおける識別と認証を行う上で望まれる事項

個人データに対する正当なアクセスであることを確認するためにアクセス権限を有する従業者本人であることの識別と認証(例えば、IDとパスワードによる認証、生体認証等)の実施

※IDとパスワードを利用する場合には、パスワードの有効期限の設定、同 一又は類似パスワードの再利用の制限、最低パスワード文字数の設定、一定回数以上ログインに失敗したIDを停止する等の措置を講じることが望ましい。

以上、個人情報の保護に関する法律についての経済産業分野を対象としたガイドライン より

って「必須」じゃないじゃん! と思うわけですが、守らないと「守れ」と言われたりするらしく。

……と、こういうわけで、「個人情報の保護に関する法律についての経済産業分野を対象としたガイドライン」において「パスワードの有効期限の設定」が「望ましい」とされているのが元となり、Pマーク取得企業の従業員は「パスワードの定期的な変更」を強制されるという結果になっている模様です。

関連する話題: セキュリティ / Pマーク

小さな王様と約束の国 3周目クリア

小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル (www.square-enix.co.jp)」3周目ベリーハードをクリア。

2周目と比較すると、クリア評価が S から SS に、冒険者評価が SS から SSS になり、総合評価が SS にアップ。ダンジョン詰め合わせを買ったのでクリアダンジョン数が増えているのですが、クリア日数は減っているので、効率は良くなっているのかなと。

関連する話題: Wii / ゲーム / 買い物 / 小さな王様と約束の国 / FFCC

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーションウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)

その他サイト