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

下載本文檔

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

文檔簡介

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

客戶端得到服務(wù)器簽名的公鑰,在隨后的交換過程中,用于保護擴展域的完整性和源認證,但計算簽名需要復(fù)雜的計算,可通過重放舊的消息或者發(fā)送偽造信息阻塞客戶端或者服務(wù)器,消耗其處理器資源。以偽造大量NTP客戶端向NTP服務(wù)器請求cookie值,將會大量消耗NTP服務(wù)器資源,造成服務(wù)器無法正常運行和響應(yīng)客戶端的時間同步請求。若時間間隔僅是1μs時,NTP服務(wù)器端則無法響應(yīng)NTP客戶端的請求。利用惡意節(jié)點時間協(xié)議發(fā)送報文,會導(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有一個未認證的時間源,可被攻擊者用來攻擊,可延遲用戶的下一次輪詢,或者通過觸發(fā)空指針引用,導(dǎo)致NTPd崩潰。3實驗驗證為了驗證提出問題的脆弱性,搭建一個局域網(wǎng)NTP環(huán)境,該環(huán)境基于NTP客戶端/服務(wù)器模式,NTP采用NTP-4.2.6p5,運行于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è)置本機的防火墻規(guī)則,允許UDP123端口如圖7所示。圖6?偽造服務(wù)器實驗驗證環(huán)境圖7?啟動服務(wù)在客戶端(基于Federal16)上設(shè)置NTP服務(wù)器為server節(jié)點,設(shè)置完成后,通過NTP服務(wù)同步服務(wù)端時間,如圖8所示。圖8?客戶端同步虛假時間同步后的NTP客戶端的時間與偽造服務(wù)器的一致,為2010年的虛假時間。4安全建議通過分析發(fā)現(xiàn),在網(wǎng)絡(luò)建設(shè)和維護過程中,應(yīng)充分考慮NTP及其同步安全問題,提出如下建議。(1)在NTP.conf限制查詢時間的來源機器,NTP客戶端對NTP服務(wù)器的身份進行驗證,NTP服務(wù)器對NTP客戶端的身份進行授權(quán)和驗證。(2)周期性地把NTP客戶端和服務(wù)器軟件升級至最高版本,并關(guān)閉不需要的端口。(3)由于NTP是個與其他業(yè)務(wù)無相關(guān)性的服務(wù),可單獨完全隔離,或者利用IPSEC等方式,對時間同步過程進行加密,降低風(fēng)險。(4)在客戶端同步過程中,將硬件時間和同步時間進行比對,如不一致,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論