對第三方連接篡改的全球評估

來源:Cloudflare
作者:Cloudflare
時間:2024-10-16
2563
您是否有過這樣的經(jīng)歷:打了個電話,剛接通,電話就被切斷了,并沒有什么確切的原因或解釋?讓我們以這個類比為起點,來了解互聯(lián)網(wǎng)上的連接篡改及其影響。

80F0CDF5-0DFD-441F-AEB8-ED01D5C0F25B.png

您是否有過這樣的經(jīng)歷:打了個電話,剛接通,電話就被切斷了,并沒有什么確切的原因或解釋?讓我們以這個類比為起點,來了解互聯(lián)網(wǎng)上的連接篡改及其影響。

我們發(fā)現(xiàn),20%的互聯(lián)網(wǎng)連接會在交換任何有用數(shù)據(jù)之前突然關(guān)閉。基本上,每五個電話中就有一個在使用前被切斷。對于電話通話,通話的一方或雙方可能很難知道到底發(fā)生了什么。是連接出現(xiàn)了錯誤嗎?還是電話那頭的人掛了電話?或者是有第三方介入并阻止了通話?

在互聯(lián)網(wǎng)上,Cloudflare具有獨特的優(yōu)勢,可以幫助確定第三方何時可能參與其中。我們的全球網(wǎng)絡(luò)讓我們能夠識別一些模式,表明可能有外部方故意篡改連接以阻止訪問內(nèi)容。盡管這些模式通常很難破譯,但連接突然關(guān)閉的方式為可能發(fā)生的情況提供了線索。篡改源通常不會試圖隱藏其行為,這為它們的存在留下了線索,我們可以使用這些線索來識別連接協(xié)議中可檢測到的“簽名”。正如我們在下文中解釋的那樣,還有其他不太可能被欺騙的協(xié)議功能,它們指向第三方行為。我們可以使用這些提示來構(gòu)建可以識別的連接篡改簽名模式。

需要明確的是,第三方篡改連接的原因有很多。企業(yè)可能會篡改其網(wǎng)絡(luò)的出站連接,以防止用戶與垃圾郵件或網(wǎng)絡(luò)釣魚網(wǎng)站交互。ISP可能會利用連接篡改來執(zhí)行法院或監(jiān)管機構(gòu)的命令,這些命令要求通過阻止網(wǎng)站來解決版權(quán)侵權(quán)問題或用于其他法律目的。政府可能會強制實施大規(guī)模的審查和信息管控。

盡管這種情況人人皆知,但之前沒有其他大型公司研究過大規(guī)模和跨司法管轄區(qū)的連接篡改活動。我們認為,這造成了一個顯著的缺口,妨礙人們理解互聯(lián)網(wǎng)生態(tài)系統(tǒng)中正在發(fā)生的事情,而揭露這些行為對于互聯(lián)網(wǎng)的透明度和長期健康至關(guān)重要。因此,今天,我們很榮幸與大家分享對全球連接篡改行為的看法。

完整的技術(shù)細節(jié)最近經(jīng)過同行評審,并發(fā)布在ACM SIGCOMM的“全球被動連接篡改檢測”上,還擁有公開演示文稿。我們還宣布在Cloudflare Radar上推出一個新的儀表板和API,以近乎實時的方式顯示特定連接超時和重置事件的視圖,這兩種機制在全球連接到Cloudflare網(wǎng)絡(luò)的用戶所遭受的篡改中占主導(dǎo)地位。

了解連接篡改的性質(zhì)以及我們討論它的原因?qū)⒂兄谀玫乩斫馕覀兊挠^點。

為全球受眾提供全球洞察

連接篡改的跡象在全球網(wǎng)絡(luò)中隨處可見。我們最初感到震驚的是,在全球范圍內(nèi),前往Cloudflare的連接中,大約20%的連接在進行任何有用數(shù)據(jù)交換之前就意外關(guān)閉了,這與連接篡改的比例一致。下面是Cloudflare所觀察到的這些異常連接的快照,我們會在Radar上分享。

3FE49FBB-A753-4FBC-ABFC-E41351C452C4.jpeg

通過Cloudflare Radar

