点击关注我的Telegram群组和微信公众号

MENU

Canvas Instructure考试监控日志分析以及简单反监控方法

2019 年 05 月 23 日 • 阅读: 6409 • 分享

Canvas Instructure是国外学校常用的管理系统,功能丰富。它本身Canvas-lms也是开源项目国内一些学校也开始使用它的Quizes功能来进行在线考试。Canvas有一项正在测试的功能Quiz Log可以记录学生考试时的行为操作,包括切换到其它标签页或窗口。

搭建Canvas测试平台

  • 打开Bitnami上的Canvas项目页面
  • 选择虚拟机版本下载format文件,或者选择Windows/Linux版本安装
  • 如果使用VMWare系统软件则可以直接打开format文件,打开后会直接自动创建一个新的虚拟机并导入系统和配置
  • 等待虚拟机开机完成,输入debian系统账号密码,均为bitnami
  • 输入完成后会显示出Canvas的平台信息,包括地址,管理员帐号和密码

Canvas平台信息

配置Canvas平台

  • 使用虚拟机中提供的管理员信息登陆Canvas后台,进入Admin → People → UserName LastName中选择Add People,填入相关信息。之后选择这个新增加的用户为其提供登陆信息,之后该用户就可以登陆了。

添加用户

  • 选择Courses → Add Course,创建课程后进入Setting → Feature Options,将Quiz Log Auditing启用就可以启用Quizes日志记录功能
  • 创建一个Quiz,这里创建了三个问题,正确答案均为A。为了对比anti-log的效果,将Quiz设为了可以多次提交。
  • 进入该课程的Poeple页面,添加人员,输入刚刚创建的用户名称邀请其成为这个课程的人员,分类为学生。

模拟两次Quiz

第一次,模拟正常情况

  • 使用刚刚创建的用户登陆,在首页能看到课程以及邀请信息。接受邀请,进入课程。

接受课程

  • 模拟一次考试情况。首先随机乱选了几次选项,随后切换到其它页面后挂机,超过30s,随后返回考试页面,修改答案为A,提交考试
  • 从管理员页面查看这次考试结果,页面中有View Log选项

考试结果

  • 在Log中我们看到了刚刚考试时我们做出的行为,包括更换选项,切出页面以及具体的时间

Quiz Log1

第二次,Anti-log

  • 和Google Analytics类似,Canvas使用JavaScript来追踪用户行为,所以反日志的核心方法是禁用考试页面的JS
  • 首先进入考试(需要先点Take the quiz否则在禁用JS的情况下Canvas禁止用户进入考试)

    • 对于Chrome,进入开发者工具(F12),快捷键Ctrl+Shift+P进入debug工具,输入disable JavaScript,这样就可以禁用JS了。Chrome设置中本来也有禁用JS的选项但使用那个入口会导致页面刷新,无法加载考试内容
    • 如果使用的是苹果的Safari,设置中的禁用JS可以直接使用不会刷新页面。但Safari中启用开发者模式来开关JS会方便很多

disable JS

  • 再次模拟考试,行为操作和第一次一致。在提交前可以看到由于JS被禁用,Canvas Quizes的自动保存、答题状态以及计时都无法正常使用。但是可以在禁用JS的情况下提交考试。

提交Quiz

  • 提交考试后再进入后台查看日志,可以看到只有记录到提交时间

Quiz Log2

总结

  • Canvas Quizes Log可以记录以下内容
  • 考试开始时间
  • 所有考试中选项更改选项以及答题速度
  • Stopped viewing the Canvas quiz-taking page
  • 这个是主要拿来判断的依据,它可以记录到考试时切出考试页面的行为、持续时间、返回时间
  • 但是如果页面静止超过30s(比如说长时间读题或思考)也会被记录成这一行为。所以他并不能成为100%判断答题者离开页面的依据,如果切出页面后超过30s才返回考试页面,从时间上也无法分析究竟是在思考还是切出了页面
  • 禁用JS可以有效避免Canvas日志追踪
  • 禁用JS需要保证页面不刷新,否则Canvas不会允许进入一些页面包括考题页面
  • 如要最高限度保证考试公正性,可以参考Canvas lms社区的文章:Quiz Settings to Maximize Security
  • 机器永远只能提供信息,做出判断的永远是“人”
  • 反作弊最有效的方法永远不是使用技术手段

