« 2007年11月 | メイン | 2008年01月 »

2007年12月17日

セキュリティキャンプ・キャラバン筑波AC

今週末の土曜日(12/22)に筑波大学で開催されるセキュリティキャンプ・キャラバンで講師をすることになりました。

第5回つくばコンピュータサイエンス産学オープンカレッジ
セキュリティキャンプ・キャラバン with プログラミング -筑波-

開催日時:平成19年12月22日(土) 10:00~16:10(終了予定)
開催場所:筑波大学 総合研究棟B 1階 112講義室
参加費用:無料(E-mailまたはFAXによる事前申し込み/当日来場可)

講義内容

  1. セキュリティキャンプの紹介(セキュリティキャンプ事務局) 10:00~10:15
  2. プログラミング基礎「プログラムが変えた社会」 講師:吉岡 弘隆 10:15~11:15
  3. プログラミング応用「日用プログラミング~ないものは作ってみる」  講師:宮本 久仁男 11:25~12:25
  4. セキュリティ基礎(正しい情報セキュリティを学ぶ)  講師:園田 道夫 13:15~14:15
  5. セキュリティ応用(より深く情報セキュリティを学ぶ) 講師:竹迫 良範 14:25~15:25

    「バイナリを書き換えてセキュリティ技術に応用する」

    Apacheフィルタで画像ファイルを書き換えてXSSを防止するmod_imagefightの解説と Webコンテンツにおけるアンチ・リーバースエンジニアリング技術として、 ボットによるUserAgent詐称を検出するためのHTMLシグネチャマッチング技術を紹介し、 時間があればActionScriptの逆コンパイルを阻止するFlash攻性防壁のデモを行います。

  6. セキュアVMプロジェクトの紹介(筑波大学教授 加藤和彦)15:25~15:45
  7. 質疑応答およびキャンプ卒業生による発表  15:45~16:10(終了予定)

本来は別の先生が講師をされる予定だったのですが、突然の長期入院ということで、急遽代打で出場することになりました。

せっかくの機会なので、筑波ACの学生さん向けに5分では話せなかったイメージファイトの中身について解説したいと思います。

2007年12月14日

SecurityDay2007パネルDISカッション

2007年12月18日(火)青山TEPIAにて、日本の情報セキュリティのあり方を考えるイベントSecurityDay2007が開催されるのですが、セッション2のパネルディスカッションの末席を汚すことになりました。

SecurityDay2007 <セッション2>

ソフトウェア等の脆弱性対策 ~次の一歩は?~

  • モデレータ 歌代 和正 (JPCERT/CC)
  • パネリスト 鵜飼 裕司 (フォティーンフォティ技術研究所)
  • パネリスト 竹迫 良範 (サイボウズラボ)
  • パネリスト 加藤 雅彦 (IIJテクノロジー)
脆弱性については、届出制度や開発側の対応についても仕組みが動き出し、かなり改善されてきてはいますが、まだ検討課題として残ってしまう状況がでています。脆弱性を見つけてしまったら、見つけられてしまったら、利用しているソフトに脆弱性が出てしまったら、顧客が脆弱性のあるソフトを使っていたら、等々、色々な側面から、問題点を掘り下げ、実際に起きている事例なども交えて、どう対応して行くのが良いのか、どのように考えるのが良いのかなどを検証し、より良い対策について考えてゆきたいと思います。会場からのご発言も大いに期待します。

このイベントに同席される方がスゴイ人たちばかりなので今からgkbrしています。

平日の参加費有料のイベントですが、他にも面白いセッションがありますので、もしも興味のある方はどうぞご来場ください。

追記(2007/12/17)

チケットの残数がまだ(あともう少し)あるみたいです。

ローソンチケット以外の手段でも当日券の予約ができるそうなので、 チケットの購入忘れていた!という方はまだ間に合うかもしれません。

SecurityDay2007 は、事前にチケットの予約・購入が必要です

JNSA提供のフォームから当日券の予約が可能です。 チケット代金は、当日会場受付での現金精算となります。

