當前位置:
首頁 > 最新 > 漏洞預警:網路時代,你可能才是「被監視」的那一個!

漏洞預警:網路時代,你可能才是「被監視」的那一個!

小編說

隨著科技的不斷發展,智能設備的數量也在逐年增長。咖啡機、手環、冰箱、汽車等一系列日常實用的工具正不斷變得「智能」起來。除此之外,我們還可以看到智慧街道、智慧道路,甚至是智慧城市的出現。

對於許多人來說,智能攝像頭等設備一直都是日常生活中的一部分,大家藉助智能攝像頭作為聊天設備、安全設備和視頻監控系統中的設備,或者用來時刻關注自家的寵物。

現在,很多新型的智能攝像頭都可以連接到雲端,從而讓客戶能夠使用各種設備來遠程觀看。由於智能攝像頭的日益普及,其安全性也變得越來越重要。康眾智防網路安全攻防研究所的研究人員對目前流行的智能攝像頭進行了一次研究,並試圖找出如何防範聯網攝像頭被濫用的解決方案。本次研究中所涉及的攝像頭,不同於普通網路攝像頭,它們都具有豐富的功能,可用作嬰兒監視器、家庭安全系統組建或是監控系統中的一部分。

藉助於對已知來源的初步分析,我們發現在互聯網上的這些攝像頭中,有近2000個具有公共IP地址

Hanwha SNH-V6410PN/PNW智能攝像頭

設備能夠以1920×1080、1280×720或640×360的解析度捕捉視頻,具有夜視能力,內置運動感測器,並支持雙向通信。舉例來說,除了捕捉視頻和聲音之外,該攝像頭還可以使用內置的揚聲器播放聲音。該攝像頭藉助於雲服務工作,它並不會直接與用戶的計算機等設備相連接。如果要對攝像頭進行配置,那麼需要在攝像頭上創建一個無線熱點,並將該熱點連接到主路由器(Wi-Fii)上。用戶可以使用他們的智能手機、平板電腦或電腦來控制攝像頭。需要特別說明的是,攝像頭的數據只能上傳到雲端,用戶和攝像頭之間沒有其他的通信方式。

該攝像頭基於Ambarella S2L系統(ARM架構),其初始載入器為Amboot。在經過標準引導過程後,Amboot使用特定的命令作為參數載入Linux內核:

console=ttyS0 ubi.mtd=lnx root=ubi0:rootfs rw rootfstype=ubifs init=/linuxrc model=SNH-V6410PN ethaddr=************ sn=ZC7D6V2H*********s=c

隨後systemd啟動,之後系統正常啟動,將會掛載不同分區,並執行rc.local中的命令。在執行rc.local時,文件mainServer會以守護進程模式啟動,該模式是攝像頭控制邏輯的核心所在。mainServer會執行經UNIX套接字/tmp/ipc_path通過二進位協議發送給它的命令。一些以PHP語言編寫的CGI腳本用於處理用戶文件。在啟動時,mainServer會打開UNIX套接字/ipc_path。我們對PHP腳本進行了分析,結果表明,負責與mainServer通信的主要函數是在/work/www/htdocs_weboff/utils/ipc_manager.php之中。

與用戶的通信

當接收到來自用戶的命令(例如旋轉攝像頭、選擇追蹤區域、切換到夜視模式)時,就會對其進行分析。針對每個命令或參數,都有相應的標誌分配給它們,該標誌是一個常量。主標誌被記錄在/work/www/htdocs_weboff/utils/constant.php中。隨後,將會創建數據包頭部和有效載荷,並通過UNIX套接字/tmp/ipc_path將請求發送到mainServer。

通過對文件ipc_manager.php的分析,我們發現在這個階段沒有使用認證。該請求是以用戶「admin」的名義發送的。

function makeHeader($cmd, $act, $type, $len){ $header = array(); $header = array_fill(0, 77, 0x00); $header[HEADER_OFF_MAGIC_NUMBER] = 0xFE; $header[HEADER_OFF_MAGIC_NUMBER+1] = 0xFF; $header[HEADER_OFF_MAGIC_NUMBER+2] = 0xFE; $header[HEADER_OFF_MAGIC_NUMBER+3] = 0xFF; $header[HEADER_OFF_MAJOR_VERSION] = MAJOR_VERSION; //Major Version$header[HEADER_OFF_MINOR_VERSION] = MINOR_VERSION; //Minor Versionint2byte($header, $cmd, HEADER_OFF_COMMAND); //Command$header[HEADER_OFF_ACTION] = $act; //Action$header[HEADER_OFF_MSG_TYPE] = $type; //Type$header[HEADER_OFF_ERROR_CODE] = 0xFF; //Error Codeint2byte($header, $len, HEADER_OFF_MSG_LENGTH); //Lengthstr2byte($header, 「127.0.0.1「, HEADER_OFF_PEER_IP, 40); //Peer IP[40]int2byte($header, 80, HEADER_OFF_PEER_PORT); //Peer Portstr2byte($header, 「admin「, HEADER_OFF_PEER_ACCOUNT, 16); //Peer Account[16] – Current user name$header = array_merge($header, array_fill(0, 8, 0xFF)); //Reserved[8]return $header; }

攝像頭通過HTTP API和SmartCam應用程序進行通信時,會使用此通信命令中的方法。當使用SmartCam應用程序時,數據包會在應用程序之中生成,將通信內容放在消息體中,使用XMPP協議發送。當通過HTTP API和SmartCam應用程序從外部訪問該文件時,只能通過Web伺服器摘要認證訪問該文件。

入侵者可以利用的漏洞

在研究中,我們發現了如下漏洞:

1.固件更新期間,使用了不安全的HTTP協議;

2.在通過HTTP API進行攝像頭交互時,使用了不安全的HTTP協議;

3.可通過文件「dnpqtjqltm」實現Web界面切換的未公開(隱藏)功能;

4.「dnpqtjqltm」文件切換Web界面過程緩衝區溢出;

5.具有root特權的遠程命令執行漏洞;

6.遠程更改管理員密碼漏洞;

7.SmartCam拒絕服務漏洞;

8.攝像頭的管理員賬戶密碼存在暴力破解風險;

10.可通過雲伺服器與其他攝像頭進行通信;

11.可在雲伺服器上拒絕新攝像頭註冊;

12.可繞過SmartCam驗證更改管理員密碼或遠程執行命令;

13.可恢復SmartCam雲賬戶的攝像頭密碼。

通過深入研究,我們確定這些問題不僅僅存在於我們此次研究的攝像頭之中,並且還存在於Hanwha Techwin所生產的所有智能攝像頭中,而該公司還為三星的攝像頭提供固件。

接下來,

聽小智詳細介紹後續的研究發現

未公開的功能

如上所述,我們發現了一個未公開的功能,可以使用攝像頭的Web界面進行操作。

有趣的是,我們還在這個Web界面中發現了一個緩衝區溢出漏洞。在發現後,我們及時向製造商報告了該問題,目前該問題已經修復。

雲伺服器結構中的漏洞

在雲伺服器的體系結構中,我們還發現了另外一個高危的漏洞。由於在架構設計上出現了一些問題,導致入侵者可以通過雲端訪問所有攝像頭並對其進行控制。

GIF

其中,主要問題在於它是基於XMPP協議。實質上,整個Hanwha智能攝像頭雲平台是一個Jabber伺服器。在該伺服器上,有所謂的房間(Rooms),每一個房間代表著一種類型的攝像頭。攻擊者可以在Jabber伺服器上註冊一個任意賬戶,並訪問該伺服器上的所有房間。

在與雲平台進行通信的過程中,攝像頭會發送用戶的憑證和一組常量。我們分析了發送的數據,發現憑藉該數據,遠程攻擊者可以在雲平台中對尚未註冊的現有攝像頭進行註冊。而一旦攻擊者進行了註冊,實際擁有者就不能再在雲中註冊。此外,攻擊者可以以任意攝像頭的名義與雲平台進行通信,也可以通過雲平台控制任意攝像頭。

攻擊場景

其中,一個有趣的攻擊維度是對攝像頭中設置的指定DNS伺服器地址進行欺騙攻擊(Spoofing)。該攻擊被證明是可行的,因為更新伺服器被指定為攝像頭配置文件中的URL地址。即使攝像頭沒有全局IP地址並位於NAT子網中,我們也可以實施此類攻擊。該攻擊是利用Hanwha SmartServer雲架構的特性和其中存在的漏洞來實現的。此類攻擊可能導致經過修改的固件被推送到存在未公開功能的攝像頭之中。因此,攝像頭就可以作為攻擊本地(NAT子網中)或全局網路中設備的一個攻擊源。

另一個攻擊場景是,我們可以克隆任意攝像頭,並偽造其圖像信號展現給最終用戶。為了實現這一目的,入侵者需要在攝像頭與雲平台的交互過程中找到目標攝像頭的型號、序列號和MAC地址。隨後,攻擊者可以藉助密碼生成演算法中的漏洞來重置密碼,並修改克隆攝像頭(攻擊者所擁有的相同攝像頭)的固件。隨後,受害者的攝像頭被遠程禁用,受害者將會受到來自攻擊者克隆的相機的視頻信號。

GIF

此外,還有其他攻擊場景。用戶可以使用攝像頭向不同的社交媒體和在線服務(如Twitter、Gmail、YouTube等)指定他們的憑據。該功能用於將攝像頭捕獲到的各種事件發送給用戶。攻擊者可以利用這一功能,進行網路釣魚活動或發送垃圾郵件。

總結

經過我們的研究,發現攻擊者可以利用智能攝像頭實現多種攻擊。

舉例來說,攻擊者可以遠程修改管理員的密碼、在攝像頭上執行任意代碼、訪問攝像頭雲平台並對其進行控制,或者構建一個易受攻擊的攝像機殭屍網路。攻擊者可以訪問任意的SmartCam以及任何Hanwha智能攝像頭。

對於普通用戶來說,遠程攻擊者可以看到攝像頭所拍到的畫面、將語音消息發送到攝像頭的內置揚聲器播放、使用攝像頭的硬體資源進行加密貨幣挖掘等。此外,遠程攻擊者還可以將攝像頭停用,從而導致用戶要花費一定的時間對其進行恢復。

在發現漏洞的第一時間,我們就向製造商報告了上述內容。截至目前,一些漏洞已經進行修復。根據製造商的反饋,其他漏洞很快就會被完全修復。

已修復的漏洞被分配了如下CVE編號:

CVE-2018-6294 CVE-2018-6295 CVE-2018-6296 CVE-2018-6297 CVE-2018-6298 CVE-2018-6299 CVE-2018-6300 CVE-2018-6301 CVE-2018-6302 CVE-2018-6303


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 豌豆上的主公 的精彩文章:

教父母如何抵制惡意推廣一

TAG:豌豆上的主公 |