狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]系統(tǒng)時(shí)間隨機(jī)跳到 55 天后,程序出 Bug,開(kāi)發(fā)者:這是 Windows 系統(tǒng)功能搞得鬼!...

freeflydom
2023年8月22日 8:51 本文熱度 855


整理 | 屠敏

出品 | CSDN(ID:CSDNnews)


 


一直以來(lái),操作系統(tǒng)的「時(shí)間、日期、時(shí)區(qū)」,是讓很多程序員在開(kāi)發(fā)程序時(shí)比較敏感與特別關(guān)注的問(wèn)題。


還記得即將步入 2000 年的“千年蟲(chóng)”(Year 2000 Problem,簡(jiǎn)稱(chēng)“Y2K”)事件,由于早期的計(jì)算機(jī)配置比較低,那時(shí)為了節(jié)省空間就把年份只用后兩位數(shù)表示,如 1999 就表示為 99,導(dǎo)致新千年時(shí)電腦把 2000 年認(rèn)為是 1900 年,出現(xiàn) Bug,進(jìn)而引發(fā)各種各樣的系統(tǒng)功能紊亂甚至崩潰。


2012 年,有用戶(hù)發(fā)現(xiàn)低內(nèi)核版 Linux 開(kāi)啟 NTP 服務(wù)器會(huì)遇到閏秒 Bug,導(dǎo)致服務(wù)器重啟。

2016 年,很多網(wǎng)友“作了一把”,將 iPhone 的日期設(shè)置到 1970 年 1 月 1 日,無(wú)意中觸發(fā)系統(tǒng) Bug,一時(shí)間導(dǎo)致 iPhone 重啟失敗,手機(jī)直接變板磚。

就在近日,一個(gè)新的關(guān)于時(shí)間 Bug 出現(xiàn)在 Windows 系統(tǒng)中。據(jù) Ars Technica 報(bào)道,有一位挪威數(shù)據(jù)中心的工程師 Simen 遇到了一個(gè)令人費(fèi)解的時(shí)間 Bug, 它會(huì)導(dǎo)致 Windows Server 突然將系統(tǒng)時(shí)鐘重置到未來(lái) 55 天。

時(shí)間 Bug 帶來(lái)的混亂


事實(shí)上,這并不是 Simen 第一次遇到這個(gè)問(wèn)題。


在去年 8 月,Simen 曾遇到過(guò)類(lèi)似的錯(cuò)誤,當(dāng)時(shí)一臺(tái)運(yùn)行 Windows Server 2019 的機(jī)器將時(shí)鐘重置到了 2023 年 1 月,但過(guò)了沒(méi)多久又自動(dòng)跳回來(lái)了。

后來(lái),直到事件日志被清除后才發(fā)現(xiàn)這一問(wèn)題,但那時(shí)無(wú)法分析具體是什么原因?qū)е碌摹?/p>

現(xiàn)在,他又在一臺(tái)運(yùn)行 Windows Server 2016 的機(jī)器上遇到了這個(gè)問(wèn)題。


對(duì)于普通用戶(hù)而言,時(shí)間的錯(cuò)亂帶來(lái)的短暫影響也許可以忽略不計(jì)。但是對(duì)于工程師而言,卻是一個(gè)讓人崩潰的存在。

Simen 的主要工作是在 Windows Server 維護(hù)一個(gè)路由表(存儲(chǔ)在聯(lián)網(wǎng)計(jì)算機(jī)中的電子表格(文件)或類(lèi)數(shù)據(jù)庫(kù)),這個(gè)路由表實(shí)時(shí)跟蹤手機(jī)號(hào)碼從一個(gè)運(yùn)營(yíng)商轉(zhuǎn)到另一個(gè)運(yùn)營(yíng)商的過(guò)程。

當(dāng)服務(wù)器出現(xiàn)時(shí)間 Bug 時(shí),系統(tǒng)時(shí)鐘跳到八周后,這就帶來(lái)一個(gè)不可估量的后果,譬如,此前尚未遷移的號(hào)碼被列入已經(jīng)遷移、已經(jīng)轉(zhuǎn)移的號(hào)碼被列為待處理狀態(tài),整個(gè)都亂掉了。


無(wú)獨(dú)有偶

