李金峰,彭錦強(qiáng),張凌,黃劍文
(惠州城市職業(yè)學(xué)院信息技術(shù)系,廣東惠州516025)
學(xué)校的計(jì)算機(jī)實(shí)驗(yàn)室是重要的教學(xué)場(chǎng)所,在教學(xué)活動(dòng)過程中,是禁止學(xué)生玩網(wǎng)絡(luò)游戲的[1-2]。但是,由于不少學(xué)生的自控力較弱,教師課堂管理壓力大等原因,學(xué)生在計(jì)算機(jī)實(shí)驗(yàn)室上課玩網(wǎng)絡(luò)游戲的現(xiàn)象普遍存在[3]。研發(fā)智能識(shí)別游戲進(jìn)程,禁止游戲軟件啟動(dòng)或者關(guān)閉已啟動(dòng)的游戲軟件的網(wǎng)絡(luò)游戲監(jiān)控軟件,是禁止學(xué)生在計(jì)算機(jī)實(shí)驗(yàn)室上課期間玩游戲的有效措施[4-5]。
提出一種通過內(nèi)存占用大小的比較來(lái)識(shí)別游戲進(jìn)程的方法,該方法應(yīng)用簡(jiǎn)單,對(duì)C/S架構(gòu)的電腦游戲的識(shí)別準(zhǔn)確率較高。
本項(xiàng)目的所有研究工作均在i7 7700 CPU,8GB RAM,win1064位操作系統(tǒng)的機(jī)器[6]上進(jìn)行。
研究主要的方法為比較分析法。即通過對(duì)合法進(jìn)程的內(nèi)存(本文指專用工作集,Working Set-Private,下同)占用大小和游戲進(jìn)程的內(nèi)存占用大小進(jìn)行對(duì)比分析,找出兩類進(jìn)程內(nèi)存占用的差異。
具體來(lái)說,主要采用了W檢驗(yàn)(Shapiro-Wilk檢驗(yàn))、差異性分析和區(qū)間估計(jì)等方法。其中,W檢驗(yàn)是檢是檢驗(yàn)樣本容量3≤n≤50時(shí),樣本是否符合正態(tài)分布的一種方法[7-8];差異性分析則用于分析游戲進(jìn)程的內(nèi)存占用大小與合法進(jìn)程的內(nèi)存占用大小是否存在顯著性差異;而區(qū)間估計(jì)則是通過最大似然估計(jì)法對(duì)服從正態(tài)分布的隨機(jī)變量X1(合法應(yīng)用進(jìn)程內(nèi)存占用大小的值)和X2(游戲進(jìn)程內(nèi)存占用大小的值)的概率密度函數(shù)的參數(shù)進(jìn)行估計(jì)。
獲取進(jìn)程占用內(nèi)存的信息,主要的流程是:首先啟動(dòng)監(jiān)控工具,然后依次啟動(dòng)表1中的軟件,并且使用軟件進(jìn)行作業(yè),監(jiān)控工具自動(dòng)掃描進(jìn)程信息,將所需數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。
獲取進(jìn)程信息的核心代碼如下:
這里采用T檢驗(yàn)[9]來(lái)推斷兩個(gè)總體(合法應(yīng)用的進(jìn)程內(nèi)存占用大小的值和游戲進(jìn)程內(nèi)存占用大小的值)的均值是否存在顯著差異。T檢驗(yàn)分為單總體檢驗(yàn)和雙總體檢驗(yàn)。雙總體t檢驗(yàn)是檢驗(yàn)兩個(gè)樣本平均數(shù)與其各自所代表的總體的差異是否顯著。雙總體t檢驗(yàn)又分為兩種情況,一是獨(dú)立樣本t檢驗(yàn),一是配對(duì)樣本t檢驗(yàn)。獨(dú)立樣本t檢驗(yàn)統(tǒng)計(jì)量為:
這里采用最大似然估計(jì)法估計(jì)概率密度函數(shù)。由上文可知,兩類進(jìn)程占用內(nèi)存大小的值均符合正態(tài)分布,概率密度函數(shù)的形式為:
待估計(jì)的參數(shù)為μ和σ2。
因此,θ=[θ1,θ2]T,θ1=μ,θ2=σ2.若X表示從總體中獨(dú)立抽取的N個(gè)樣本,則θ的似然函數(shù)為
解得均值和方差的估計(jì)量為:
根據(jù)采集的樣本數(shù)據(jù),將占用內(nèi)存大小的單位設(shè)為MB,則對(duì)合法應(yīng)用進(jìn)程內(nèi)存占用大小的均值估計(jì)為,方差估計(jì)為;對(duì)游戲進(jìn)程內(nèi)存占用大小的均值估計(jì)為,方差估計(jì)為。因此,可分別估計(jì)它們的概率密度函數(shù)為f(1x),f(2x):
本次研究將所有進(jìn)程分為合法進(jìn)程和游戲進(jìn)程兩大類,而兩者的區(qū)分特征是進(jìn)程內(nèi)存占用大小的值,根據(jù)上文分析可認(rèn)為兩類進(jìn)程占用內(nèi)存大小的值都服從正態(tài)分布,且具有顯著性差異。根據(jù)求得的概率密度函數(shù)[11-13],對(duì)某進(jìn)程是合法進(jìn)程的概率的計(jì)算和是游戲進(jìn)程的概率的計(jì)算通過以下方法進(jìn)行:
1)如果進(jìn)程占用內(nèi)存大小的值x0≤1,該進(jìn)程是合法進(jìn)程的概率為:
該進(jìn)程是游戲進(jìn)程的概率[14]為:
2)如果進(jìn)程占用內(nèi)存大小的值x0≥1,該進(jìn)程是合法進(jìn)程的概率為:
該進(jìn)程是游戲進(jìn)程的概率為:
根據(jù)上文所述,游戲進(jìn)程識(shí)別的流程是:首先是掃描系統(tǒng)中的所有進(jìn)程,將連續(xù)讀取40次的進(jìn)程占用內(nèi)存大小的值取平均值,然后將進(jìn)程內(nèi)存占用大小的值[15-16]x按照上節(jié)所述方式計(jì)算概率,根據(jù)計(jì)算結(jié)果判斷該進(jìn)程是合法進(jìn)程還是游戲進(jìn)程。本節(jié)主要闡述如何進(jìn)行概率計(jì)算。
設(shè)某進(jìn)程內(nèi)存占用大小的值為x0。如果x0<~μ1(合法進(jìn)程內(nèi)存占用大小的均值估計(jì)量,見上節(jié)),將x0分別代入式⑥和式⑦進(jìn)行計(jì)算,然后比較計(jì)算結(jié)果,若p1(x<x0)>p2(x<x0),認(rèn)為該進(jìn)程為合法進(jìn)程;若p1(x<x0)<p2(x<x0),則認(rèn)為該進(jìn)程為游戲進(jìn)程。如果x0≥~μ1,將x0分別代入式⑧和式⑨進(jìn)行計(jì)算,然后比較計(jì)算結(jié)果,若p1(x<x0)>p2(x<x0),認(rèn)為該進(jìn)程為合法進(jìn)程;若p1(x<x0)<p2(x<x0),則認(rèn)為該進(jìn)程為游戲進(jìn)程。
由式(6)、(7)、(8)和(9)可知,概率的計(jì)算是將一般正態(tài)分布轉(zhuǎn)化成標(biāo)準(zhǔn)正態(tài)分布,然后通過查標(biāo)準(zhǔn)正態(tài)分布表求得結(jié)果。概率計(jì)算的C#實(shí)現(xiàn)代碼如下:
分別在一份常用的應(yīng)用軟件清單和一份較流行的網(wǎng)絡(luò)游戲清單中各隨機(jī)抽取20個(gè)樣本對(duì)本游戲進(jìn)程識(shí)別方法進(jìn)行測(cè)試(兩份清單是通過對(duì)惠州城市職業(yè)學(xué)院的計(jì)算機(jī)實(shí)驗(yàn)室、計(jì)算機(jī)及相關(guān)專業(yè)的教師和在校學(xué)生的調(diào)查得到)。其中,對(duì)合法應(yīng)用軟件進(jìn)程的識(shí)別測(cè)試結(jié)果如表2所示。
表2 合法進(jìn)程識(shí)別測(cè)試情況表
誤報(bào)為游戲進(jìn)程的合法進(jìn)程數(shù)即是被進(jìn)程監(jiān)控工具關(guān)閉的合法進(jìn)程數(shù)。由表6可知,20款合法軟件中,有3款被誤判為游戲,因此,本次測(cè)試中,游戲進(jìn)程誤報(bào)率為15%。
進(jìn)程監(jiān)控工具一旦判斷某進(jìn)程為游戲進(jìn)程,則將該進(jìn)程關(guān)閉。由表7可知,20款測(cè)試的游戲中,有19款游戲被監(jiān)控工具在180秒內(nèi)識(shí)別并且關(guān)閉,有1款游戲未能被識(shí)別(被認(rèn)為是合法應(yīng)用)。
定義2(游戲進(jìn)程識(shí)別準(zhǔn)確率):
不同種類的食蟻獸,體形大小相差懸殊,小食蟻獸大小如松鼠,僅350克左右,而大食蟻獸可重達(dá)25千克。小食蟻獸完全樹棲,并在高樹上覓食;而大食蟻獸則是地棲者,棲息于潮濕的森林和沼澤地帶,為晝行性動(dòng)物。
本次測(cè)試中,游戲進(jìn)程識(shí)別準(zhǔn)確率為90%。
文中所介紹的基于進(jìn)程內(nèi)存占用大小的比較的游戲進(jìn)程識(shí)別法,算法簡(jiǎn)單,對(duì)C/S架構(gòu)的電引入機(jī)器學(xué)習(xí)的方法可以讓基于進(jìn)程內(nèi)存占用大小的比較的游戲進(jìn)程識(shí)別法適應(yīng)更多的運(yùn)行環(huán)境和提高游戲進(jìn)程識(shí)別準(zhǔn)確率。
參考文獻(xiàn):
[1]高大強(qiáng),管群.非法進(jìn)程監(jiān)控的設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2007(11):90-93.
[2]王磊,劉磊.教學(xué)機(jī)房游戲監(jiān)測(cè)與控制系統(tǒng)[J].南昌高專學(xué)報(bào),2005(2):96-98.
[3]李寅輝,李錫祚.一種游戲監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù),2006(11):24-26.
[4]張寶政.基于實(shí)時(shí)擊鍵特征檢測(cè)的游戲禁止算法研究[J].信息安全,2012(9):32-34.
[5]李晨,張功萱,岳寶玲,等.一種基于條件隨機(jī)場(chǎng)的擊鍵特征身份鑒別方法[J].計(jì)算機(jī)應(yīng)用研究,2014(7):2112-2115.
[6]Shanmugap R IYA D,Padmavathi G.An efficient feature selection technique for user authentication using keystroke dynamics[J].International Journal of Computer Science and Network Security,2011,11(10):191-195.
[7]鐘明全,李煥洲,唐彰國(guó),等.基于虛擬機(jī)技術(shù)的可疑文件自動(dòng)檢測(cè)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2010(12):3357-3362.
[8]鄒維福,張翼英,張素香,等.基于特征行為分析的木馬病毒檢測(cè)技術(shù)的研究[J].電信科學(xué),2014(11):105-109.
[9]林宏弘,伍傳敏,張帥.基于OpenCV的Android體感游戲平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].三明學(xué)院學(xué)報(bào),2013,30(6):26-30.
[10]張領(lǐng)科,董家強(qiáng).彈道一致性評(píng)定中的樣本順次正態(tài)性檢驗(yàn)[J].火炮發(fā)射與控制學(xué)報(bào),2015(2):68-72.
[11]何清,王震坤.正態(tài)性檢驗(yàn)方法在教學(xué)研究中的應(yīng)用[J].高等理科教育,2014(4):18-21.
[12]姜旬恂.信息設(shè)計(jì)在新媒體展示空間中的識(shí)別性測(cè)試報(bào)告——《發(fā)明工坊1-重現(xiàn)藍(lán)海之都光芒》游戲界面信息識(shí)別性測(cè)試[J].藝術(shù)科技,2013(7):383-384.
[13]徐峰,李黨偉,鄧心歡,等.基于體感的突圍賽游戲設(shè)計(jì)和實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2013,31(4):409-413.
[14]潘智剛,姚敏鋒.基于語(yǔ)音識(shí)別的Android游戲應(yīng)用[J].現(xiàn)代計(jì)算機(jī),2015(5):36-39.
[15]王盛林.基于PHP的socket游戲服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2016,24(20):125-128.
[16]吳偉民,范煒鋒,王志月,等.基于特征PE文件自動(dòng)免殺策略[J].計(jì)算機(jī)工程,2016(12):118-121.