2020/03/12更新

发现使用ctrl+F和Chrome插件进行翻译也会触发检测,但可以看出来使用搜索和翻译功能时被检测到的行为是“在同一秒内离开了页面并且回到了考试”,所以用“使用了搜索功能”就可以让看日志的老师无话可说,实际上这个更新对于反作弊挺糟糕的。具体内容请看图:
图

举一反三乃聪明之举

请不要随意地在这篇文章下留言“xxx是否会被检测到”,我的这篇文章已经详细描述了Canvas日志功能的使用范围及技术原理,你只需要有对浏览器和Javascript的基本了解就可以推理出绝大多数答案。自行获取知识并理解是一个很重要的学习技能。当我很长一段时间内没有回复你的评论,说明你的问题不具有代表性,仔细阅读文章即可找到答案。针对本文的情况,你至少需要明白Javascript内置于浏览器,它不是一个独立于浏览器以外的程序。

如果你的需求比较特殊,可以按照“搭建 Canvas 测试平台”部分的介绍自行搭建Canvas进行实验。

最后编辑于: 2020 年 06 月 28 日
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论

已有 76 条评论
  1. 贴吧暗部 贴吧暗部

    到此一游@(哈哈)

  2. 321 321

    路过膜拜

  3. y y

    如果在mac上使用lookup取词翻译不离开页面会被检测到吗

    1. @y不会,没有这种监测

    2. y y

      @Masterain卧槽你简直是我救命恩人,我要考西语哈哈哈哈哈!那能够正常使用lookup功能吗会不会被canvasblock掉?

    3. @y哈哈你这么提醒后我刚刚去试了下,ctrl+F和Chrome插件翻译都会被检测到,但检测内容还是“离开了网页”,具体情况是这一提示和“Resume”出现在同一秒,这应该是这几个版本更新的内容。具体你做了什么老师还是看不到的,要是真的被问到你就说ctrl+F吧hhhhh

    4. y y

      @Masterain我用的是三个手指在mac接触版按然后直接弹出来苹果自带的dictionary,能麻烦问问你会被检测到离开嘛?

    5. @y我不是MacOS用户所以不是很清楚你说的三指唤出字典是怎样的操作,但刚刚试了下三指打开其他程序或者新建桌面都会有一样的检测。因为这个检测方法是基于浏览器的JS权限,所以理论上离开了浏览器都是会被监测到的。如果不确定老师是否一定会看log的话,其实没必要太在意这个,毕竟一个个学生看log是个很麻烦的事情。即使看到了这个监测内容,但实际上还是没有直接证据,也不知道你切出去看了什么,所以找好理由就可以了。正如我在文末写的,反作弊关键不是看技术,反反作弊的关键点也不是技术问题。

    6. y y

      @Masterain嗯嗯谢谢你!最近因为疫情都改了online考试,本来还想钻个空子。现在以防万一还是好好复习好了!

    7. @y哈哈偶尔来一下老师根本注意不到的,祝你考试顺利~

  4. Jenny Jenny

    用split screen會顯示离开了网页嗎?

    1. @Jenny会,因为离开网页的检测不是基于工具而是JS代码,由浏览器本身识别用户行为,分屏的话当你鼠标点到了其它窗口就会被检测到

    2. Jenny Jenny

      @Masterain谢谢你! 还有超过30s读题不动也会显示离开网页吗?

    3. @Jenny是的,所以可以控制一下离开页面的时间

    4. Jenny Jenny

      @Masterain所以是30s后才离开页面 还是切出页面后超过30s才返回考试页面 那一个才分析不出来呢

  5. Ayasy Ayasy

    请问老师可以看到谁在什么时候下载他的页面上的文档吗?就是普通的写作业要求的页面,不是quiz页面。

    1. @Ayasy你是指诸如把某个作业导出为PDF这样的操作?那个是不会有问题,这个日志功能仅对quiz有效。但如果是在file中的文件,下载是有记录的。

  6. Lesssssismore Lesssssismore

    您好,想请问Canvas除了log activity还会有别的检测手段吗?我看有同学匿名说被发email判了cheating,还说canvas可以检测到你是否在new tab里面搜索答案,感觉有些骇人听闻……(我自己觉得像假消息

    1. @Lesssssismore目前没听说有其它检测。单这个log不可能判cheating的,因为这个log有缺陷(文中有谈)

    2. Lesssssismore Lesssssismore

      @Masterain好的 非常感谢!

    3. pi pi

      @Masterain如果在google页面答题,然后切换到safari,这样是可以监测到的嘛?

  7. gao gao

    能看到你用grammarly 改拼错的词吗

    1. @gaoGrammarly我没有测试,可以按照我文中的方法设立实验环境进行测试

    2. gao gao

      @Masterain不会搞 但是这个grammarly已经安装在Chrome里了 它会自动改错字 不知道老师能不能看到 希望博主能帮忙看看

    3. hu hu

      @gao我也想问grammarly最后会不会被判作弊啊,考试的时候忘关了

  8. professorcipher professorcipher

    可以用zoom 分享考试的屏幕吗?会不会被检测到屏幕正在被录制/截屏?
    如果不把Java Script关掉,使用zoom屏幕分享会被发现吗?还是要用zoom的话就必须要关掉JS?

    1. @professorcipher进程识别数据是系统级,JS数据只是浏览器级

    2. Clio Clio

      @Masterain意思就是不能检测到吗?

  9. Ryan Ryan

    请问如果说我被老师问到你为什么离开页面很多次 我可以说我是在阅读题,时间长吗???

    1. @Ryan当然可以,TA又不知道你是离开了页面还是在读题/发呆。但注意读我总结那部分有写注意事项。

    2. Ryan Ryan

      @Masterain好的谢谢您

    3. Xxck Xxck

      @Masterain博主我想问一下复制别的网页的东西 再粘贴到quzzie ,会被检测么

  10. xxxx3 xxxx3

    是只有在take quiz时才会被监屏嘛 点开canvas 例如交作业。submit pdf时 会被监屏嘛? 能否看到用别的app?

    1. @xxxx3只在quiz中有效

  11. OTc OTc

    打开电脑微信程序并截图会被检测吗?

    1. @OTcJS不是一个独立于浏览器以外的程序

  12. 说

    外接显示器会被检测到吗

    1. @说不会,但建议你了解一下“焦点窗口”

  13. YH YH

    想问下,在Chrome中打开canvas并使用fileshot的网页长图截图插件是否会被监控被截图操作?

    1. @YH请阅读“2020/03/12 更新”部分

  14. Nancy Nancy

    你好,请问下我去同学家里考试,ip地址一样会被查吗?

    1. @NancyIP地址的记录并不属于Canvas quiz log的功能范围内,教师端可以看到所有人的IP,也可以限制所有人开始考试时的IP地址(这一般是用于限制将所有学生安排在校内进行考试)

  15. 琅

    请问同时用两个设备接入quiz会被监测吗?

  16. LEE LEE

    请问开着canvas然后在电脑分屏开着Microsoft会被查到吗?

    1. @LEE不会,但建议你了解一下“焦点窗口”

    2. LEE LEE

      @Masterain谢谢您 ~

    3. LEE LEE

      @Masterain不好意思,刚刚去了解了焦点窗口了,还是有些看不懂 您的意思就是说 只要不离开canvas的页面,就算分屏开着Microsoft也不会查到对吗?

    4. @LEE当你的鼠标点击到了其它窗口,就意味着离开了浏览器窗口,JS即可识别到这一情况

    5. LEE LEE

      @Masterain不好意思,所以不点其他网络窗口,只点Microsoft app里面的文字,也会查到?~

    6. @LEE一切的判断都是判断指针是否离开了浏览器,而不取决于另一个窗口是什么

    7. LEE LEE

      @Masterain额,我可以简单的理解一下嘛~就开着分屏的canvas是不代表着离开了浏览器对吗?~不好意思 麻烦了

    8. @LEE是,你分屏开着什么都没有关系,只要你的鼠标不去点就不会被检测到

    9. LEE LEE

      @Masterain好的谢谢您~

  17. alllennnn alllennnn

    请问canvas quiz会查ip所在地吗?

  18. shy shy

    请问,如果同一账号两个设备不同时间进入quiz,在log上会有什么反映吗,比如进入了两次quiz?我尝试搭建测试平台,但是没有成功…我认为这个log的主要监测功能只是光标是否离开界面,但是这个问题我还是不太明白。我常用的设备可能出问题,备着另一台设备同时登录不知道行不行。

    1. @shylog中会记录第二次登录进考试为“session start”,只要是进入考试界面就一定会触发这个,可以理解为log开始工作的标志

    2. shy shy

      @Masterain明白了,所以就是在log中会记录两次“session start”?看来还是不要同时登录考试为好

    3. Gracie Gracie

      @Masterain你好,我先问下 iPad 和电脑同时登录时,老师端页面可以看到这两个不同的设备吗?万分感谢

  19. thoiwen thoiwen

    请问如果我在国内使用远程操控美国的电脑在canvas上考试,canvas会不会检测出我的电脑被远程操控 然后算我作弊啊。
    谢谢

  20. h h

    canvas会记录打字速度吗,比如一次性在输入框键入200个字符能检测得出来嘛

    1. @h不会,但可以推断

  21. Itttaali Itttaali

    你好,请问因为它只是网页级的,所以无法检测到远程控制软件的控制吗,没有其他办法能防止学生利用远程控制软件作弊嘛?

    1. kiko kiko

      @Itttaali您是否进行了操作?我这边测试似乎不会被检测到

    2. @Itttaali如果需要防远程桌面,可以使用Lockdown Browser,可以屏蔽远程桌面协议,封锁多屏和常见的直播/串流程序。当然还是有方法解掉的,但确实能大大增加作弊难度。

    3. moky moky

      @Masterain您的这种方需要学生端安装Lockdown Browser吗?普通的IE浏览器有没有方法呢

    4. @moky是专门为考试设计的浏览器

  22. Kris Kris

    请问如果电脑有复制屏幕,canvas可以监测到嘛

    1. @Kris超出浏览器可控制范围,不可以

  23. 小黑 小黑

    请问在答题框内复制大段文字会检测到吗?

    1. @小黑不会,但可以推理

    2. 小黑 小黑

      @Masterain请问推理指的是,在批改时可以看到答题框内曾经突然出现过大段文字,所以就算答题时大段文字很快被修改为正确答案,也能推理出这个答案是复制来的吗?

  24. 777 777

    你好,请问在批改完学生的试卷后,学生会立刻知道成绩吗?如果每道题里显示的是”仍未记分/10分这样“,但测验中显示整个测验分数是“0,满分 100 分 *”这样,是什么情况?

    1. @777可以不发布成绩,学生端看到是教师正在批改

  25. qqqq qqqq

    请问老师,如果用chrome 的print 功能保存quiz 的 pdf 这样会不会被检测到。然后就是如果用截图工具呢,比如微信截图。

    1. @qqqq离开了浏览器自然会被检测到。但如果是提交quiz后,到达显示结果的页面则不会,因为只有在考试中的那个页面启用了这项功能。

  26. ,, ,,

    如果用网易有道词典(开机自动开启),不是浏览器插件,鼠标划到哪词显示到哪,这个会被检测到嘛?