本來(lái)以為這只是一個(gè)特例,但是搜索一下,網(wǎng)絡(luò)上遇到這個(gè)問(wèn)題的工程師不在少數(shù)。

去年,有一位名叫 Ken 的工程師也發(fā)現(xiàn)了類(lèi)似的“時(shí)間跳躍”現(xiàn)象,當(dāng)時(shí)在 2-3 臺(tái)服務(wù)器上,時(shí)鐘時(shí)不時(shí)會(huì)跳躍到幾周后,甚至有一次直接跳到了 2159 年。


據(jù) Ars Technica 披露,Ken 在一封郵件中寫(xiě)道:“受此影響的服務(wù)器呈指數(shù)增長(zhǎng),越來(lái)越多。在 5000 臺(tái)服務(wù)器(虛擬機(jī))中,我們總共有 20 臺(tái)左右的服務(wù)器(虛擬機(jī))遇到過(guò)這種情況。這種情況通常發(fā)生在數(shù)據(jù)庫(kù)服務(wù)器上。當(dāng)數(shù)據(jù)庫(kù)服務(wù)器在時(shí)間上發(fā)生跳躍時(shí),就會(huì)造成嚴(yán)重破壞,只要服務(wù)器在時(shí)間上有如此大的偏移,備份也就無(wú)法運(yùn)行。對(duì)于我們的客戶(hù)來(lái)說(shuō),這一點(diǎn)至關(guān)重要。”


除了 Simen 和 Ken 之外,追溯到 2017 年,一位 Reddit 用戶(hù) zanatwo 發(fā)帖稱(chēng)他在一所大學(xué)工作,某一天,其發(fā)現(xiàn)校園內(nèi)的幾臺(tái) Windows 10 計(jì)算機(jī)開(kāi)始出現(xiàn)錯(cuò)誤的時(shí)間。這些計(jì)算機(jī)上顯示的時(shí)間 Bug 完全是隨機(jī)的,在某些情況下,他的設(shè)備時(shí)間直接跳到了 31 個(gè)小時(shí)之前。


通過(guò)深入分析,當(dāng)時(shí) Reddit 用戶(hù)發(fā)現(xiàn),時(shí)間變化與 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\SecureTimeLimits 中的 Windows 注冊(cè)表鍵相關(guān)。進(jìn)一步的調(diào)查顯示,當(dāng)一些人試圖訪問(wèn)大學(xué)網(wǎng)站時(shí),這些錯(cuò)誤報(bào)告稱(chēng)網(wǎng)站使用的有效 SSL 證書(shū)無(wú)效。


Windows 官方發(fā)布的功能惹了禍?


經(jīng)過(guò)排查之后,以上幾位工程師將罪魁禍?zhǔn)捉y(tǒng)一定位到了 Windows 上一個(gè)鮮為人知的功能—— Secure Time Seeding(簡(jiǎn)稱(chēng) STS)中。

這是微軟在 2016 年引入 Windows 的功能,主要作用就是在 Windows 設(shè)備無(wú)法通過(guò)安全連接與時(shí)間服務(wù)器通信的情況下,改進(jìn)對(duì)正確時(shí)間的記錄。簡(jiǎn)單來(lái)看,這也是設(shè)備在斷電情況下也能保證準(zhǔn)確的時(shí)間。默認(rèn)情況下,這一功能在 Windows 系統(tǒng)及服務(wù)器下是打開(kāi)的。


從工作原理來(lái)看,為確定當(dāng)前時(shí)間,STS 會(huì)調(diào)用 SSL(Secure Sockets Layer)握手過(guò)程中包含的一組元數(shù)據(jù)。具體來(lái)說(shuō),這些數(shù)據(jù)包括:

ServerUnixTime,日期和時(shí)間表示法,顯示自 1970 年 1 月 1 日 00:00:00 UTC 時(shí)起已過(guò)去的秒數(shù)。

從遠(yuǎn)程服務(wù)器 SSL 證書(shū)中獲取的加密簽名數(shù)據(jù),顯示該證書(shū)是否已根據(jù)所謂的 "在線證書(shū)狀態(tài)協(xié)議 "機(jī)制被撤銷(xiāo)。


