| CVE編號 | CVE-2018-8739 |
|---|---|
| 影響產品 | VPN Unlimited 4.2.0以前版本for macOS |
| 解決辦法 | KeepSolid Inc尚無解決方案 |
| 張貼日 | 2018-03-19 |
| 上稿單位 | TWCERT/CC |
●概述:
駐居中國大陸境內,想上外國網站查找資料、種子,多少依賴翻牆軟體,VPN Unlimited算是熱門選擇之一,能搭配Android、iOS、Linux、macOS、Windows多種平台與Chrome、Firefox瀏覽器,建置全球各地70餘處VPN server,且保護個人數據,免被”無授權地”蒐集統計,適用macOS之VPN Unlimited系列經Benjamin Watson研究,VPN Unlimited內具備高級權限之Helper Tool元件,其建置XPC介面,竟允許任意應用程式比照root執行系統命令,完全違悖XPC服務原始保護精神,XPC切割權限予個別process的沙箱機制,本意是簡化每個process權限到最低,減少外部威脅途徑,然此次暴露出嚴重權限管理缺失,導致mac OS系統控制權外放,目前KeepSolid Inc仍無解決方案。
●編註:
(1)何謂XPC
在此XPC並非某種準系統代稱,而是APPLE為mac作業系統所設計的應用程式介面(API),喚作XPC Services API,提供輕量型基本跨程序通信(IPC:interprocess communication)機制,讓使用者創建helper tool,該協助工具亦稱為XPC services,XPC服務能呈現應用程式行為之相等效果,同時還保障穩定性與隔離權限。
(1-1)穩定性
XPC原理即是將某完整應用程式切割成片段,每個片段依序運作的結果加總起來,與原始程式無異,但個別片段發生crash的風險不一致,若其中一個片段當機,也可保證其餘核心程式片段無虞,達到程式穩定性的訴求。
(1-2)權限隔離
完整的程式運行階段,肯定需要較多權限以獲得資源,如今資訊環境面對複雜外部威脅途徑,完整權限勢必伴隨高度風險,故權限必須切割處理,至於權限隔離的概念,可以設想應用程式拆分成多個零件,零件A只要觸及網路就不用賦予存取硬碟的權力,零件B負責傳送數據則無需開啟檔案的權利,零件C僅呼叫函式庫來執行就鎖住網路使用權,按此要領,在mac OS X上,個別process會配給獨立沙箱以規範所能行使的操作種類,每個process僅能擁有所需最低權限,而非完整程式所需的較大權限,工作職掌切割,同時也對權力切割,就是權限隔離。
(2)虛擬私人網路商品VPN Unlimited,於Mac OS專用版出現瑕疵,Helper Tool元件本身具備高級權限,而Helper Tool所建置的XPC介面,讓任何應用程式可透過該介面執行系統命令,且伴隨著root身分生效。
