何時能不被黑客魚肉?D-Link 智能攝像頭又出事了
近些年來各家廠商把“智能”攝像頭市場做的是風生水起,許多消費者也想靠這些大眼睛來守護一方平安。對普通人來說,這些智能化的攝像頭確實相當方便,只需連上網絡,你就能在千里之外獲取自己需要的畫面。不過,在你享受方便之餘又很容易掉入陷阱,因為安全漏洞背後藏著的壞人太可怕了。
最近,ESET 智能家居的研究就顯示,D-Link 的DCS-2132L 云攝像頭已然中招,攻擊者不但能藉助安全漏洞截獲並“欣賞”你的監控視頻,還能操縱設備固件。
對用戶來說,這款D-Link 攝像頭最嚴重的問題就是其未加密的視頻流傳輸。攝像頭與雲端以及雲端和客戶端之間完全不設防的設計為“中間人”(MitM)發動攻擊提供了肥沃的土壤,入侵者想調取視頻流簡直易如反掌。
ESET的研究顯示,客戶端與攝像頭是通過接口2048上的代理服務器進行通信的,使用了D-Link自有的信道協議(TCP信道)。不幸的是,通過這些信道的數據流只有一部分得到了加密,而大部分敏感內容(比如攝像頭IP、MAC地址、版本信息、視頻與音頻流請求等)都完全不設防。
追根溯源上去,這一切問題的根源都是request.c 文件中的一個條件(D-Link自定義開源boa Web服務器源代碼的一部分),它負責處理對攝像頭的HTTP 請求。由於來自127.0.0.1 的所有HTTP 請求都被提升到管理員級別,因此潛在攻擊者拿到了對設備的完全訪問權限。
截獲視頻與音頻流
黑客發動中間人攻擊後,就能利用服務器上TCP 連接的數據流截獲HTTP 請求(視頻與音頻數據包)。對其進行重構與重播後,攻擊者就能在任何時間獲取攝像頭攝錄的音頻或視頻流,而且是M-JPEG 與H.264 雙格式的。
當然,重構視頻流也沒那麼容易,攻擊者還得一步一步來(這個過程也可以藉助簡單的程序或腳本實現自動化):
1. 識別出哪些流量代表了視頻流,因為這裡的流量由多個數據塊組成,每個數據塊都有特定的標題和定義的長度;
2. 將數據部分與標題分離開來;
3. 最後,將其中的視頻合成一個文件。
需要注意的是,播放這個視頻文檔可能有點麻煩,因為它們還是RAW 格式。不過,許多播放器(比如MPlayer)只需一個插件就能吃掉這些文檔。
有缺陷的插件
這還沒完,“mydlink services”(網絡瀏覽器插件)中也有重大發現。
這款網絡瀏覽器插件不但“控制”著客戶端瀏覽器中TCP 信道和實時視頻播放的創建,還負責通過信道轉發對視頻和音頻數據流的請求,同時偵聽著本地服務器上動態生成的端口。
由於該信道可用於整個操作系統,因此用戶計算機上的任何應用或用戶都能通過簡單的請求輕鬆接入攝像頭的網頁界面。整個過程連授權都不需要,因為從攝像頭網絡服務器發出的HTTP 請求在從本地服務IP 訪問時會自動升級到管理員級別。
這個漏洞還給攻擊者行了方便,只要他們願意,就能替換掉D-Link 攝像頭的固件,更加為所欲為。
“狸貓換太子”
最新消息顯示,D-Link 已經成功修復了“mydlink services”插件。
不過,只要黑客願意,他們還是能通過D-Link 的信道協議替換用戶固件。完成“狸貓換太子”的操作,攻擊者只需修改信道中的流量即可(用特殊的POST 請求替換視頻流GET 請求)。
當然,普通黑客肯定玩不轉這一步,因為全程你都得遵守信道協議,將固件植入不同的區塊。不過,成功之後就簡單多了。那些自製固件能開後門、監控軟件、植入木馬,甚至可以讓受害者的智能攝像頭幫忙挖礦。由於無需授權,攻擊者甚至能直接讓你的設備變磚。
插件雖然修好了,但屁股還是沒擦乾淨
去年8 月底,ESET 就將相關情況反映給了D-Link。後者反應也相當及時,承諾會盡快跟進並完成修復。後續測試發現,D-Link 確實解決了一部分漏洞問題,“mydlink services”插件也是絕對安全,但有些問題依舊存在。
截至發稿前,最新版本固件的更新日期依然停留在2016年11月份,容易被黑客玩“狸貓換太子”的固件漏洞還是沒能解決,截獲音頻與視頻流的Bug也還在。
因此,如果你正在使用或準備購入D-Link DCS-2132L 攝像頭,別忘了先檢查接口80 是否已經暴露在公共互聯網上。同時,如果你要用攝像頭監控高度敏感區域,遠程接入功能還是不用為好。
Via. We Live Security