午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng)及網(wǎng)絡(luò)游戲系統(tǒng)反外掛方法

文檔序號:7895957閱讀:329來源:國知局
專利名稱:主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng)及網(wǎng)絡(luò)游戲系統(tǒng)反外掛方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)游戲技術(shù)領(lǐng)域,尤其是涉及一種主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng)及網(wǎng)絡(luò)游戲系統(tǒng)反外掛的方法。
背景技術(shù)
中國網(wǎng)絡(luò)游戲產(chǎn)業(yè)在經(jīng)歷了將近10年的探索后,已成功實(shí)現(xiàn)從依靠代理進(jìn)口游戲到自主研發(fā)的民族網(wǎng)絡(luò)游戲為主的逆轉(zhuǎn),進(jìn)入了一個高速穩(wěn)定發(fā)展的新階段。與此同時, 網(wǎng)絡(luò)游戲也面臨著嚴(yán)重的安全問題,而外掛是其中影響最為廣泛的安全隱患。外掛是指專門針對一款或多款網(wǎng)絡(luò)游戲,制作的作弊程序。用戶利用外掛可以輕易得到其他正常用戶無法得到、或必須通過長期運(yùn)行程序才能得到的游戲效果。外掛的危害主要體現(xiàn)在以下三個方面(1)嚴(yán)重干擾了網(wǎng)絡(luò)游戲的正常運(yùn)行和游戲的公平性,使得正常玩家大量流失;極大的增加了網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)流量負(fù)載,從而導(dǎo)致運(yùn)營商的運(yùn)營成本急劇升高,大大縮短游戲的生命周期,直接影響到經(jīng)濟(jì)收入和聲譽(yù),有些游戲甚至在正式運(yùn)營前就因為外掛而夭折;(3)游戲中的虛擬貨幣實(shí)際上是通過銀行真實(shí)電子貨幣轉(zhuǎn)賬購買的,因而容易滋生木馬盜號等安全問題。依據(jù)是否依賴官方發(fā)布的游戲客戶端程序,可將外掛分為脫機(jī)式外掛和掛機(jī)式外掛兩大類,前者技術(shù)上是完全獨(dú)立的,通過模擬正常玩家與游戲服務(wù)器之間的通訊來達(dá)到作弊目的;后者利用游戲在設(shè)計和實(shí)現(xiàn)上的漏洞,分別在客戶端的驅(qū)動層、RING3層和游戲數(shù)據(jù)包通訊三個層面,通過模擬鍵盤、鼠標(biāo)消息、截獲、修改內(nèi)存、文件及通訊數(shù)據(jù)來實(shí)現(xiàn)外掛。其中,脫機(jī)外掛對網(wǎng)絡(luò)游戲平衡性的破壞力最強(qiáng);通過篡改通訊數(shù)據(jù)來實(shí)現(xiàn)的外掛占據(jù)市面上外掛的90%。針對外掛泛濫的現(xiàn)象,也出現(xiàn)了很多反外掛的方法。常見的反外掛方法從技術(shù)方面可以分為以下幾種①游戲數(shù)據(jù)安全通訊網(wǎng)絡(luò)游戲所處的互聯(lián)網(wǎng)網(wǎng)絡(luò)是一個開放的系統(tǒng)環(huán)境,網(wǎng)絡(luò)游戲過程中客戶端與服務(wù)器之間的通訊數(shù)據(jù)包也可輕而易舉地被外掛制作者截獲并加以分析和篡改偽造。對通訊數(shù)據(jù)包進(jìn)行加密后再在網(wǎng)絡(luò)上傳輸,增加數(shù)據(jù)包分析偽造的難度,這是實(shí)現(xiàn)游戲數(shù)據(jù)安全通訊的基本保護(hù)措施。該方法可以有效防御脫機(jī)外掛和修改游戲封包的這類外掛。②游戲客戶端進(jìn)程的完整性保護(hù)該方法針對破壞游戲客戶端進(jìn)程完整性的具體外掛技術(shù)來實(shí)現(xiàn)防御,但是游戲玩家是外掛的主動使用者,因而僅從系統(tǒng)層面來防御外掛,安全性不高;③玩家人工認(rèn)證通過在游戲過程中隨機(jī)彈出難以用程序自動回答的問題,如圖像識別,要求玩家在限定時間內(nèi)給出正確的答案,以識別玩家是否在電腦旁。這種方法能有效防御脫機(jī)外掛和有全自動練級功能的這類外掛,但是該方法會干擾玩家的正常游戲,影響游戲的連貫性;需投入大量人力物力去維護(hù)更新答題系統(tǒng); 而且還可能存在由于正常玩家一時疏忽給出的錯誤答案而導(dǎo)致誤判的可能。雖然圖片識別等方式的玩家人工認(rèn)證的方法在目前的網(wǎng)絡(luò)游戲的反外掛產(chǎn)品和專利中廣泛使用,但是由于其自身存在的諸多弊端,因而僅能作為目前缺乏有效反外掛產(chǎn)品的現(xiàn)狀下的一個防御外掛的過渡方法。④利用游戲邏輯通常將游戲邏輯復(fù)雜化或利用異常邏輯檢測來實(shí)現(xiàn)反外掛。游戲邏輯復(fù)雜化是從游戲代碼上使部分邏輯、數(shù)據(jù)難于分析和理解,甚至在游戲邏輯中添加各種信息、密碼的校驗,使得游戲的邏輯部分難以被偽造或篡改。該類方法主要針對脫機(jī)外掛和部分篡改游戲的這類外掛有效,其缺點(diǎn)是實(shí)現(xiàn)非常麻煩,且需投入較大的人力進(jìn)行后期的維護(hù)開發(fā)。異常邏輯檢測,是游戲服務(wù)器通過檢查一些已知的邏輯上的漏洞以識別外掛。該類方法僅針對破壞了游戲規(guī)則的這類外掛有效,且極容易出現(xiàn)正常游戲玩家因網(wǎng)絡(luò)延時等出現(xiàn)錯誤的游戲邏輯而被誤判為外掛使用者的情況。目前
游戲數(shù)據(jù)安全通訊技術(shù)從通訊數(shù)據(jù)的安全性角度來遏制外掛。為了減少游戲服務(wù)器負(fù)載,保障游戲運(yùn)行流暢性,數(shù)據(jù)加密方法不宜采用高安全性能的復(fù)雜加密技術(shù)。如何兼顧高效性和安全性,選擇合理的加密算法是其中的關(guān)鍵。目前采用的加密算法有三種① 《金庸群俠傳》等網(wǎng)絡(luò)游戲中采用逐位異或算法對游戲通訊數(shù)據(jù)進(jìn)行加密,該種方式下加密和解密所采用的密鑰是相同的,且客戶端和游戲服務(wù)器的密鑰都由程序產(chǎn)生,不經(jīng)過網(wǎng)絡(luò)傳輸。但是,存在以下缺點(diǎn)第一,僅使用異或算法來實(shí)現(xiàn)加密,其安全性難以得到保證;第二,即使采用多層加密也并不能增加加密強(qiáng)度;②胡陽在2004年申請的專利《采用密碼技術(shù)來防止網(wǎng)絡(luò)游戲外掛的方法》(申請?zhí)?00410001138.X)中提出采用公開的對稱加密算法,并定期對算法進(jìn)行更新,各客戶機(jī)擁有一套互不相同的子密鑰祖,對稱加密算法的密鑰通過用戶號、時間戳和隨機(jī)碼控制對用戶的子密鑰組進(jìn)行隨機(jī)、實(shí)時組合選取,基本可以達(dá)到一次一密。但是,一次一密的方式無疑會帶來較大的加解密開銷,并且增加了游戲運(yùn)行的負(fù)擔(dān);③華為公司在2007年申請專利《一種防范網(wǎng)絡(luò)游戲外掛的方法、系統(tǒng)、服務(wù)器及終端設(shè)備》(申請?zhí)?200710002715. 0)中將通訊數(shù)據(jù)包依據(jù)不同的重要性選擇加密的算法進(jìn)行分級加密,以達(dá)到既防止加密數(shù)據(jù)被破解,又不會過于影響運(yùn)營成本及用戶體驗的目的。但是,將通訊數(shù)據(jù)包的重要性量化定級本身是一個難點(diǎn)。游戲客戶端進(jìn)程的完整性保護(hù)技術(shù)在游戲客戶端系統(tǒng)層面遏制外掛,比較典型的有INCA公司的nProtect GameGuarcU安博士研究所的AhnLab HackShielcU金山游盾和盛大的GPK。它們都是利用系統(tǒng)層面的技術(shù)來實(shí)現(xiàn)反外掛,如,通過加載設(shè)備驅(qū)動進(jìn)入Ring 0 級獲得系統(tǒng)的控制權(quán)并在所有進(jìn)程中注入監(jiān)測模塊以監(jiān)測系統(tǒng)API被非法進(jìn)程調(diào)用,利用類似于病毒掃描的特征碼來識別非法進(jìn)程和模塊,采用服務(wù)端認(rèn)證來檢測反外掛模塊是否正常工作并檢查客戶端程序的完整性等。但是這類產(chǎn)品存在一些內(nèi)在的缺陷,不能從根本上遏制外掛技術(shù)。①設(shè)計思路是阻止外掛侵害客戶端,僅著眼于對游戲客戶端進(jìn)程的保護(hù), 完全不能防御不依賴于客戶端存在的脫機(jī)外掛。②對所有進(jìn)程都接管監(jiān)控,軟件兼容性差; ③過多地使用底層技術(shù)搶占系統(tǒng)控制權(quán),會影響系統(tǒng)穩(wěn)定性;④依賴于系統(tǒng)底層技術(shù)來防御外掛技術(shù)的反外掛產(chǎn)品,實(shí)際上是在與外掛制作者較量誰能夠最終控制系統(tǒng)。但是游戲玩家是主動的外掛使用者,而不是被動的受害者,因而外掛程序在用戶的系統(tǒng)中擁有和反外掛程序同樣的控制權(quán)限。反外掛產(chǎn)品在系統(tǒng)控制權(quán)的爭奪上并沒有明顯優(yōu)勢。用戶可能會根據(jù)外掛的使用說明,嚴(yán)格地按步驟操作,甚至?xí)赐鈷斓囊蟀惭b新的操作系統(tǒng);⑤外掛與病毒和木馬有完全不同的目的和代碼特征,而且在利益的驅(qū)動下,外掛的變形更新能力遠(yuǎn)高于病毒和木馬,因此基于特征碼識別的技術(shù)很難取得明顯的效果。金山公司在2003 年12月推出的金山游盾就是最好的例證;⑥過多地使用底層技術(shù),也不利于反外掛產(chǎn)品的快速更新以應(yīng)對層出不窮的外掛技術(shù);⑦更多地是在操作系統(tǒng)層面與游戲客戶端綁定,與游戲過程本身的關(guān)聯(lián)很弱,因而反外掛系統(tǒng)可能在系統(tǒng)層面被成功剝離,且由于底層機(jī)制的更新困難,這種剝離基本上只需要做一次。從以上分析也可以看出,單一地使用這兩類技術(shù),還有很多缺陷,不能從根本上解決外掛問題。游戲數(shù)據(jù)安全通訊技術(shù)和客戶端保護(hù)技術(shù)分別從不同層面來防御外掛,將這兩類技術(shù)結(jié)合的方式,逐漸成為反外掛的主流發(fā)展趨勢。國內(nèi)越來越多的網(wǎng)絡(luò)游戲反外掛的相關(guān)發(fā)明專利中使用這種方式,如何將這兩者有機(jī)結(jié)合,以實(shí)現(xiàn)對外掛技術(shù)的有效防御,成為現(xiàn)在該領(lǐng)域研究的主流方向。現(xiàn)有的專利主要是在游戲服務(wù)器對來自客戶端的外掛特征碼掃描結(jié)果 進(jìn)行判斷,以識別客戶端是否使用外掛。其中,客戶端的外掛特征碼掃描結(jié)果的真實(shí)性也通過加密算法的安全性來得到保障。客戶端的外掛特征碼掃描結(jié)果可以通過附加到游戲通訊數(shù)據(jù)后再加密,或者直接加密后提交到游戲服務(wù)器。但是一旦加密算法被破解,就可以成功篡改客戶端的外掛特征碼掃描結(jié)果,從而達(dá)到欺騙游戲服務(wù)器的目的,因而安全性不高。綜上所述,現(xiàn)有的反外掛系統(tǒng)主要存在以下問題①缺乏安全有效的反外掛框架 如何真正有效、有機(jī)結(jié)合數(shù)據(jù)安全通訊技術(shù)和客戶端保護(hù)技術(shù),是首要要解決的問題;② 處于被動的反外掛游戲玩家是外掛的主動使用者;與游戲過程脫離,針對具體外掛來防御,疲于應(yīng)付不斷出現(xiàn)新外掛;③兼容性差與外掛爭奪系統(tǒng)控制權(quán)的攻防斗爭中,使用了過多底層技術(shù),必然會引發(fā)一系列兼容性問題;④有效的反外掛系統(tǒng)缺乏的現(xiàn)狀下采用過渡方案,如人工認(rèn)證、針對具體的網(wǎng)絡(luò)游戲開發(fā)反外掛系統(tǒng),但是不利于游戲廠商專注開發(fā)高質(zhì)量的游戲。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種適用于各類網(wǎng)絡(luò)游戲的主動反外掛方法及系統(tǒng), 以高效安全地防御各類外掛技術(shù)。一種主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng),包括游戲服務(wù)器和游戲客戶端,游戲客戶端和游戲服務(wù)器之間通過通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,所述游戲客戶端為游戲玩家所操縱,其特征在于所述游戲客戶端安裝有網(wǎng)絡(luò)游戲運(yùn)行時加載的反外掛組件,所述游戲客戶端成功登錄后與游戲服務(wù)器進(jìn)行安全協(xié)商數(shù)據(jù)通訊使用的種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法,所述反外掛組件負(fù)責(zé)主動監(jiān)測網(wǎng)絡(luò)游戲客戶端,并將監(jiān)測結(jié)果通過安全協(xié)商后的對稱加密算法加密后發(fā)送給游戲服務(wù)器;所述游戲服務(wù)器安裝有服務(wù)端反外掛系統(tǒng),根據(jù)安全協(xié)商后的相關(guān)密碼算法解密驗證來自游戲客戶端的監(jiān)測結(jié)果,對游戲客戶端的監(jiān)測結(jié)果進(jìn)行查詢匹配以識別客戶端是否在使用外掛。優(yōu)選的,所述反外掛組件包括客戶端通訊模塊、客戶端加/解密及校驗?zāi)K、游戲客戶端進(jìn)程保護(hù)模塊、監(jiān)測模塊,所述反外掛組件負(fù)責(zé)保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入,以減少外掛的誤報率;負(fù)責(zé)主動監(jiān)測游戲客戶端游戲進(jìn)程、反外掛組件以及系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果加密后發(fā)送給游戲服務(wù)器。優(yōu)選的,所述游戲服務(wù)器包括服務(wù)器端通訊模塊、服務(wù)器端加/解密及校驗?zāi)K、 外掛查詢模塊、數(shù)據(jù)庫和數(shù)據(jù)庫管理模塊;所述游戲服務(wù)器通過服務(wù)器端加/解密及校驗?zāi)K對監(jiān)測結(jié)果解密后進(jìn)行驗證、并查詢匹配以識別游戲客戶端是否在使用外掛;接收來自反外掛組件的未知模塊樣本信息,并存儲到數(shù)據(jù)庫中。 本發(fā)明還提供了一種網(wǎng)絡(luò)游戲系統(tǒng)反外掛方法,其特征在于所述方法包括以下步驟
(1)啟動游戲客戶端并登錄到游戲服務(wù)器,在成功登陸后與游戲服務(wù)器安全協(xié)商種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法;
(2)游戲客戶端啟動反外掛組件保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入,且定時監(jiān)測游戲客戶端進(jìn)程和系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果經(jīng)過安全處理后發(fā)給游戲服務(wù)器;
(3)游戲服務(wù)器接收來自游戲客戶端的監(jiān)測結(jié)果,進(jìn)行解密后再對消息認(rèn)證碼進(jìn)行驗證,并標(biāo)本信息進(jìn)行匹配比較來判斷游戲客戶端是否使用外掛。優(yōu)選的,所述方法步驟(2)中所述反外掛組件通過獲取游戲客戶端進(jìn)程在內(nèi)存中裝載的模塊代碼的hash校驗值來監(jiān)測游戲客戶端進(jìn)程。優(yōu)選的,所述方法步驟(2)中所述反外掛組件通過獲取系統(tǒng)加載的驅(qū)動模塊信息、 常用外掛程序的HOOK關(guān)鍵點(diǎn)和游戲客戶端的預(yù)設(shè)HOOK點(diǎn)的驅(qū)動模塊列表信息來監(jiān)測系統(tǒng)運(yùn)行環(huán)境。優(yōu)選的,所述方法步驟(2)中所述反外掛組件通過在監(jiān)測結(jié)果之后附上其消息認(rèn)證碼,并進(jìn)行加密來實(shí)現(xiàn)對監(jiān)測結(jié)果的安全處理。優(yōu)選的,所述方法步驟(3)中若連續(xù)3次以上消息認(rèn)證碼驗證都不通過,則判斷游戲客戶端在使用外掛;若消息認(rèn)證碼驗證通過,則將解密后的監(jiān)測結(jié)果與游戲服務(wù)器的標(biāo)本信息進(jìn)行匹配比較,繼續(xù)判斷客戶端是否在使用外掛。優(yōu)選的,所述方法還包括游戲服務(wù)器在固定時間間隔內(nèi)未收到游戲客戶端發(fā)送的監(jiān)測結(jié)果,則視為監(jiān)測超時,并斷開游戲客戶端與游戲服務(wù)器的連接,讓游戲玩家重新登錄;若連續(xù)超時3次以上,則視為游戲客戶端在使用外掛。優(yōu)選的,所述方法游戲服務(wù)器與游戲客戶端進(jìn)行通信時,采用包含時變參數(shù)的挑戰(zhàn)-應(yīng)答形式。本發(fā)明的適用于各類網(wǎng)絡(luò)游戲的主動反外掛方法,有機(jī)結(jié)合數(shù)據(jù)安全通訊技術(shù)和客戶端保護(hù)技術(shù),并與游戲過程綁定。所述反外掛方法中,所述游戲客戶端與所述游戲服務(wù)器之間利用數(shù)據(jù)安全通訊技術(shù)來保障通訊數(shù)據(jù)的安全性,其中所涉及到的安全相關(guān)參數(shù)和算法在游戲客戶端成功登錄后與游戲服務(wù)器安全協(xié)商。所述反外掛組件安裝在游戲玩家所操縱的游戲客戶端,在游戲客戶端軟件運(yùn)行時被加載。所述反外掛組件負(fù)責(zé)保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入,以減少外掛的誤報率;負(fù)責(zé)主動監(jiān)測游戲客戶端游戲進(jìn)程、反外掛組件以及系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果加密后發(fā)送給游戲服務(wù)器。所述游戲服務(wù)器對解密后的監(jiān)測結(jié)果進(jìn)行驗證以識別游戲客戶端是否在使用外掛。所述全局服務(wù)器接收來自游戲服務(wù)器的安全查詢請求,并反饋查詢結(jié)果;接收來自反外掛組件的未知模塊樣本信息,并存儲到數(shù)據(jù)庫中。相對于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點(diǎn)是
本發(fā)明與游戲過程綁定,并有機(jī)結(jié)合數(shù)據(jù)安全通訊技術(shù)和客戶端保護(hù)技術(shù),能高效安全地防御各類外掛技術(shù);本發(fā)明主動監(jiān)測游戲進(jìn)程及系統(tǒng)環(huán)境,把該監(jiān)測結(jié)果作為是否使用外掛的判斷依據(jù)。本發(fā)明在游戲服務(wù)器驗證識別游戲客戶端是否使用外掛,因此游戲客戶端的外掛程序無法干預(yù)這一判斷過程。從而進(jìn)一步保證反外掛程序的安全性和可靠性; 本發(fā)明采用以監(jiān)測為主、防堵為輔的策略,避免使用過多底層技術(shù),因而系統(tǒng)穩(wěn)定、軟件兼容性好。


