NTP協(xié)議安全分析_第1頁
NTP協(xié)議安全分析_第2頁
NTP協(xié)議安全分析_第3頁
NTP協(xié)議安全分析_第4頁
NTP協(xié)議安全分析_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

0引言NTP時間同步協(xié)議(NetworkTimeProtocol)是通過交換包將兩臺計(jì)算機(jī)的時鐘同步的網(wǎng)絡(luò)協(xié)議,使用UDP123端口。NTP一般由時間服務(wù)器(GPS授時、中科院國家授時中心等,世界各地大概有230個時間主服務(wù)器)、通信網(wǎng)絡(luò)和計(jì)算機(jī)上的NTP客戶端組成。協(xié)議的最新版本為NTPv4,最新穩(wěn)定版為NTP4.2.8p15,在1992年NTP3版本中增加了加密認(rèn)證,使用md5來驗(yàn)證遠(yuǎn)程配置請求,2003年提出了Autokey模型的發(fā)布,NTP的安全性得到了增強(qiáng)。Autokey規(guī)范了公鑰認(rèn)證機(jī)制,可用于自動分發(fā),且由于Autokey不是生產(chǎn)規(guī)范,其具備的形態(tài)已經(jīng)不能滿足需求,即使在2007年,開始研究新型NTP安全提案,仍無法避免存在安全漏洞。通過對NTP軟件漏洞的利用,可實(shí)現(xiàn)對主用時間源中間人攻擊或者注入,攔截并替換信息或者消耗網(wǎng)絡(luò)資源,因此,有必要對其安全性進(jìn)行分析,增強(qiáng)NTP協(xié)議的可用性和有效性,并提供NTP安全建議。壹NTP協(xié)議原理NTP采用的標(biāo)準(zhǔn)是RFC5905,使用層次化分布模型,當(dāng)前有5個版本,v0/v1/v2/v3/v4,使用較多的版本是v4和v3,NTP用于分布式時間服務(wù)器和客戶端之間進(jìn)行時間同步,它是一個跨越廣域網(wǎng)或局域網(wǎng)的復(fù)雜時間同步協(xié)議,通??蛇M(jìn)行毫秒級同步。NTP可使用無線時鐘、時間服務(wù)器、局域網(wǎng)等方式進(jìn)行同步。無線時鐘方式是服務(wù)器系統(tǒng)通過串口連接一個無線時鐘,無線時鐘接收GPS的衛(wèi)星發(fā)射的信號來決定當(dāng)前時間;時間服務(wù)器使用網(wǎng)絡(luò)中的NTP時間服務(wù)器進(jìn)行;局域網(wǎng)同步是使用局域網(wǎng)中的一個節(jié)點(diǎn)的時鐘作為“權(quán)威的”時間源。然后其它的節(jié)點(diǎn)就只需要與這個時間源進(jìn)行時間同步即可,如圖1所示。圖1?NTP基本工作原理(1)DeviceA發(fā)送一個NTP報(bào)文給DeviceB,該報(bào)文帶有它離開DeviceA時的時間戳,該時間戳為10:00:00AM(T1)。(2)當(dāng)此NTP報(bào)文到達(dá)DeviceB時,DeviceB加上自己的時間戳,該時間戳為11:00:01AM(T2)。(3)當(dāng)此NTP報(bào)文離開DeviceB時,DeviceB加上自己的時間戳,該時間戳為11:00:02AM(T3)。(4)當(dāng)DeviceA接收到該響應(yīng)報(bào)文時,DeviceA的本地時間為10:00:03AM(T4)。至此,DeviceA已經(jīng)擁有足夠的信息來計(jì)算兩個重要的參數(shù):NTP報(bào)文的往返時延Delay=(T4-T1)-(T3-T2)=2s。DeviceA相對DeviceB的時間差Offset=((T2-T1)+(T3-T4))/2=1h。這樣,DeviceA就能夠根據(jù)這些信息來設(shè)定自己的時鐘,使之與DeviceB的時鐘同步。設(shè)備可以通過三種NTP工作模式進(jìn)行時間同步,分別是:客戶端/服務(wù)器模式,對稱模式,廣播模式或組播模式。其中使用較廣泛的是客戶端/服務(wù)器模式。在實(shí)際應(yīng)用中,廣播和組播模式針對的是NTP服務(wù)器IP地址未知,或者需同步的設(shè)備數(shù)量大的場景;客戶端/服務(wù)器和對等體模式則主要用于客戶端從特定的NTP服務(wù)器或者主動對等體處通過報(bào)文交互,獲得時間同步,該工作模式多用于對時鐘的精度要求較高的場景。在客戶端/服務(wù)器模式中,如圖2所示,客戶端向服務(wù)器發(fā)送時鐘同步報(bào)文,通過對報(bào)文中的Mode字段設(shè)置為3,代表其為客戶模式,然后,服務(wù)器收到該報(bào)文后會處于服務(wù)器工作模式,報(bào)文的模式隨之設(shè)為4,客戶端收到應(yīng)答報(bào)文后,將同步服務(wù)器時間。圖2?客戶端/服務(wù)器模式在NTP網(wǎng)絡(luò)中,NTP有兩類報(bào)文:時鐘同步報(bào)文和控制報(bào)文。NTP服務(wù)器和客戶端之間通信數(shù)據(jù)帶有32位的時間戳,其中前面16位是整數(shù),后面16位是小數(shù),NTP的技術(shù)精度可達(dá)到20ps,而時間信息是從NTP客戶端從時間戳中獲取到的基本信息,如圖3所示。圖3?NTP時鐘同步報(bào)文格式Mode代表工作模式,001代表主動對稱模式,002代表被動對稱模式,003代表客戶端模式,004代表服務(wù)器模式,005代表廣播或組播模式,006代表NTP控制報(bào)文。NTP采用的是分層結(jié)構(gòu)主機(jī)進(jìn)行時鐘同步,這可解決同步報(bào)文時延大的問題,NTP客戶端通過不斷向服務(wù)器發(fā)送同步請求,根據(jù)時間差調(diào)整自身的本地時鐘,即可自動并持續(xù)地調(diào)節(jié)時鐘。NTP同步精度可達(dá)到毫米級別。NTP協(xié)議在應(yīng)用時為了簡單,可以屏蔽認(rèn)證機(jī)制,在這種情況下,NTP報(bào)文的長度為90字節(jié),對客戶端和服務(wù)器的身份無法驗(yàn)證,客戶端獲取的時間精度則無法確保準(zhǔn)確性,且這種情況極易受到中間人欺騙和偽造時間源等方式攻擊。NTP的認(rèn)證機(jī)制主要有兩類:對稱加密認(rèn)證、非對稱加密認(rèn)證(Autokey),對稱加密認(rèn)證使用對稱密鑰加解密,而非對稱加密認(rèn)證則使用公鑰進(jìn)行加密,使用私鑰進(jìn)行解密,這種方式可大幅提升NTP協(xié)議的安全性。2存在的安全隱患由于NTP協(xié)議的漏洞和實(shí)現(xiàn)的漏洞,可被利用進(jìn)行系統(tǒng)時間攻擊,主要的方式是利用協(xié)議漏洞、中間人和數(shù)據(jù)包注入。(1)可利用密鑰管理環(huán)節(jié)存在的隱患,偽造NTP服務(wù)器進(jìn)行攻擊。由于NTP服務(wù)器不記錄客戶端的信息,同時,服務(wù)器也不會保留NTP客戶端的cookie值,服務(wù)器也不會對客戶端的請求頻率計(jì)數(shù)和是否是重復(fù)報(bào)文進(jìn)行過濾。攻擊者以NTP客戶端的身份,獲取服務(wù)器的NTP.keys,并利用中間人欺騙、報(bào)文注入等方式,獲取NTP客戶端和服務(wù)器之間的同步報(bào)文,分析獲得keyID值,再查找NTPkeys,獲取key值,即可通過構(gòu)造報(bào)文,進(jìn)行計(jì)算,發(fā)送給客戶端,使得客戶端認(rèn)可該報(bào)文并通過驗(yàn)證。針對對稱加密認(rèn)證的情況,如圖4所示,需要通過ARP欺騙,將客戶端的同步請求轉(zhuǎn)發(fā)至偽造的服務(wù)器,由偽造服務(wù)器進(jìn)行響應(yīng),這樣,客戶端就會接收響應(yīng)報(bào)文并同步至偽造的服務(wù)器[1]。圖4?加密認(rèn)證下的NTP偽造服務(wù)器驗(yàn)證基本流程(2)進(jìn)行NTP同步時延脆弱性驗(yàn)證。對帶有對稱加密認(rèn)證的NTP協(xié)議進(jìn)行分析[2],NTP客戶端和服務(wù)器的NTP報(bào)文是比較固定的,沒有擴(kuò)展域,且時間同步報(bào)文的長度為110個字節(jié)。截獲客戶端和服務(wù)器端之間的時間同步報(bào)文,并對請求報(bào)文或者響應(yīng)報(bào)文進(jìn)行單項(xiàng)延遲,或者利用中間人(通過ARP欺騙,將攻擊端的網(wǎng)卡設(shè)置為混雜模式,對捕捉來的時間同步請求報(bào)文進(jìn)行修改,發(fā)給NTP服務(wù)器報(bào)文的IP頭部目的地址信息為該攻擊端,并將NTP服務(wù)器發(fā)送的同步響應(yīng)報(bào)文的IP頭部的IP源地址改為攻擊端,其他信息進(jìn)行同步修改后,重新計(jì)算校驗(yàn)和,發(fā)送給客戶端,客戶端驗(yàn)證通過后會同步偽造服務(wù)器時間)進(jìn)行數(shù)據(jù)包時延篡改,如圖5所示,即可造成客戶端和服務(wù)器之間的時間差不準(zhǔn)確,會造成客戶端獲取的時間不精確。圖5?NTP同步時延脆弱性驗(yàn)證流程(3)拒絕服務(wù)。NTP