這些并非全部都是篡改,但其中一部分顯然是篡改,下面將詳細介紹。挑戰(zhàn)在于過濾掉這些干擾信息,確定哪些異常連接可以被明確地歸因于篡改。

宏觀層面的分析和驗證

在我們的工作中,我們確定了19種異常連接模式,作為連接篡改的候選簽名。我們發(fā)現(xiàn)其中的14種模式,之前曾被主動的“實地”測量工作報告過,這為宏觀層面的驗證提供了機會:如果我們在其他人實地觀察到的相同位置觀察到來自Cloudflare網(wǎng)絡(luò)的篡改簽名,那么我們可以更加確信,對于之前沒有報告過的其他地方,這些簽名也能捕捉到連接篡改的真實案例。為了減輕在已知存在篡改的地方進行查看而產(chǎn)生的確認偏差風險,我們決定同時查看所有地方。

采用這種方法,下圖取自我們的同行評審研究,是對19個簽名的直觀并排比較。數(shù)據(jù)取自2023年1月26日開始的兩周間隔。每個簽名列中都有按連接來源國家/地區(qū)細分的匹配連接比例。例如,右邊第三列標有?PSH→RST;RST0?,表示我們幾乎只在來自中國的連接上觀察到該簽名。總體而言,我們的發(fā)現(xiàn)反映了先前公開的報告中的已知案例,這表明我們的方法有效。

321671F8-9B74-4A41-B9DF-A2F140231892.png

圖1:跨國家/地區(qū)的簽名匹配:每一列是與特定簽名匹配的全球總連接數(shù)。每一列內(nèi)部,是來自各個國家/地區(qū)的連接中與該簽名匹配的連接比例。

有趣的是,通過深入研究普遍性,并拋開簽名匹配的原始數(shù)量,有趣的模式就顯現(xiàn)出來了。由于這種數(shù)據(jù)驅(qū)動的視角,還帶來了意想不到的宏觀見解。如果我們關(guān)注按互聯(lián)網(wǎng)用戶數(shù)量排名全球前三的國家/地區(qū),可以發(fā)現(xiàn),來自中國的連接在至少9個簽名中占據(jù)了相當大的比例。這也許并不令人驚訝,但為之前的研究提供了支持,這些研究發(fā)現(xiàn),中國國家防火墻(GFW)由阻止命令的許多不同部署和實施組成。接下來,來自印度的連接匹配也在9個不同簽名中占據(jù)了相當大的比例,其中5個與中國匹配率很高的簽名相同??纯慈丝诘谌嗟拿绹?,除了兩個簽名外,所有簽名中都出現(xiàn)了明顯(甚至較大)的匹配比例。

以下是部分國家/地區(qū)簽名分布的快照,該快照也是從同行評審研究中獲取的。全球分布情況也包含在內(nèi),以供比較。為了完整性,我們也包含了標記為?SYN→??的深灰色部分,但與其他部分相比,這一部分更有可能用篡改之外的其他原因來解釋(例如,由于低速率SYN洪水攻擊)。

E33A2FFC-981F-4999-AF0F-F231CB1A16D3.png

圖2:每個國家/地區(qū)的簽名分布:來自特定國家/地區(qū)(以及全球)的與特定簽名匹配或未被篡改的連接百分比。

從這個角度來看,我們觀察到的模式再次與先前的研究相符。我們首先關(guān)注高于全球平均水平的比例,并忽略中灰色中干擾最大的特征?SYN→??;在這個最早的階段,簽名匹配有太多其他解釋。在來自土庫曼斯坦(TM)、俄羅斯(RU)、伊朗(IR)和中國(CN)的所有連接中,大約80%、30%、40%和30%的連接與篡改簽名相匹配。數(shù)據(jù)還顯示,在之前沒有報告的地方,簽名匹配率很高。例如,來自秘魯(PE)和墨西哥(MX)的連接匹配率分別約為50%和25%;對這些國家/地區(qū)各個網(wǎng)絡(luò)的分析表明,一個可能的原因是移動和蜂窩網(wǎng)絡(luò)中的零費率,即ISP允許免費訪問某些資源(但不允許免費訪問其他資源)??纯慈蚱骄揭韵碌膰遥℅B)、美國(US)和德國(DE)匹配簽名的連接數(shù)均在10%左右。