下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述
圖1為本發(fā)明實(shí)施例主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng)的結(jié)構(gòu)圖; 圖2為本發(fā)明實(shí)施例網(wǎng)絡(luò)游戲系統(tǒng)主動反外掛方法的工作流程圖。
具體實(shí)施例方式以下結(jié)合具體實(shí)施例對上述方案做進(jìn)一步說明。應(yīng)理解,這些實(shí)施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實(shí)施例中采用的實(shí)施條件可以根據(jù)具體廠家的條件做進(jìn)一步調(diào)整,未注明的實(shí)施條件通常為常規(guī)實(shí)驗中的條件。
實(shí)施例本實(shí)施例的適用于各類網(wǎng)絡(luò)游戲的主動反外掛系統(tǒng),如圖1所示,包括游戲客戶端和游戲服務(wù)器,所述游戲客戶端和所述游戲服務(wù)器之間通過通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。所述游戲客戶端為游戲玩家所操縱,其特征在于所述游戲客戶端安裝有網(wǎng)絡(luò)游戲運(yùn)行時加載的反外掛組件,所述游戲客戶端成功登錄后與游戲服務(wù)器進(jìn)行安全協(xié)商數(shù)據(jù)通訊使用的種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法,所述反外掛組件負(fù)責(zé)主動監(jiān)測網(wǎng)絡(luò)游戲客戶端,并將監(jiān)測結(jié)果通過安全協(xié)商后的對稱加密算法加密后發(fā)送給游戲服務(wù)器;所述游戲服務(wù)器安裝有服務(wù)端反外掛系統(tǒng),根據(jù)安全協(xié)商后的相關(guān)密碼算法解密驗證來自游戲客戶端的監(jiān)測結(jié)果,對游戲客戶端的監(jiān)測結(jié)果進(jìn)行查詢匹配以識別客戶端是否在使用外掛。所述反外掛組件包括客戶端通訊模塊、客戶端加/解密及校驗?zāi)K、游戲客戶端進(jìn)程保護(hù)模塊、監(jiān)測模塊,所述反外掛組件負(fù)責(zé)保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入,以減少外掛的誤報率;負(fù)責(zé)主動監(jiān)測游戲客戶端游戲進(jìn)程、反外掛組件以及系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果加密后發(fā)送給游戲服務(wù)器。所述游戲服務(wù)器包括服務(wù)器端通訊模塊、服務(wù)器端加/解密及校驗?zāi)K、外掛查詢模塊、數(shù)據(jù)庫和數(shù)據(jù)庫管理模塊;所述游戲服務(wù)器通過服務(wù)器端加/解密及校驗?zāi)K對監(jiān)測結(jié)果解密后進(jìn)行驗證、并查詢匹配以識別游戲客戶端是否在使用外掛;接收來自反外掛組件的未知模塊樣本信息,并存儲到數(shù)據(jù)庫中。所述反外掛組件中
所述游戲客戶端進(jìn)程保護(hù)模塊用于保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入。所述游戲客戶端進(jìn)程保護(hù)模塊通過開發(fā)Windows驅(qū)動程序的方式獲得RingO級權(quán)限實(shí)現(xiàn)對游戲客戶端進(jìn)程的保護(hù),具體包括進(jìn)程句柄訪問保護(hù)、內(nèi)存讀寫保護(hù)、窗口句柄保護(hù)、消息保護(hù)、系統(tǒng)消息鉤子保護(hù)、遠(yuǎn)程線程注入保護(hù)、dll劫持保護(hù)、自dump句柄保護(hù)、app_init注入保護(hù)等。所述監(jiān)測模塊負(fù)責(zé)主動監(jiān)測客戶端游戲進(jìn)程、反外掛組件本身以及系統(tǒng)運(yùn)行環(huán)境的安全性,具體包括游戲客戶端進(jìn)程在內(nèi)存中裝載的模塊代碼的hash校驗值、系統(tǒng)加載的驅(qū)動模塊信息、Hook關(guān)鍵點(diǎn)及其相應(yīng)的驅(qū)動模塊列表信息。所述關(guān)鍵點(diǎn)指外掛常用的 Hook關(guān)鍵點(diǎn)和反外掛組件中使用的Hook點(diǎn)。所述驅(qū)動模塊列表信息指若干個驅(qū)動模塊,其中所述驅(qū)動模塊信息用模塊的MD5,大小,文件名來描述,可通過模塊的MD5和大小來唯一標(biāo)識。所述客戶端加/解密及校驗?zāi)K在監(jiān)測結(jié)果之后附上其消息認(rèn)證碼,并進(jìn)行加密;對外掛查詢結(jié)果進(jìn)行解密,完整性驗證。所述加/解密及校驗?zāi)K負(fù)責(zé)保障反外掛組件與游戲服務(wù)器之間的安全通信,其安全性主要通過密鑰種子的安全協(xié)商來保障。其中所述加/解密指采用對稱加/解密算法;所述消息認(rèn)證碼指利用對稱加密算法加密消息的摘要后得到的結(jié)果,可用來認(rèn)證消息是否被篡改過;所述對稱加/解密過程和消息碼生成過程中所使用的密鑰是通過種子密鑰分別衍生而來。所述加/解算法和消息認(rèn)證碼生成算法、 種子密鑰可在游戲客戶端登錄到服務(wù)器后使用簡化的SSL協(xié)議進(jìn)行安全協(xié)商。所述種子密鑰在一次游戲連接中至少更新一次。所述客戶端通訊模塊定時調(diào)用監(jiān)測模塊和加/解密及校驗?zāi)K,并將加密后的監(jiān)測結(jié)果發(fā)送給游戲服務(wù)器;接收來自游戲服務(wù)器的外掛查詢結(jié)果,調(diào)用加/解密及校驗?zāi)K進(jìn)行解密和完整性校驗,根據(jù)解密后的外掛查詢結(jié)果將未知的模塊樣本信息上傳到全局服務(wù)器。所述未知的模塊樣本信息包括模塊MD5、模塊樣本、樣本文件長度、在本地的存儲路徑、是否有簽名等;
所述游戲服務(wù)器中
所述服務(wù)器端通訊模塊接收來自反外掛組件的監(jiān)測結(jié)果,調(diào)用加/解密及校驗?zāi)K進(jìn)行解密和完整性校驗后,調(diào)用外掛查詢模塊,對解密后的監(jiān)測結(jié)果進(jìn)行外掛查詢;調(diào)用加/ 解密及校驗?zāi)K,將加密后的外掛查詢結(jié)果反饋給反外掛組件;接收來自反外掛組件的未知模塊樣本信息。所述服務(wù)器端加/解密及校驗?zāi)K對監(jiān)測結(jié)果進(jìn)行解密,完整性驗證;在外掛查詢結(jié)果之后附上其消息認(rèn)證碼,并進(jìn)行加密。所述外掛查詢模塊將解密后的監(jiān)測結(jié)果解析為多個驅(qū)動模塊信息和關(guān)鍵點(diǎn)信息,并將安全查詢請求發(fā)送給數(shù)據(jù)庫管理模塊;并依據(jù)反饋回的查詢結(jié)果,計算出游戲客戶端是否在使用外掛。所述游戲客戶端是否在使用外掛的查詢結(jié)果包括三種1)未使用外掛 游戲客戶端監(jiān)測結(jié)果中所有模塊和關(guān)鍵點(diǎn)都是安全的;2)在使用外掛游戲客戶端監(jiān)測結(jié)果中至少有一個模塊和關(guān)鍵點(diǎn)是不安全的;3)可能在使用外掛游戲客戶端監(jiān)測結(jié)果中除了有若干個模塊和關(guān)鍵點(diǎn)的信息是未知的,其他所有模塊和關(guān)鍵點(diǎn)都是安全的,此時需要求游戲客戶端上傳未知模塊的相關(guān)信息以便進(jìn)行進(jìn)一步的判斷。所述數(shù)據(jù)庫,包含兩個表格,分別用于存放驅(qū)動模塊信息和關(guān)鍵點(diǎn)信息。驅(qū)動模塊信息表中存儲系統(tǒng)加載的驅(qū)動模塊的MD5,大小和文件名,安全與否;關(guān)鍵點(diǎn)信息表中存儲關(guān)鍵點(diǎn)的索引號,驅(qū)動模塊的MD5,大小,文件名,安全與否。所述數(shù)據(jù)庫管理模塊根據(jù)來自外掛查詢模塊的安全查詢請求,與數(shù)據(jù)庫中的信息進(jìn)行匹配,判斷是否使用了外掛;將反外掛組件上傳的未知模塊信息添加到數(shù)據(jù)庫中。該實(shí)施例的主動反外掛方法適用于各類網(wǎng)絡(luò)游戲,該方法有機(jī)結(jié)合數(shù)據(jù)安全通訊技術(shù)和客戶端保護(hù)技術(shù),并與游戲過程綁定。所述反外掛方法中,網(wǎng)絡(luò)游戲分為游戲客戶端和游戲服務(wù)器兩個部分,游戲客戶端和游戲服務(wù)器之間通過通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。
所述游戲客戶端與所述游戲服務(wù)器之間利用數(shù)據(jù)安全通訊技術(shù)來保障通訊數(shù)據(jù)的安全性,其中所涉及到的安全相關(guān)參數(shù)和算法在游戲客戶端成功登錄后與游戲服務(wù)器安全協(xié)商。所述游戲客戶端游戲運(yùn)行后可保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入,且定時監(jiān)測游戲客戶端進(jìn)程和系統(tǒng)運(yùn)行環(huán)境的安全性并發(fā)給游戲服務(wù)器;所述游戲服務(wù)器驗證游戲客戶端的監(jiān)測結(jié)果以識別游戲客戶端是否在使用外掛。如圖2所示,適用于各類網(wǎng)絡(luò)游戲的主動反外掛方法,包括如下步驟
步驟一啟動游戲客戶端游戲并登錄到服務(wù)器,在成功登陸后與游戲服務(wù)器安全協(xié)商種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法;
上述步驟一中,所述游戲客戶端與游戲服務(wù)器的安全協(xié)商,是保障整個反外掛系統(tǒng)通信層面安全有效的核心部分,其重點(diǎn)是安全協(xié)商種子密鑰。步驟二游戲客戶端保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入;且定時監(jiān)測游戲客戶端進(jìn)程和系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果經(jīng)過安全處理后發(fā)給游戲服務(wù)器;
上述步驟二中,所述監(jiān)測游戲客戶端進(jìn)程的安全性是指獲取游戲客戶端進(jìn)程在內(nèi)存中裝載的模塊代碼的hash校驗值。上述步驟二中,所述監(jiān)測系統(tǒng)運(yùn)行環(huán)境的安全性是指獲取系統(tǒng)加載的驅(qū)動模塊信息、關(guān)鍵點(diǎn)所Hook的驅(qū)動模塊列表信息。所述關(guān)鍵點(diǎn),包括外掛程序常用的Hook關(guān)鍵點(diǎn)和游戲客戶端保護(hù)自身進(jìn)程不被簡單外掛注入時所使用的Hook點(diǎn)。上述步驟二中,所述安全處理是指利用步驟一中的消息認(rèn)證碼生成算法對指定的消息生成其消息認(rèn)證碼并附在原始消息之后,然后利用步驟一中的對稱加密算法進(jìn)行加密處理,再發(fā)給游戲服務(wù)器;
步驟三游戲服務(wù)器接收來自游戲客戶端的監(jiān)測結(jié)果,進(jìn)行解密后再對消息認(rèn)證碼進(jìn)行驗證。若連續(xù)3次以上消息認(rèn)證碼驗證都不通過,則認(rèn)為游戲客戶端在使用外掛;若消息認(rèn)證碼驗證通過,則將解密后的監(jiān)測結(jié)果與游戲服務(wù)器的標(biāo)本信息進(jìn)行匹配比較,從而判斷游戲客戶端是否在使用外掛;
上述步驟三中,所述游戲服務(wù)器的標(biāo)本信息,包括各種正常和異常的游戲客戶端進(jìn)程在內(nèi)存中裝載的模塊代碼的hash校驗值、驅(qū)動模塊的信息、關(guān)鍵點(diǎn)所Hook的驅(qū)動模塊列表 fn息ο步驟四游戲服務(wù)器將該外掛查詢結(jié)果經(jīng)過安全處理后,再反饋給游戲客戶端; 上述步驟四中,所述安全處理是指利用步驟一中的消息認(rèn)證碼生成算法對指定的消
息生成其消息認(rèn)證碼并附在原始消息之后,然后利用步驟一中的對稱加密算法進(jìn)行加密處理,再發(fā)給游戲客戶端;
若游戲服務(wù)器在固定時間間隔內(nèi)未收到游戲客戶端發(fā)送的監(jiān)測結(jié)果,則視為監(jiān)測超時,并斷開游戲客戶端與游戲服務(wù)器的連接,讓游戲玩家重新登錄。若連續(xù)超時3次以上, 則視為游戲客戶端在使用外掛;
若游戲客戶端在使用外掛,則游戲服務(wù)器需記錄當(dāng)前的游戲用戶ID和外掛監(jiān)測時間。進(jìn)一步地,為了防止游戲客戶端偽造通訊包,在游戲服務(wù)器與游戲客戶端進(jìn)行通信時,可采用包含時變參數(shù)的挑戰(zhàn)-應(yīng)答形式。上述步驟一中游戲服務(wù)器與游戲客戶端進(jìn)行通信時,可在發(fā)給游戲客戶端的數(shù)據(jù)包中增加Token ;游戲客戶端進(jìn)行應(yīng)答時,需要帶上相應(yīng)的Token的hash校驗值;服務(wù)端通過驗證接收到的數(shù)據(jù)包中Token的hash校驗值來判斷該數(shù)據(jù)包是否存在偽造。在上述步驟二中,游戲客戶端向游戲服務(wù)端發(fā)送監(jiān)測結(jié)果時, 需帶上Token的hash校驗值;在上述步驟三中,服務(wù)端在解密監(jiān)測結(jié)果之后驗證消息認(rèn)證碼前,需驗證Token是否和預(yù)期的一致,若不一致,則認(rèn)為游戲客戶端在使用外掛。
上述實(shí)例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā) 明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng),包括游戲服務(wù)器和游戲客戶端,游戲客戶端和游戲服務(wù)器之間通過通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,所述游戲客戶端為游戲玩家所操縱,其特征在于所述游戲客戶端安裝有網(wǎng)絡(luò)游戲運(yùn)行時加載的反外掛組件,所述游戲客戶端成功登錄后與游戲服務(wù)器進(jìn)行安全協(xié)商數(shù)據(jù)通訊使用的種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法,所述反外掛組件負(fù)責(zé)主動監(jiān)測網(wǎng)絡(luò)游戲客戶端,并將監(jiān)測結(jié)果通過安全協(xié)商后的對稱加密算法加密后發(fā)送給游戲服務(wù)器;所述游戲服務(wù)器安裝有服務(wù)端反外掛系統(tǒng),根據(jù)安全協(xié)商后的相關(guān)密碼算法解密驗證來自游戲客戶端的監(jiān)測結(jié)果,對游戲客戶端的監(jiān)測結(jié)果進(jìn)行查詢匹配以識別客戶端是否在使用外掛。
2.根據(jù)權(quán)利要求1所述的主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng),其特征在于所述反外掛組件包括客戶端通訊模塊、客戶端加/解密及校驗?zāi)K、游戲客戶端進(jìn)程保護(hù)模塊、監(jiān)測模塊,所述反外掛組件負(fù)責(zé)保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入;負(fù)責(zé)主動監(jiān)測游戲客戶端游戲進(jìn)程、反外掛組件以及系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果加密后發(fā)送給游戲服務(wù)器。
3.根據(jù)權(quán)利要求1所述的主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng),其特征在于所述游戲服務(wù)器包括服務(wù)器端通訊模塊、服務(wù)器端加/解密及校驗?zāi)K、外掛查詢模塊、數(shù)據(jù)庫和數(shù)據(jù)庫管理模塊;所述游戲服務(wù)器通過服務(wù)器端加/解密及校驗?zāi)K對監(jiān)測結(jié)果解密后進(jìn)行驗證、并查詢匹配以識別游戲客戶端是否在使用外掛;接收來自反外掛組件的未知模塊樣本信息, 并存儲到數(shù)據(jù)庫中。
4.一種網(wǎng)絡(luò)游戲系統(tǒng)反外掛方法,其特征在于所述方法包括以下步驟(1)啟動游戲客戶端并登錄到游戲服務(wù)器,在成功登陸后與游戲服務(wù)器安全協(xié)商種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法;(2)游戲客戶端啟動反外掛組件保護(hù)游戲客戶端進(jìn)程不被簡單外掛注入,且定時監(jiān)測游戲客戶端進(jìn)程和系統(tǒng)運(yùn)行環(huán)境的安全性,并將監(jiān)測結(jié)果經(jīng)過安全處理后發(fā)給游戲服務(wù)器;(3)游戲服務(wù)器接收來自游戲客戶端的監(jiān)測結(jié)果,進(jìn)行解密后再對消息認(rèn)證碼進(jìn)行驗證,并標(biāo)本信息進(jìn)行匹配比較來判斷游戲客戶端是否使用外掛。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法步驟(2)中所述反外掛組件通過獲取游戲客戶端進(jìn)程在內(nèi)存中裝載的模塊代碼的hash校驗值來監(jiān)測游戲客戶端進(jìn)程。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法步驟(2)中所述反外掛組件通過獲取系統(tǒng)加載的驅(qū)動模塊信息、常用外掛程序的HOOK關(guān)鍵點(diǎn)和游戲客戶端的預(yù)設(shè)HOOK點(diǎn)的驅(qū)動模塊列表信息來監(jiān)測系統(tǒng)運(yùn)行環(huán)境。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法步驟(2)中所述反外掛組件通過在監(jiān)測結(jié)果之后附上其消息認(rèn)證碼,并進(jìn)行加密來實(shí)現(xiàn)對監(jiān)測結(jié)果的安全處理。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法步驟(3)中若連續(xù)3次以上消息認(rèn)證碼驗證都不通過,則判斷游戲客戶端在使用外掛;若消息認(rèn)證碼驗證通過,則將解密后的監(jiān)測結(jié)果與游戲服務(wù)器的標(biāo)本信息進(jìn)行匹配比較,繼續(xù)判斷客戶端是否在使用外掛。
9.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法還包括游戲服務(wù)器在固定時間間隔內(nèi)未收到游戲客戶端發(fā)送的監(jiān)測結(jié)果,則視為監(jiān)測超時,并斷開游戲客戶端與游戲服務(wù)器的連接,讓游戲玩家重新登錄;若連續(xù)超時3次以上,則視為游戲客戶端在使用外掛。
10.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法游戲服務(wù)器與游戲客戶端進(jìn)行通信時,采用包含時變參數(shù)的挑戰(zhàn)-應(yīng)答形式。
全文摘要
本發(fā)明公開了一種主動反外掛的網(wǎng)絡(luò)游戲系統(tǒng)及其方法,所述系統(tǒng)包括游戲服務(wù)器和游戲客戶端,游戲客戶端和游戲服務(wù)器之間通過通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,所述游戲客戶端為游戲玩家所操縱,其特征在于所述游戲客戶端安裝有網(wǎng)絡(luò)游戲運(yùn)行時加載的反外掛組件,所述游戲客戶端成功登錄后與游戲服務(wù)器進(jìn)行安全協(xié)商數(shù)據(jù)通訊使用的種子密鑰、對稱加密算法和消息認(rèn)證碼生成算法,所述反外掛組件負(fù)責(zé)主動監(jiān)測網(wǎng)絡(luò)游戲客戶端,并將監(jiān)測結(jié)果通過安全協(xié)商后的對稱加密算法加密后發(fā)送給游戲服務(wù)器;所述游戲服務(wù)器安裝有服務(wù)端反外掛系統(tǒng),根據(jù)安全協(xié)商后的相關(guān)密碼算法解密驗證來自游戲客戶端的監(jiān)測結(jié)果,對游戲客戶端的監(jiān)測結(jié)果進(jìn)行查詢匹配以識別客戶端是否在使用外掛。該發(fā)明與游戲過程綁定,并有機(jī)結(jié)合數(shù)據(jù)安全通訊技術(shù)和客戶端保護(hù)技術(shù),能高效安全地防御各類外掛技術(shù)。
文檔編號H04L29/06GK102158367SQ20101059386
公開日2011年8月17日 申請日期2010年12月17日 優(yōu)先權(quán)日2010年12月17日
發(fā)明者余艷瑋, 周學(xué)海, 席菁, 李曦, 陳博 申請人:中國科學(xué)技術(shù)大學(xué)蘇州研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1