資安公司Context Information Security資深研究員Tom Court發現,遊戲平臺Steam客戶端存在一個至少10年的遠端程式碼執行漏洞,而這個漏洞影響每月1,500萬的活躍用戶,遊戲公司Valve在收到資安通報後,緊急在12小時內就釋出安全性補丁。

Steam客戶端函式庫的堆積(Heap)崩潰漏洞能被遠端觸發,該區程式碼是用來處理並重組多個UDP資料封包,Steam客戶端仰賴自定義的協定進行通訊,這個協定建立於UDP之上。簡單來說,這個錯誤發生於,客戶端程式沒有對分段資料包的第一個資料封包進行基本的檢查,以確保指定的封包長度小於或是等於總資料包的長度,Tom Court認為這是一個疏忽,因為在後續傳輸的封包都有經過檢查。

在現代作業系統中,單獨的堆積崩潰漏洞很難控制,因此也不容易被利用於遠端程式碼執行攻擊,但是Steam自定義的記憶體分配器,以及在2017年7月之前,steamclient.dll二元檔中還沒有使用位址空間配置隨機載入(Address Space Layout Randomisation,ASLR)保護技術,因此大幅提高了這個漏洞被利用的可能性。

Tom Court表示,這是一個簡單的漏洞,在缺乏現代化資安技術的保護下,漏洞被利用起來也相對簡單許多。他在今年2月告知Valve該漏洞,而Valve也在12小時內就在客戶端測試版發布了修正補丁,並在3月22日以將正式版推送給所有玩家,目前沒有證據顯示該漏洞曾被利用來發動攻擊。

這個漏洞之所以存在這麼久還沒有被發現,Tom Court認為,由於這部分程式運作良好,開發者似乎也沒有特別的理由更新,但這反而是一個很好的教訓,定期檢查包含老舊程式碼的程式顯得十分重要,以確保這些程式符合現代安全標準,因此他認為,Valve應該全面檢查Steam客戶端的程式碼。

另外,他還提到,在Context Information Security透過電子郵件通知Valve漏洞後,在約莫8小時過後,第一個修復程式已經產生且推送成為客戶端測試版分支,這個過程非常快速,有別於不少供應商漫長的往返溝通,目前Valve是Context Information Security心中修復排行榜中的第一快。


Advertisement

更多 iThome相關內容