MENU

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

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

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

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

已有 17 条评论
  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中的文件,下载是有记录的。