06.04 Steam客戶端存在一個10年的遠程程序代碼執行漏洞,Valve緊急修補

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

Steam客戶端存在一個10年的遠程程序代碼執行漏洞,Valve緊急修補

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心中修復排行榜中的第一快。


分享到:


相關文章: