近些年來各家廠商把“智慧”攝像頭市場做的是風生水起,許多消費者也想靠這些大眼睛來守護一方平安。對普通人來說,這些智慧化的攝像頭確實相當方便,只需連上網路,你就能在千里之外獲取自己需要的畫面。不過,在你享受方便之餘又很容易掉入陷阱,因為安全漏洞背後藏著的壞人太可怕了。
最近,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 雙格式的。
當然,重構視訊流也沒那麼容易,攻擊者還得一步一步來(這個過程也可以藉助簡單的程式或指令碼實現自動化):
識別出哪些流量代表了視訊流,因為這裡的流量由多個資料塊組成,每個資料塊都有特定的標題和定義的長度;
將資料部分與標題分離開來;
最後,將其中的視訊合成一個檔案。
需要注意的是,播放這個視訊文件可能有點麻煩,因為它們還是 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 是否已經暴露在公共網際網路上。同時,如果你要用攝像頭監控高度敏感區域,遠端接入功能還是不用為好。
來源:雷鋒網