现在,打印好的纸质二维码,可能也不安全了!
通过激光照射,攻击者在一百米开外就能分分钟实施篡改。
更可怕的是,这种激光用肉眼根本无法察觉,正常的二维码在无意之间就有可能变成恶意网站的入口。
最近,日本东海大学的研究人员开发出一种远距离、超隐蔽的二维码篡改方式。
被攻击后的二维码不仅在攻击过程中不可见,即使用肉眼看也和正常情况下没有任何区别
这样的攻击对于普通用户和设备而言,几乎无法预防
那么,科研人员是如何在不引人注意的情况下进行“偷天换日”的呢?
若要阐述此问题,我们需先了解二维码扫描的基本原理
(本文中的“二维码”均是指我们最常见的QR型二维码)
通常我们看到的二维码由定位点、格式及掩码信息区、信息区和纠错区构成
以下图中的2(尺寸)M(纠错等级)型二维码为例,它由25×25个格点组成,其中左上、左下、右下的7×7区域为定位点。
图中的D1~D28以及E1~E16分别代表数据和纠错字段,而蓝色区域则是格式和掩码信息的区域
其中数据字段是由原始文本先经过分组,然后用一定的处理方式转换为二进制字符串,在二维码中用黑色和白色分别表示1和0。
纠错字段,顾名思义就是为了避免在生成和扫描过程中产生误差而设计的,它由数据字段根据里德-所罗门算法生成,根据纠错等级的不同长度也有所区别。
格式和掩码信息区存储了二维码的编码方式(从明文到二进制串)以及掩码操作
掩码是为了避免出现某些特定图案影响扫描结果,按照一定规律对原始点阵进行的变换操作,操作方式存储在了掩码信息区域。
读取过程则是先捕捉定位点,然后对图像进行校正和降噪处理,接着判断格式及掩码区的位置并读取,以获知数据字段的解码方式。
本实验中,研究者通过逐步覆盖二维码信息的方法,构造出一个介于两个二维码之间的混合中间体。
这个中间体包含了一个关键色块,它的颜色决定了真正被读取出的二维码究竟是哪一个。
科学家们可以用肉眼看不见的激光照射这个颜色块,从而决定摄像头的识别结果
经过照射之后,虽然肉眼看不出区别,但在摄像头的视角下原本是黑色的模块就会被识别为白色。
下图比较了人眼和摄像头能够识别的波长范围:在低光环境中,人眼几乎无法识别超过600纳米的光线,即使在明亮的环境中,也无法看到超过700纳米的光线
而摄像头在700纳米的波长下依然有50%以上的捕捉率。
在这个实验中,研究人员使用了10毫瓦的635纳米(红色可见光)和785纳米(红外线)的光,分别在不同距离对二维码进行了照射
这里的0~50米是实际距离,而100米的距离是通过镜面反射实现的
结果显示,在10~40米处,两种波长的光都能成功将二维码指向的链接改成虚假网址;
在50米处,可见光处理的二维码出现了两个网址都能扫出的现象,但红外光依然能成功篡改;
在距离100米的位置,两种波长的光线照射后,二维码的显示结果交替出现
未来,研究者还计划把攻击距离增加到1公里。
不过,这个实验中需要使用透镜对激光进行聚焦,进而确定篡改信息点的位置。
如果光路中的气流扰动比较明显,则会对这一过程产生影响,因此长距离攻击存在更多不确定因素。
只要时不时扰动二维码面前的气流,激光就找不到位置了,这也是为了防御这种攻击所提供的可能
有些网友开玩笑说,在二维码前面扇扇子,把激光“赶走”可能更有效
在论文中,作者提到了除了通过气流扰动的方式之外,二维码拥有者还可以使用防篡改材料来避免被攻击
有一些案例是通过篡改二维码或者用激光照射交通标志来干扰自动驾驶系统
这种激光同样是肉眼不可见,但可以被摄像头识别,从而造成误导。
相关研究表明,在室内环境下,这种攻击对停车标志和限速标志的攻击成功率几乎是百分之百。
论文地址(日语):http://id.nii.ac.jp/1001/00228597/
以上是纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口的详细内容。更多信息请关注PHP中文网其他相关文章!