按 Enter 到主內容區
:::

TWCERT-電子報

:::

慎防滑鼠鍵盤應用程式Logitech Options,暗開Windows後門

發布日期:
字型大小:
  • 發布單位:TWCERT/CC
  • 更新日期:2019-04-03
  • 點閱次數:774
慎防滑鼠鍵盤應用程式Logitech Options,暗開Windows後門

內文

●概述:
滑鼠發展先驅羅技公司,其高階輸入介面裝置包含WIFI滑鼠、鍵盤,並開發Logitech Options(適用Mac、Windows)軟體輔助用戶,定義客製化輸入功能,據Google Project Zero研究員Tavis Ormandy測試,Logitech Options會在Windows寫入登錄值成為常駐程式,並開啟無線鍵盤"Craft"上websocket server與port 10134,但未曾設計類型檢查和來源辯證機制,若參數tool_options接收錯誤資料型態則發生當機,而攻擊者可無限嘗試猜測process ID,直到bruteforce成功,進而接管鈕控制器"crown",取代真正用戶發送keystroke訊號,接手操作,上述2項安全缺失影響Windows7、8、10,儘管Logitech於12月13日釋出Options 7.00.564,並於官網支援網頁(英語系)註明「Fixes Origin checks and type checking bugs」,然在中文網頁卻無此文字,復經其他研究員測試新版Logitech Options仍可被入侵,相關報告已公開,建議使用者以白名單防止外部惡意連線至port 10134,並關注更新訊息。
●編註:
(1)漏洞分析
在Windows環境安裝Logitech Options軟體,會將程式本身註冊到HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,以便永遠生效,並啟動有關次程序,同時也會在無線鍵盤"Craft"上開放port 10134,使websocket server能與外部站台連線溝通,這些必要設定是結合羅技產品特性,不過存在2種安全罅隙:來源辯證、類型檢查,先從websocket server預期行為說明,websocket server可接收JSON資料,例:
socket.send(JSON.stringify({message_type: "tool_update", session_id: "0cd81-8e8b-a7e0-8122-99b", tool_id: "hello", tool_options: "AAAAAA…AAA" }))
首先對變數型態無檢查措施,如tool_options須配賦陣列資料,但接收到其他型態資料亦直接運算,將造成功能DoS。
另來源未經縝密驗證,唯一識別僅是pid(process ID),也就是socket.send( )內session_id參數值,由於使用者驗證次數無上限,可以在數毫秒內完成bruteforce而驗證成功,賡續對旋鈕控制器"crown"發送任何keystroke訊號,接手輸入操作權。
(2)羅技Options & Crown
Options係羅技開發之輸入裝置功能程式,可用在滑鼠、鍵盤、觸控板,可自訂按鈕(鍵)與滾輪動作,在不同應用程式產生個別操作效果,並提供滑鼠鍵盤組合鍵控制,在多主機(異種OS)間快速切換存取對象,且跨PC複製檔案。
在無線鍵盤產品Craft有旋鈕設計,而皇冠(Crown)是搭配Craft鍵盤之開發工具,能對應多種應用程式、工具功能,將透過旋鈕輸入之電子訊號,轉換成用戶操作中軟體的特定效果,如編輯文章時可旋鈕調整字體大小、在Photoshop可切換圖層。

影響產品

Options 7.00.564(for Windows)以前版本

解決辦法

(1)設定白名單,阻絕可疑連線通過port 10134。

(2)檢查系統檔案或登錄值,是否出現與Logitech Options無關之軟體安裝跡象。

回頁首