国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NTP的DDoS攻擊方法與防御研究

2019-10-15 03:28劉旭東
關(guān)鍵詞:數(shù)據(jù)包端口服務(wù)器

◆劉旭東

基于NTP的DDoS攻擊方法與防御研究

◆劉旭東

(國際關(guān)系學(xué)院信息科技學(xué)院 北京 100091)

分布式拒絕服務(wù)攻擊(Distributed Denial of Service attack,DDoS)是一種原理簡單,攻擊方法多樣,攻擊效果顯著的計(jì)算機(jī)網(wǎng)絡(luò)攻擊方法。由于其攻擊機(jī)制一直針對最主流的網(wǎng)絡(luò)協(xié)議所設(shè)計(jì),故DDoS攻擊在計(jì)算機(jī)網(wǎng)絡(luò)攻擊手段的發(fā)展中一直保留了下來,是長期以來威脅主機(jī)正常通信的一種攻擊手段之一。本文將重點(diǎn)探究當(dāng)前分布式拒絕式服務(wù)攻擊的最新研究方法,就目前利用NTP反射攻擊最為突出,結(jié)合wireshark抓包獲取相關(guān)的流量信息,分析相關(guān)的特征,提取關(guān)鍵的NTP協(xié)議中的monlist請求、響應(yīng)數(shù)據(jù)包信息,探究發(fā)起隱秘性高、流量巨大的放大型(亦稱放射性)的DDoS攻擊,并對防御測試提出代碼上的監(jiān)測研究方案。

分布式拒絕服務(wù)攻擊(DDoS);網(wǎng)絡(luò)時間協(xié)議(NTP);協(xié)議分析;網(wǎng)絡(luò)攻防

近年來,安全新聞的頭條被一起DDoS事件所占據(jù),其中最醒目的莫過于高達(dá)400Gbps的瞬時流量,稱安全服務(wù)提供商CloudFlare遭到了該數(shù)量級流浪的NTP 反射攻擊,據(jù)CloudFlare的首席執(zhí)行官報(bào)道,基于NTP反射的DDoS成為最大的攻擊來源,正在迅速取代DNS反射攻擊。有分析稱這起攻擊事件中利用了網(wǎng)絡(luò)時間協(xié)議(Network Time Protocol,以下簡稱NTP)服務(wù)器monlist指令的特性,發(fā)送大量精心編寫的請求(request)數(shù)據(jù)包,使得被攻擊的主機(jī)接受到更多倍數(shù)的數(shù)據(jù)包,導(dǎo)致主機(jī)端口入口流量爆發(fā),阻塞出口流量,最終達(dá)到拒絕服務(wù)的效果。

1 國外攻擊案例剖析與NTP的特性分析

1.1 CloudFlare事件

安全服務(wù)提供商、美國跨國公司CloudFlare透漏,該公司的客戶服務(wù)器遭受到了流量400Gbps的NTP反射攻擊,在整個DDoS的攻擊歷史上達(dá)到了一個流量峰值。分析NTP反射攻擊的過程得知,NTP工作于應(yīng)用層,其承載協(xié)議為UDP,具有無連接性,不同于TCP/IP協(xié)議,不需要對通信進(jìn)行驗(yàn)證,即可強(qiáng)行施加流量負(fù)載。但這不是最關(guān)鍵的,巧妙之處在于,黑客利用NTP的monlist這一不安全的檢查機(jī)制,尋找攻擊資源,包括攻擊對象以及存在問題的舊版本NTP服務(wù)器,或者自行搭建,然后通過使用原始套接字編程發(fā)送偽造的數(shù)據(jù)請求包。

1.2 NTP協(xié)議分析

網(wǎng)絡(luò)時間協(xié)議(NTP)是一種通過因特網(wǎng)服務(wù)于計(jì)算機(jī)時鐘的同步時間協(xié)議。它提供了一種同步時間機(jī)制,能在龐大而復(fù)雜多樣因特網(wǎng)中用光速調(diào)整時間分配。NTP 包含如下三種特征,具體如圖1所示,這三種特征與指定參考時鐘都是相關(guān)聯(lián)的。

圖1 NTP協(xié)議三種特征

對于大多數(shù)主機(jī)時間服務(wù)器而言,都是通過其他對等時間以達(dá)到服務(wù)器同步,所以這三種每一種特征都由兩部分組成:其一是對等決定的部分,這部分是相對于原始標(biāo)準(zhǔn)時間的參考來源而言;其二是由主機(jī)衡量的部分,這部分主要是相對于對等而言。NTP 源于時間協(xié)議和 ICMP 時間標(biāo)志消息,但其設(shè)計(jì)更強(qiáng)調(diào)精確度和充足性兩個方面,即使是用于網(wǎng)絡(luò)路徑上包括多路網(wǎng)關(guān)、延遲差量及不可靠網(wǎng)絡(luò)。

