![]() ![]() ![]() ![]() 夏時間移行に伴うエイプリルフールバグが、問題を起こす可能性この記事のURLhttp://japan.internet.com/webtech/20010330/9.html
著者:Thor Olavsrud
海外internet.com発の記事
2000年問題を覚えているだろうか。同じように日付に関係したバグが、問題を引き起こすかもしれない。問題となる日
付は、4月1日から8日までの間で、Microsoft の『Visual C++』の特定のバージョンで制作したアプリケーションソフ
トや、Web サイトにこのバグは潜んでいる。プライバシー擁護団体
Privacy Foundation の CTO である Richard Smith 氏は、
これを『April Fools 2001』バグと呼んでいる。
Smith 氏は1999年にこのバグを見つけ、Microsoft はその直後にパッチをリリースした。多くのコンピューターが修正 を施してアップデートされたが、アプリケーションソフトにもアップデートが必要で、現在バグが修正されていないア プリケーションがどれくらい出回っているのかは明らかではない。 Smith 氏は28日に、メーリングリストの『bugtraq』で、「このバグは、特定用途向けの組み込みコンピュータに現れ る可能性が最も高い。一般にそういったシステムは、デスクトップコンピュータほど頻繁にアップデートが行われない からだ」と書いた。 空港の離発着時刻の表示板や、ビルに設置されているエレベーターや非常ドア等の自動ロックシステム、輸送機関のス ケジュールシステム、ホテルの目覚ましコールシステムなどが、影響を受ける可能性がある。もちろん Web サイトも脆 弱になる可能性がある。 同氏は「おそらく Microsoft の IIS (インターネット インフォメーション サーバー) そのものが、VC++ で書かれ ている。Microsoft の Active Server Pages (ASP) に基づいて記述されたページで使用されている、多くの ActiveX コントロールも同じだ。JavaScript を使っている ASP ページでも、この問題が起こる可能性がある」とい う。ただ、同氏は、VBScript で記述されたものについては、分からないと述べた。 このバグは、特定のバージョンの Visual C++ のランタイムライブラリに含まれる、時間および日付に関係する関数に あって、4月1日が夏時間の開始日 (4月の第1日曜日) と重なる場合、これらのプログラムコードで、夏時間へ変更する ための計算が、できなくなるというものだ。この問題は、4月8日になると自動的に解消する。 このバグによって、Windows の時計が正しい時刻を表示していても、Visual C++ のランタイムライブラリに含まれて いる、時間がらみの関数を使うアプリケーションでは、時刻が1時間ずれてしまう。Microsoft がこのバグを最初に報告した際、同社 はあくまでも問題は限られた範囲のものでしかないと考える、と述べた。 Microsoft は、アプリケーションにこの問題があるかどうか確かめるためには、システムの日付を2001年4月2日に設定 し、アプリケーションが示す時刻、すなわちデータに埋め込まれる時刻等が、システムの時刻と一致していることを確 認するようにと勧めている。 |