申込期限: 12月17日(月) 17:00 まで

2007年12月13日

KB942840の更新でJScript.DLLが高速になった(IE6/WindowsXP)

Windows XP 用の更新プログラム (KB942840) で、JScriptエンジンのガベージコレクション(GC)のアルゴリズムが変更されて、 Ajaxをゴリゴリ使っているWebサイトでIE6の体感速度がかなり改善された(JavaScript実行途中で固まることがなくなった)模様。

KB942840

Windows Server 2003 ベースのコンピュータまたは Windows XP ベースのコンピュータで Internet Explorer 6 の JScript を使用する Web ページを表示すると、パフォーマンスの Web ブラウザ低下が発生することがあります。
原因
スクリプトが多くの変数を同時に作成すると、この問題は、発生することがあります。 また、この問題が同じ時刻で解析される一意の多くの値がスクリプトに含まれる場合、発生することがあります。 この問題は JScript エンジンがガベージ コレクションを実行する方法が原因で発生します。

ガベージ コレクション アルゴリズムは、次の値を監視します。• スクリプトでの変数割り当ての番号
・ スクリプトで使用されたリテラル値の数
・ スクリプトで割り当てられた文字列値の合計サイズ
これらの値の閾値が超えられるとき、ガベージ コレクションが発生します。 ガベージ コレクション プロセスは、実行されているスクリプトに割り込みます。 したがって、スクリプトを実行しているそれがガベージ コレクションが完了するまで、中断されます。

KB942840の更新で、C:\WINDOWS\system32\jscript.dll が 5.6.0.8831→ 8834 のバージョンに置き換わりました。

jscript-dll-5608834.png

ということで、更新前と更新後でベンチマークを取ってみました。まず一番目。

(1) JavaScript Speed Test 4.0 - The Real World

Before
Time Difference (seconds): 2.781
After
Time Difference (seconds): 2.703

約3%の微妙な差です。ちなみにこの数値はベンチマークを10回実行したときの最小値を計測結果としています。

(2) Javascript Speed Test 2007 (Celtic Kane)

次にid:ZIGOROuさんから教えてもらったJSベンチマークなのですが、IE6ではそのまま動かないので、XHRの関数を一度ブックマークレット経由で定義するなどしてから実行ボタンを押す必要がありました。

javascript:function XMLHttpRequest(){return new ActiveXObject("Microsoft.XMLHTTP");}
Before After
更新前 更新後

またこれも微妙な差です。

(3) JavaScript speed test (jorendorff.com)

JavaScriptの構文毎に詳しいベンチマークが取れるのですが、IEで実行すると「スクリプトタイムアウトの確認」のポップアップが表示されてしまうため、 以下の方法を使うなどして一時的に警告の確認画面が出ないようにしてあげる必要がありました。

余談: [HOWTO] スクリプトのタイムアウトを設定する方法

レジストリエディタ(Regedt32.exeなど)で、以下のキーを作って値をdword:ffffffffにするとスクリプトタイムアウトの確認ポップアップ表示を無効にすることができるようです。

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles]
"MaxScriptStatements"=dword:ffffffff
regedt32
このキーはデフォルトでは存在しません。キーが追加されていない場合、Internet Explorer 4.0 以降ではデフォルト値 5,000,000 がセットされている状態になります。なおこの値は Internet Explorer の内部処理で扱われる値であり、スクリプトのステートメント数とは異なります。

実行結果ですが、どれも微妙な差。スクリプトの実行エンジン自体は変わっていないようで、多量のGCが発生しないベンチマークではあまり差はでませんでした。

結論

今回試してみたベンチマークでは、数値として差はあまりでませんでしたが、 voxやLDRやGmailなどの実サービスでIE6を使った場合、 JavaScript実行途中に変に固まることがなくなって、 今までより体感速度が上がっているようでした。

ちなみに、自分が動作確認に使った環境は IE6 on WindowsXP SP2 / DELL Optiplex GX620 / Pentium4 3.40GHz / 1GB Memory です。