圖2 NTP協(xié)議結(jié)構(gòu)

對大量文獻(xiàn)和文檔研究,為了便于研討NTP的特性,將NTP的工作主要分為兩個階段,第一階段是獲取時間,第二階段是同步時間。其中,含有反射作用的monlist請求指令是在時間同步階段中發(fā)生的,所以如果是對服務(wù)器發(fā)起一次獲取時間的請求,抓取到的數(shù)據(jù)包長度通常為90(如圖2),獲得的數(shù)據(jù)包也可能是對等的,并沒有發(fā)生失衡的現(xiàn)象。

第二階段需要使用NTP包含的monlist指令,NTP服務(wù)器在接收到monlist請求后,其服務(wù)器會響應(yīng)并返回與其進(jìn)行過時間同步的最近600個請求端的IP地址,同時按照每6個IP進(jìn)行分割,從理論上分析,查看這種惡意導(dǎo)向的攻擊流量可以擴(kuò)大到偽造查詢流量的100倍,其放大效果十分顯著。如圖3,使用以下命令進(jìn)行monlist查詢:

ntpdc -n -c monlist

圖3 響應(yīng)monlist查詢信息

通過協(xié)議分析即可獲得其數(shù)據(jù)長度為234字節(jié),如圖4所示,由于反射服務(wù)器可能已經(jīng)修復(fù)該monlist的漏洞,因此獲得的返回?cái)?shù)據(jù)一一對應(yīng),從攻擊者的角度來說,這是需要去避免的。具體分析該請求數(shù)據(jù)包的數(shù)據(jù)內(nèi)容。

可以看出NTP服務(wù)器由于是偏向網(wǎng)絡(luò)基礎(chǔ)設(shè)施建設(shè)的一個服務(wù)器類型(統(tǒng)一時間的作用),故它的端口也是固定的123端口,這使得在NTP的服務(wù)器池(server pool)可以輕松地在本時區(qū)的服務(wù)器列表內(nèi)找到可以同步的穩(wěn)定服務(wù)器,這里的同步可以比較簡單地認(rèn)為是進(jìn)行monlist請求,這種負(fù)載對于NTP服務(wù)器來說是可以的接受的,因?yàn)閙onlist的請求頻率比較低,也不需要大量的monlist的請求。

下面是一次成功更新了時間所返回的數(shù)據(jù)包,如圖5所示,其數(shù)據(jù)長度僅為90字節(jié)。其協(xié)議報(bào)文很顯然與發(fā)出monlist請求的字段(field)不相同,起更重要的是請求時間的主機(jī)得到了某一特定時區(qū)下的時間,同步完成了。

圖4 數(shù)據(jù)信息內(nèi)容

圖5 更新時間返回?cái)?shù)據(jù)包

2 攻擊與防御測試研究

2.1 攻擊測試

網(wǎng)絡(luò)編程庫中有大量可以使用原始套接字的庫,這次攻擊測試以Python語言和Scapy庫作為主要的工具,因?yàn)楹唵吻乙子诶斫猓a清晰以至于可以重點(diǎn)關(guān)注于攻擊的本身形態(tài)。以下為實(shí)驗(yàn)環(huán)境的一些軟件參數(shù)指標(biāo):

OS:GNU/Linux Debian 8

開發(fā)工具:Python 2.7.6 Scapy 2.3.1

Scapy庫中內(nèi)置了NTP的基本格式,由NTP協(xié)議分析可得,發(fā)出請求的代碼為MON_GETLIST_1(42),經(jīng)查詢該請求發(fā)出前模式為7模式,即mode=7。根據(jù)Scapy的文檔可以將我們需要構(gòu)造的NTP請求數(shù)據(jù)包定義如下:

NTP(version=3, mode=7, stratum=0, poll=3, precision=42)

根據(jù)NTP函數(shù)的構(gòu)造釋義、結(jié)合數(shù)據(jù)包、軟件信息,定義了version、stratum、poll參數(shù)。一般地,在適應(yīng)本機(jī)的程序上來說是基本不會改變的,實(shí)際的攻擊中首先通過協(xié)議分析確定新的參數(shù),比如在之前測試中分析到的數(shù)據(jù)包中有version=3和4的數(shù)據(jù)包,這時就要注意更改其版本,否則有可能無法響應(yīng)請求。Scapy中的發(fā)包函數(shù)是send函數(shù),用于向網(wǎng)絡(luò)上發(fā)送一個數(shù)據(jù)包,除此之外,還需定義NTP協(xié)議承載協(xié)議,即UDP的端口信息。

send(

IP(dst = ntp_serv, src = ddos_targ)

/(UDP(sport = 52828)

/NTP(version = 3, mode = 7, stratum = 0, poll = 3, precision = 42)

))

由于Scapy較好的封裝性,相對較為容易寫出攻擊關(guān)鍵函數(shù),剩下的只需定義保留的兩個變量即可開始一次測試,這里稱為測試是因?yàn)橐淮魏瘮?shù)調(diào)用只發(fā)送一個monlist查詢請求,而不是洪泛(flood)地發(fā)送請求。ntp_serv為我們找到的有反射特性的NTP服務(wù)器,ddos_targ是計(jì)劃攻擊的IP地址。

運(yùn)行后,可以得到如上分析的數(shù)據(jù)包。但是要實(shí)現(xiàn)真正意義上的攻擊,已有的測試工作還不夠,從時間上說,需要一個循環(huán)的發(fā)送過程,其次為了提高發(fā)送性能,還需要引入多線程的技術(shù),在Python下設(shè)計(jì)多線程的程序也不是難事,攻擊核心已經(jīng)封裝成定義的模塊,只需要引入時間和線程模塊,就可以把線程調(diào)度起來,達(dá)到高性能發(fā)包的目的,此時就真真正正地有了一定的攻擊能力。

2.2 防御測試

(1)方法一:丟棄相關(guān)端口數(shù)據(jù)包或關(guān)閉監(jiān)聽端口

防御的目的旨在解決遭遇的NTP反射攻擊,通過協(xié)議分析得知,如果在上述監(jiān)測端口處檢測到大量數(shù)據(jù)流量時,可以確定正在遭受NTP反射攻擊。當(dāng)攻擊發(fā)生的時候,只要報(bào)警及時,就可以采取措施對數(shù)據(jù)包進(jìn)行過濾。一個簡單的方法是在攻擊進(jìn)行時,通過網(wǎng)絡(luò)設(shè)備(路由器)的ACL丟棄123端口的數(shù)據(jù)包,或者將NTP服務(wù)器監(jiān)聽端口暫時關(guān)閉。

由于monlist查詢請求是NTP設(shè)計(jì)時的一個缺陷,不易更改,所以只能從訪問的配置出發(fā)去解決這個問題,鑒于NTP的反射效果,官方已經(jīng)做出了提示,并用更改ntp.conf文件的方式完成了更新。將系統(tǒng)中的NTP服務(wù)升級,服務(wù)默認(rèn)是關(guān)閉monlist查詢功能的,防止服務(wù)器被利用。

(2)方法二:關(guān)閉相關(guān)查詢指令功能

另外一種防御方法,通過手動關(guān)閉monlist查詢服務(wù)功能,以防止黑客的惡意利用,首先檢查主機(jī)的REQ_MON_GETLIST和REQ_MON_GETLIST_1的狀態(tài),并檢查請求是否可用,可以通過相關(guān)的NTP命令監(jiān)測到主機(jī)的狀態(tài):

ntpq -c rv

ntpdc -c sysinfo

ntpdc -n -c monlist

通過閱讀NTP的官方文檔,研究得到有用的權(quán)限設(shè)置,均在ntp.conf下修改。

restrict default kod nomodify notrap nopeer noquery

其作用是“允許普通的請求者進(jìn)行時間同步,但是不允許查詢NTP服務(wù)信息”、“允許發(fā)起時間同步的IP,與本服務(wù)器進(jìn)行時間同步,但是不允許修改NTP服務(wù)信息,也不允許查詢monlist在內(nèi)的服務(wù)器的狀態(tài)信息”。在實(shí)踐中,配置限制訪問命令也是可以防止被惡意嗅探和利用的方法之一。

restrict default noquery

3 漏洞測試發(fā)現(xiàn)

由上述的測試程序不難發(fā)現(xiàn),最不可確定的參數(shù)就是ntp_serv。從表1的數(shù)據(jù)可以得到,公用的按洲際劃分的NTP服務(wù)器數(shù)量稀少,而且其服務(wù)器工作時間受到時差的影響,因此獲得一臺低版本存在monlist漏洞的NTP服務(wù)器非常困難。

一方面從進(jìn)攻方的來說,想要長期地維護(hù)一份可以利用的NTP服務(wù)器并非易事,在分析使用上述的命令查找服務(wù)器時,基本都返回了Timeout信息,表示不可用或者是服務(wù)器做了保護(hù),說明公用的NTP服務(wù)器越來越安全。所以想要利用這樣的服務(wù)器還是手工搭建的比較理想。

表1 全球NTP活躍服務(wù)器數(shù)量

作為一個防守方,如果NTP服務(wù)器變得安全了,那么這類反射攻擊會逐步消失,這對與一些大型的黑客組織來說只能回歸到原始的僵尸網(wǎng)絡(luò)的DDoS模式中去,這將消耗更多的資源和財(cái)力,防御的強(qiáng)度和難度都有所下降。

