回顧網際網路的過去十年(下)

一、端到端傳輸層

現在開始討論協議棧,並研究過去十年中發生的端到端傳輸協議以及其中的變化。

端到端傳輸是互聯網的革命性方面,TCP協議是這一變化的核心。許多其他傳輸協議要求較低級別的網絡協議棧向傳輸協議提供可靠的流接口。由網絡來創建這種可靠性,執行數據完整性檢查和數據流控制,並在網絡中發生數據丟失時進行修復。 TCP免除了所有這些,簡單地假定來自網絡的不可靠的數據報傳輸服務,並推動傳輸協議承擔保障數據完整性和流量控制的責任。

在TCP的世界裡,過去十年似乎沒有多少變化。我們已經看到了在TCP控制的速率增加和速度下降的細節方面的一些小改進,但沒有改變這個協議的基本行為。 TCP傾向於使用數據包丟失作為擁塞信號,並在較低速率和該丟失觸發率之間振盪流量。

回顧互聯網的過去十年(下)

​隨著谷歌的BBR和QUIC產品的亮相,情況有望發生根本上的變化。

瓶頸帶寬和往返時間控制算法(BBR),是TCP流量控制協議的變體,其操作方式與其他TCP協議完全不同。 BBR試圖維持恰好位於發送方和接收方之間端到端路徑的延遲帶寬積的流量。在這種情況下,它試圖避免網絡中積累的數據緩衝(當發送速率超過路徑容量時),並且還試圖避免在網絡中留下空閒時間(發送速率小於路徑容量)。

副作用是,在發生擁塞丟失時,BBR會試圖避免網絡緩衝崩潰。 BBR顯著提高了有線和無線網絡傳輸系統的效率。

Google最近提供的QUIC也代表了我們使用傳輸協議方式上的重大轉變。 QUIC協議看起來像一個UDP協議,從網絡的角度來看,它只是一個UDP數據包流,但目前看來卻不僅僅是這樣。

這些UDP數據包的內部負載包含一個更傳統的TCP流量控制結構和一個TCP流負載。但是,QUIC對其UDP負載進行了加密,因此整個內部TCP就可以完全隱藏在網絡中。互聯網傳輸的僵化不僅是因為網絡中間件的干擾作用,還因為它被用來丟棄它無法識別的數據包。

像QUIC這樣的方法允許應用程序擺脫這種機制,並將端到端流程管理恢復為端到端的功能,而無需任何形式的網絡中間件檢查或操縱。這一發展可能是整個十年中傳輸協議中最重要的進步。

二、應用程序層

現在繼續向上看協議棧,並從跨網絡運行的應用程序和服務的角度來看待Internet。

1. 隱私和加密

正如我們在研究端到端傳輸協議的發展時指出的那樣,QUIC負載的加密不僅僅是為了防止網絡中間件干擾TCP控制狀態,儘管它確實非常成功地實現了這一點。加密適用於整個負載,並指出了過去十年中的另一項重大發展。

我們現在對利用各種形式的網絡機制來竊聽用戶和服務的程度持謹慎態度。Edward Snowden在2013年發佈的文件描述了一個非常活躍的美國政府監視計劃,該計劃利用大量的流量攔截來源以構建用戶的行為概況,並由此推斷描述個人用戶的概況。從許多方面來說,收集這些資料與谷歌和Facebook等由廣告資助的服務(或多或少)多年來公開做的事情沒有多大區別,但本質上的區別也許在於知識和默示的同意。對於廣告客戶,此信息旨在提高個人資料的準確性,從而提高潛在廣告客戶的用戶價值。政府機構的動機更傾向於各種形式的解釋,並不是所有這樣的解釋都是良性的。

對於這種材料洩漏,一項技術的回應是在網絡的所有部分公開地推行端到端加密。這樣做是為了讓所有人都能使用強大的加密功能,而不僅僅是隻有那些付得起高價才能享受的奢侈功能。 Let’s Encrypt倡議成功地發佈了免費的X.509域名證書,其結果是所有網絡服務運營商,無論其規模大小或資產如何,都能夠為他們的網絡服務器使用TLS加密會話。

網絡和基於網絡竊聽者的隱藏用戶流量遠遠超出了QUIC和TLS會話協議。域名系統(DNS)也能夠帶來豐富信息,例如用戶在做什麼,以及在許多地方用於執行內容限制。最近已經採取了一些行動來嘗試和清理DNS過於健談的特性,使用查詢名稱最小化來防止不必要的數據洩露,以及通過HTTPS開發DNS over TLS和DNS以確保存根解析程序與它的遞歸服務器之間的網絡路徑。這是目前正在進行的一項工作,將需要一段時間才能看到這項工作的結果是否會在DNS環境中得到廣泛採用。

