李金峰,彭锦强,张凌,黄剑文
(惠州城市职业学院信息技术系,广东惠州516025)
学校的计算机实验室是重要的教学场所,在教学活动过程中,是禁止学生玩网络游戏的[1-2]。但是,由于不少学生的自控力较弱,教师课堂管理压力大等原因,学生在计算机实验室上课玩网络游戏的现象普遍存在[3]。研发智能识别游戏进程,禁止游戏软件启动或者关闭已启动的游戏软件的网络游戏监控软件,是禁止学生在计算机实验室上课期间玩游戏的有效措施[4-5]。
提出一种通过内存占用大小的比较来识别游戏进程的方法,该方法应用简单,对C/S架构的电脑游戏的识别准确率较高。
本项目的所有研究工作均在i7 7700 CPU,8GB RAM,win1064位操作系统的机器[6]上进行。
研究主要的方法为比较分析法。即通过对合法进程的内存(本文指专用工作集,Working Set-Private,下同)占用大小和游戏进程的内存占用大小进行对比分析,找出两类进程内存占用的差异。
具体来说,主要采用了W检验(Shapiro-Wilk检验)、差异性分析和区间估计等方法。其中,W检验是检是检验样本容量3≤n≤50时,样本是否符合正态分布的一种方法[7-8];差异性分析则用于分析游戏进程的内存占用大小与合法进程的内存占用大小是否存在显著性差异;而区间估计则是通过最大似然估计法对服从正态分布的随机变量X1(合法应用进程内存占用大小的值)和X2(游戏进程内存占用大小的值)的概率密度函数的参数进行估计。
获取进程占用内存的信息,主要的流程是:首先启动监控工具,然后依次启动表1中的软件,并且使用软件进行作业,监控工具自动扫描进程信息,将所需数据保存到数据库。
获取进程信息的核心代码如下:
这里采用T检验[9]来推断两个总体(合法应用的进程内存占用大小的值和游戏进程内存占用大小的值)的均值是否存在显著差异。T检验分为单总体检验和双总体检验。双总体t检验是检验两个样本平均数与其各自所代表的总体的差异是否显著。双总体t检验又分为两种情况,一是独立样本t检验,一是配对样本t检验。独立样本t检验统计量为:
这里采用最大似然估计法估计概率密度函数。由上文可知,两类进程占用内存大小的值均符合正态分布,概率密度函数的形式为:
待估计的参数为μ和σ2。
因此,θ=[θ1,θ2]T,θ1=μ,θ2=σ2.若X表示从总体中独立抽取的N个样本,则θ的似然函数为
解得均值和方差的估计量为:
根据采集的样本数据,将占用内存大小的单位设为MB,则对合法应用进程内存占用大小的均值估计为,方差估计为;对游戏进程内存占用大小的均值估计为,方差估计为。因此,可分别估计它们的概率密度函数为f(1x),f(2x):
本次研究将所有进程分为合法进程和游戏进程两大类,而两者的区分特征是进程内存占用大小的值,根据上文分析可认为两类进程占用内存大小的值都服从正态分布,且具有显著性差异。根据求得的概率密度函数[11-13],对某进程是合法进程的概率的计算和是游戏进程的概率的计算通过以下方法进行:
1)如果进程占用内存大小的值x0≤1,该进程是合法进程的概率为:
该进程是游戏进程的概率[14]为:
2)如果进程占用内存大小的值x0≥1,该进程是合法进程的概率为:
该进程是游戏进程的概率为:
根据上文所述,游戏进程识别的流程是:首先是扫描系统中的所有进程,将连续读取40次的进程占用内存大小的值取平均值,然后将进程内存占用大小的值[15-16]x按照上节所述方式计算概率,根据计算结果判断该进程是合法进程还是游戏进程。本节主要阐述如何进行概率计算。
设某进程内存占用大小的值为x0。如果x0<~μ1(合法进程内存占用大小的均值估计量,见上节),将x0分别代入式⑥和式⑦进行计算,然后比较计算结果,若p1(x<x0)>p2(x<x0),认为该进程为合法进程;若p1(x<x0)<p2(x<x0),则认为该进程为游戏进程。如果x0≥~μ1,将x0分别代入式⑧和式⑨进行计算,然后比较计算结果,若p1(x<x0)>p2(x<x0),认为该进程为合法进程;若p1(x<x0)<p2(x<x0),则认为该进程为游戏进程。
由式(6)、(7)、(8)和(9)可知,概率的计算是将一般正态分布转化成标准正态分布,然后通过查标准正态分布表求得结果。概率计算的C#实现代码如下:
分别在一份常用的应用软件清单和一份较流行的网络游戏清单中各随机抽取20个样本对本游戏进程识别方法进行测试(两份清单是通过对惠州城市职业学院的计算机实验室、计算机及相关专业的教师和在校学生的调查得到)。其中,对合法应用软件进程的识别测试结果如表2所示。
表2 合法进程识别测试情况表
误报为游戏进程的合法进程数即是被进程监控工具关闭的合法进程数。由表6可知,20款合法软件中,有3款被误判为游戏,因此,本次测试中,游戏进程误报率为15%。
进程监控工具一旦判断某进程为游戏进程,则将该进程关闭。由表7可知,20款测试的游戏中,有19款游戏被监控工具在180秒内识别并且关闭,有1款游戏未能被识别(被认为是合法应用)。
定义2(游戏进程识别准确率):
不同种类的食蚁兽,体形大小相差悬殊,小食蚁兽大小如松鼠,仅350克左右,而大食蚁兽可重达25千克。小食蚁兽完全树栖,并在高树上觅食;而大食蚁兽则是地栖者,栖息于潮湿的森林和沼泽地带,为昼行性动物。
本次测试中,游戏进程识别准确率为90%。
文中所介绍的基于进程内存占用大小的比较的游戏进程识别法,算法简单,对C/S架构的电引入机器学习的方法可以让基于进程内存占用大小的比较的游戏进程识别法适应更多的运行环境和提高游戏进程识别准确率。
参考文献:
[1]高大强,管群.非法进程监控的设计[J].现代计算机,2007(11):90-93.
[2]王磊,刘磊.教学机房游戏监测与控制系统[J].南昌高专学报,2005(2):96-98.
[3]李寅辉,李锡祚.一种游戏监控系统的设计与实现[J].信息技术,2006(11):24-26.
[4]张宝政.基于实时击键特征检测的游戏禁止算法研究[J].信息安全,2012(9):32-34.
[5]李晨,张功萱,岳宝玲,等.一种基于条件随机场的击键特征身份鉴别方法[J].计算机应用研究,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]钟明全,李焕洲,唐彰国,等.基于虚拟机技术的可疑文件自动检测系统[J].计算机应用,2010(12):3357-3362.
[8]邹维福,张翼英,张素香,等.基于特征行为分析的木马病毒检测技术的研究[J].电信科学,2014(11):105-109.
[9]林宏弘,伍传敏,张帅.基于OpenCV的Android体感游戏平台的设计与实现[J].三明学院学报,2013,30(6):26-30.
[10]张领科,董家强.弹道一致性评定中的样本顺次正态性检验[J].火炮发射与控制学报,2015(2):68-72.
[11]何清,王震坤.正态性检验方法在教学研究中的应用[J].高等理科教育,2014(4):18-21.
[12]姜旬恂.信息设计在新媒体展示空间中的识别性测试报告——《发明工坊1-重现蓝海之都光芒》游戏界面信息识别性测试[J].艺术科技,2013(7):383-384.
[13]徐峰,李党伟,邓心欢,等.基于体感的突围赛游戏设计和实现[J].吉林大学学报(信息科学版),2013,31(4):409-413.
[14]潘智刚,姚敏锋.基于语音识别的Android游戏应用[J].现代计算机,2015(5):36-39.
[15]王盛林.基于PHP的socket游戏服务器设计与实现[J].电子设计工程,2016,24(20):125-128.
[16]吴伟民,范炜锋,王志月,等.基于特征PE文件自动免杀策略[J].计算机工程,2016(12):118-121.