知物由學 | 驅動反外掛另闢蹊徑,讓遊戲避免看不見的漏洞攻擊

網易易盾發表於2021-10-09

工欲善其事,必先利其器。遊戲攻防對抗亦是如此,外掛作者透過各種工具提升遊戲破解效率,通常防禦方會根據其工具特性針對性防禦。此種場景下的防禦似乎總是後人一步。


難道就沒有好的辦法了嗎?為了解決這個痛點,透過對市面上外掛作者攻擊手法分析,發現無論哪種型別的工具、外掛都離不開對遊戲資訊的獲取。而驅動反外掛正好將此處破綻給防禦住。



01 對抗場景


通常,一般反外掛產品會啟動基於鉤子掃描、可疑模組/程式掃描、檔案/程式碼塊簽名、加殼混淆、關鍵字掃描、除錯狀態等特性。


以保護遊戲或檢測計算機記憶體和程式中可能存在的作弊行為和漏洞。如果掃描發現任何異常,則將事件報告傳送給遊戲公司的工程師進行分析。


此類反外掛產品長期以來一直在使用者模式下工作,也稱為 Ring3。在此級別,該軟體無法直接訪問底層硬體或實體記憶體,因此在進行任何掃描之前,必須先從系統應用程式程式設計介面(Windows API)獲得許可權。


此外,應用程式以使用者模式執行時處於隔離狀態,因此無法在完全意義上掃描屬於另一個應用程式的資料。這樣,儘管以使用者模式執行的反外掛產品可以執行上述各種保護或掃描,但很容易被攻擊者繞過。


下面為外掛作者、遊戲、反外掛和外掛銷售人員簡單的關係示意圖:

• 無保護

知物由學 | 驅動反外掛另闢蹊徑,讓遊戲避免看不見的漏洞攻擊

• 有保護

知物由學 | 驅動反外掛另闢蹊徑,讓遊戲避免看不見的漏洞攻擊

顯而易見,在驅動層及應用層雙重保護下游戲更為安全。


02 什麼是驅動反外掛?


知道了這一點,易盾建立了更復雜的方法來保護遊戲安全。驅動反外掛以更高的特權(即核心級別或 Ring0)執行作弊軟體,該級別沒有 Ring3 的限制,可以執行任何指令並引用任何記憶體地址。


如下圖所示,使用者模式和驅動模式被隔離,而使用者模式是大多數軟體執行下的環境,它擁有的許可權極為有限,而在核心模式下不僅能訪問應用模式還能和硬體裝置進行互動,具有超級許可權。執行在 Ring0 上的反外掛軟體可以監視系統的資料完整性,從而允許驅動反外掛在此層許可權下執行中能防禦任何惡意行為。

知物由學 | 驅動反外掛另闢蹊徑,讓遊戲避免看不見的漏洞攻擊

簡而言之,擁有“上帝視角”數字執法者對任何嘗試攻擊遊戲以獲取非法許可權的行為予以懲罰。


易盾正在盡一切力量來領先於新穎的攻擊手法或作弊策略,構建健康公平的遊戲環境,以便為客戶的遊戲玩家提供最佳的遊戲體驗。


03安全防護從何入手?


3.1 驅動級程式防護

得益於驅動級反外掛引擎,可以密切監視系統活動應用程式並立即採取措施,以確保不會有任何已知外掛軟體處於執行狀態,且不會產生任何誤報。


對於未知程式一旦嘗試對遊戲進行可疑操作,如外掛軟體、輔助工具通常透過注入非法模組且啟動執行緒進而執行邏輯,便對其進行攔截,使攻擊者難以篡改遊戲客戶端。


3.2 驅動級記憶體防護

作弊者會使用記憶體掃描工具(如 Cheat Engine 等自定義掃描工具)來查詢遊戲中的資料(例如生命值,法力值、攻擊力等),然後使用這些記憶體位置來查詢其他關鍵資料。


例如,生命和法力可能屬於代表玩家的結構的一部分,並且該結構可能包含其他內容,例如玩家位置、等級、他們面對的方向等。一旦啟用驅動級記憶體防護功能,便無法使用工具掃描並修改記憶體。


3.3 驅動級除錯防護

作弊者在分析遊戲時,通常會在遊戲客戶端執行時將偵錯程式或二進位制檢測工具附加到遊戲客戶端。這樣做可以使他們在執行程式碼時逐步定位並分析遊戲邏輯程式碼的工作方式(如走路call,攻擊call,釋放技能call)。


目前在網上有很多有關繞過反除錯技術的研究,這些技術可能會使作弊者繞過部分執行中的除錯檢測,但其攻擊維度在核心層防護是無效的。


易盾擁有未公開除錯防護技術,在應用層反除錯之上提高對抗強度,確保遊戲在執行時不受非法入侵。


3.4 驅動級檔案防護

對於部分遊戲執行時才會讀取與修改的檔案,作弊者可能會透過修改檔案並覆蓋的形式實現惡意功能,此檔案防護功能會在遊戲執行時禁止第三方修改指定目錄下的檔案,保證遊戲資源、存檔檔案等敏感檔案的安全。


3.5 漏洞利用防護

漏洞利用主要用於惡意軟體開發中。但是在外掛輔助製作領域中,高階別作弊者會使用它來逃避反外掛技術,如使用易受攻擊的驅動程式載入特權程式碼。對於此種攻擊行為,易盾給出一系列精確識別機制來防止此類惡意行為出現。


3.6 高階自定義驅動防護

一旦客戶端接入驅動反外掛系統,便可根據自己的需要指定任意程式,如遊戲子程式:xxxxxCrasher.exe,xxxxxHelper.exe,享有同等核心級保護功能。


3.7 相容性高

相容性:在相容Win7-Win10的系統同時,全面測試相容以下防毒軟體:

  • 國內:360安全衛士+360防毒、騰訊電腦管家、金山毒霸、瑞星防毒等。


  • 國外:卡巴斯基(Kaspersky)、小紅傘(Avira)、大蜘蛛(Dr.Web)、位元梵德(BitDefender)、邁克菲(Mcfee)、賽門鐵克(Symantec)、F-Secure、AVG、愛維士(Avast)、趨勢科技(PC-cillin)、微軟防毒(Microsoft Defender、MSE)、諾頓(ESET NOD32)等。


04 需要驅動反外掛嗎?

很多遊戲在對資料的驗證上並沒有做太多工作,甚至沒有做任何驗證,這種遊戲的外掛通常直接修改客戶端的資料達到上帝級別作弊效果,令人瞠目。


當然,即使遊戲的資料全在伺服器仍需要驅動反外掛保護進行保護以減少攻擊面,很多型別的外掛都不需要直接修改資料達到作弊效果,以主流遊戲型別為例,它們對應的外掛型別可能存在重合,僅例舉該遊戲型別最具典型的外掛型別。

知物由學 | 驅動反外掛另闢蹊徑,讓遊戲避免看不見的漏洞攻擊


鑑於以上情況,即使假設您的遊戲已存在 Ring3 保護情況下仍是遠遠不夠的,因為 Ring3 處於被動狀態做出反擊,而驅動可以實時監控整個系統資源環境進行主動防禦,所以您需要易盾端遊驅動反外掛解決方案為您的遊戲保駕護航。

相關文章