NTP 時(shí)間協(xié)議

2020-06-15 13:55 更新

一、簡(jiǎn)介

1.作用

NTP是從時(shí)間協(xié)議(Time Protocol)和ICMP時(shí)間戳報(bào)文(ICMP TimeStamp Message)演變而來(lái),在準(zhǔn)確性和健壯性方面進(jìn)行了特殊的設(shè)計(jì),理論上精度可達(dá)十億分之一秒。

NTP協(xié)議應(yīng)用于分布式時(shí)間服務(wù)器和客戶端之間,實(shí)現(xiàn)客戶端和服務(wù)器的時(shí)間同步,從而使網(wǎng)絡(luò)內(nèi)所有設(shè)備的時(shí)鐘基本保持一致。

NTP協(xié)議是基于UDP進(jìn)行傳輸?shù)?,使用端口?hào)為123。

2.特征

NTP提供了準(zhǔn)確時(shí)間,首先要有準(zhǔn)確的時(shí)間來(lái)源,這一時(shí)間應(yīng)該是國(guó)際標(biāo)準(zhǔn)時(shí)間UTC。 NTP獲得UTC的時(shí)間來(lái)源可以是原子鐘、天文臺(tái)、衛(wèi)星,也可以從Internet上獲取。這樣就有了準(zhǔn)確而可靠的時(shí)間源。時(shí)間按NTP服務(wù)器的等級(jí)傳播。按照離外部UTC 源的遠(yuǎn)近將所有服務(wù)器歸入不同的Stratum(層)中。Stratum-1在頂層,有外部UTC接入,而Stratum-2則從Stratum-1獲取時(shí)間,Stratum-3從Stratum-2獲取時(shí)間,以此類推,但Stratum層的總數(shù)限制在15以內(nèi)。所有這些服務(wù)器在邏輯上形成階梯式的架構(gòu)相互連接,而Stratum-1的時(shí)間服務(wù)器是整個(gè)系統(tǒng)的基礎(chǔ)。

計(jì)算機(jī)主機(jī)一般同多個(gè)時(shí)間服務(wù)器連接, 利用統(tǒng)計(jì)學(xué)的算法過(guò)濾來(lái)自不同服務(wù)器的時(shí)間,以選擇最佳的路徑和來(lái)源來(lái)校正主機(jī)時(shí)間。即使主機(jī)在長(zhǎng)時(shí)間無(wú)法與某一時(shí)間服務(wù)器相聯(lián)系的情況下,NTP服務(wù)依然有效運(yùn)轉(zhuǎn)。

為防止對(duì)時(shí)間服務(wù)器的惡意破壞,NTP使用了識(shí)別(Authentication)機(jī)制,檢查來(lái)對(duì)時(shí)的信息是否是真正來(lái)自所宣稱的服務(wù)器并檢查資料的返回路徑,以提供對(duì)抗干擾的保護(hù)機(jī)制。

二、報(bào)文

1.報(bào)文格式

2.報(bào)文字段

字段名 長(zhǎng)度 含義
LI(Leap Indicator) 2比特 這是一個(gè)兩位的代碼,表示在NTP時(shí)間標(biāo)尺中將要插入的下一跳情況。值為“11”時(shí)表示告警狀態(tài),時(shí)鐘不能被同步。
VN(Version Number) 3比特 NTP的版本號(hào)。
Mode 3比特 NTP的工作模式。不同值表示的含義如下:0:reserved,保留。1:symmetric active,主動(dòng)對(duì)等體模式。2:symmetric passive,被動(dòng)對(duì)等體模式。3:client,客戶模式。4:server,服務(wù)器模式。5:broadcast,廣播模式。6:reserved for NTP control messages,NTP控制報(bào)文。7:reserved for private use,內(nèi)部使用預(yù)留。
Stratum 8比特 時(shí)鐘的層數(shù),定義了時(shí)鐘的準(zhǔn)確度。層數(shù)為1的時(shí)鐘準(zhǔn)確度最高,從1到15依次遞減。
Poll Interval 8比特 輪詢時(shí)間,即發(fā)送報(bào)文的最小間隔時(shí)間。
Precision 8比特 時(shí)鐘的精度。
Root Delay 32比特 到主參考時(shí)鐘的總往返延遲時(shí)間。
Root Dispersion 32比特 本地時(shí)鐘相對(duì)于主參考時(shí)鐘的最大誤差。
Reference Identifier 32比特 標(biāo)識(shí)特定參考時(shí)鐘。
Reference Timestamp 64比特 本地時(shí)鐘最后一次被設(shè)定或更新的時(shí)間。如果值為0表示本地時(shí)鐘從未被同步過(guò)。
Originate Timestamp 64比特 NTP報(bào)文離開(kāi)源端時(shí)的本地時(shí)間。
Receive Timestamp 64比特 NTP報(bào)文到達(dá)目的端的本地時(shí)間。
Transmit Timestamp 64比特 目的端應(yīng)答報(bào)文離開(kāi)服務(wù)器端的本地時(shí)間。
Authenticator 96比特 (可選)驗(yàn)證信息。

三、安全問(wèn)題

1.可導(dǎo)致Windows拒絕服務(wù)

漏洞能夠?qū)е翹TP守護(hù)進(jìn)程崩潰,并且觸發(fā)Windows系統(tǒng)拒絕服務(wù)。 “漏洞能夠讓未授權(quán)的用戶用構(gòu)造好的UDP包是的ntpd崩潰,導(dǎo)致空指針引用?!?Stubman在周一的公告中寫道。 “根據(jù)NTP.org,ntpd沒(méi)有默認(rèn)開(kāi)啟trap服務(wù),如果trap被開(kāi)啟,攻擊者就能通過(guò)特別構(gòu)造的數(shù)據(jù)包導(dǎo)致空指針引、ntpd崩潰,進(jìn)而導(dǎo)致服務(wù)器拒絕服務(wù)。這個(gè)漏洞只影響Windows服務(wù)器?!笨▋?nèi)基梅隆大學(xué)軟件工程學(xué)院CERT發(fā)布的漏洞記錄VU#633847中寫道。 Stubman發(fā)布了針對(duì)這一漏洞的PoC。理論上來(lái)說(shuō)任何人都可以通過(guò)構(gòu)造數(shù)據(jù)包來(lái)使Windows服務(wù)器崩潰。 “NTP用戶應(yīng)該立即采取行動(dòng)保證NTP守護(hù)進(jìn)程無(wú)法遭攻擊。用戶們可以趁此機(jī)會(huì)通過(guò)BCP38部署Ingress和Egress過(guò)濾。ntp-4.2.8p9已于11月21日發(fā)布,新版本修復(fù)了1個(gè)高危漏洞,2個(gè)中危漏洞,2個(gè)中低危漏洞和5個(gè)低危漏洞,還修復(fù)了28個(gè)bug和其他一些改進(jìn)?!?/p>

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)