物聯網安全要點
IoT 安全事故一直都是此起彼伏,究其原因,黑客利用的仍然是Web開發時代的那些經典漏洞。但物聯網有四大特點:24小時聯網、安全防護脆弱、Botnet(對應于中文名詞“僵尸網絡”)攻擊成本低、安全責任歸屬難以厘清,成為黑客喜聞樂見的好目標。接下來我們先回顧幾起重大案件。
1 物聯網安全事故
1.1 Mirai 僵尸網絡
Mirai 是由 Paras Jha,Josiah White和Dalton Norman 三名美國年輕人(當時才20到21歲)創建的,這是一種針對運行 Linux 操作系統的智能設備和網絡設備的惡意軟件。最初設計目標是物聯網設備,如路由器,數字視頻錄像機和IP攝像機,攻擊成功后就變身為“僵尸”,變成一群可以對其他網站或網絡基礎設施發起攻擊的數字機器人大軍。
Mirai橫掃天下
自2016年9月 Jha 在黑客論壇上發布 Mirai 的源代碼之后,從那時起,其他不法分子已經習慣以該代碼為起點創建大量僵尸網絡,其中大多數的復雜程度是一樣的,無非偶爾添加新的和更復雜的攻擊工具,擄獲更多種類的物聯網產品。如2019年1月發現新的 Mirai 版本也能掃描和利用企業環境中的LG智能電視和WePresent 無線演示系統。
Mirai 的橫空出世表明 DDoS 攻擊活動出現了新的轉折點:IoT僵尸網絡已經成為此類攻擊的主力軍。據安全人士測量,2016年11月的巔峰時期,Mirai 控制了超過60萬個存在漏洞的IoT設備。
所以有安全人士建議物聯網生產商應改變生產完產品之后就萬事大吉的做法,而是改變商業模式,采用訂閱制模式,持續提供服務,肩負起產品安全防護責任。從業者也應避免采購大量生產卻無后續維護的物聯網產品,防備其成為 Botnet 下手的好目標。
2016年9月20日,Mirai針對歐洲最大的托管服務商之一法國OVH公司的攻擊,突破了DDoS攻擊記錄,其攻擊量達到1.1Tpbs,最大達到1.5Tpbs,由145,000個IoT設備共同發起。OVH創始人稱這些攻擊針對的是 Minecraft(中文名為“我的世界”的沙盒建造游戲)服務器。
2016年10月21日,Botnet 大軍攻擊美國一家名為 Dyn 的網絡基礎設施公司,致使美國很多主流互聯網公司的網站癱瘓,其中包括Github、Twitter、Netflix、Reddit、PayPal。淺黑科技的史中用富有詩情畫意的語言描述了這次美國大斷網事件:
這是一個漫長的白天,攻擊的潮水先后三次來襲,每次都持續一個小時左右。網絡服務時斷時續,美國東海岸陷入了9·11之后最大的“互聯網恐怖襲擊”中。這顯然是一次災難,因為整個美國在這種攻擊面前像個嬰兒一樣毫無還手之力。
直到一切塵埃落定,人們才知道,這次野蠻的攻擊,來自于世界各地的網絡攝像頭和路由器。是的,你沒看錯,就是那些坐在你客廳桌子上的那些看上去“人畜無害”的小東西。它們本來靜悄悄地躺在主人家里,只通過一根網線和外界相連。然而正是這根小小的網線,卻成為了黑客控制木偶的那根“提線”。
一個神秘的病毒,順著通過網線鉆進無數家庭的大門,入侵了數以百計的攝像頭。在主人眼里這些硬件并無異樣。然而,它們的指示燈卻仿佛變成了紅色的眼睛,如被感染的僵尸一樣,在賽博世界調轉槍頭,瘋狂地向互聯網吐出新的病毒。
就這樣,地球上數十萬的硬件設備,組成了碩大無朋的“僵尸網絡”。這個僵尸網絡,像一群食人蟻,他們發出的垃圾訪問整齊劃一,在網絡世界左右奔流,所到之處必定網絡癱瘓、寸草不生。
史中,淺黑科技《黑客的滑鐵盧——美國大斷網全紀實》
Mirai Botnet
據OVH以及Dyn的報告,這些攻擊的流量峰值都超過了1Tbps,這是已知攻擊中規模最大的攻擊流量。最引人注目的在于這些流量由家用路由器、空氣質量檢測儀以及個人監控攝像頭等小型IoT設備發起。
FBI和全球安全研究者還沒有找到元兇,但是劇情仍在延續,僅僅一個月之后,新的恐慌已經來襲——病毒的變種四處開花。2016年11月28日,德國電信 Telekom 路由器遭到大規模入侵,德國境內2000萬臺路由器被入侵,而在入侵的過程中,有90萬臺在感染過程中就直接崩潰。這場攻擊幾乎波及了所有德國人,引起了巨大的恐慌。與此同時,世界各地都產生了無數 Mirai 新的變種,像僵尸一樣擴散著。直到2017年5月 FBI 才找到并指控了那三個年輕人。
德國總共有8000萬人口,4000萬個家庭。就在那次襲擊中,德國電信(Telekom)旗下2000萬臺家庭路由器遭到黑客攻擊,其中很多被黑客控制,90萬臺服務器直接宕機,互聯網的光芒像被榴彈擊碎的燈火,在這些家庭的窗口黯然熄滅。
暗夜里,德國沉入大西洋。
屠殺持續了三天。情狀之慘烈,堪比1939年納粹德國閃擊波蘭,只不過這次歷史調皮地調換了主角。
“路由器激戰”的這三天時間里,雙方打得昏天黑地,用戶想正常上網簡直就是癡人說夢。德國電信只得宣布,因故不能上寬帶網的家庭,可以免費獲得一張4G網卡免費券,臨時用手機網絡“續命”。
史中,淺黑科技《黑客的滑鐵盧——德國陷落全紀實》
Mirai工作原理
從核心功能上來看,Mirai是一 款能自我傳播的蠕蟲,也就是說,它是一款惡意程序,通過發現、攻擊并感染存在漏洞的IoT設備實現自我復制。Mirai也是一種僵尸網絡,因為它會通過一組中央命令控制(command andcontrol,C&C)服務器來控制被感染的設備。這些服務器會告訴已感染設備下一步要攻擊哪些站點。總體而言,Mirai由兩個核心組件所構成:復制模塊以及攻擊模塊。
Mirai的復制模塊
Mirai復制模塊的原理圖
復制模塊負責擴大僵尸網絡規模,盡可能多地感染存在漏洞的IoT設備。該模塊通過(隨機)掃描整個互聯網來尋找可用的目標并發起攻擊。一旦搞定某個存在漏洞的設備,該模塊會向C&C服務器報告這款設備,以便使用最新的Mirai版本來感染該設備,如上圖所示。
為了感染目標設備,最初版本的Mirai使用的是一組固定的默認登錄名及密碼組合憑據,其中包含64個憑據組合,這些憑據是IoT設備的常用憑據。雖然這種攻擊方式比較低級,但事實證明該方法效率極高,Mirai通過這種方法搞定了超過60萬個設備。
僅憑64個眾所周知的默認登錄名及密碼,Mirai就能夠感染600,000個IoT設備。
攻擊模塊
C&C服務器負責指定攻擊目標,而攻擊模塊負責向這些目標發起DDoS攻擊,如下圖所示。該模塊實現了大部分DDoS技術,比如UDP泛洪(UDPflood)攻擊、HTTP泛洪攻擊,以及所有的TCP泛洪攻擊技術。Mirai具備多種模式的攻擊方法,使其能夠發起容量耗盡攻擊(volumetricattack)、應用層攻擊(application-layer attack)以及TCP狀態表耗盡攻擊(TCP state-exhaustion attack)。
Mirai攻擊模塊的原理圖
通過分析Mirai源碼發現了如下技術特點:
1)由中心服務器C&C實施感染(這個服務被稱為Load),而非僵尸自己實施感染。
2)Josiah White寫了一個精妙的掃描器,采用高級SYN掃描,可以一次發出成千上萬的 SYN 包,掃描速度提升成百上千倍,大大提高了感染速度。
3)強制清除其他主流的IoT僵尸程序,干掉競爭對手,獨占資源。比如清除QBOT、Zollard、Remaiten Bot、anime Bot以及其他僵尸。
4)一旦通過Telnet服務進入,便強制關閉Telnet服務,以及其他入口(如SSH的22端口,Web的80端口),并且占用服務端口防止這些服務復活。
5)過濾掉通用電氣公司、惠普公司、美國國家郵政局、國防部等大型公司和組織機構的IP,避免招來麻煩。
6)獨特的GRE協議洪水攻擊,加大了攻擊力度。
7)由于Mirai無法將自身寫入到IoT設備固件中,只能存在于內存中。所以一旦設備重啟,Mirai的bot程序就會消失。為了防止設備重啟,Mirai向看門狗發送控制碼 0x80045704 來禁用看門狗功能。這是因為,在嵌入式設備中,固件會實現一種叫看門狗的功能,有一個進程會不斷地向看門狗進程發送一個字節數據,這個過程叫喂狗。如果喂狗過程結束,那么設備就會重啟,因此為了防止設備重啟,Mirai關閉了看門狗功能。這種技術常常被廣泛應用于嵌入式設備的攻擊中,比如曾經的海康威視漏洞(CVE-2014-4880)攻擊代碼中就采用過這種防重啟技術。
小結
Mirai僵尸網絡的感染對象已經從網絡攝像頭、路由器、家居安防系統,擴展到了智能電視、智能穿戴設備,甚至是嬰兒監視器,任何有互聯網連接的IoT設備都可能成為潛在的目標,而一般用戶很難注意到設備已被感染。由于所有的密碼均固化在IoT設備固件中,因此即便重啟后Mirai從內存中消失,也無法杜絕二次感染。建議開發者通過端口掃描工具探測一下自己的設備,是否開啟了SSH,Telnet,HTTP/HTTPS服務,條件允許的話請禁用SSH和Telnet服務。
1.2 海康威視設備安全事件
2015年2月27日中午,江蘇省公安廳發布特急通知《關于立即對全省海康威視監控設備進行全面清查和安全加固的通知》稱,接省互聯網應急中心通報,江蘇省各級公安機關使用的杭州海康威視數字技術股份有限公司監控設備存在嚴重安全隱患,部分設備已經被境外IP地址控制,所以要求各地組織力量,對使用的海康威視設備進行全面清查,并開展安全加固,消除安全漏洞。
隨后,海康威視官方發布《海康威視針對“設備安全”的說明》,稱江蘇省互聯網應急中心通過網絡流量監控發現部分在互聯網上的海康威視設備因弱口令(弱口令包括使用產品初始密碼或其他簡單密碼,如123456、888888、admin等)問題被黑客攻擊,將組織專項應急技術團隊,幫助各地市進行產品口令修改和固件升級工作。
3月2日,海康威視面向投資者召開了信息披露電話會議,其總經理稱:“其他廠家我們不清楚。海康主動披露了兩個缺陷,第一個是弱密鑰問題,修改密碼就可以解決;第二個是12月5日我們披露了可能存在的安全隱患RTSP(實時流傳輸協議)。現在公司產品的安全漏洞和安全隱患,可以通過改密碼,系統升級來解決。”這次之所以引發江蘇公安廳科技信息處發文,是因為有一小部分監控設備并非普通家用,而是公安系統自用的監控設備,它們也遭到境外IP地址控制。海康威視調查后發現,來自公安系統的監控設備很可能因為使用了互聯網寬帶服務進行城市治安監控而暴露于黑客攻擊范圍中。
1.3 Ripple20事件
2020年6月16日(上個月的事兒!),以色列網絡安全公司JSOF公布,研究人員在Treck,Inc.開發的TCP/IP軟件庫中發現了19個0day漏洞,這一系列漏洞統稱為“Ripple20”。全球數億臺(甚至更多)IoT設備可能會受到遠程攻擊。
研究人員表示,他們將這19個漏洞命名為“Ripple20”并不是說發現了20個漏洞,而是因為這些漏洞將在2020年及以后的IoT市場中連鎖引發安全風暴。更糟糕的是,研究人員指出,目前發現的19個“Ripple20”零日漏洞可能只是冰山一角,而且攻擊者的惡意代碼可能會在嵌入式設備中潛伏多年。
JSOF對Ripple20的安全通告
漏洞詳情
漏洞存在于一個90年代設計的軟件庫里——物聯網開發商廣泛使用的,由一家總部位于辛辛那提的軟件公司Treck在1997年開發的TCP/IP軟件庫,它實現了輕量級的TCP/IP堆棧。在過去的20多年間,該軟件庫已經被廣泛使用并集成到無數企業和個人消費者設備中。
JSOF研究實驗室的研究人員稱, 受影響的硬件幾乎無所不在,包括從聯網打印機到醫用輸液泵和工業控制設備的海量設備。
這19個漏洞都是內存損壞問題,源于使用不同協議(包括IPv4,ICMPv4,IPv6,IPv6OverIPv4,TCP,UDP,ARP,DHCP,DNS或以太網鏈路層)在網絡上發送的數據包的處理錯誤。
潛在風險
仍在使用設備時,Ripple20構成重大風險。潛在的風險場景包括:
如果面向互聯網,則來自網絡外部的攻擊者將控制網絡中的設備;已經設法滲透到網絡的攻擊者可以使用庫漏洞來針對網絡中的特定設備;攻擊者可以廣播能夠同時接管網絡中所有受影響設備的攻擊;攻擊者可能利用受影響的設備隱藏在內網中;復雜的攻擊者可能會從網絡邊界外部對網絡內的設備進行攻擊,從而繞過任何NAT配置。這可以通過執行MITM攻擊或dns緩存中毒來完成;在某些情況下,攻擊者可能能夠通過響應離開網絡邊界的數據包,繞過NAT,從網絡外部執行攻擊;在所有情況下,攻擊者都可以遠程控制目標設備,而無需用戶干預。
Treck于2020年6月22日已經發布了補丁,供OEM使用最新的Treck堆棧版本(6.0.1.67或更高版本)。現在的主要挑戰是如何讓全球如此多的企業盡快修復漏洞,尤其是很多IoT設備無法安裝補丁程序。針對此重大風險,IoT設備開發者應當迅速行動起來。
安卓設備不用擔心。主要是RTOS。嵌入式產品是重災區。
1.4 其他智能設備漏洞事件
兒童智能手表
由于終端與云端通訊時的Web API存在經典漏洞,所以安全公司曝光全球范圍內很多兒童智能手表供應商普遍存在安全防護問題,包括中國、德國、挪威等供應商,估計至少有 4700 萬甚至更多數量的終端設備可能受此影響。
安全公司發現,其中一家廠商的產品(包括貼牌生產的)與云平臺通訊的時候,所有的通訊請求均為未加密的明文JSONAjax(一種輕量級的數據交換格式)請求,傳輸信息附帶指定的 ID 號和默認密碼 123456,對調用的合法性也沒有做動態校驗,給黑客控制兒童智能手表提供了機會。
2018 年 5 月,深圳市消委會曾牽頭編制發布《深圳市兒童智能手表標準化技術文件》,試圖從產業鏈層面解決行業無標準、無監管以及山寨雜牌橫行的亂象,文件里概括性提到了在終端、客戶端、安全管理平臺、數據傳輸等層面的信息安全要求。
電動踏板車
小米M365電動踏板車可以通過藍牙與手機APP完成交互,藍牙通信使用密碼加密,以確保遠程交互的安全性,但是安全人員發現,在交互認證過程中,該密碼并沒有被正確的使用。Zimperium zLabs的研究員Rani Idan 在報告中稱,“我們確定密碼沒有被正確地用作滑板車的認證過程的一部分,并且所有命令都可以在沒有密碼的情況下執行,密碼僅在應用程序端驗證,但車本身不驗證身份。” 于是安全人員開發了一個專門的驗證應用程序,可以掃描附近的小米M365踏板車,并使用踏板車的防盜功能鎖定它們,無需密碼認證。
2 物聯網脆弱之處
如前所述,為什么IoT設備會如此容易受到攻擊呢?大致總結四點:
一)設備本身并不集成安全機制。不像手機、筆記本、臺式機,IoT的操作系統基本上沒有什么防護能力。原因就在于設備集成安全機制的成本太高,還會減緩開發流程,有時候甚至會影響設備性能,如運行速度和容量。
二)設備直接暴露在互聯網公網中,同時還可以作為內網的一個中轉點,給不法之徒開了后門。
三)設備中含有基于通用的、Linux驅動的硬件和軟件開發過程中留下的非必要的功能。設備應用引用的公共類庫,可能年代久遠、漏洞滿身。存在漏洞的軟件庫不僅由設備供應商直接使用,還集成到大量其他軟件套件中,這意味著許多公司甚至都不知道他們正在使用存在漏洞的代碼。
四)默認的身份信息是硬編碼的。這意味著插入設備就可以運行,而不會創建唯一的用戶名和密碼。甚至根證書、密鑰等機密信息也都以文本文件的形式燒入固件之中。
3 我們的防范措施
措施主要分為三類:管理、硬件、軟件。
管理方面的防范措施:
從項目立項、配送、綁定、激活,到正式投入使用以及后期的回收、報廢,都是基于一套完整的中臺系統,方便跟蹤設備流轉的整個鏈條,確保設備流轉安全。通過監控設備坐標位置、定期自動排查偏離校區的設備,確保設備應用在校園封閉式環境中。按餐飲中心維度監控設備上的流量、網絡請求、應用安裝等情況,可以排查惡意使用行為和異常流量。對設備的運行情況、流量、異常信息、軟硬件使用情況監控匯報,實時分析和度量設備的健康度。
硬件及存儲方面:
采用安全級處理器,具備加密引擎、SecureBoot、TrustZone。采用業界領先的3D結構光攝像頭,可實現金融級安全,確保支付安全。接口安全:①調試串口隱藏不外露,且默認禁用;②I2C/SPI/MIPI等總線接口隱藏,在PCB內層;③JTAG/SWD接口隱藏不外露,且默認禁用;④USB/UART或者其他編程接口關閉。設備具有唯一的識別號(設備SN號),便于個性化安全管控。
系統及接口方面:
基于安卓系統定制安全系統,用自定義的簽名文件作為系統簽名。系統禁用root權限,關閉開發者模式。關閉了 ADB 服務接口、USB 調試接口、WIFI 等接口。開啟 SE 安全模式,嘗試TEE運行安全區,防止沒有啟用 SeLinux 使得設備陷入遠程代碼執行、遠程信息泄露、遠程拒絕服務等危險之中。SeLinux 是 Security Enhanced Linux 的縮寫。TEE 是 Trusted ExecutionEnvironment 的縮寫。啟用SECURE BOOT,并校驗uboot、boot、system分區。防止被黑客刷入惡意篡改的固件或分區鏡像,植入木馬從而被遠程控制。固件支持遠程OTA,且OTA有加密加簽的安全校驗機制,確保升級過程的安全性。系統內置自定義的安全桌面,屏蔽第三方惡意應用安裝,杜絕軟件風險。需要憑“設備授權碼”才能修改系統配置,包括修改網絡配置等。
軟件方面:
自主授權和簽名方式,有效防止非法第三方應用安裝所帶來的風險。應用關鍵信息so庫化,防止反編譯帶來關鍵信息泄露的風險。應用目錄權限嚴格遵守安卓系統規范。應用通信基于HTTPS(HTTP通訊模式下),和MQTT+TLS 1.3(物聯網通訊模式下)。
4 本章小結
本章主要介紹了IoT設備近期發生的幾起危害遍及全球的大案,從中我們可以發現IoT設備安全性薄弱之處,從而可以有針對性地在設備管理、硬件和存儲、系統和軟件這三個層面上做出防范措施和規范流程。
? ? ? ?責任編輯:pj
評論
查看更多