我們現在正在一個高度偏執的環境中運營我們的應用程序。應用程序不一定信任它們運行的平臺,我們看到應用程序正在努力將其活動隱藏在底層平臺上。應用程序不信任網絡,並且我們看到越來越多的網絡竊聽者使用端到端加密來隱藏的他們活動。在加密會話建立中使用身份憑證可以防止應用程序客戶端被錯誤地認作偽裝服務器。

2. 內容的興起

將協議棧進一步擴展到內容和應用環境,過去十年中我們也看到了一些革命性的變化。

在一段時間內,互聯網的內容和通信活動主要存在於獨立的業務領域,並且相互依存。通信的任務是將用戶帶入內容,這意味著通信對內容至關重要。與此同時,客戶端/服務器互聯網缺乏了服務器是無用的,所以內容對於通信是必不可少的。這種相互依存的關係既令人擔憂,又直接涉及到參與者和公眾更大的利益。

內容產業在很大程度上是這兩種產品中更賺錢一方,很少受到監管約束。他們提供的服務中沒有任何普遍服務義務的概念,甚至沒有任何有效的價格控制形式。許多內容服務提供商使用內部交叉融資,允許他們向公眾提供免費服務,如免費電子郵件、免費內容託管、免費存儲等類似服務,而通過另外較隱蔽的交易為這些服務提供資金,實質上就是向出價最高的廣告客戶出售用戶的消費者檔案。所有這些都發生在所有重大的監管約束之外,這給了內容服務行業帶來了相當大的財富和相當大的商業自由度。

這個行業現在正在利用其能力和資本來消除以前對通信行業的依賴,這應該不足為奇。我們現在看到內容數據網絡(CDN)模型的迅速興起,它不是將用戶帶到各種內容商店,而是在用戶旁邊打開本地內容商店。

隨著各種形式的數字服務都轉移到CDN,傳統的通信服務在互聯網中的作用如何呢?鑑於通信在越來越多的內容經濟中地位日益邊緣化,公共通信提供商的前景並不樂觀。

在這些CDN中,一種新服務模式逐漸興起,以雲服務的形式進入互聯網。我們的計算機不再是具有處理和計算資源的獨立系統,而是越來越像一個窗口,能夠看到存儲在公共服務器上的數據。

雲服務是非常相似的,其中本地設備實際上是大型備份存儲的本地緩存。在用戶可能擁有多個設備的情況下,這種模式更具有說服力,因為無論使用哪種設備訪問數據,公共備份存儲的視圖都是不變的。這些雲服務還使數據共享和協作工作更容易支持。與其創建一組原始文檔的副本,然後嘗試將所有單個的編輯切換回單個公共的整體,該雲模型能夠僅通過更改文檔的訪問權限來共享文檔。這個文檔只有一個副本,文檔的所有編輯內容和評論都可獲得。

3. 網絡攻擊的演變

在互聯網中的網絡容量不斷增加的同時,我們看到了拒絕服務攻擊總數的新記錄。目前的峰值量是一個1.7 Tbps的惡意流量攻擊。

攻擊現在很平常。它們中的很多都非常簡單,依靠一堆潛在的殭屍設備,這些設備很容易被顛覆,並被選中協助攻擊。這些攻擊通常是簡單的攻擊形式,例如UDP反射攻擊,簡單的UDP查詢會產生大量響應。查詢的源地址被偽造成目標受害者的地址,不需要做太多的事情。小型查詢流可能導致大規模攻擊。 UDP協議,如SNMP、NTP、DNS和Memcache已在過去被使用過,毫無疑問將被再次使用。

我們為什麼不能解決這個問題?數十年我們一直在努力,但我們似乎無法在攻擊之前預料到。對於網絡運營商來說,1998年已經發布了RFC 2827用於防止偽造源地址數據包洩漏。然而,大量基於UDP的偽造源地址的攻擊目前一直存在。具有已知漏洞的計算機系統繼續與互聯網連接,很容易轉化為攻擊機器人。

攻擊的情況也變得越來越不清晰。之前歸因於“黑客”,但很快就意識到這些敵對攻擊的重要組成部分具有犯罪動機。從犯罪行為者到國家行為者的演變也是完全可預測的,我們看到這個網絡戰爭舞臺的升級,對於漏洞防禦的投資也成為了評判一個國家綜合實力的標準。

看來,這裡的一個主要問題是,我們不願意對有效的防禦或威懾作出任何實質性的投資。我們對於在互聯網上使用的系統過度信任,以至於到了不合理的輕信的地步。例如,用於保護基於網絡的交易的公鑰認證系統被反覆證明是不可信的,但我們卻對其保持信任。個人數據不斷遭到破壞和洩漏,但我們似乎只想增加規則的數量和複雜性,而不是實際使用能夠有效保護用戶的更好工具。

敵對襲擊的大局勢並沒有好轉。事實上,情況變得更糟了。如果企業有業務需要維護一個始終可用的服務,但目前任何形式的內部資源調配都不足以抵禦攻擊。如今只有少數平臺能夠提供彈性服務,即使如此,目前還不清楚它們是否能夠抵禦最極端的攻擊。

在網絡中有一個持續的背景掃描和探測,任何形式的可見漏洞都會被無情地利用。人們可以將今天的互聯網描述為一個有毒的荒地,偶爾也會被防守嚴密的城堡打斷。那些能夠在這些城堡中找到自己的服務的人可以從這種持續不斷的敵對攻擊中得到某種程度的緩解,而其他人都被迫試圖在這種最惡劣的環境中隱藏自己,同時意識到任何大規模的襲擊都會將他們淹沒。

世界上大約有一半的人口現在處於數字環境,這是一個發人深省的現象。更發人深省的是,當今的許多控制系統,如發電、配電、配水和道路交通控制系統,都暴露在互聯網上。也許更令人擔心的是,互聯網正在越來越多地被使用,包括自動化系統以及各種生活支持功能。這些系統在面臨持續和破壞性攻擊時出現嚴重故障的後果是不可想象的。

4. 互聯網中數十億悲慘而又愚蠢的事情

這種情況中更令人沮喪的是所謂的“物聯網”(IoT)。

在互聯網預言比比皆是的圈子裡,策略制定者們蜂擁而至地闡述對未來的宏偉願景,我們經常聽到是,物聯網代表著無限的未來。這個短語包含了計算機行業幾十年的轉變,從只有國家負擔得起的深奧的工程部件,到大型機、臺式機、筆記本電腦、掌上電腦,到現在的腕上電腦。下一步呢?在物聯網的願景中,我們將把互聯網擴展到人以外,並在這個世界的各個方面使用數十億臺這樣的設備。

我們對已經連接到互聯網的’事物’有什麼瞭解呢?

其中有一些不是很好。事實上,其中一些愚蠢透頂。它們的一些不完善的操作和不充分的安全模式會以潛在的惡意方式影響其他設備。毫無疑問,如果不斷檢查和管理這些設備,我們可能會發現異常行為並予以糾正。但這些都是無形的非託管設備。一個網絡攝像頭控制器,一個智能電視中所謂的“智能”設備,或者是從洗衣機到貨車的任何東西的控制器,沒有人正在照看這些設備。

當我們想到物聯網時,我們會想到一個氣象站、網絡攝像頭、“智能”汽車、個人健身監視器等類似的世界。但我們往往會忘記的是,所有這些設備都是基於他人的軟件層構建而成的,以儘可能低的價格組裝成產品。

當你意識到你剛安裝的網絡攝像頭具有可以用“完全沒有安全性”這個短語來概括其安全模型,並且它實際上將你房子的全景全部放到了互聯網上,這可能會讓你感到不安。當你意識到你的電子錢包使用的設備是大量來源不明的開源軟件的彙編,它的安全模型還沒有被完全理解,但似乎很容易被強迫為“是的,想拿什麼就拿什麼”,這可能會更加讓你感到不安。

如果認為我們代碼中已經沒有錯誤,並且從現在開始,我們的軟件將完美無缺,那絕對是理想主義的,是不會發生的。軟件不會完美,它將繼續存在漏洞。如果認為物聯網正在塑造一個高質量的市場,那將是一件好事,消費者將選擇更昂貴的產品,即使其功能與更廉價的產品相同,而這種產品還沒有經過嚴格的基本安全缺陷測試。那也太天真了。

物聯網將繼續成為市場、價格和質量之間的妥協,將繼續推動我們走向廉價但非安全的一邊。什麼能夠阻止我們被大量的、多樣的,本身就有潛在的漏洞,而且很容易被利用的程序化非託管設備進一步汙染我們的環境?我們能做些什麼來讓這個世界不再那麼愚蠢?目前尚未找到這個問題的可行答案。

三、未來十年

硅產業不會在短期內關閉。我們的計算機將在他們將能夠執行的任務的範圍和複雜性方面變得更加強大。

同時,我們可以期待從我們的網絡獲得更多。更高的容量,更大程度上定製網絡,以滿足我們的個人需求。

但是,對互聯網的安全和信任持樂觀態度是非常具有挑戰性的。過去十年來,我們在這方面進展甚微,因此,沒有理由認為這一情況在未來十年會發生變化。如果我們無法解決這個問題,那麼,也許我們只能面對一個充斥著悲慘愚蠢的事情的互聯網。

除了這些籠統的情況,很難預測互聯網將往哪裡發展。技術並不遵循預先確定的道路。它受到消費者市場的驅使,很容易被多彩的明亮的新事物分散注意力,而且很容易被我們所厭倦。

在未來的十年中,我們可以期待互聯網能夠超越袖珍型電腦,可以用自然語言與我們交流嗎?那能提供比浸入式3D視頻更優秀的質量嗎?可以將人類的全部書籍彙集成一個可搜索的數據庫,可以在幾秒內回答我們的任何問題嗎?

我們不知道從互聯網上可以得到什麼。但無論如何,相信互聯網會變得豐富多彩、明亮、閃耀,而且完全出乎意料!


分享到:


相關文章: