文档章节

“黑客”通过2B铅笔注入阅卷系统

童年伊梦
 童年伊梦
发布于 2012/09/27 21:01
字数 4431
阅读 119
收藏 1

         今天我要给大家分享一篇我在豆瓣上看到的文章。通常我们理解的“黑客”都是跟网络沾边的,那你见过不用网络仅仅通过2B铅笔就能注入阅卷系统造成一定程度破坏的吗?当然这里的“黑客”加了引号,主要是指文章中的主人公“黑客”般的巨强逻辑思维分析能力。读完后真让人大呼过瘾,犹如看了一篇推理侦探小说一样,让人久久回味那精彩的推理过程。

       下面enjoy it!

----------------------------------------------------分割线--------------------------------------------------------

       今天,又是一年一度高考的日子。

       回想起16年前(1996年)……那是高中的一段艰苦岁月……

       几乎每天都要进行一场高考模拟测试,同学和老师们,都是叫苦不迭。

       那时候,用2B铅笔填涂答题卡的答卷方式,已经在高考中开始实施。教育主管部门和校方,为了“实战演练”考生们的临场技能,在模拟考试中,也实行了答题卡方式。

       那是一次全市范围的英语模拟考试,答题卡将被上交到市级考试中心机构,进行计算机阅卷处理。

       我早早地就做完了试题。闲着没事,就开始琢磨起这个“答题卡”来。

       直到现在,我还清楚地记得,在那张长方形答题卡上面的最右边,从上到下,几十个小黑块与空白相间排列。

         ( 插图)

      

       这一长条相间排列的小黑块与空白,是做什么用的呢?

       我的直觉告诉我:

       (1)当答题卡被送入电子阅卷设备之后,设备的接纳口,一定要比答题卡更宽一些。就像较小的豆子要通过较大口径的漏斗口,才能被漏斗收进去一样。如果设备的接纳口跟答题卡的宽度一样,那么难免会发生卡纸。

       (2)因为电子阅卷设备的接纳口,存在上述的冗余空间,又因为答题卡在被摆放和被传送的过程中,一定会出现“抖动”,那么,每张答题卡对于设备接纳口的位置,都是随机的。

       (3)因为答题卡相对于设备接纳口的位置是随机的,那么,接下来要让电子阅卷设备的读卷探头(一种指针),能够准确地识别答题卡上的填涂信息,就必然要有一种“定位机制”,使得读卷探头和答题卡的相对位置,是可以被精准测量的“偏移量”。

       (4)那么,观察现在手上的这张答题卡。在整张答题卡上,最有可能用来实现这种“定位机制”的,就应该是那一长条相间排列的小黑块与空白了。

       (5)之所以选用2B铅笔来填涂,是因为2B铅笔留下的石墨厚度,可以对电子阅卷设备所发出的信号(猜想是光信号)做出影响。也就是说,当石墨的厚度足以使其吸收光信号,而不是像白纸的空白处反射光信号而被设备俘获的时候,电子阅卷设备就知道该考生的答项是什么了。

       (6)那么,第(4)点中所假象的“定位机制”,应该同样也是利用光信号的被吸收和被反射来实现。这样的话,如果在那一长条相隔排列的小黑块之间的空白处,全部用2B铅笔涂满的话,石墨将与小黑块连为一体,成为一个黑色的整长条。如此一来,上述的“定位机制”就失效了。

       (7)当“定位机制”失效之后,答题卡相对于电子阅卷设备的位置,就永远是不确定的了,那么,电子阅卷设备将失效,它将无法判别考生的答项是什么了。

       就这么胡思乱想了一通之后,我开始动手把以上的设想付诸实施,就是用2B铅笔,把答题卡上面最右边的,相隔排列的小黑块之间的空白,全部涂黑。

       交卷。

       过了两天之后,我知道了结局:

       当我们这次模拟考试的答题卡,被送到市级考试中心之后,那里的电子阅卷设备彻底失灵。当次的所有答题卡全被绞成一团,险些全部废掉。后来不得不采用老师人工阅卷的方式,来批阅这些烂纸。电子阅卷中心的工作人员,排查了好久,最后终于发现,就是因为我这张“诡异”的答题卡,惹的祸。

       我们的英语老师,不可能理解我这个小孩儿能动那么多“鬼脑筋”,他认定我是在考试时“思想不集中”。他对我说:“以后不要再这样了……”

       同班同学,不论我跟他们怎么解释,这次事故是如何实现的,他们都始终听不懂。

       这样的事情,此后我再也没有做过,因为我已经亲自地充分验证了我的一次“白日梦”式的假想。

       我已经非常满足了。

       有一些网友认为,我在主帖里所讲述的故事,是“吹牛逼”、“编故事”、“骗傻子呢”、“这都信?”……

       他们的理由,是这么一个意思:按照我所讲述的做法,应该只有属于我自己的那唯一的一张答题卡,无法被设备正确判读,至于其他的答题卡,应该仍然能够被设备正确地处理,但我却说,在那次事件中,其他的答题卡也无法被正确处理且被报废,所以,认定我是在“吹牛逼”、“编故事”。

       我认为,上述这种质疑的理由,是非常合理的。甚至,这种理由所揭示的,对事件最终结局的判断,也在我的那次“白日梦”设想的范围之中 —— 我的设想是:让电子阅卷系统仅仅是无法判读我的答题卡。(我再重申一下:)至于最后让整批答题卡报废的结局,是出乎我意料之外的。甚至可以这么说,如果我能预估到,最终的结局是那样的话,那么,我肯定不会依旧我行我素地,去那样验证我的设想了。

       当1996年那次英语模拟考试结束两天之后,我知道了事件的结局的时候,我的心情是有一些复杂的:首先,我觉得有一些羞愧和忐忑,主要是因为担心我们无辜的英语老师,可能会被教育主管部门追究责任,甚至我们这所“省内名重点中学”也会由此而蒙羞。其次,虽然事件的结果超乎我的预料,令我有些讶异,但是很快,我不得不又做起“白日梦”,那就是,我必须进一步设想:在我的那张答题卡被送入电子阅卷设备之后,对该设备到底如何地发生了干扰。

       任何看似不和谐的结果,必须规整成为我所要求的“可以理喻”的体系中的一部分。没办法,这简直就是我的一种心病。

       下面讲述我的第二次“白日梦”。

       (1)将答题卡上面最右边的原本相隔排列的小黑块之间的空白,全部涂黑,按照我第一次“白日梦”的设想,将导致电子阅卷设备无法判读我的答题卡上的答项。然而,显然地,在这次事件中,我这样的做法,最终造成了对其他答题卡的影响。准确地说,是导致了设备无法正确处理其他答题卡。

       (2)上述第(1)点的结局性的事实得以成立,首先必须排除一种“极端情况”,那就是:本批次所有的其他的考生(也就是他们的答题卡与我的,是同一批被送入设备的),在他们各自的答题卡上,均做了跟我所做的同样的事情。这是一种“极端的极端情况”。还有一种“较弱的极端情况”: 在本批次中,只有部分考生,跟我同样地这么做了。现在,将“极端的极端情况”和“较弱的极端情况”统统排除,那就是,在本批次考生中,唯有我一人做了这样的事情。—— 这可以从事件发生之后,我所得到的关于事件结局的反馈信息,所揭示出来的事实,得到验证,那就是,阅卷中心的工作人员,最后排查所得的结论是:我的那张答题卡“惹的祸”。

       (3)显然,我的那张答题卡,是搅动全局的唯一因子。更具体和准确地说,是我的那张答题卡上的那诡异的一个“黑色的整长条”,是这个唯一因子。现在,根据官方的说法,我的那张答题卡所在的那一整批答题卡,都在电子阅卷设备中,遭到了破坏(被全部“绞纸”)。那么,这又延伸出来两种不同的情况:(i)官方的说法有一些报复性的夸张,而事实是在由整批答题卡所组成的序列中,只有以我的那张答题卡作为标杆的,单单某一侧的答题卡遭遇到了破坏;(ii)官方的说法严格符合事实,事实的确是整批答题卡遭遇到了破坏,也就是说,在我的那张答题卡的两侧(不会再有第二个维度了,即,不会在“前-后”维度之外再冒出一个“左-右”维度)的所有答题卡,均遭到了破坏。我现在选取第(ii)种情况来考虑整个问题,理由是,第(i)种情况基本上可以视为第(ii)种情况的一个真子集。当然,理论上还有第(iii)种情况,那是一种极端情况:我的那张答题卡,位于整批答题卡所组成的序列中的“端”位置(即顶端或末端)。其实,仔细想想,这第(iii)种情况,也可以被视为第(ii)种情况的一个真子集。综上,我只选取第(ii)种情况来进行我的“白日梦”。

       (4)上述第(3)点中的第(ii)种情况,换一种说法来表述,就是,我的那张答题卡,在整批答题卡所组成的序列中的位置,是随机的。如果把位置视为一个量,那么,这个量是随机量。现在的“梦境”是:随机量对整个序列产生了全局性的干扰。那么整个序列对于电子阅卷设备来说,是怎么样被呈现出来的呢?直观地看,整个序列的每一个元素,是按照前后顺序逐个经过电子设备的“探头”的可视范围中的,也就是说,电子设备不可能同时判读N张答题卡(N>1)。电子设备可以同时判读N张答题卡这种极端情况,以及一切类似的并行机制,在“梦境”中把它统统剔除。

       (5)上述“前后顺序”的现象,自然地将“时间”这个范畴引入。萨特((J-P. Sartre)的名著提醒我(只要书名就足够提醒我了)(※注 1),考虑到“时间”这个范畴的时候,应该联想到“存在”。“时间”和“存在”这两个范畴,总是习惯性地成对出现。我的“白日梦”已经处于胶着状态,我用简单一些的话来说吧:在“时间”序列上,能对整个序列产生搅动的因子,应该以“存在”这个属性来彰显。在本事件中,这种关系的表达是:答题卡上面最右边那些相隔排列的小黑块以及其间的空白,是整个序列中的一个“存在性标志”,而不再仅仅是某一张答题卡与电子设备“探头”关系下的“定位标志”。换句话说,电子设备透过俘获一张答题卡上面最右边那些相隔排列的小黑块以及其间的空白,来“感知”该张答题卡的存在。

       (6)如果某一张答题卡上面最右边那些相隔排列的小黑块以及其间的空白这个整体被破坏了,比如我把那些空白处全部涂黑,小黑块和空白所组成的信息将丧失,那么,即便电子阅卷设备里面,那个负责传送答题卡的装置(猜想是由对纸张粘滞度较高的定轴轮所组成的)将这样的答题卡,送入设备的“探头”处,因为该张答题卡已经丧失了对于“探头”所属于的“大脑”的存在性标志,那么“大脑”也认为“探头”下没有答题卡,于是,“大脑”向传输装置下达指令:重新传送答题卡。实际上,就是序列中的下一张答题卡被传送进来。

       (7)当电子阅卷设备的“大脑”对某张答题卡的存在与否的认知(即逻辑上的)与答题卡真实的存在与否的情况(即物理上的)发生矛盾的时候,接下来的事情,就将以混乱的形态呈现。当然,设备的“大脑”依旧是无法知道这种混乱的。比如说,我的那张答题卡,被滞留在判读容器(即“探头”所在的地方)里面,因为它“不存在”所以它也不会被传送出去而离开判读容器。它没有“滚蛋”(被吐出),它留在了这个狭促的地方。接着,序列中的下一张答题卡,被传送进这个狭促的地方。这个狭促的地方原本只应该放置一张答题卡,但是现在却有了两张,该怎么放?下一张答题卡完全有可能,被塞进了我的那张答题卡的下面的空间。因为这个地方十分狭促,而答题卡在经过上百分钟内的填涂、擦改、拿捏、汗水的浸渍,难免会发生翘曲,所以上述情况,并不是极端情况,而是几率约为50%的概率事件。当发生了这种情况的时候,第二张答题卡(以我的那张答题卡计为第一张),因为被第一张答题卡给覆盖住了,所以仍然被设备的“大脑”视为“不存在”,于是,第三张答题卡又被传送进来。举这样的例子,并不是要强调接下来的每张答题卡,都有可能被我的那张答题卡覆盖,而是揭示出:这么一种逻辑上的存在与真实的存在发生矛盾的现实,将导致整个系统的混乱程度呈爆炸性增长,不可预测的分支事件,将会越来越多、越来越复杂。当设备的传送装置,所进行的“传入-传出”行为(次数),不能准确符合真实的答题卡的数量的要求的时候,第(3)点中的第(ii)种情况,就完全可能出现,即整个序列都将遭到破坏 —— 包括那些已经被传出判读容器的答题卡,只要还在电子阅卷设备整个系统的可控范围之内,就有可能被“卷回”,参与到混乱现场的进程中来,为整个系统的混乱状态,增加更多不可预测的因素。

       综上所述,整批答题卡被全部绞纸,这在我的第二次“白日梦”中,是完全“可以理喻”的。这才平复了我在获悉事件结局之后,心中的纠结。

       当然,白日梦终归是白日梦,它或许离当时的真实情况相差很远,我也不会再去做什么“验证”的工作了。直到今天,我仍然完全不知道现实中的电子阅卷设备,究竟是如何工作的。这个设备,对于我来说,恐怕将是一个长期的“黑箱子”。

       在我于今年高考的日子,贴出了我的第一个“白日梦”被验证的故事之后,有来自全国范围内的网友的跟帖。其中,有的网友说,他/她也这么做了,而且结局和我的那次一样,即整批答题卡被“搞乱”。还有的网友说,他们学校提前跟考生打好招呼,不允许他们那么做,“看来有前车之鉴”。这么看来,我的那次事件,也绝对不是一个孤例。

       如果有人认为,这还不能成为对我的真人真事的一个佐证的话,那么,请查阅《维基百科》,关于“Optical Mark Recognition”这一条,网址是:

       http://en.wikipedia.org/wiki/Optical_Mark_Recognition ;

       其中“Disadvantages”这一节,是这么说的(原文摘录):

       There is also the possibility of missing data in the scanning process, and incorrectly or unnumbered pages can lead to their being scanned in the wrong order. Also, unless safeguards are in place, a page could be rescanned providing duplicate data and skewing the data (Bergeron, 1998).

       请特别注意,其中“unless safeguards are in place”这个条件状语,以及“incorrectly or unnumbered pages”、“the wrong order”、“rescanned”这些词,还有,这一类事件的报告年份,是1998年。

       整段英语原文,非常简单明晰,我就不翻译了。

© 著作权归作者所有

童年伊梦
粉丝 1
博文 29
码字总数 21736
作品 0
浦东
私信 提问
DFINITY:分布式API首创区块链神经中枢系统

转载自:区块链铅笔,原文链接:http://chainb.com/?P=Cont&id=5693 在区块链和加密数字货币的世界里,最令人深恶痛绝的罪行之一,就是盗币了。2014年2月,曾经全球交易量市场占有率最高的比...

admin
2017/09/12
0
0
20多万台MikroTik路由器被黑,用户被迫扛起锄头挖矿

  研究人员发现20 多万台MikroTik路由器被黑客接管,让用户不知不觉中为他们挖矿。   近日,安全研究人员发现了一场针对MikroTik路由器的大规模恶意劫持活动,利用Mikrotik企业路由器中的...

FreeBuf
2018/08/03
0
0
Python黑客攻击的几种技术,你得了解一下

前言 Python提供了丰富的模块,几乎可以直接用于任何黑客领域。对于黑客模块没有提供的区域,可以使用c类型调用操作系统提供的本机API。简而言之,Python可以用于攻击几乎任何领域,如应用程...

A_裙232550246
04/26
0
0
[图]揭秘全美第一黑客组织 Anonymous

本文关注的是世界著名的黑客组织Anonymous(匿名者)。“我将描述他们的攻击方法和方式的计划,但我们将聚焦更多关于他们使用武器或工具。”Anonymous这个词仅仅意味着没有名字或匿名身份,该...

oschina
2013/09/07
19.7K
20
这些安全类书籍,值得一读

双11临近,玄魂工作室 准备在 11月10,11,12 三天在微信订阅号,做些小活动。 活动期间会各种方式,为大家送出由我们自己编写的教程,合作伙伴提供的资料。 对外发放的教程和资料清单,会陆续...

zting科技
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Netdata:轻量级linux服务器的性能监控工具

https://github.com/netdata/netdata/ yum install zlib-devel gcc make git autoconf autogen guile-devel automake pkgconfig -y yum install libuuid-devel zlib-devel -y wget https://g......

perofu
26分钟前
5
0
java画图工具来添加水印

用Java代码给图片加水印 不多哔哔,直接上代码: /** * @param srcImgFile 原图片文件对象 * @param outFile 输出图片文件对象 * @param waterMarkConte...

嘻嘻哈哈的忧郁
29分钟前
2
0
支付宝开源非侵入式 Android 自动化测试工具 Soloπ

前言 近年来,随着移动互联网的蓬勃发展,移动测试技术也取得了长足的进步,从早期基于测试脚本的单机自动化,到录制回放、图像识别、云测平台等测试技术贴合实际业务需求深度应用和创新,测...

shzwork
30分钟前
7
0
p3d分红逻辑学习

每次p3d余额变动,就会计算profitPerShare: profitPerShare_ += (_dividends * magnitude / (tokenSupply_)); 我的分红余额: (profitPerShare * myTokenBalanceLedger) - myPayouts 举栗子......

wmzsonic
34分钟前
8
0
CentOS7救援模式

问题 很久没有使用的一台虚拟机,忘记了root密码,这里使用救援模式,对root密码重设密码。 步骤 关机,重新开机,选中对应对版本,按“e”: 按“e” 找到“linux16”行 替代"or"为“rw in...

亚林瓜子
37分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部