互聯(lián)網(wǎng)掃描工具ZMap問世:44分鐘可掃遍互聯(lián)網(wǎng)[圖]
直到最近為止,對擁有數(shù)之不盡的獨立地址的互聯(lián)網(wǎng)進行整體掃描還是一種非常緩慢而“勞動密集型”的過程。舉例來說,在2010年電子前沿基金會(Electronic Frontier Foundation)曾進行過一次掃描,想要搜集有關加密技術在線使用量的數(shù)據(jù)。其結果是,這一過程足足花了兩三個月時間。
據(jù)《華盛頓郵報》網(wǎng)站下屬博客站點The Switch報道,由密歇根大學研究人員組成的一個團隊覺得,他們在這一方面能做得更好;事實上,應該說是好得多。在周五于華盛頓召開的Usenix國際安全研討會上,這個團隊宣布推出了一種名為“ZMap”的工具,這種工具能令一臺普通的服務器在短短44分鐘時間里掃描互聯(lián)網(wǎng)上的每一個地址。
電子前沿基金會的團隊在2010年所使用的是一種名為“Nmap”的工具,這個工具會向一臺主機發(fā)出請求,隨后等待接到請求的主機作出回應。這些請求可以并行操作,但為每一個未得到回復的請求保留相關記錄仍舊會帶來大量的工作,從而拖緩掃描互聯(lián)網(wǎng)的進程。
與此相比,ZMap則是一種“無狀態(tài)”的工具;也就是說,這種工具會向服務器發(fā)出請求,然后就“忘記”這些請求。ZMap不會保留未獲回復請求的清單,而是在傳出的數(shù)據(jù)包中對識別信息進行編碼,這樣一來該工具就能對回復進行鑒別。
這種方法擁有巨大的優(yōu)勢,意味著Zmap輸出數(shù)據(jù)包的速度比Nmap高出1000倍以上。因此,用Nmap對整個互聯(lián)網(wǎng)進行掃描需要花費幾個星期時間,而使用ZMap這種工具則只需要44分鐘。
在擁有這種工具以后,人們將可迅速掃描整個互聯(lián)網(wǎng),而且費用也不高,這就為針對整個互聯(lián)網(wǎng)的研究工作開辟了一些令人深深著迷的新可能性。密歇根大學的團隊利用這種新工具做了許多有趣的事情,以下列出的是其中的一部分。
日益加密的網(wǎng)絡
現(xiàn)在,越來越多的網(wǎng)站正在使用網(wǎng)絡基本協(xié)議的加密HTTPS版本。那么,企業(yè)組織正在以多快的速度作出這種轉變呢?在以前,哪怕只是對這個問題作出一種簡單的估測也會是個緩慢而代價高昂的過程;但在今天,ZMap不僅能在一個小時以內就對這個問題作出回答,而且還能通過定期掃描的方式來追蹤HTTPS人氣度隨時間推移而上升的程度。
密歇根大學的研究人員利用ZMap工具進行追蹤研究后發(fā)現(xiàn),在過去一年時間里,排名前100萬名的網(wǎng)站對于HTTPS的使用量(如下圖中紅線所示)已經增長了23%左右,而HTTPS的整體數(shù)量(如下圖中的藍線所示)則已經增長了將近20%。
颶風會對互聯(lián)網(wǎng)造成怎樣的損害
當重大的自然災害來襲時,電腦可能會被迫斷開網(wǎng)絡連接,而使用ZMap工具則可對自然災害令互聯(lián)網(wǎng)受損的程度作出測量。
在去年10月29日到31日之間,也就是桑迪颶風(Hurricane Sandy)橫掃美國東海岸的那段時間里,密歇根大學的研究團隊每隔兩個小時就會對整個互聯(lián)網(wǎng)進行一次掃描。通過將IP地址與地理位置聯(lián)系起來的方式,研究人員能對哪些地區(qū)的網(wǎng)絡服務中斷情況最為嚴重進行觀察。下面這張地圖所顯示的就是“收聽主機數(shù)量減少30%以上的位置”。
颶風來臨時對互聯(lián)網(wǎng)進行掃描,來判斷受損區(qū)域(騰訊科技配圖)
互聯(lián)網(wǎng)的睡眠周期
在掃描整個互聯(lián)網(wǎng)需要耗時幾個星期的時期,何時開始啟動一次掃描并沒有什么意義;但是,當掃描過程只需要不到一個小時就能完成時,何時開始掃描就變得很有意義了。那么,何時開始進行一次全網(wǎng)掃描才是最好的時機呢?
為了回答這個問題,密歇根大學的研究人員在一天中的不同時刻進行了掃描,然后觀察自己能獲得多少回復。以下是他們的研究結果:
對于以上圖表所顯示的模式,或許有兩個理由能作為解釋。有一種可能性是,有些在線服務僅在一天中的某些特定時段開放。但是,可能性更高的一種解釋則與網(wǎng)絡堵塞有關。在默認狀態(tài)下,ZMap只會向每個主機發(fā)出一個數(shù)據(jù)包;如果數(shù)據(jù)包是在網(wǎng)絡流量擁堵的高峰時段發(fā)出的,那么這個數(shù)據(jù)包(或是接收數(shù)據(jù)包的主機所作出的回應)丟失的可能性就會變得更高。
掃描睡眠周期(騰訊科技配圖)
從密歇根大學的研究報告來看,在任何情況之下,對整個互聯(lián)網(wǎng)進行掃描的最好時段都是凌晨,而最壞的時段則是傍晚。
分布廣泛的安全漏洞
安全研究人員總是能在現(xiàn)有的軟件里找到安全漏洞,從而迫使廠商迅速發(fā)布補丁來加以修復。但是,用戶在實際生活中要花多長時間才會真正使用補丁來修復安全漏洞呢?ZMap提供了一種迅速而有效的方法來對此作出測量。
密歇根大學的研究團隊進行了一次實驗,針對今年早些時候在所謂的“通用即插即用”(Universal Plug and Play)技術中被發(fā)現(xiàn)的一個重大漏洞對整個互聯(lián)網(wǎng)進行了掃描。在這個漏洞曝露以后的兩個星期時間里,研究人員進行了全網(wǎng)掃描以追蹤有多少主機沒有升級。其結果是,在研究人員所追蹤的1570萬部“通用即插即用”設備中,有256萬部沒有升級,在總數(shù)中所占比例為16.7%。
在另一次實驗中,研究人員則針對存在兩個問題(這兩個問題分別是在2008年和2011年被發(fā)現(xiàn)的)之一的加密密鑰進行了全網(wǎng)掃描。以下圖表所顯示的是,研究人員在2012年6月份到2013年6月份之間反復進行的掃描的結果。
從這張圖表來看,“通用即插即用”設備進行升級的情況在某種程度上令人感到鼓舞。僅有很小一部分的加密密鑰受到了兩個漏洞中某一個的影響;在兩個案例中,受攻擊加密密鑰的數(shù)量均已呈現(xiàn)出下降的趨勢。不過,在“Debian弱密鑰”(Debian weak key)案例中仍有2743個主機受到了攻擊,而在“可分解因子RSA密鑰”(factorable RSA keys)案例中則有4.46萬個主機受到了攻擊。[!--empirenews.page--]
ZMap迅速找到電腦安全漏洞的能力可能是件好事,前提是這個工具能讓富有道德責任感的安全研究人員和軟件廠商找到漏洞,并在信息傳遞給普通大眾以前就提前向系統(tǒng)管理員發(fā)出通知。
但與此同時,ZMap也能被用來干壞事。一名心懷惡意的黑客可以利用這種工具來迅速發(fā)現(xiàn)有漏洞尚未修復的電腦,并迅速地入侵這些電腦,從而在短短幾個小時時間里創(chuàng)造數(shù)以百萬計的所謂“僵尸網(wǎng)絡”。