數(shù)據(jù)表明,連接篡改現(xiàn)象十分普遍,離很多用戶(甚至大多數(shù)用戶)都很近。從很多方面來看,這種現(xiàn)象比大多數(shù)人想象的還要近。為了解釋其中的原因,我們使用電話這種非常熟悉的通信工具來解釋連接篡改現(xiàn)象。

使用電話通話示例解釋篡改

連接篡改是第三方阻止訪問特定內(nèi)容的一種方式。但是,第三方僅僅知道它想要阻止的內(nèi)容類型是不夠的。第三方只能通過名稱來阻止身份。

歸根結(jié)底,連接篡改是因意外才有可能發(fā)生的——這是協(xié)議設(shè)計的一個意外副作用。在互聯(lián)網(wǎng)上,最常見的身份是域名。在互聯(lián)網(wǎng)上的通信中,域名通常在TLS中的“服務(wù)器名稱指示(SNI)”字段中傳輸——以明文形式公開給所有人查看。

要理解這一點的重要性,首先要了解在沒有互聯(lián)網(wǎng)的情況下,人與人之間的通信中連接篡改是什么樣子的?;ヂ?lián)網(wǎng)本身的外觀和運作方式與郵政系統(tǒng)非常相似,后者只依賴地址,而不依賴姓名。然而,大多數(shù)人使用互聯(lián)網(wǎng)的方式更像“普通的老式電話系統(tǒng)”,它需要姓名才能成功。

在電話系統(tǒng)中,人們首先撥打的是電話號碼,而不是稱呼姓名。只有在對方接聽并且呼叫者聽到聲音后,呼叫才會接通并可用。呼叫者只有在接通后才會詢問姓名。呼叫在系統(tǒng)中表現(xiàn)為未標識通信方的能量信號。最后,在通話結(jié)束后,需要重新?lián)艽螂娫挷拍茉俅芜M行通信。

在互聯(lián)網(wǎng)上,客戶端(例如瀏覽器)會“建立連接”。這與電話呼叫者非常相似,客戶端向服務(wù)器號碼(即IP地址)發(fā)起連接請求。用于連接兩個設(shè)備的最古老的“面向連接”協(xié)議稱為傳輸控制協(xié)議(TCP)。域名的傳輸與連接建立無關(guān),就像接聽電話后再詢問姓名一樣。連接由元數(shù)據(jù)“邏輯”標識,而元數(shù)據(jù)并不標識通信方。最后,每次訪問網(wǎng)站時都會建立新的連接。

A6FC0070-8740-4480-92E6-BA11BE4E3FEC.png

TCP連接與電話通話的比較

如果電話公司被要求阻止與某一方通話,會發(fā)生什么情況?一種選擇是修改或操縱電話簿,使呼叫者無法獲得他們撥打電話所需的電話號碼;這就是DNS過濾的本質(zhì)。第二種選擇是阻止對該電話號碼的所有呼叫,但這會無意中影響其他人,就像IP阻止那樣。

一旦電話響起,電話公司要知道正在呼叫誰,唯一的辦法就是監(jiān)聽通話,等待呼叫者說“某某在嗎?”或“我可以和某某通話嗎?”。移動電話也不例外。我們打給某個號碼,所找的那個人就會接電話,這只是一種期望,而并非現(xiàn)實。例如,父母可能會把號碼給自己的孩子,或者出租車公司可能會留下值班人員的手機號碼。因此,電話公司必須監(jiān)聽。一旦聽到某個名字,它就可以掛斷電話;雙方都不知道發(fā)生了什么——這就是互聯(lián)網(wǎng)連接篡改的定義。

就建立通信渠道而言,電話呼叫和TCP連接至少是相當?shù)?,甚至可以說完全相同——尤其是因為域名的傳輸是與建立連接分開的。

同樣,在互聯(lián)網(wǎng)上,第三方了解連接的預(yù)期接收者的唯一方法是“查看”數(shù)據(jù)包傳輸時的內(nèi)部情況。電話公司必須監(jiān)聽姓名,而互聯(lián)網(wǎng)上的第三方則等待看到它不喜歡的東西,通常是禁用的名稱?;叵胍幌律厦嫠f的協(xié)議的意外副作用:名稱在SNI中可見,SNI是幫助加密數(shù)據(jù)通信所必需的。當發(fā)生這種情況時,第三方會通過丟棄消息或注入特制的消息來導(dǎo)致通信雙方中止連接,從而使一個或兩個設(shè)備關(guān)閉連接。

觸發(fā)篡改的機制始于深度數(shù)據(jù)包檢測(DPI),這意味著查看地址以外的數(shù)據(jù)部分以及屬于連接的其他元數(shù)據(jù)??梢钥隙ǖ卣f,此功能不是免費的。無論是ISP的路由器還是上級代理,DPI都是一項昂貴的操作,而且規(guī)模越大或速度越快,成本就越高。

最后值得一提的是,電話篡改的弱點同樣出現(xiàn)在連接篡改中。例如,盡管寫起來不同,但Jean和Gene的讀音對任何人來說都無法區(qū)分。同樣,篡改Twitter的簡稱“t.co”的連接也會影響“microsoft.com”——這種情況已經(jīng)發(fā)生了。

馬赫薩·阿米尼(Mahsa Amini)抗議期間的篡改實時圖像

在深入探討技術(shù)之前,Cloudflare的許多員工還有一個個人動機。透明度很重要,這也是我們開始這項工作的原因,但在看到2022年伊朗馬赫薩·阿米尼抗議期間的數(shù)據(jù)后,我們才在內(nèi)部承諾在Radar上共享數(shù)據(jù)。

下圖是抗議活動期間17天內(nèi)來自伊朗的連接情況。圖表追蹤了異常連接的單個信號,包括不同類型的連接篡改簽名。這些數(shù)據(jù)的日期早于Radar服務(wù),因此我們選擇分享同行評審論文中的這一表示。這也是通過Radar共享數(shù)據(jù)的價值的第一個示例。

7948DE46-3B81-474C-8374-66FAAFAB339B.jpeg

圖4:全國抗議期間伊朗的簽名匹配率。

(??軸是當?shù)貢r間。)

從數(shù)據(jù)中,有兩個觀察結(jié)果引人注目。首先,抗議活動開始前線條似乎很穩(wěn)定,抗議活動開始后線條數(shù)量增加。其次,隨著時間的推移,線條之間發(fā)生變化,特別是淺灰色、深紫色和深綠色的線條。回想一下,每條線都是不同的篡改簽名,因此線條之間的變化表明了根本原因的變化——要么是起作用的機制,要么是調(diào)用它們的流量。

我們強調(diào),簽名匹配本身并不意味著存在篡改。然而,在2022年伊朗的案例中,有公開報道稱其采取了各種形式的封鎖。當時使用的方法,特別是基于服務(wù)器名稱指示(SNI)的內(nèi)容訪問封鎖,之前也已得到充分記錄,并且與我們上圖所示的觀察結(jié)果相符。

那近期如何呢?下面我們可以看到從2023年8月到2024年8月的十二個月Radar視圖。每種顏色代表可能發(fā)生篡改的連接的不同階段。在過去的12個月中,伊朗的TCP連接異??傮w上低于全球平均水平,但在淺藍色區(qū)域表示的異常部分中似乎明顯更高。此“Post ACK”通信階段通常與基于SNI的阻止有關(guān)。(在上圖中,相關(guān)簽名由深紫色和深綠色線表示。)此外,自2023年12月中旬以來不同情節(jié)線的比例變化表明,技術(shù)一直在隨著時間的推移而變化。

A964104C-84A9-4A90-9CD2-D317ABF71E4F.png

通過Cloudflare Radar

開放網(wǎng)絡(luò)測量社區(qū)的重要性