在發(fā)布這一功能時(shí),微軟工程師在官方文檔中寫(xiě)道,他們使用 ServerUnixTime 數(shù)據(jù)是 "假定它在一定程度上是準(zhǔn)確的",但在同一句話中又承認(rèn)它 "也可能是不正確的"。


為了防止 STS 根據(jù)單個(gè)不同步遠(yuǎn)程服務(wù)器提供的數(shù)據(jù)重置系統(tǒng)時(shí)鐘,STS 會(huì)隨機(jī)穿插 SSL 連接到多個(gè)服務(wù)器,以得出當(dāng)前時(shí)間的可靠范圍。

然后,該機(jī)制會(huì)將 ServerUnixTime 與 OCSP(Online Certificate Status Protocol,在線證書(shū)狀態(tài)協(xié)議 )有效期合并,以產(chǎn)生盡可能小的時(shí)間范圍,并為其分配置信度分?jǐn)?shù)。

當(dāng)分?jǐn)?shù)達(dá)到足夠高的閾值時(shí),Windows 就會(huì)將數(shù)據(jù)歸類(lèi)為 STSHC(Secure Time Seed of High Confidence,高置信度安全時(shí)間種子)。然后,STSHC 用于監(jiān)控系統(tǒng)時(shí)鐘是否存在 "嚴(yán)重錯(cuò)誤",并對(duì)其進(jìn)行糾正。


盡管 STS 內(nèi)建了檢查和平衡機(jī)制,以確保其提供準(zhǔn)確的時(shí)間估計(jì),但長(zhǎng)期以來(lái)工程師遇到的“時(shí)間跳躍”事件表明,該功能有時(shí)會(huì)做出誤差數(shù)天、數(shù)周、數(shù)月甚至數(shù)年的胡亂猜測(cè)。


在 Ars Technica 報(bào)道的文章中,其分享了來(lái)自工程師 Ken 遇到時(shí)間跳躍時(shí)的具體截圖。

第一張圖片中的選定行上方的 "預(yù)計(jì)安全時(shí)間 "條目顯示,Windows 預(yù)計(jì)當(dāng)前日期為 2023 年 10 月 20 日,比系統(tǒng)時(shí)鐘顯示的時(shí)間晚四個(gè)多月。然后,STS 會(huì)更改系統(tǒng)時(shí)鐘,使其與"目標(biāo)系統(tǒng)時(shí)間 "中顯示的錯(cuò)誤的預(yù)計(jì)安全時(shí)間相匹配。


第二張圖片顯示了類(lèi)似的情況,其中 STS 將日期從 2023 年 6 月 10 日改為 2023 年 7 月 5 日。


 

在遇到這一問(wèn)題后,Ken 和 Simen 都向微軟進(jìn)行了反饋,遺憾的是,他們并沒(méi)有得到實(shí)質(zhì)性的回應(yīng)與解決方案。

微軟工程師個(gè)人曾發(fā)出警告:主動(dòng)關(guān)閉 STS 功能


那要問(wèn)有沒(méi)有解決方法,其實(shí)去年一位微軟 Windows 高級(jí)工程師 Ryan Ries 發(fā)過(guò)推文提供過(guò)用戶(hù),其寫(xiě)到“大家好,如果你們管理 Active Directory 域控制器,我想給你們一些非官方的建議,這完全是我的個(gè)人意見(jiàn):在您的 DC 上禁用 w32time 的 STS。”


當(dāng)有網(wǎng)友進(jìn)一步詢(xún)問(wèn)原因時(shí),Ryan Ries 表示,「因?yàn)樵谒愕钠ü芍埃@只是一個(gè)時(shí)間問(wèn)題」。


這也不禁讓人好奇,連微軟自家工程師都覺(jué)得這個(gè)功能有問(wèn)題,為什么官方還有做保留。

就在眾人存疑時(shí),微軟在給 Ars Technica 的一份聲明中寫(xiě)道:

STS 功能是一種基于啟發(fā)式的計(jì)時(shí)方法,在某些軟件/固件/硬件計(jì)時(shí)失效的情況下也有助于校正系統(tǒng)時(shí)間。該功能已在所有默認(rèn) Windows 配置中默認(rèn)啟用,并已證明在默認(rèn)配置中發(fā)揮了預(yù)期功能。


