Windowsの時刻補正機能により時計がときどき数ヶ月単位でズレてリセットされる事態が発生
Windowsで、システムクロックが数日~数ヶ月単位でズレてリセットされてしまう事態が起きるそうです。この事態の原因は、2016年から導入された「Secure Time Seeding」という機能だと指摘されています。
Windows feature that resets system clocks based on random data is wreaking havoc | Ars Technica
https://arstechnica.com/security/2023/08/windows-feature-that-resets-system-clocks-based-on-random-data-is-wreaking-havoc/
ニュースサイト・Ars Technicaによると、ノルウェーのデータセンターではシステムクロックが「55日後」へとリセットされる事態が発生し、携帯電話会社を変更するために待機していた電話番号が「すでに変更済み」の扱いになったり、一方ですでに変更を終えた番号が「作業保留中」になったりと、大変なことになったそうです。
実は、同様の事態が2022年8月にも起きていて、ファーストネームのみをArs Technicaに明かしたエンジニアのジーメン氏は今度こそはと原因を追及。そして、Windowsの「Secure Time Seeding」という機能によるものであることを突き止めました。
Windowsのシステムクロックが狂っていると、デジタル証明書のタイムスタンプの解析やジョブの実行など、多方面に影響が出ます。Secure Time Seedingはこうした事態にならないよう、マシンの電源が切れているときでも正確な時間を維持できるようにするための機能です。
時計を合わせる方法としてはNTPサーバーを用いる方法がありますが、Microsoftによると、ネットワーク上で安全に通信できる状態にないとき、セキュリティを無視するか、何らかの例外による穴を設けないと時間を取得することができないため、Secure Time SeedingではSSLハンドシェイク内のデータに基づいて時間を設定しているとのこと。
この問題は、別のエンジニア・ケン氏も遭遇していて、ケン氏の事例では合計5000台のうち20台ほどのサーバーで問題が起きており、中には時間が「2159年」にまでズレたこともあったそうです。
ジーメン氏やケン氏はMicrosoftに問題を報告していますが、効果的な対策法は見つかっていないようです。
なお、Ars Technicaが記事を発表したあと、Microsoftは「Secure Time Seedingは、すべてのWindowsのデフォルト構成で有効になっており、意図したとおりに機能している」「意図通りに動かないケースはそれぞれの複雑な要因が存在する可能性が高い」「推奨できる唯一のアクションは、デプロイメントで機能を無効化すること」との声明を発表しています。
・関連記事
Facebookが高精度時刻同期システムをオープンソースへ、構築コストが従来の数分の1に - GIGAZINE
福岡大学が独自に運用してきた日本初の公開NTPサービスを利用しないように呼びかけ中、将来的な停止で世界規模の影響が出る恐れも - GIGAZINE
NTPサーバの一部が2000年に逆戻りしてしまう事態が発生 - GIGAZINE
・関連コンテンツ
in メモ, Posted by logc_nt
You can read the machine translated English article Due to the time correction function of W….