作為開放測量和研究社區(qū)重要性的證明,這項工作確實相當于“站在巨人的肩膀上”。它是與馬里蘭大學、洛桑聯(lián)邦理工學院和密歇根大學的研究人員合作完成的,并非孤立存在。人們已經(jīng)付出了大量的努力來測量連接篡改,其中大部分來自審查測量社區(qū)。大部分工作由主動測量構(gòu)成,研究人員在網(wǎng)絡(luò)和區(qū)域內(nèi)或沿網(wǎng)絡(luò)和區(qū)域制作和傳輸探測器,以識別阻止行為。毫無疑問,主動測量既有優(yōu)點也有缺點,如論文第2節(jié)所述。

與主動測量相對應(yīng)的是被動測量,也是我們項目的重點,它采用“觀察而不采取任何行動”的方法。被動測量有其自身的優(yōu)點和缺點,但至關(guān)重要的是,它依賴于擁有良好的有利位置,例如大型網(wǎng)絡(luò)運營商。主動和被動測量在結(jié)合使用時最有效,在本文所討論的情況中,有助于更全面地了解連接篡改對用戶的影響。

最重要的是,在進行任何類型的測量時,都必須非常小心地了解和評估測量的安全性,因為對人員和網(wǎng)絡(luò)施加的風險通常是間接的或隱藏的。

我們數(shù)據(jù)的局限性

我們毫不懷疑對連接篡改保持透明的重要性,但我們也需要明確從數(shù)據(jù)中獲取的見解的局限性。作為Cloudflare網(wǎng)絡(luò)(且僅限Cloudflare網(wǎng)絡(luò))連接的被動觀察者,我們只能看到或推斷以下內(nèi)容:

連接被篡改的跡象,但不知道發(fā)生的位置??蛻舳藨?yīng)用和服務(wù)器系統(tǒng)之間的任何軟件或設(shè)備都可能篡改連接。這個范圍涵蓋專用系統(tǒng)、企業(yè)或家庭寬帶路由器中的防火墻,以及安裝在家庭或?qū)W校計算機上的保護軟件。我們所能推斷的只是連接的起始位置(盡管這受限于互聯(lián)網(wǎng)設(shè)計固有的地理位置不準確性)。

(通常,但并非總是)是什么觸發(fā)了篡改,但不知道原因。通常,篡改系統(tǒng)由域名、關(guān)鍵字或正則表達式觸發(fā)。通過足夠的重復(fù)和手動檢查,可能可以識別出篡改的可能起因,但無法識別原因。許多篡改系統(tǒng)設(shè)計容易產(chǎn)生意想不到的后果,上面提到的t.co示例就是其中之一。

確實受影響的人和事,但不包括可能受影響的人和事。作為被動觀察者,我們能做出的推斷種類有限。例如,在1001個與example.com的連接中,有1000個可觀察到篡改,這表明下一次連接嘗試也可能發(fā)生篡改。然而,這并沒有說明與another-example.com的連接相關(guān)的任何信息。

數(shù)據(jù),數(shù)據(jù),數(shù)據(jù):從干擾信息中提取信號

如果您只是想獲取和使用Radar上的數(shù)據(jù),請參閱我們的“操作方法”指南。若想要了解更多,那讓我們來了解一下數(shù)據(jù)本身。

這項工作的重點是TCP。在我們的數(shù)據(jù)中,第三方可以使用兩種機制來強制關(guān)閉連接:丟棄數(shù)據(jù)包以引起超時,或注入偽造的TCP RST數(shù)據(jù)包,每種機制都有各種部署選擇。個別篡改簽名可能反映了這些選擇。需要了解的是,正常的TCP關(guān)閉是使用FIN數(shù)據(jù)包啟動的。

連接篡改簽名

我們的檢測機制會根據(jù)一組簽名來評估連接中的數(shù)據(jù)包集,以判斷是否存在連接篡改。這些簽名是根據(jù)之前工作中識別出的簽名手工生成的,并通過分析我們歸類為異常(即提前關(guān)閉的連接,以及在客戶端發(fā)出不到10個數(shù)據(jù)包時,以RST數(shù)據(jù)包或超時的方式不合時宜地關(guān)閉的連接)的Cloudflare網(wǎng)絡(luò)連接樣本生成的。我們分析了這些樣本,發(fā)現(xiàn)19種模式占樣本中所有可能被篡改的連接的86.9%,如下表所示。

A1EE09AF-7106-4405-8E87-9B500113CBF6.jpeg

表1:我們通過全球被動測量識別的一組篡改簽名。

為了幫助推斷篡改情況,我們還根據(jù)上述19個簽名出現(xiàn)的連接生命周期階段對其進行了分類。每個階段都暗示了有關(guān)中間盒的一些信息,如下所述,并附有相應(yīng)的序列圖:

574D8DDC-912B-4DB3-B7A9-A6FD066A130B.jpeg

076656C3-5EE0-499A-844A-AC3627B8CEE1.jpeg

-(a)Post-SYN(握手過程中):篡改可能由目標IP地址觸發(fā),因為中間盒可能沒有看到應(yīng)用數(shù)據(jù)(數(shù)據(jù)通常在握手完成后傳輸)。

-(b)Post-ACK(握手后緊接著):連接建立后立即被強制關(guān)閉,未看到任何數(shù)據(jù)。中間盒甚至很可能已經(jīng)看到了數(shù)據(jù)包;例如HTTP中的主機標頭或TLS中的SNI字段。

-(c)Post-PSH(第一個數(shù)據(jù)包之后):中間盒肯定已經(jīng)看到第一個數(shù)據(jù)包,因為服務(wù)器已經(jīng)接收到它。中間盒可能一直在等待帶有PSH標志的數(shù)據(jù)包,該標志通常設(shè)置為指示數(shù)據(jù)包中的數(shù)據(jù)應(yīng)在收到后立即傳送給應(yīng)用,不得延遲。這里的中間盒可能是旁觀者攻擊(monster-on-the-side),因為它允許有問題的數(shù)據(jù)包到達目的地。

-(d)流程后期(多個數(shù)據(jù)包后):在連接的后期篡改(不是緊接在第一個數(shù)據(jù)包之后,但仍在前10個數(shù)據(jù)包內(nèi))。TLS中加密數(shù)據(jù)的普遍性使得這一階段成為最不容易發(fā)生篡改的階段??赡艿挠|發(fā)因素是在(HTTP)連接后期以明文形式出現(xiàn)的關(guān)鍵字,或者企業(yè)代理和家長保護軟件之類的產(chǎn)品。這些軟件可以查看加密流量,并在遇到某些關(guān)鍵字時重置連接。

考慮其他解釋

我們?nèi)绾未_信上述簽名能夠檢測到中間盒篡改,而不僅僅是非典型的客戶端行為?被動測量的一個挑戰(zhàn)是我們無法完全了解連接到我們網(wǎng)絡(luò)的客戶端,因此很難(甚至不可能)獲得絕對肯定的結(jié)果。我們會尋找強有力的篡改證據(jù),而這必須首先從識別誤報開始。

我們知道以下誤報來源很難與真正的篡改來源區(qū)分開來。除最后一個之外,其他所有誤報都發(fā)生在連接的前兩個階段,即在接收數(shù)據(jù)包之前。

-掃描程序是客戶端應(yīng)用,用于探測服務(wù)器以引出響應(yīng)。一些掃描程序軟件使用標頭中的固定位進行自我識別,這有助于我們進行過濾。例如,我們發(fā)現(xiàn)Zmap約占所有?SYN→RST?簽名匹配的1%。

-SYN洪水攻擊是另一個可能的誤報來源,尤其是對于Post-SYN連接階段的簽名,例如?SYN→??和?SYN→RST?簽名。這些不太可能出現(xiàn)在我們的數(shù)據(jù)集收集中,數(shù)據(jù)集收集發(fā)生在DDoS防護系統(tǒng)之后。

-Happy Eyeballs是雙??蛻舳顺S玫囊环N技術(shù),客戶端會發(fā)起與服務(wù)器的IPv6連接,并在延遲一段時間以支持IPv6后,再建立IPv4連接。客戶端會保留第一個成功的連接并丟棄另一個。停止傳輸或使用RST而非FIN關(guān)閉連接的客戶端會顯示在數(shù)據(jù)中,與?SYN→RST?簽名相匹配。

-瀏覽器觸發(fā)的RST可能出現(xiàn)在連接的任何階段,但尤其適用于在連接后期(多個數(shù)據(jù)包之后)匹配的簽名。例如,它可能由用戶關(guān)閉瀏覽器選項卡觸發(fā)。然而,與有針對性的篡改不同,源自瀏覽器的RST不太可能偏向特定服務(wù)或網(wǎng)站。

我們?nèi)绾螀^(qū)分合法客戶端發(fā)起的誤報和第三方篡改?我們尋求一種基于證據(jù)的方法來區(qū)分篡改簽名和數(shù)據(jù)集內(nèi)的其他信號。為此,我們要利用數(shù)據(jù)包標頭中的各個位。

簽名驗證——讓數(shù)據(jù)說話

單獨的簽名匹配不足以做出正確的判斷。與此同時,我們可以通過檢查總體連接來找到進一步支持其準確性的證據(jù)——如果原因是篡改,并且篡改是有針對性的,那么一定還有其他共同的模式或標記。例如,我們預(yù)計瀏覽器行為會出現(xiàn)在世界各地;然而,正如我們上面所展示的,僅在某些地方或某些時間間隔與連接匹配的簽名就會凸顯出來。

類似地,我們期望連接內(nèi)連續(xù)數(shù)據(jù)包中的某些特征也能凸顯出來,事實上它們也確實如此,即IP標頭中的IP-ID和TTL字段。

D371BC0C-9026-4332-8BA1-30F2BCE28E57.jpeg

IPv4數(shù)據(jù)包標頭中的IP-ID(IP標識)字段通常是每個連接的固定值,通常由客戶端針對其發(fā)送的每個后續(xù)數(shù)據(jù)包進行遞增。換句話說,我們預(yù)計從同一客戶端發(fā)送的后續(xù)數(shù)據(jù)包中IP-ID值的變化很小。因此,在正常連接中,后續(xù)數(shù)據(jù)包之間IP-ID值的大幅變化是意料之外的,可以用作數(shù)據(jù)包注入的指標。這正是我們在標記為(a)的上圖中看到的一組選定簽名的情況。

生存時間(TTL)字段為檢測注入的數(shù)據(jù)包提供了另一個線索。同樣,大多數(shù)客戶端實施也對連接上發(fā)送的每個數(shù)據(jù)包使用相同的TTL,通常最初設(shè)置為64或128,并由數(shù)據(jù)包路由上的每個路由器遞減。如果RST數(shù)據(jù)包的TTL與連接中的其他數(shù)據(jù)包不相同,則表明它是注入的。請看上圖(b),我們可以看到TTL的明顯差異,表明存在第三方。

我們強烈建議讀者閱讀這些內(nèi)容背后的細節(jié),了解它們的意義和原因。IP-ID和TTL最大差值較大的連接為流量篡改提供了積極證據(jù),但沒有這些信號并不一定意味著沒有發(fā)生篡改,因為眾所周知,一些中間盒會從連接中的原始數(shù)據(jù)包中復(fù)制IP標頭值,包括IP-ID和TTL。我們的重點在于負責任地確保我們的數(shù)據(jù)集具有指示價值。

最后還有一點需要注意:雖然我們的篡改簽名可以捕獲多種形式的篡改,但仍有可能出現(xiàn)漏報,即連接已被篡改但未被我們檢測到。一些示例是在前10個數(shù)據(jù)包之后終止的連接(因為我們并沒有對這一部分進行采樣)、FIN注入(RST注入的不太常見的替代方案)或所有數(shù)據(jù)包在到達Cloudflare服務(wù)器之前被丟棄的連接。我們的簽名也不適用于基于UDP的協(xié)議,例如QUIC。我們希望將來擴大連接篡改簽名的范圍。

案例研究

為了了解這在Cloudflare網(wǎng)絡(luò)上的表現(xiàn),下面我們提供了與連接篡改的OONI報告一致的TCP連接異常的更多示例。

如需了解此項研究的更多見解,請參閱完整的技術(shù)論文和演示文稿。對于下文未列出的其他地區(qū)和網(wǎng)絡(luò),請參閱Radar上的新數(shù)據(jù)。

巴基斯坦