客戶端得到服務(wù)器簽名的公鑰,在隨后的交換過程中,用于保護(hù)擴(kuò)展域的完整性和源認(rèn)證,但計(jì)算簽名需要復(fù)雜的計(jì)算,可通過重放舊的消息或者發(fā)送偽造信息阻塞客戶端或者服務(wù)器,消耗其處理器資源。以偽造大量NTP客戶端向NTP服務(wù)器請求cookie值,將會大量消耗NTP服務(wù)器資源,造成服務(wù)器無法正常運(yùn)行和響應(yīng)客戶端的時間同步請求。若時間間隔僅是1μs時,NTP服務(wù)器端則無法響應(yīng)NTP客戶端的請求。利用惡意節(jié)點(diǎn)時間協(xié)議發(fā)送報(bào)文,會導(dǎo)致整個網(wǎng)絡(luò)通信受限或者無法提供有效服務(wù);也可偽造主時間服務(wù)器操控主時間選擇過程,例如操控最佳主時鐘選擇算法;也可利用中間人或者注入方式,將數(shù)據(jù)提交給主時鐘,觸發(fā)復(fù)雜加密算法執(zhí)行,而影響其效能。(4)NTP存在緩沖區(qū)溢出等漏洞,可能被控制服務(wù)器權(quán)限。僅在2020年9月前,

NTP-4.2.8p12或p13有一個未認(rèn)證的時間源,可被攻擊者用來攻擊,可延遲用戶的下一次輪詢,或者通過觸發(fā)空指針引用,導(dǎo)致NTPd崩潰。3實(shí)驗(yàn)驗(yàn)證為了驗(yàn)證提出問題的脆弱性,搭建一個局域網(wǎng)NTP環(huán)境,該環(huán)境基于NTP客戶端/服務(wù)器模式,NTP采用NTP-4.2.6p5,運(yùn)行于Ubuntu14.06,通過在服務(wù)器端在publicservers節(jié)下添加127.127.1.0為其自身,在access節(jié)下新增加一個restrict段,可以接收服務(wù)的網(wǎng)段設(shè)為192.168.123.0,設(shè)置后重新啟動NTP服務(wù),如圖6所示。設(shè)置本機(jī)的防火墻規(guī)則,允許UDP123端口如圖7所示。圖6?偽造服務(wù)器實(shí)驗(yàn)驗(yàn)證環(huán)境圖7?啟動服務(wù)在客戶端(基于Federal16)上設(shè)置NTP服務(wù)器為server節(jié)點(diǎn),設(shè)置完成后,通過NTP服務(wù)同步服務(wù)端時間,如圖8所示。圖8?客戶端同步虛假時間同步后的NTP客戶端的時間與偽造服務(wù)器的一致,為2010年的虛假時間。4安全建議通過分析發(fā)現(xiàn),在網(wǎng)絡(luò)建設(shè)和維護(hù)過程中,應(yīng)充分考慮NTP及其同步安全問題,提出如下建議。(1)在NTP.conf限制查詢時間的來源機(jī)器,NTP客戶端對NTP服務(wù)器的身份進(jìn)行驗(yàn)證,NTP服務(wù)器對NTP客戶端的身份進(jìn)行授權(quán)和驗(yàn)證。(2)周期性地把NTP客戶端和服務(wù)器軟件升級至最高版本,并關(guān)閉不需要的端口。(3)由于NTP是個與其他業(yè)務(wù)無相關(guān)性的服務(wù),可單獨(dú)完全隔離,或者利用IPSEC等方式,對時間同步過程進(jìn)行加密,降低風(fēng)險。(4)在客戶端同步過程中,將硬件時間和同步時間進(jìn)行比對,如不一致,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論