每次部署的時(shí)間分配都是獨(dú)一無(wú)二的,客戶(hù)通常會(huì)根據(jù)自己的特殊需求來(lái)配置機(jī)器。鑒于 "STS"的啟發(fā)式性質(zhì)以及客戶(hù)可能使用的各種部署,我們提供了禁用該功能的選項(xiàng),以滿(mǎn)足客戶(hù)的需求。我們的理解是,在客戶(hù)遇到 STS 問(wèn)題的部署中,很可能存在獨(dú)特、專(zhuān)有、復(fù)雜的因素,而這些客戶(hù)并不能從目前實(shí)施的這一功能中受益。在這些個(gè)別情況下,我們只能建議在部署中禁用該功能。


具體來(lái)看,要禁用 STS,可以在受影響的機(jī)器上設(shè)置一個(gè)注冊(cè)表項(xiàng)。這是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 目錄中的 UtilizeSslTimeData 密鑰,其類(lèi)型為 REG_DWORD。如果設(shè)置為 0,則停用 STS。如果設(shè)置為 1,則可以重新激活該功能。


STS 的異常,有沒(méi)有解決方案?

截至目前,似乎除了關(guān)閉此功能之外,并沒(méi)有太過(guò)合適的解決方案,因此,很多人對(duì)于微軟的回應(yīng)并不買(mǎi)賬。在 HN 上,網(wǎng)友也展開(kāi)了激烈的討論,甚至有人吐槽:是時(shí)候應(yīng)該買(mǎi)塊手表來(lái)核對(duì)服務(wù)器上的時(shí)間了!


另外,有網(wǎng)友 @theqmann 分析認(rèn)為,「這聽(tīng)起來(lái)像是一種統(tǒng)計(jì)方法,如果在給定時(shí)間內(nèi)收到 N 個(gè)時(shí)間戳相似的數(shù)據(jù)包/連接,就會(huì)改變時(shí)鐘。我可以看到這樣一個(gè)問(wèn)題:一臺(tái) Windows Server 每分鐘全天候提供數(shù)千或數(shù)百萬(wàn)個(gè) OpenSSL 數(shù)據(jù)包,而它恰好隨機(jī)接收到 N 個(gè)數(shù)據(jù)包,這些數(shù)據(jù)包彼此非常接近,足以滿(mǎn)足統(tǒng)計(jì)閾值的要求。通過(guò)隨機(jī)跳轉(zhuǎn),連續(xù)跳轉(zhuǎn)十多次時(shí)間都是有可能的」。


@jmuguy 則表示:

在我做 IT 人員的這些年里,Windows Time 是我處理過(guò)的最煩人的事情之一。注冊(cè)和取消注冊(cè) w32time,嘗試不同的 NTP 服務(wù)器。試圖弄明白為什么域系統(tǒng)無(wú)法從 DC 獲取時(shí)間。這總讓人感覺(jué)很......愚蠢。在設(shè)備上設(shè)置正確的時(shí)間肯定沒(méi)那么復(fù)雜。事實(shí)證明,并不復(fù)雜,除非你使用的是 Windows 系統(tǒng)。有點(diǎn)諷刺的是,如今我唯一需要處理的 Windows 系統(tǒng)就是我的游戲電腦。它拒絕與 time.windows.com 同步。


除了 Windows 系統(tǒng)之外,還有人稱(chēng)在 Linux 中也遇到了同樣的問(wèn)題。

@nicolaslem 表示: 

我的 Linux 筆記本電腦有時(shí)也會(huì)遇到類(lèi)似的問(wèn)題,把電腦從睡眠中喚醒時(shí),時(shí)間會(huì)跳到 2077 年。我猜這是硬件故障,因?yàn)樗⒉唤?jīng)常發(fā)生,但一旦發(fā)生就會(huì)造成很大影響。我無(wú)法想象在生產(chǎn)服務(wù)器上發(fā)生類(lèi)似情況會(huì)有多大影響。



你是否遇到過(guò)類(lèi)似的問(wèn)題?


原文鏈接:https://blog.csdn.net/csdnnews/article/details/132373095

————————————————

版權(quán)聲明:本文為CSDN博主「CSDN資訊」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/csdnnews/article/details/132373095



該文章在 2023/8/22 8:55:04 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved