林永明 段 斌
(威凱檢測技術有限公司 廣州 510663)
智能門鎖所采用的技術越來越先進,用戶體驗也越來越豐富,但人們在享受科技感的同時,也要注意技術的雙刃劍性,而使用不當會埋下財產(chǎn)安全、信息安全隱患。支持遠程數(shù)字認證的網(wǎng)絡型智能門鎖解鎖技術基于手機軟件客戶端分發(fā)密碼和密鑰,實現(xiàn)遠程云端認證開鎖。
當用戶使用手機軟件客戶端進行遠程云端認證開鎖時,用戶端會更容易受到來自黑客的攻擊,例如中間人攻擊、認證篡改攻擊等。因此,滲透測試在網(wǎng)絡型智能門鎖開發(fā)與使用周期中起著相當重要的作用,將滲透測試納入門鎖生命周期的一部分有助于廠商構建可避免黑客攻擊或者在用戶端與服務端出現(xiàn)數(shù)據(jù)泄漏的門鎖安防系統(tǒng)。
顧名思義,內(nèi)部滲透測試是通過局域網(wǎng)在資產(chǎn)系統(tǒng)內(nèi)部實施的滲透測試,針對的對象是在內(nèi)網(wǎng)中托管的Web應用程序。這可以幫助開發(fā)人員與維護人員發(fā)現(xiàn)防火墻內(nèi)系統(tǒng)可能存在的安全問題。因為,人們會出現(xiàn)一種誤解,認為信息安全問題與漏洞只會發(fā)生在系統(tǒng)的外部,因此開發(fā)人員與維護人員通常不重視系統(tǒng)內(nèi)部可能存在的安全問題[1]。
滲透測試就是為了通過沒有有效認證憑據(jù)的情況進行訪問,查看內(nèi)部系統(tǒng)是否存在安全問題。
外部滲透測試是指滲透測試人員沒有有關系統(tǒng)內(nèi)部實現(xiàn)安全性的先驗信息。僅僅依靠目標系統(tǒng)的IP地址即可模擬外部滲透攻擊。由于沒有其他先驗信息,因此測試人員需要在其他網(wǎng)絡環(huán)境中搜尋有關目標系統(tǒng)所處的主機與子網(wǎng)服務器的信息,例如端口信息等敏感信息。然后對目標系統(tǒng)所處主機進行滲透攻擊和破壞。外部滲透測試的目標包括測試目標系統(tǒng)部署所需的服務器和防火墻,以及內(nèi)網(wǎng)環(huán)境所使用的DNS服務器。
與內(nèi)部滲透測試不同,外部滲透測試主要是從系統(tǒng)所處局域網(wǎng)的網(wǎng)絡邊界外(通常為防火墻)發(fā)起攻擊,測試在因特網(wǎng)上托管的Web應用程序的主機是否存在安全問題。在這個環(huán)節(jié)中外部滲透測試第一個要面對的“關卡”就是保護內(nèi)部系統(tǒng)的防火墻,如何從防火墻上獲取內(nèi)部的敏感信息是外部滲透測試做前期信息偵察需要面對的問題。
防火墻就是在兩個信任程度不同的網(wǎng)絡之間設置的、用于加強訪問控制的軟硬件保護措施。防火墻能夠強化安全策略,同時能夠記錄因特網(wǎng)上對防火墻邊界后的主機的訪問記錄,在限制暴露用戶點的同時對頻繁訪問的對象加以限制,屬于安全策略檢查站的一種。
除去上面的優(yōu)點防火墻也具有一定的局限性。防火墻防外而不防內(nèi);管理和配置復雜度較高,如果配置不當容易導致安全漏洞;并且很難為用戶在防火墻內(nèi)外提供相同的安全策略;是一種粗粒度的訪問控制。
防火墻普遍采用的包過濾技術,包過濾技術檢查數(shù)據(jù)包的報頭信息,依照過濾規(guī)則進行過濾,其檢查的典型報頭信息內(nèi)容如下:
1)IP 數(shù)據(jù)報的源 IP 地址、目的 IP 地址、協(xié)議類型,選項字段等。
2)TCP 數(shù)據(jù)包的源端口、目標端口、標志段等。
3)UDP 數(shù)據(jù)包的源端口、目標端口。
4)ICMP 類型。
包過濾技術不需要內(nèi)部網(wǎng)絡用戶做任何配置,對用戶來說是完全透明的,過濾速度快,效率高。但不能進行數(shù)據(jù)內(nèi)容級別的訪問控制,一些應用協(xié)議也并不適合用數(shù)據(jù)報過濾,并且過濾規(guī)則的配置比較復雜,容易產(chǎn)生沖突和漏洞。
本文首先使用Wireshark軟件在智能門鎖手機軟件客戶端遠程開鎖時抓取數(shù)據(jù)包,從數(shù)據(jù)包中獲取云端服務器IP,通過使用基于Kali平臺的Nmap(7.8)對其IP進行主動信息搜尋,獲取該網(wǎng)站服務器的端口信息以及服務器系統(tǒng)類型以及版本,實驗拓撲圖如圖1。
圖1 實驗拓撲圖
Nmap對服務器掃描過程會執(zhí)行五種不同的測試,每種測試由一個或者多個數(shù)據(jù)包組成,目標系統(tǒng)對每個數(shù)據(jù)包作出的響應有助于確定操作系統(tǒng)的類型。五種不同的測試是:
1)序列生成(Sequence Generation)序列生成測試由六個數(shù)據(jù)包組成,這六個包是每隔 100 ms分開發(fā)送的,且都是 TCP SYN 包。每個 TCP SYN 包的結果將有助于 NMAP 確定操作系統(tǒng)的類型。
2)ICMP 回顯,兩個有著不同設置的 ICMP 請求包被送到目標系統(tǒng),由此產(chǎn)生的反應將有助于實現(xiàn)驗證操作系統(tǒng)類型。
3)TCP 顯式擁塞通知(Explicit Congestion Notification),當生成許多包通過路由器時會導致其負載變大,這稱之為擁塞。其結果就是系統(tǒng)會變慢以降低擁堵,以便路由器不會發(fā)生丟包。這個包僅為了得到目標系統(tǒng)的響應而發(fā)送。因為不同的操作系統(tǒng)以不同的方式處理這個包,所以返回的特定值可以用來判斷操作系統(tǒng)。
4)TCP,在這個測試中會發(fā)送六個數(shù)據(jù)包。一些帶有特定的包設置的包被發(fā)送用來到打開的或關閉的端口。結果也將會因為操作系統(tǒng)的不同而不同。所有 TCP 包都是以如下不同的標志被發(fā)送:
①無標志
②SYN、FIN、URG 和 PSH
③ACK
④SYN
⑤ACK
⑥FIN、PSH 和 URG
5)UDP,這個測試由一個被發(fā)送給一個關閉的端口的數(shù)據(jù)包組成。如果目標系統(tǒng)上的這個端口是關閉的,而且返回一條 ICMP 端口不可達的信息,那么就說明沒有防火墻。
首先使用Nmap對云端服務器IP進行常規(guī)掃描,見圖2。
圖2 常規(guī)掃描
通過返回信息可知,該掃描被防火墻阻礙,且大概率是因為ICMP請求包被防火墻識別并攔截后續(xù)的包,因此將該次掃描改為不發(fā)送ICMP包,而是執(zhí)行 TCP SYN 掃描,得到圖3結果。
圖3 服務器系統(tǒng)版本與端口
可以看到顯示了該云端服務器IP為Windows系統(tǒng)以及20個開放端口,并且得到了這些端口的用途。本次掃描成功繞過了防火墻,獲得了系統(tǒng)的端口信息
面對以上安全風險,我們可以利用一些技術或者管理的方法改善和避免這些安全風險,從而增加安全性。
將開放端口號設置為其他端口號,例如將ssh端口號(22)更改為其他端口,并將端口與端口號的信息記錄在管理文檔中。
使用狀態(tài)檢測技術的防火墻,狀態(tài)檢測技術是指從收到的數(shù)據(jù)包中提取狀態(tài)信息,并根據(jù)狀態(tài)表進行判斷,如果該包屬于已建立的連接狀態(tài),則跳過包過濾的規(guī)則檢測直接交由內(nèi)網(wǎng)主機,如果不是已建立的連接狀態(tài)則對其進行包過濾,依照規(guī)則進行操作。
使用代理服務技術的防火墻,代理服務技術是指代理端當接收到來自客戶端的連接請求后,從數(shù)據(jù)包中源和目的IP地址,同時使用維護人員制定的過濾規(guī)則判斷是否允許接受該連接請求。如果該連接請求被接受,則進行用戶身份識別。否則,則阻斷該連接請求。通過身份識別后,應用代理應該通過數(shù)據(jù)包中源和目的IP地址建立對應協(xié)議的連接,并且通過過濾規(guī)則傳輸和過濾該連接之間的數(shù)據(jù)包。當連接關閉后,應用代理關閉另一方連接,并且在代理服務器日志內(nèi)記錄本次連接[2]。
本文從內(nèi)部滲透測試與外部滲透測試的區(qū)別出發(fā),對智能門鎖云端系統(tǒng)防火墻繞過進行了探究,針對包過濾技術的防火墻進行繞過處理,獲取了該防火墻保護的服務器的端口信息以及該服務器的系統(tǒng)版本,達到了繞過該防火墻的目的,并且提出了該安全風險的改善方案。