盡可能通過NTP的服務(wù)器池管理模式去尋找一臺新的漏網(wǎng)之魚,但在研究過程中的帶有漏洞的服務(wù)器全部被合理修復(fù)。如圖6所示,在測試中給出我們嗅探這類服務(wù)器的代碼和范例。

圖6 嗅探NTP服務(wù)器

4 結(jié)束語

本文所研究的基于NTP反射的DDoS的攻擊方法,破壞力強(qiáng),危害性大,從其流量規(guī)模上來說,可以將其定性為網(wǎng)絡(luò)戰(zhàn)爭的武器。以自動化較高的NTP反射攻擊武器為研究重點(diǎn),旨為更好掌握攻擊的來龍去脈,讓研究攻擊的思維模式逐漸地固定下來。堅(jiān)定地防御、封堵,而非主動攻擊一些非法的數(shù)據(jù)傳輸信道,堅(jiān)信合理地使用網(wǎng)絡(luò)防御技術(shù)可以有力回?fù)舴欠ǖ木W(wǎng)絡(luò)攻擊行為,比如組織交換恐怖襲擊的數(shù)據(jù),控制犯罪分子的網(wǎng)絡(luò)信道等等。隨著我國網(wǎng)絡(luò)用戶日益龐大,使得樹立網(wǎng)絡(luò)主權(quán)的觀念是必要的,因此,只有使得互聯(lián)網(wǎng)攻技術(shù)得到健康發(fā)展,才能讓世界網(wǎng)絡(luò)更加安全。

[1]張錦輝,張文秀.網(wǎng)絡(luò)設(shè)備參與的DDoS防御系統(tǒng)的構(gòu)建與仿真[J].信息技術(shù)與網(wǎng)絡(luò)安全,2019,38(01):1-6.

[2]Radware.DDoS防護(hù)措施是確保應(yīng)用、站點(diǎn)及數(shù)據(jù)可用性的基礎(chǔ)[J].網(wǎng)絡(luò)安全和信息化,2019(03):26-27.

[3]金大剛.智能自動化DDoS防御[J].網(wǎng)絡(luò)安全和信息化,2018(12):20-21.

[4]張宇.應(yīng)用層DDoS攻擊檢測研究[D].南京郵電大學(xué),2018.

[5]劉東.基于改進(jìn)的Adaboost算法在應(yīng)用層DDoS攻擊檢測中的應(yīng)用[A].中國計(jì)算機(jī)用戶協(xié)會網(wǎng)絡(luò)應(yīng)用分會.中國計(jì)算機(jī)用戶協(xié)會網(wǎng)絡(luò)應(yīng)用分會2018年第二十二屆網(wǎng)絡(luò)新技術(shù)與應(yīng)用年會論文集[C].中國計(jì)算機(jī)用戶協(xié)會網(wǎng)絡(luò)應(yīng)用分會:北京聯(lián)合大學(xué)北京市信息服務(wù)工程重點(diǎn)實(shí)驗(yàn)室,2018:4.

[6]金磊.基于大數(shù)據(jù)分析的DDOS檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動化與儀器儀表,2018(11):121-124.

[7]Hafiz Husnain Raza Sherazi,Razi Iqbal,F(xiàn)arooq Ahmad,Zuhaib Ashfaq Khan,Muhammad Hasanain Chaudary. DDoS attack detection: A key enabler for sustainable communication in internet of vehicles[J]. Sustainable Computing: Informatics and Systems,2019,23.

[8]Rojalina Priyadarshini,Rabindra Kumar Barik. A deep learning based intelligent framework to mitigate DDoS attack in fog environment[J]. Journal of King Saud University - Computer and Information Sciences,2019.

猜你喜歡
數(shù)據(jù)包端口服務(wù)器
二維隱蔽時間信道構(gòu)建的研究*
一種有源二端口網(wǎng)絡(luò)參數(shù)計(jì)算方法
一種端口故障的解決方案
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
隔離型三端口變換器的H∞魯棒控制
PowerTCP Server Tool
BlackJumboDog
現(xiàn)有網(wǎng)絡(luò)架構(gòu)及遷移方案
C#串口高效可靠的接收方案設(shè)計(jì)
2018年全球服務(wù)器市場將保持溫和增長
天峻县| 涿州市| 溆浦县| 红原县| 晋宁县| 铜鼓县| 策勒县| 会泽县| 开平市| 罗城| 万全县| 自贡市| 花莲市| 山西省| 抚州市| 新邵县| 沐川县| 彭山县| 什邡市| 天门市| 普宁市| 浮梁县| 潞城市| 海晏县| 贵南县| 英山县| 固镇县| 衡水市| 开封县| 北川| 保康县| 太保市| 周宁县| 虞城县| 江孜县| 博野县| 辽宁省| 池州市| 芦溪县| 灌云县| 阳城县|