考试系统防作弊功能的实现
第2卷第2期
2010年3月
JOURNAL
南
OF
阳理
NANYANG
工
学
院
学
OF
报
TECHNOLOGY
V61.2No.2Mar.2010
INSTITUTE
文章编号:1674—5132(2010)02—0021—03
考试系统防作弊功能的实现
郭东恩,贾满磊,王绪宛
(南阳理T学院软件学院河南南阳473004)
摘要:本文分析了考试系统中考生可用的作弊手段和防止作弊的具体方法及崎点,使用钩子技术、包过滤技术、
APl调用技术、消息拦截技术、回调技术和随机组卷技术,有效阻止利用网络进行作弊、U盘接入电脑作弊、偷看、使用考试禁用的软件作弊、替考等作弊手段,同时给出了具体实现的关键代码。关键词:考试系统;作弊;钩子技术;包过滤技术;随机组卷中图分类号:TP316
文献标识码:A
通过偷看旁边考生答案作弊实际上在传统考试
0前言
随着计算机网络、多媒体、数据库和现代教育测量技术的飞速发展,传统考试方式的诸多弊端显得越来越突出,教育现代化和信息化已成为现代教育发展的一个重要方向,而无纸化考试系统是深化教学改革,减少教师工作量,提高效率,节约资源,使考试更加公平、公正的重要平台,同时有效推进学校的教学创新…。在线考试系统在国内外已经有了较为广泛的应用,在线考试作弊跟传统笔试作弊有很大区别,具有很强的隐蔽性。如何有效的防止学生作弊,保证考试的公平、公正,是考试系统要解决的一个关键问题口。41,也是国内外多数考试系统尚未完全解决的难题。
通过对考试过程的分析,利用考试系统进行考试时,考生作弊的方法有如下几种情况:网络作弊(包括网络共享、搜索引擎搜索答案、QQ等网络通信工具等),U盘接人电脑作弊,通过屏幕偷看旁边考生答案作弊,打开考试禁用的软件作弊,替考等"]。考试系统中要有效防止考生作弊,必须解决这几个问题。
中也很难有效预防,而在考试系统中,计算机之间距离更近,再加上有机器的阻隔,对监考有一定的影响,这种作弊手段更难预防。预防偷看作弊最有效的方法就是使用随机组卷策略,从大量题库中随机抽取试题组成试卷,让每个考生试题不同,或者试题顺序不同,即使考生偷看也找不到需要的内容。
替考有两种情况,第一是找外班的人冒名顶替到考场参加考试,第二是考生做完自己考题后顶替别人再做一次。通过预先保存考生电子照片,考试时在做题窗口显示考生电子照片预防替考,通过系统中设置最迟入场时间,超过时间自动禁止考试防止考生替考。
网络作弊实际上是通过网络进行信息传输和通信实现作弊,主要包含网络文件共享、搜索引擎、QQ和飞鸽传书等几种情况,想有效防止网络作弊,只需监视本机网络通信情况,使用包过滤技术对本机数据包进行分析、过滤,提取源地址与目的地址,只保留本机和考试服务器之间的数据包,抛弃含有非法地址的数据,从而阻止网络作弊行为H加一71。
接入U盘作弊实际上是在考试过程中利用u盘实现考生之间答案的传递,或者利用u盘传递考试有关的内容进行作弊。要预防接人U盘作弊,可利用Windows提供的API函数、底层钩子技术及回调技术,禁用U盘驱动,禁用设备管理器、任务管理器,防止考生重新启动U盘驱动¨芦1。
下面主要对网络作弊、U盘和非法程序作弊的预防做详细的描述。
l考试系统中常用的作弊手段和预防
原理
考生使用考试系统进行考试时,最为常见的作弊手段有:偷看,替考,网络作弊,接入U盘作弊,打开禁用的软件作弊等。
作者简介:郭东恩(1978一),男,硕士,讲师,软件设计师,主要研究方向:软件工程和数据挖掘。E・mmn:gden..2008@126.corn
万方数据
南阳理T学院学报第2卷
2利用包过滤技术防止网络作弊
为了考查考生实际动手能力,在大多数情况下,应允许考生打开资源管理器和必需的程序,这样就存在利用网络作弊的可能性。因此,一开始考试就要监视本机网络通信情况。凡是本机与考试服务器问的数据包通信,不管是采用哪种端口、哪种协议,均视为合法,而本机与非考试服务器的通信一律视为非法。这样,只要通过监视程序提取本机数据包的源地址、目的地址,利用包过滤技术抛弃含有非法地址的数据包,即可阻止利用网络进行作弊¨一¨。
2.1
数据包的获取与过滤原理
利用操作系统提供的API,在用户层下实现对
网络数据包拦截,是一个简单易行的方法。基本思路是:首先获取本机所有IP地址(多网卡情况下有多个);创建一个接口,默认所有进出包都阻塞;然后把该接口绑定到本机IP地址;接着添加访问规则,要放行某IP的数据包,必须添加该IP入和出规则,即对该IP数据包进行放行处理;然后实施拦截,只要规则添加成功,调用程序时使用相应规则进行过滤,即可屏蔽相应网络访问;退出程序时移除过滤规则,取消绑定接口,删除接口。2.2主要代码
(1)初始化,获得本机IP
WSAStartup(wVersionRequested,&wsaData);//
WSAStartup的功能是初始化Winsock.DLL
if(gethostname(hostName,128)!=0)//获取主机名api函数,值返回给hostName字符变量
localHost
2
gethostbyname(hostName);//根据
主机名hostName获取IP地址
WSACleanup();//WSACleanup解除与Socket库的绑定并且释放Socket库所占用的系统资源
for(;localHost!=NULL&&localHost一>h—addr
—list[10cal—ips—count]!=NULL;local—ips—count+
+);
//循环统计本机IP地址个数
this・>local—ips=(DWORD牛)malloc(sizeof
(DWORD)・local—ips_count);I/分配IP存储空间
for(inti=0;i<local—ips—count;i++)
{
struct
in—addr木addr=(structin—addr宰)
localHost->h_addr—list[i];
memcpy(&this->local—ips[i],&ip,sizeof
(DWORD));//c语言内存拷贝函数,把分配的IP拷人内存
万方数据
}
(2)创建接口
r=PfCreateInterface(0,PF—ACTION—DROP,PF—ACTION—DROP,FALSE,FALSE,&drop);
//firewallapi函数,默认全部阻塞,第2和3个参数,表示出、人默认规则为禁止
(3)绑定需要网络包过滤的IP地址到接口
for(inti=0;i<this一>local—ips—count;i++){int
errorCode=PfBindInterfaceTolPAddress
(drop,PF—IPV4,(BYTE牛)&src—ip);//绑定需要
网络包过滤的IP地址
}
(4)添加、删除访问规则
for(vector<DWORD>::iteratorit=filters.>be.
gin();it<filters一>end();it++)//vector是一模板类,处理dword数据的迭代器
{
if(tmp==dst—addr—dword)//in果规则库中
已有此目的地址规则,返回
}
filters一>push—back(dst—addr—dword);//加入规
则库
fih.SrcAddr=(PBYTE)&src—ip;//来源IP
地址
flit.SrcMask=(PBYTE)&addr—mask;//来
源的所有子网掩码
r=inet—addr(dst—addr,&dst—ip);//获得
目标IP地址
fih.DstAddr=(PBYTE)&dst—ip;//目标
IP地址
fih.DstMask:(PBYTE)&addr—mask;II目
标地址所有子网掩码
r:PfAddFihersToInterface(drop,0,NULL,
1,&flit,NULL);//添加出站规则
r=PfAddFihersToInterface(drop,l,&flit,0,
NULL,NULL);//入站规则添加只需设置不同参数
即可
//出站规则移除和人站规则移除只需要调
用该函数时传递不同参数即可
该功能模块生成一个动态链接库文件,在考试端软件中进行调用,通过考试端传递考试服务器IP给该模块,实现对考试服务器之外的其他网络资源进行屏蔽。通过多次考试验证,该方法在保证性能的基础上真正实现了网络作弊的预防。
3屏蔽U盘和非法程序
Windows系统是建立在事件驱动机制基础上
第2期
郭东恩等:考试系统防作弊功能的实现
・23・
的,即整个系统都是通过消息的传递来实现的。钩子函数是Windows操作系统中非常重要的系统接口,用钩子程序可以监视Windows自身系统和进程中的各种事件消息,截获并处理送给其他进程。这样就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,截获U盘等存储设备的接入和其它非法程序的运行等。一般选用类型为WH—SHELL的钩子监视系统进程,若发现有非法程序运行(比如接入U盘),则记录其违规行为,并强制关闭该程序,达到监视目的。程序的屏蔽通过回调函数实现”。1
o
3.1实现系统监视的主要步骤和核心代码
动态链接库部分:先采用“PUBLIC—MEMORY”定义共享内存标志,产生在监控系统里共享的内存,把钩子保存到共享内存里。同时要定义共享的数据结构,保存钩子的句柄等信息。在独立的监控方式中,可使用GetWindowLong(Application>Handle,
GWL—EXSTYLE)1wS—EX—TOOLWINDOW)让程序
“隐身”,防止被考生强制退出。主要监控过程及代
码如下:
(1)先实行动态链接部分,定义共享内存标志和数据结构
(2)确定在监控系统里共享的内存,把h—Th-isHook保存到共享内存里
(3)若是独立的监控需要隐身,监控功能直接放在考试系统中则无必要
SetWindowLong(Application)Handle,GWL—EX—STYLE,GetWindowLong(Application)Handle,GWL—
EXSTYLE)lWS—EX—TOOLWINDOW);
Application)Run();
(4)安装钩子MyHook)InitFuncs();
(5)收集作弊证据并发送给服务器违规资料if(!ValidAppCheck(hWnd,szWinClass,szWin—Caption))//调用ValidAppchecks=DateTime+
“关闭禁用程序”;
(6)判断是否允许运行某类程序,用类名及标题名读取白名单,发现违法程序,关闭。
3.2屏蔽某些应用程序
假如考试中不允许考生使用Word、Powerpoint等软件,需要将标题含有“MicrosoftWord”或“Mi.
crosoft
Powerpoint”等字样的进程关闭。先定义枚举
窗体的回调函数,在回调函数中将标题含有指定名称的进程关闭。
万方数据
回调函数代码如下:
GetWindowText(hnd,wName,32);
IfPos(’MicrosoftWord,’wName)>=lthen
PostMessage(Hnd,WM—Close,0,0);
调用回调函数以关闭含有特定标题的应用程序,代码如下:
EnumWindows(@EnumWindowsProc,0);
该功能模块建成一个动态链接库文件,可以在考试管理端设置每场考试禁用的软件和资源类型,考生考试时,读取设置信息传递给该模块,实现相应资源和软件的禁用。为防止考生结束进程,屏蔽任务管理器,设置该进程不能手动结束,真正保证了U盘和其他程序资源的禁用。
4结束语
一个真正实用的无纸化考试系统已不是一个简单的信息管理系统,也不可能用简单的编程技术来实现,它必须深入地了解操作系统的内核,并充分应用这些系统内核技术以实现真正的预防作弊,让考试公平、公正,真正体现每个考生的实际水平。文章结合包过滤技术、API调用技术、消息拦截技术、回调技术、钩子技术,提供了一套解决无纸化考试系统中防止考生作弊问题的可行方案。经过多年运行测试,证明以上技术安全、可靠、有效。
参考文献
[1]谭汉松,侯水英.基于局域网的通用考试系统的设计与
开发[J].中南工业大学学报(自然科学版),2001,31
(4):47—48.
[2]武伟,魏晓.在线考试作弊防御方法的设计与实现[J].
上海应用技术学院学报,2006,6(1):49—51.
[3]田民格.无纸化考试系统防止考生作弊的实现措施
[J].三明学院学报,2007,24(4)1456—459.
[4]胡开明.陈建华.基于Delphi的网络监考系统设计[J】.
计算机与数字工程。2009,37(4):94—97.
[5]田民格.局域网考试系统要处理的关键技术[J].福建
电脑,2006(3):165—166.
[6]张新林.计算机辅助测验中基于消息监控与包过滤技
术的监考方法[J].计算机科学,2008,35(3):289
—291.
[7]陈少辉,张艳宁,刘艳玲.基于封包截获技术的个人防
火墙核心驱动技术[J].计算机工程,2007(6):123
一125.
(下转第30页)
・30・
南阳理T学院学报第2卷
APPLICATIoNoF3STECHNIQUEIN
UPDATINGEARTHUTILIZATIoNINVESTIGATIoN
YUShu-jun,DUXiao—ming
(NanyangInstituteofTechnology,Nanyang473004,China)
Abstract:Thedynamicearthobservationlandusing.3S
integration
are
system
consistedof3S—integrationprovides
in
a
solidtechnical
in
support
forupdated
survey
of
technologyisapplied
updatedsurvey
ofland
usingYuganCounty
Jiangxibyrationaltechnical
proces-
se¥,thekeyproblems
solvedintheimplementationprocess,andthe
are
projectiscompletedefficientlyandaccurately.Eventually,
a
obtainedaehievementanddatabase
coincidentwiththatobtainedon—site.Thisprovides
process
basisfordynamic
management
ofland.
Keywords:3S・Integration;Landusing;Updatingsurvey;Technical
(上接第23页)
THESoLUTIoNTOPREVENT
EXAMINEFRoM
CHEATlNGoF
PAPERLESSEXAMINATloNSYSTEM
GUODong—en,JIAMan・lei。WANGXu-wan,
(SchoolofSoftware,NanyangInstituteofTechnology,Nanyang473004,China)
Abstract:How
tocheatinexaminations
on
computer
andthemeasure
to
prevent
studentsfromcheating
messages
ai'e
analyzed。Thekeyboard
hook,packagefilterback.random
en
technology,thetechnologyofcallingAPI,headingoffofthe
testpaper
are
transferred
snnle
to
windowbyWindows,call。
are
generating
introducedtoprevent
studentsfromcheating.Atthetime,thekeyspecificcodes
giV・
in
the
paper.
Keywords:Examinationsystem;Cheating;Hook
technology;Packagefiltertechnology;Random
generating
test
paper
万方数据
考试系统防作弊功能的实现
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
郭东恩, 贾满磊, 王绪宛, GUO Dong-en, JIA Man-lei, WANG Xu-wan南阳理工学院软件学院,河南,南阳,473004南阳理工学院学报
JOURNAL OF NANYANG INSTITUTE OF TECHNOLOGY2010,02(2)1次
参考文献(7条)
1. 谭汉松;侯水英 基于局域网的通用考试系统的设计与开发[期刊论文]-中南工业大学学报(自然科学版) 2001(04)2. 武伟;魏晓 在线考试作弊防御方法的设计与实现[期刊论文]-上海应用技术学院学报 2006(01)3. 田民格 无纸化考试系统防止考生作弊的实现措施[期刊论文]-三明学院学报 2007(04)4. 胡开明;陈建华 基于Delphi 的网络监考系统设计[期刊论文]-计算机与数字工程 2009(04)5. 田民格 局域网考试系统要处理的关键技术[期刊论文]-福建电脑 2006(03)
6. 张新林 计算机辅助测验中基于消息监控与包过滤技术的监考方法[期刊论文]-计算机科学 2008(03)7. 陈少辉;张艳宁;刘艳玲 基于封包截获技术的个人防火墙核心驱动技术[期刊论文]-计算机工程 2007(06)
本文读者也读过(10条)
1. 徐巧枝. 刘东升. XU Qiao-zhi. LIU Dong-sheng 网络考试防作弊系统的研究与设计[期刊论文]-计算机教育2010(5)
2. 王鹏鸣 计算机考试系统安全性能的改进[期刊论文]-科技风2010(13)
3. 游新娥. YOU Xin-E 基于校园网的考试系统双向身份认证方案设计[期刊论文]-计算机系统应用2010,19(4)4. 张艳军. ZHANG Yan-jun 基于ASP.NET在线考试系统防作弊策略[期刊论文]-电脑知识与技术2010,06(33)5. 曹春萍. 胡德敏. CAO Chun-ping. HU De-min 基于MVC设计模式的Web考试系统的设计[期刊论文]-上海理工大学学报2005,27(5)
6. 郭东恩. 潘力 多学科通用考试系统的设计与实现[期刊论文]-电脑开发与应用2010,23(10)
7. 索昱. 马季骕. SUO Yu. MA Ji-su 基于MVC的考试系统中STRUTS框架的研究[期刊论文]-内蒙古师范大学学报(自然科学汉文版)2009,38(2)
8. 郑宗良 基于B/S模式的多学科考试系统的设计与实现[期刊论文]-电脑知识与技术2010,06(23)9. 陈倩. CHEN Qian 基于XML和自动组卷技术的自动考试系统[期刊论文]-东莞理工学院学报2011,18(1)10. 张天珍. 苗强. 李华良 计算机考试系统设计与实现[期刊论文]-科技资讯2008(12)
引证文献(1条)
1. 刘持标. 吴俊. 张鸣华. 陆永东. 陈斌. 黄保敬. 吴宝发 智能化网络考试监控系统开发[期刊论文]-网络安全技术与应用 2013(7)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_nylgxyxb201002006.aspx