现在,打印好的纸质二维码,可能也不安全了!
通过激光照射,攻击者在一百米开外就能分分钟实施篡改。
更可怕的是,这种激光用肉眼根本无法察觉,正常的二维码在无意之间就有可能变成恶意网站的入口。
最近,日本东海大学的研究人员开发出一种远距离、超隐蔽的二维码篡改方式。
不仅攻击过程不可见,被攻击后的二维码用肉眼看也和正常情况没有任何区别。
对普通用户和设备来说,这种攻击几乎无法防范。
那么,研究人员是如何在无形之中“偷天换日”的呢?
激光照射改变信息点“颜色”
要想解释这个问题,我们需要先了解一下二维码识读的原理。
(本文中的“二维码”均是指我们最常见的 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 公里。
不过,这个实验中需要使用透镜对激光进行聚焦,进而确定篡改信息点的位置。
如果光路中的气流扰动比较明显,则会对这一过程产生影响,因此长距离攻击存在更多不确定因素。
也正是这一特点,为防御这种攻击提供了可能 —— 只要时不时扰动二维码面前的气流,激光就找不到位置了。
对此,有网友调侃到,不如在二维码前面扇扇子,把激光“赶走”。
除了气流扰动的方式,作者在论文中还提到,二维码拥有者可以使用防篡改材料来避免攻击。
One More Thing
除了篡改二维码,还有用激光照射交通标志从而干扰自动驾驶系统的案例。
这种激光同样是肉眼不可见,但可以被摄像头识别,从而造成误导。
相关研究表明,在室内环境下,这种攻击对停车标志和限速标志的攻击成功率几乎是百分之百。
论文地址(日语):
http://id.nii.ac.jp/1001/00228597/
本文来自微信公众号:量子位 (ID:QbitAI),作者:克雷西
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/738/432.htm]