來自巴基斯坦內(nèi)部的報告顯示,2024年8月用戶的互聯(lián)網(wǎng)體驗發(fā)生了變化??匆幌?月初的兩個星期時間,從2024年8月9日開始,Post-ACK連接異常發(fā)生了顯著變化。

ED2C703F-EB10-4734-99BD-7410B0B04B51.png

通過Cloudflare Radar

8月9日的Post-ACK峰值幾乎完全歸因于AS56167(Pak Telecom Mobile Limited),如下面第一張圖所示,其中Post-ACK異常從對于所有連接不足5%,躍升至70%以上,并且此后一直保持高位。相應(yīng)地,我們看到從AS56167中的客戶端到達Cloudflare網(wǎng)絡(luò)的成功HTTP請求數(shù)量顯著減少(如下面第二張圖所示),這證明連接正在中斷。這個巴基斯坦的例子強調(diào)了確鑿報告和觀察結(jié)果的重要性,在Radar數(shù)據(jù)集發(fā)布中對此進行了更詳細的討論。

D9021A5E-0E28-4E79-847D-B78A55EEDC4A.png

通過Cloudflare Radar

1D074F34-DE96-4A2F-97A1-FFE98809942B.png

通過Cloudflare Radar

坦桑尼亞

2024年4月的OONI報告討論了坦桑尼亞的有針對性的連接篡改行為。報告指出,在客戶端觀察到這種阻止,因為在TLS握手期間的Client Hello消息之后連接超時,這表明中間盒正在丟棄包含Client Hello消息的數(shù)據(jù)包。在服務(wù)器端,以這種方式被篡改的連接將顯示為Post-ACK超時,因為包含Client Hello消息的PSH數(shù)據(jù)包永遠不會到達服務(wù)器。

查看下面淺藍色部分中表示的Post-ACK數(shù)據(jù),我們發(fā)現(xiàn)了匹配的證據(jù):來自坦桑尼亞的所有新TCP連接中,近30%都顯示為Post-ACK異常。進一步細分(下圖中未顯示),大約三分之一是由于超時,與上面的OONI報告一致。其余部分是由于RST。

3D1269A2-7362-4A0D-8CD4-75972AF9F7A4.png

通過Cloudflare Radar

埃塞俄比亞

埃塞俄比亞是另一個之前報告過連接篡改的地區(qū)。與此一致,我們發(fā)現(xiàn)埃塞俄比亞網(wǎng)絡(luò)中Post-PSH TCP異常的發(fā)生率較高。我們的內(nèi)部數(shù)據(jù)顯示,這里的大多數(shù)Post-PSH異常都是由RST引起的,不過超時也很普遍。

7BE30D80-27ED-41D5-AE45-E319821C70B9.png

通過Cloudflare Radar

從位于埃塞俄比亞的IP地址到達Cloudflare服務(wù)器的流量大部分來自AS24757(Ethio Telecom),如下面第一張圖所示,因此其數(shù)據(jù)與全國范圍內(nèi)的連接異常分布非常吻合也就不足為奇了。來自AS328988(SAFARICOM TELECOMMUNICATIONS ETHIOPIA PLC)的Post-PSH連接數(shù)量(如下面第二張圖所示)的比例更高,占該網(wǎng)絡(luò)所有連接的33%以上。

AB539DD8-FD2E-4F4B-B1DF-30BC7D5B3EB0.png

通過Cloudflare Radar

2E9CF64F-078E-4115-83C3-F10ABD3187F9.png

通過Cloudflare Radar

反思現(xiàn)在,以促進更具韌性的未來

連接篡改是一種以各種形式部署在互聯(lián)網(wǎng)上的阻止機制。盡管我們已經(jīng)開發(fā)出各種方法來幫助在全球范圍內(nèi)檢測和了解這種行為,但這種體驗就像電話中斷一樣,因人而異。

連接篡改也可能因意外而發(fā)生。之所以能成功,是因為域名以明文形式可見。但情況可能并非總是如此。例如,Encrypted Client Hello(ECH)是一種加密SNI字段的新興構(gòu)建塊。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:Cloudflare
版權(quán)說明:本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多