最近,被稱為“stackoverflowin”的大事件席卷國外各大社交媒體。2017年2月4日,以“stackoverflowin”為昵稱的一名英國17歲黑客一時(shí)興起,決定搞點(diǎn)打印操作。這個(gè)行動(dòng)隨后成了一定規(guī)模,甚至很快成為Twitter上的熱門話題。這是因?yàn)樗没ヂ?lián)網(wǎng)上幾乎所有公開訪問的打印機(jī)進(jìn)行了打印。
此次事件成為安全缺陷之物聯(lián)網(wǎng)如何沖擊互聯(lián)網(wǎng)的又一大完美案例。
事件回顧:少年的操作細(xì)節(jié)要對(duì)這個(gè)故事進(jìn)行全面回顧,我們首先需要了解一些關(guān)于此次“攻擊”的技術(shù)細(xì)節(jié)。這位年輕黑客的操作步驟其實(shí)非常簡單:
1、找到互聯(lián)網(wǎng)可操作的全部打印設(shè)備為了做到這一點(diǎn),攻擊者需要找到向互聯(lián)網(wǎng)開放其端口的每一臺(tái)打印設(shè)備。在端口開放的情況下,意味著任何人都可以通過RAW或者LDP(在線打印請(qǐng)求的相關(guān)協(xié)議)與目標(biāo)打印機(jī)進(jìn)行通信。攻擊者可以利用多種現(xiàn)有工具完成這項(xiàng)操作,整個(gè)搜索過程大概需要數(shù)小時(shí)到兩天時(shí)間。
2、利用找到的打印機(jī)進(jìn)行打印這里我們不再贅述具體實(shí)施細(xì)節(jié),而僅立足宏觀對(duì)操作方法作出概述。攻擊者可以利用RAW或者LPD發(fā)送打印請(qǐng)求。通過這種方式,攻擊者能夠向打印機(jī)發(fā)送一個(gè)LDP或者RAW數(shù)據(jù)包,并借此向目標(biāo)打印設(shè)備傳達(dá)指令。之后,打印機(jī)會(huì)將其轉(zhuǎn)換為可以打印的圖像。
為了節(jié)省時(shí)間,攻擊者可能會(huì)利用腳本將相同的打印請(qǐng)求發(fā)送至一份打印機(jī)列表中的各條目處。具體來講,攻擊者可以使用由Python等腳本語言編寫而成的小程序完成這項(xiàng)工作,而且此類腳本的長度一般只需要約10行Python代碼,因此難度可想而知。
3、so easy!回顧整個(gè)流程:攻擊者可以查找所有接入網(wǎng)絡(luò)的打印機(jī),并編寫5行腳本來操作總計(jì)約20萬臺(tái)打印機(jī)進(jìn)行打印。so easy!要對(duì)所有開放至互聯(lián)網(wǎng)的打印機(jī)進(jìn)行操作,攻擊者只需要發(fā)送20萬到40萬條請(qǐng)求,而整個(gè)發(fā)送過程只需要約15分鐘。
接下來才是最重要的問題……
在使用門鎖之類的保護(hù)方案時(shí),我們都能夠在一定程度上接受其安全缺陷。如果愿意,人們還是可以撬開門鎖進(jìn)到房間,但這并不妨礙房間里的人在夜間安然入睡,畢竟這類狀況相當(dāng)罕見。而習(xí)慣性地將這種對(duì)于物理安全的看法引入到網(wǎng)絡(luò)安全心態(tài)當(dāng)中也很自然,因此很容易忽視了兩者之間的關(guān)鍵性區(qū)別。
網(wǎng)絡(luò)安全與物理安全網(wǎng)絡(luò)安全與物理安全之間的核心差別在于(或者說您的網(wǎng)絡(luò)服務(wù)器為何必須要比房門更加安全),大多數(shù)人無法實(shí)際身臨您的房門,但身處任何地方、任何位置的任何人都能夠嘗試入侵您的服務(wù)器設(shè)備。正因?yàn)槿绱耍覀冃枰酶鼜?qiáng)大的“鎖具”保護(hù)自己的服務(wù)器設(shè)施。簡而言之,除非您確定自己的房門非常安全或者根本不在乎房間內(nèi)的東西,否則大家肯定不愿意把自己的房門放到互聯(lián)網(wǎng)上。
而在此次stackoverflowin事件當(dāng)中,這些安全性低下的房門居然在互聯(lián)網(wǎng)上開放,以致任何人都可以進(jìn)行攻擊。盡管實(shí)際情況并不屬于攻擊,而只是簡單的被“使用”,但這也提醒我們需要對(duì)物聯(lián)網(wǎng)體系給予高度警惕。
物聯(lián)網(wǎng)與硬件專用軟件安全性堪憂物聯(lián)網(wǎng)上存在數(shù)百萬臺(tái)安全性水平低下,且?guī)缀鯚o法進(jìn)行修復(fù)的設(shè)備。例如路由器,您或許不記得自己對(duì)路由器上的固件進(jìn)行過更新,甚至根本沒有這樣的意識(shí)。所以,像LPD/RAW這樣的服務(wù)本身就沒有考慮到被開放至互聯(lián)網(wǎng)上的情況,其安全保障能力自然堪憂。
事實(shí)上,物聯(lián)網(wǎng)與硬件專用軟件可能屬于互聯(lián)網(wǎng)上最不安全的組成要素。以打印機(jī)為例,1999年之前,已知的LPD漏洞可能影響到大部分甚至全部打印設(shè)備供應(yīng)商。這意味著任何能夠以遠(yuǎn)程方式在某臺(tái)打印機(jī)上進(jìn)行打印操作的攻擊者,也完全有能力在該設(shè)備上執(zhí)行任意代碼。所幸這項(xiàng)問題被一位安全觀察員發(fā)現(xiàn)了,并建議人們利用密碼機(jī)制保護(hù)打印機(jī)。
但事實(shí)證明,這種作法并不現(xiàn)實(shí),因?yàn)檎J(rèn)證并不屬于LPD協(xié)議的一部分。為什么?因?yàn)槿藗冊(cè)?990年開發(fā)LPD協(xié)議時(shí),根本沒有想到這類設(shè)備會(huì)最終被接入公共互聯(lián)網(wǎng)。
另外,受到影響的并不僅僅是特定設(shè)備。當(dāng)您的內(nèi)部網(wǎng)絡(luò)中存在某臺(tái)易受攻擊且暴露在互聯(lián)網(wǎng)上的設(shè)備時(shí),攻擊者就能夠借此獲得立足點(diǎn),這類缺陷在互聯(lián)網(wǎng)上非常常見。一旦目標(biāo)打印機(jī)遭到入侵,攻擊者就能夠把打印機(jī)當(dāng)做跳板進(jìn)而訪問企業(yè)內(nèi)部網(wǎng)絡(luò)。一旦對(duì)方能夠操作企業(yè)的打印機(jī),其就完全可以對(duì)其進(jìn)行控制。
被控制的打印機(jī)為何沒構(gòu)成僵尸網(wǎng)絡(luò)?最簡單的答案在于,還有比打印機(jī)更容易入侵及利用的目標(biāo)。目前之所以還沒有發(fā)現(xiàn)由大量打印機(jī)設(shè)備構(gòu)成的僵尸網(wǎng)絡(luò),是因?yàn)榇蛴≡O(shè)備的多樣性意外構(gòu)成了一種安全保障能力。
在此次受影響的20萬臺(tái)打印機(jī)當(dāng)中,可能包含25種不同的品牌。盡管所有品牌所使用的LPD/RAW協(xié)議中都存在大量漏洞,但借此實(shí)現(xiàn)大規(guī)模僵尸網(wǎng)絡(luò)并非易事,攻擊者必須找到全部打印機(jī)設(shè)備所使用的固件版本,對(duì)其進(jìn)行反編譯,利用安全缺陷并為每種打印機(jī)版本編寫對(duì)應(yīng)的漏洞利用工具。而完成這些任務(wù)可能需要耗費(fèi)數(shù)個(gè)月甚至數(shù)年時(shí)間。
就目前來講,最為強(qiáng)大的僵尸為Mirai的一類變種,即物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)。
Mirai的初始傳播方式為:掃描整個(gè)互聯(lián)網(wǎng),并找出一切運(yùn)行有SSH或者telnet的裝置。二者皆屬于允許身份驗(yàn)證方利用bash或者其它機(jī)制(例如zsh等)對(duì)設(shè)備進(jìn)行控制的方法。一旦這些運(yùn)行有SSH或者telnet的裝置被掃描工具所找到,攻擊者即可嘗試?yán)糜晒?yīng)商保留在裝置上的默認(rèn)憑證進(jìn)行登錄。一旦登錄操作成功完成,掃描工具就會(huì)向該裝置上傳一個(gè)小程序。此程序利用命令與控制服務(wù)器(C&C)對(duì)目標(biāo)裝置進(jìn)行檢查,而后運(yùn)行從C&C服務(wù)器處接收到的命令,具體包括HTTP洪流、UDP洪流、SYN洪流以及其它各類DDoS攻擊活動(dòng)。
物聯(lián)網(wǎng)沖擊互聯(lián)網(wǎng)這些肉雞設(shè)備大多僅被用于執(zhí)行DDoS攻擊,鑒于其可觀的規(guī)模,所以攻擊能力往往極為強(qiáng)大。據(jù)信,一輪此類攻擊足以令整個(gè)整個(gè)利比亞全國斷網(wǎng)。雖然對(duì)于是否全國徹底斷網(wǎng)仍有爭議,但人們普遍同意該攻擊確實(shí)對(duì)利比亞的聯(lián)網(wǎng)能力造成了重大影響。在此之前,同一僵尸網(wǎng)絡(luò)亦曾被用于攻擊DynDNS。DynDNS是一家DNS管理企業(yè),負(fù)責(zé)幫助您的計(jì)算機(jī)找到給定域名的真實(shí)目標(biāo),且服務(wù)于眾多知名巨頭廠商。此輪攻擊導(dǎo)致一系列大型網(wǎng)站(包括Twitter、〈紐約時(shí)報(bào)〉、Spotify、Reddit、PayPal以及Netflix等)遭遇長達(dá)半天的停機(jī)或者使用故障。
隨著時(shí)間的推移,此類攻擊活動(dòng)的出現(xiàn)頻率正快速提升,而且成千上萬遭到操縱的設(shè)備被用于組織大規(guī)模DDoS攻擊。而這很可能只是個(gè)開始。目前,黑帽社區(qū)當(dāng)中,黑客們正在激烈爭奪對(duì)這些設(shè)備的控制權(quán)。一部分新型惡意軟件甚至試圖通過殺滅其它惡意軟件實(shí)例以保有對(duì)目標(biāo)設(shè)備的專控制能力,同時(shí)其會(huì)禁用SSH及telnet以確保其它后續(xù)惡意軟件無法進(jìn)一步入侵這些設(shè)備。一部分犯罪活動(dòng)創(chuàng)業(yè)者從中看到了商機(jī),他們將此視為一類供應(yīng)量不斷減少的商品,并借此建立起新的行業(yè)。舉例來說,各黑帽論壇與市場當(dāng)中出現(xiàn)了“私有”Mirai肉雞設(shè)備的銷售活動(dòng),這意味著攻擊者不再需要通過猜測密碼的方式獲取對(duì)物聯(lián)網(wǎng)設(shè)備的控制能力。此類物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)已經(jīng)成為一種新興的技術(shù)性犯罪體系。
目前,隨著該行業(yè)的持續(xù)發(fā)展,攻擊活動(dòng)的規(guī)模也呈現(xiàn)出愈發(fā)龐大的趨勢,因此可以合理推測,未來的此類攻擊活動(dòng)在規(guī)模上與破壞性層面將變得更加可觀。因此,新的“物聯(lián)網(wǎng)沖擊互聯(lián)網(wǎng)”時(shí)代來臨。
說到這里,我們終于可以探討物聯(lián)網(wǎng)設(shè)備當(dāng)中導(dǎo)致其易受簡單攻擊影響的結(jié)構(gòu)性安全問題,并思考如何對(duì)這些結(jié)構(gòu)問題加以解決。
物聯(lián)網(wǎng)存在的五大問題物聯(lián)網(wǎng)安全缺陷中最具利用價(jià)值的側(cè)面在于了解這些設(shè)備為何不夠安全。根據(jù)與物聯(lián)網(wǎng)行業(yè)內(nèi)大量從業(yè)者的交流,總結(jié)出以下五種導(dǎo)致物聯(lián)網(wǎng)設(shè)備安全性低下的常見原因。
1、物聯(lián)網(wǎng)設(shè)備僅僅只是設(shè)備物聯(lián)網(wǎng)設(shè)備是一類由硬件公司制造的創(chuàng)新型硬件; 而軟件與固件的作用僅僅是保證其能夠正常運(yùn)行。只要能夠立足硬件實(shí)現(xiàn)運(yùn)行且提供漂亮的UI,制造商對(duì)于軟件與固件不再提出任何其它要求,當(dāng)然也就不包括安全性保障。
2、供應(yīng)商并不真正關(guān)心安全性如果大家與物聯(lián)網(wǎng)研究人員交流其對(duì)硬件供應(yīng)商的看法,那么他們給出的必然是一連串嘲諷與鄙夷。而且作為其中的核心,大家會(huì)意識(shí)到供應(yīng)商并不關(guān)心安全性。很多研究人員抱怨稱,在引發(fā)公眾關(guān)注之前,硬件供應(yīng)商絕對(duì)不會(huì)主動(dòng)考慮安全漏洞問題。而且即使是在這種情況下,硬件供應(yīng)商仍會(huì)對(duì)安全研究人員抱有敵意。
3、供應(yīng)商無力修復(fù)安全漏洞這種觀點(diǎn)不算特別常見,但卻能夠?yàn)槲锫?lián)網(wǎng)軟件的開發(fā)方式提供一種啟發(fā)性的描述。一般來講,供應(yīng)商只會(huì)分配較為有限的資源并通過外包方式要求第三方進(jìn)行軟件開發(fā)。這意味著要解決其中的安全漏洞,供應(yīng)商必須簽訂新的合約。考慮到官僚作風(fēng)的嚴(yán)重影響,這類舉措顯然成本不菲。
4.、補(bǔ)丁安裝即使供應(yīng)商關(guān)心漏洞本身,但問題往往仍然無法得到解決。因?yàn)榫退愎?yīng)商有能力修復(fù)漏洞,也往往因?yàn)椴痪邆?ldquo;熱修復(fù)能力”而很難推廣相關(guān)補(bǔ)丁。
熱修復(fù)補(bǔ)丁(百度百科):
不會(huì)作為常規(guī)補(bǔ)丁隨系統(tǒng)自動(dòng)更新,一般通過電子郵件或者其他途徑來通知用戶有關(guān)熱補(bǔ)丁的消息,用戶可以在軟件供應(yīng)商的網(wǎng)站上免費(fèi)下載補(bǔ)丁程序。和升級(jí)軟件版本相比,熱補(bǔ)丁的主要優(yōu)勢是不會(huì)使設(shè)備當(dāng)前正在運(yùn)行的業(yè)務(wù)中斷,即在不重啟設(shè)備的情況下,可以對(duì)設(shè)備當(dāng)前軟件版本的缺陷進(jìn)行修復(fù)。
沒有人愿意花20分鐘為自己的烤面包機(jī)、燈泡、路由器或者洗碗機(jī)等尚能正常運(yùn)行的設(shè)備安裝補(bǔ)丁。具體來講,如果設(shè)備無法在保持正常交互的情況下自動(dòng)更新,那么該設(shè)備幾乎永遠(yuǎn)無法完成更新。
5、運(yùn)行在設(shè)備上的服務(wù)面向整個(gè)世界最重要的一點(diǎn),物聯(lián)網(wǎng)設(shè)備存在面向整體互聯(lián)網(wǎng)的特性。互聯(lián)網(wǎng)的核心在于移動(dòng)性、處理能力以及信息轉(zhuǎn)換性。為了實(shí)現(xiàn)這一點(diǎn),我們的軟件必須能夠收集信息、處理數(shù)據(jù)并返回結(jié)果,這是一切軟件的根本作用所在。
正是因?yàn)檫@個(gè)原因,大多數(shù)軟件安全漏洞的根源表現(xiàn)為能夠提供某種可導(dǎo)致程序執(zhí)行計(jì)劃外操作的軟件數(shù)據(jù)格式。攻擊者能夠提供程序數(shù)據(jù)的方法越多,該程序所處理的數(shù)據(jù)量就越大,而其遭到入侵并被利用的可能性也就越高。簡單來講:未認(rèn)證方能夠訪問的功能越多,漏洞遭到利用的機(jī)會(huì)就越高。因此,如果想要建立起更為安全的系統(tǒng),我們必須努力縮減可能被未認(rèn)證方所接觸的攻擊面。
以Netgear R6000與R7000路由器為例,二者運(yùn)行的Web服務(wù)器允許任何人進(jìn)行訪問。這意味著如果Netgear內(nèi)置的Web服務(wù)器存在任何一項(xiàng)漏洞,那么任意人士都將能夠控制您的路由器設(shè)備。事實(shí)也確實(shí)如此,2016年Netgear R6000與R7000路由器就曾曝出一項(xiàng)漏洞,允許任何能夠同該路由器之Web服務(wù)器交互的人士在設(shè)備上執(zhí)行bash命令。而且不開玩笑地講,外部人士只需要在對(duì)應(yīng)url當(dāng)中添加一個(gè)分號(hào)即可對(duì)該路由器發(fā)送請(qǐng)求。
問題已經(jīng)確定,該如何修復(fù)?事實(shí)上,存在一種解決上述全部問題的簡單辦法。
要避免上述這些問題,物聯(lián)網(wǎng)供應(yīng)商應(yīng)該真正建立起基于API的機(jī)型; 其應(yīng)將自家設(shè)備安裝在集中于其可控范圍內(nèi)的位置。這項(xiàng)舉措能夠解決問題4與問題5。另外,這也能夠幫助供應(yīng)商輕松實(shí)現(xiàn)自動(dòng)更新,因?yàn)檫@種作法已經(jīng)建立起能夠同每臺(tái)設(shè)備進(jìn)行通信的基礎(chǔ)設(shè)施。而通過這種方式,物聯(lián)網(wǎng)設(shè)備的攻擊面也將得到有效控制。
當(dāng)您擁有一部接入互聯(lián)網(wǎng)的設(shè)備時(shí),您可能面臨著來自任何人士的攻擊威脅。但當(dāng)您的設(shè)備僅與一套集中式設(shè)施進(jìn)行通信時(shí),則代表著攻擊方只能通過入侵該設(shè)施的方式攻擊您的設(shè)備。也就是說,通過這種方式我們能夠在很大程度上解決前三個(gè)問題——即使設(shè)備當(dāng)中存在安全漏洞,但只要相關(guān)制造商有能力將其解決,就不會(huì)造成任何危害。但這不算是最佳方案,但至少能夠帶來一定程度的改善。
制造商到底存在什么困難?對(duì)于任何一家大型企業(yè)而言,這類舉措都不算什么難事。那么,為什么各制造商沒有采取這種作法?
主要原因在于這類結(jié)構(gòu)化物聯(lián)網(wǎng)設(shè)備及其基礎(chǔ)設(shè)施的構(gòu)建需要投入大量成本。從商業(yè)角度來看,制造商顯然希望實(shí)現(xiàn)利潤最大化并盡可能降低成本水平,因此只要保證設(shè)備能夠正常運(yùn)行就足夠滿足其基本要求。如此一來,物聯(lián)網(wǎng)制造商才更傾向于向您提供一臺(tái)能夠自行完成全部需求的小型設(shè)備,而不愿投入大量資金為其建立配套的基礎(chǔ)設(shè)施。這意味著最終用戶需要在買到的設(shè)備上自行托管此類基礎(chǔ)設(shè)施,制造商將不需要為此承擔(dān)任何支出。
這樣做的結(jié)果是,制造商雖然節(jié)約了資金,但卻導(dǎo)致僵尸網(wǎng)絡(luò)的構(gòu)建成本亦隨之降低,并給攻擊者提供了可乘之機(jī)。
從另一個(gè)角度看,如果承載設(shè)備所需要的基礎(chǔ)設(shè)施能夠提供合理且低廉的實(shí)現(xiàn)成本,那么制造商應(yīng)該會(huì)轉(zhuǎn)而接受相關(guān)方案。總而言之,此類決策必然以成本作為考量中心。
由于物聯(lián)網(wǎng)漏洞往往會(huì)引發(fā)對(duì)廣泛受眾造成影響的DDoS攻擊,我們可以將這理解為少數(shù)企業(yè)逃避責(zé)任,而整個(gè)世界為其買單的惡性狀態(tài)。人們認(rèn)為解決這類問題的關(guān)鍵在于政府介入并進(jìn)行干預(yù)。
例如,美國《2017年物聯(lián)網(wǎng)網(wǎng)絡(luò)安全改進(jìn)法案》等政策似乎確實(shí)能夠推動(dòng)非安全產(chǎn)品制造商朝著正確的成本效益分析方向邁出極為重要一步。