パスワードを忘れた? アカウント作成
16729174 story
Windows

Windowsの時刻補正機能の影響で日付が大幅にズレる 41

ストーリー by nagazou
ズレ 部門より
Ars Technicaの記事によると、Windowsのシステムクロックが数日から数か月単位でズレてリセットされる問題が発生しているそうだ。原因は2016年から導入された「Secure Time Seeding」という機能。この問題により、データセンターや携帯電話番号の変更などでトラブルが生じ、影響が広がっているという(Ars TechnicaGIGAZINE)。

具体的には、ノルウェーのデータセンターでシステムクロックが55日後にリセットされる事態が発生、携帯端末の電話番号の変更処理が誤って処理されるなどの問題が生じたとされる。2022年8月にも同様の問題が報告されており、ノルウェーのデータセンターのエンジニアのジーメン氏が問題の原因を追求したところ、「Secure Time Seeding」機能が原因であることが判明したとしている。

「Secure Time Seeding」は、システムクロックの正確性を確保するために、2016年から導入された仕組みで、システムの電源が切れている際でも正確な時間を維持する。同様に時計を合わせる方法としてはNTPサーバーを用いる方法があるが、この方法は外部のネットワークに依存するため、サーバーなどではセキュリティ上の問題が生じる可能性がある。そこでSecure Time Seedingでは、リモートサーバーと行うSSLハンドシェイクのデータに基づいて時間を設定する仕組みとなっている。

問題を報告したエンジニアらはMicrosoftにこの問題の対策を求めているが、現時点では効果的な解決策は見つかっていないとされる。Microsoft側は「Secure Time Seeding」が原因で問題が発生する場合、複雑な要因が影響している可能性があるとして、必要に応じて機能を無効化することを推奨しているようだ。

あるAnonymous Coward 曰く、

真っ先に無効にしてたから、今でも時刻が飛ぶ現象が続いてるって知りませんでした。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2023年08月22日 19時55分 (#4515041)

    録画サーバーの時刻が、一定周期でとんでもない過去の日時に変更される現象に悩まされた。

    このマシン、完全オフラインだけど、時刻はデジタル放送に乗っている時刻情報を取得することで自動補正されるようにしている。

    長い間原因がわからずに困ってたんだが、Windowsでは標準で設定される「時刻を自動的に設定する」をオフにすると解消されることがわかった。何回かNTPサーバーとの通信ができないと、勝手に時刻が変更される「仕様」みたい。これに何の御利益があるのか、さっぱりわからんけど、迷惑千万。

    同じ現象に遭遇する方はあまりおられないと思うけど、もし悩んでいるなら、この対策を試してみるといい。

    • by Anonymous Coward

      RTCの電池切れてない?
      地デジで自動補正が、hwclock -w相当の処理をしてないから、RTCがずれてる。
      で、NTPで繋がらない時に、RTC時刻に戻す処理が走ってRTCのずれた日時に戻ってるパターン。

  • by Anonymous Coward on 2023年08月22日 20時02分 (#4515044)

    NTPやドメインコントローラで時刻同期してない場合、システムクロックとRTCが60秒以上ずれるとシステムクロックがRTCにあわされる。
    数か月に1回数十秒動作が止まるというよくわからんバグの原因がこれだった。

  • by Anonymous Coward on 2023年08月22日 18時02分 (#4514951)

    自前のプライベート認証局か、IDS/IPSか、iSCSIとかのSANか、UPSなのか知らないが、時計が狂ってる奴が居るのでは?

    • by Anonymous Coward

      これって、NTPをSSLでラップしたようなものなのかな?
      >リモートサーバーと行うSSLハンドシェイク
      この「リモートサーバ」ってどこが用意するもの?
      Microsoft?

      • by Anonymous Coward on 2023年08月22日 18時55分 (#4514995)

        どこかのサイトに繋ぐとき、SSLハンドシェイク内に現れるServerUnixTimeというフィールドと、
        OCSPに問い合わせて得られた有効期限情報をそれぞれ使うとのこと。

        いずれも正しいことを保証する仕組みではないし、意図的に乱数などの値を入れて返す実装もあるが、
        ネット上を見てたらだいたい合ってるみたいだし、ええんちゃう?みたいな仕組みらしい。

        親コメント
        • by Anonymous Coward

          > 意図的に乱数などの値を入れて返す実装

          これが原因なのでは。その実装が悪いわけではなさそうだけど

          • by Anonymous Coward

            いや、そんな保証されていない情報をシステム時刻に使っちゃうMSがマヌケ
            ってことでFA?
            # ネットは悪意に溢れていると考えていないMSって純情 !!!

          • by Anonymous Coward

            いやでも内部時間がミリ秒単位で知られると困るからずらすという話で、年単位ずらすことはないんじゃないの?
            下手すると証明書期限切れみたいな話になるし。

            • by Anonymous Coward

              "ServerUnixTime" と呼ばれているのは、おそらくServer Hello内に現れる"GMT Unix Time"のフィールドかと思いますが、これはそもそも乱数の種(シード)として使うことを想定したもので、毎回異なる値でさえあれば十分なものであり、現にTLS1.3では廃止されて [nic.ad.jp]います。

              なのでミリ秒単位どころか100年単位でずらしても本来の仕様上は問題ないはずのものなので、それを設計の想定を越えて流用してしまったのが問題の根本と思われます。

      • by Anonymous Coward on 2023年08月22日 18時50分 (#4514993)

        SSL/TLSのプロトコル上正確な時刻をやり取りする必要があるのでそれを流用するというアイデアで、特定の時刻合わせ目的のサーバーを立てる必要はない。福岡大学のサーバーに決め打ちで接続とかしない限り、文字通り「どこでもいい」。

        親コメント
        • by Anonymous Coward

          > SSL/TLSのプロトコル上正確な時刻をやり取りする必要がある
          それは正確な現在時刻がわからないと、とっくに有効期限の切れた証明書を、今も有効と勘違いさせられてしまうし、
          あるいは現在有効な証明書をまだ有効になっていないと勘違いしてしまう可能性もある(なのでSSLのエラー画面にはシステム時刻を確認しろと書いてある)。

          なのに、どこの馬の骨ともしれぬ「リモートサーバー」が言ってきた時刻を信じ込むって正気の実装とは思えないのですが?
          それとも、NTPと同じで、あらかじめ正確な時刻を教えてくれると信頼するサーバーを設定しておくという話でしょうか?
          それなら別にNTPで良くないですか?なんかこの機能の利点あるんですか?

          • by Anonymous Coward on 2023年08月22日 22時41分 (#4515122)

            時計の設定で年月日を間違えて設定するようなユーザーからの、
            インターネットが見れない(実際は証明書エラー)のサポートコストを削れます。

            ※NTPは15もしくは48時間以上ズレてる場合は修正しない。

            親コメント
            • by Anonymous Coward

              結果それで年月月日が誤って設定されるのであれば、サポートコスト上がる上にセキュリティ的にもまずい状態となるよね

    • by Anonymous Coward

      Microsoftのバグはもっと根深いところに原因がある。
      想定外の原因で発生するので変な日付になるのでしょう。

      時計がくるっている程度なら時計を直せば解決するし
      書いてある通り、時計がくるっている程度ならずれても数時間でしょ。
      日付がずれるってのは全く別なところから値がとられいるのでしょうね。
      もしくは仕様正しく理解しないまま実装した結果のバグ。

      年月日の順番が逆とか凡ミスレベルかもよ。

      • by Anonymous Coward

        何の根拠もないのに良くもまあ長々と語れるもんだ。

      • by Anonymous Coward

        顧客のネットワークや機器が原因だと回答困難ってのは有ると思う。
        少なくとも原因踏査でSecure Time Seedingで日付が飛んだってなってるわけだし。

        確認はしてないけど、数時間の乱数によるズレ程度なら日付や時刻は飛ばないと思う。
        RTC電池切れとかであまりに過去日だと前回シャットダウン日時にセットするとかその辺のお節介機能の副作用と考えた方が自然だと思う。

        Secure Time Seedingって、1年間違えて日付をセットして、SSL/TLS使ったサイトが証明書エラーで見れないとか、Windows Updateが出来ないとかの対策で実装したのが裏目になってるパターンだと思われる。
        なので、狂う該当日付を持ってるマシンがどっかに居るのでしょう。

        • そもそもエラーコードで発生してるのでは?

          プログラムは各種サービスの上に存在し。
          Windows updateの処理が始まるとサービスが停止する。
          動いているプログラム側ではエラーが出る。
          Windows homeで事故る原因。
          WindowsをServerで手動手動更新した場合も同様で
          プログラムを停止せずに行っているならエラーが出ている可能性がある。
          その引数が日付に混入したなら考えられないこともない。

    • by Anonymous Coward

      セルフコメント。
      ストーリーのリンク先の情報読んだら理解した。
      OpenSSL系は互換性で必要な場合 [github.com]以外は、Server Helloのgmt_unix_timeにも乱数を詰め込んでくる [github.com]のね。
      結果、SSLのgmt_unix_timeが偶然ヨサゲな値になると採用されて狂うと。
      こりゃ、Windowsの当該機能を無効化するしかないねぇ。

  • by Anonymous Coward on 2023年08月22日 18時50分 (#4514992)

    起動後49日でフリーズならどこかで聞いたような

    • by Anonymous Coward

      75日もたてばみんなうやむやになる
      かもよ

  • by Anonymous Coward on 2023年08月22日 19時40分 (#4515025)

    想定外のトラブルが起こるたびにワクワクします。

    • by Anonymous Coward on 2023年08月23日 4時56分 (#4515183)

      通常の想定を超える不思議なバグはマイクロソフト特有なんですよね。
      設計する際の詰めがあまい。
      または杜撰である。と言うのが適切な意見。
      フェールセーフの考えがない。
      品質より納期が大事。バグっても後で直せばいいや。
      それで乗り切ってきたつもりなんだろうけど
      もう直せなくなっているよね。

      親コメント
      • by Anonymous Coward

        Appleのバグは原因確認するとマヌケなものばかりだもんな。

      • by Anonymous Coward

        設計工程を飛ばして思い付きで実装して動かしてみてから考えるんでしょ?

    • by Anonymous Coward

      macOS Ventura 13.5に不具合、Macアプリが位置情報取得できず
      https://iphone-mania.jp/news-548612/ [iphone-mania.jp]

      • by Anonymous Coward

        だれもmacの話なんてしてませんよ

        • by Anonymous Coward

          なぜかWindowsの不具合だけこうやって大々的に取り上げられてmacOSの不具合はスルーされるんですよね不思議ですねえ・・・

          • by Anonymous Coward

            反Apple教徒だとストーカーのごとく気になって仕方がないかもしれませんが、単にシェアの低いマイナーなクライアントOSだからでしょう

          • by Anonymous Coward

            誰も困らんから。ユーザー少ないし、大したことに使っていない。

          • by Anonymous Coward

            誰もタレコミすらしないし、俺も含めてスラドのセキュリティ厳格なマカーは位置情報は完全ブロックしてるからこの機能自体使ってないのでどうでもいい

  • by Anonymous Coward on 2023年08月22日 20時03分 (#4515048)

    >Microsoft側は「Secure Time Seeding」が原因で問題が発生する場合、
    >複雑な要因が影響している可能性があるとして、必要に応じて機能を無効化することを推奨しているようだ。

    原因がわかっているなら、原因が特定され修正されるまでは
    機能を無効にし、他社の機能に置き換えるのが普通ですね。

    複雑な要因じゃないんです。日付がくるってしまうのを回避しなければならない。
    日付が狂うサービスなんて仕えたもんじゃないし、エンドユーザーが困るだけ。
    エンドユーザーの立場になって考えてください。 お願いしますよ。

    • by Anonymous Coward

      日付時刻が変なActiveDirectoryサーバーのドメインに参加して、
      手元のマシンの日付が変になったって言うようなもんだからなぁ。

      全マシンの時刻が正しい環境ならこうならないと思うよ。
      無効化手段も用意されてるしね。

      • by Anonymous Coward

        ドメインコントローラーの時刻が狂っているのは管理組織の責任だが、インターネット上のランダムなサーバーのせいとか言われたらそんなもの参照している方が悪いにしかならんだろ

        • by Anonymous Coward

          インターネットじゃなくて、イントラネットだからなあ

  • by Anonymous Coward on 2023年08月22日 21時20分 (#4515090)

    放置ですかね?

    • by Anonymous Coward

      > バグの原因がわからないと直せない
       
      普通そうだと思いますが...
      もしかしてprintfを入れてみるんですか?

      • by Anonymous Coward

        普通に考えて、Microsoftの回答のことでしょ

        • by Anonymous Coward

          業務目的での損害はマイクロソフトが負担してくれそうもないので
          普通は別な方法に差し替えるでしょうね。

    • by Anonymous Coward

      放置ですかね?

      # なぜか2倍になるのでここで2で割る
      的な修正を稀によく見るみたいな

    • by Anonymous Coward

      つか問題ではあるがバグではないでしょ

typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...