大家熟知的遊戲平臺Steam客戶端,竟然存在了一個至少10年的遠端程式碼執行漏洞……近日有安全公司的研究人員Tom Court曝出了這一發現。據悉,這個漏洞會影響到每月1500萬的活躍使用者,因此遊戲公司Valve在收到安全通知後,12小時內就放出了安全補丁。
Steam客戶端發現遠端程式碼執行漏洞
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認為,由於這部分程式運作良好,開發者似乎也沒有特別的理由更新。但顯然這對於程式開發商來說,倒應該是一個很好的教訓,而且定期檢查包含老舊程式碼在內的程式,無疑就變得更為重要了。
來源:中關村線上(北京)