纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口

现在,打印好的纸质二维码,可能也不安全了!

通过激光照射,攻击者在一百米开外就能分分钟实施篡改。

更可怕的是,这种激光用肉眼根本无法察觉,正常的二维码在无意之间就有可能变成恶意网站的入口。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口

最近,日本东海大学的研究人员开发出一种远距离、超隐蔽的二维码篡改方式。

被攻击后的二维码不仅在攻击过程中不可见,即使用肉眼看也和正常情况下没有任何区别

这样的攻击对于普通用户和设备而言,几乎无法预防

那么,科研人员是如何在不引人注意的情况下进行“偷天换日”的呢?

激光照射改变信息点“颜色”

若要阐述此问题,我们需先了解二维码扫描的基本原理

(本文中的“二维码”均是指我们最常见的QR型二维码)

通常我们看到的二维码由定位点、格式及掩码信息区、信息区和纠错区构成

以下图中的2(尺寸)M(纠错等级)型二维码为例,它由25×25个格点组成,其中左上、左下、右下的7×7区域为定位点。

图中的D1~D28以及E1~E16分别代表数据和纠错字段,而蓝色区域则是格式和掩码信息的区域

纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口

其中数据字段是由原始文本先经过分组,然后用一定的处理方式转换为二进制字符串,在二维码中用黑色和白色分别表示1和0

纠错字段,顾名思义就是为了避免在生成和扫描过程中产生误差而设计的,它由数据字段根据里德-所罗门算法生成,根据纠错等级的不同长度也有所区别。

格式和掩码信息区存储了二维码的编码方式(从明文到二进制串)以及掩码操作

掩码是为了避免出现某些特定图案影响扫描结果,按照一定规律对原始点阵进行的变换操作,操作方式存储在了掩码信息区域。

读取过程则是先捕捉定位点,然后对图像进行校正和降噪处理,接着判断格式及掩码区的位置并读取,以获知数据字段的解码方式。

本实验中,研究者通过逐步覆盖二维码信息的方法,构造出一个介于两个二维码之间的混合中间体

纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口

这个中间体包含了一个关键色块,它的颜色决定了真正被读取出的二维码究竟是哪一个。

纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口

科学家们可以用肉眼看不见的激光照射这个颜色块,从而决定摄像头的识别结果

秒哒 秒哒

秒哒-不用代码就能实现任意想法

秒哒 134 查看详情 秒哒

经过照射之后,虽然肉眼看不出区别,但在摄像头的视角下原本是黑色的模块就会被识别为白色

纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口

下图比较了人眼和摄像头能够识别的波长范围:在低光环境中,人眼几乎无法识别超过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/

以上就是纸质二维码也能隔空篡改:百米之外无痕攻击,秒变恶意网站入口的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/629072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月11日 10:16:31
下一篇 2025年11月11日 10:17:11

相关推荐

  • 动态生成HTML表格:优化JavaScript数据展示与导出

    本文旨在解决JavaScript中动态生成HTML表格时遇到的代码冗余和样式控制难题。通过引入数据驱动的编程思想,我们将数据与视图逻辑分离,首先将表格内容组织为JavaScript对象数组,然后利用一个通用的函数将这些结构化数据渲染为可读性强、易于维护且支持灵活样式的HTML表格字符串。这种方法不仅…

    2025年12月23日
    000
  • HTML5性能优化怎么实现_HTML5新特性在性能优化方面的应用方法

    HTML5通过语义化标签、Web Storage、Canvas/SVG、Service Worker和原生媒体支持等技术提升性能:1. 语义化标签优化渲染效率;2. Web Storage减少网络请求;3. Canvas/SVG降低资源加载量;4. Service Worker实现离线缓存;5. 原…

    2025年12月23日
    000
  • 利用UTM参数与GTM优化链接点击来源追踪

    本文详细阐述了如何通过UTM参数精准追踪营销链接的点击来源,并深入探讨了Google Tag Manager (GTM) 在此过程中的高级应用。文章首先介绍了UTM参数的构成、生成方法及其在Google Analytics中的自动解析机制,强调其在识别流量来源方面的核心作用。随后,探讨了GTM如何通…

    2025年12月23日
    000
  • 如何通过HTML在线展示数据_HTML在线数据展示实现与可视化方案

    网页展示数据需结合HTML、CSS与JavaScript,首选table展示结构化数据,配合Chart.js等库实现可视化图表,通过fetch加载远程JSON动态渲染内容,并利用响应式设计与交互优化提升用户体验。 在网页中展示数据,核心是将结构化信息清晰、直观地呈现给用户。HTML本身是内容载体,结…

    2025年12月23日
    000
  • html在线几何图形绘制 html在线SVG应用实战教程

    使用HTML与SVG结合可高效绘制几何图形。SVG基于XML,支持圆形、矩形、多边形、路径等,在任意分辨率下清晰。1. 基础元素包括rect、circle、ellipse、line、polygon、polyline和path。2. 实战示例:用polygon绘制三角形,path绘制五角星和弧线仪表盘…

    2025年12月23日
    000
  • 单页应用(SPA)中特定分类数据的API直链访问与性能考量

    针对单页应用(SPA),本文探讨了如何通过URL直接访问特定分类数据,而非依赖客户端UI交互。文章揭示了SPA在初始加载时已获取所有数据,因此客户端分类选择对数据加载量无影响。核心策略是绕过前端界面,直接调用后端API获取所需数据,从而实现高效且精准的数据访问,并提供了具体API示例。 理解单页应用…

    2025年12月23日
    100
  • jQuery循环中动态表格数据访问与比较教程

    本文详细介绍了在jQuery循环中处理动态生成表格数据时常见的挑战与解决方案。我们将探讨如何正确使用.find()代替.children()来定位嵌套元素,解决.data()方法返回数字类型导致比较错误的问题,并提供一个基于事件监听的实用示例,以实现对用户修改数据的实时检测和保存。 动态表格数据处理…

    2025年12月22日
    000
  • 揭秘canvas技术在数据可视化中的独特威力

    发现Canvas技术在数据可视化中的独特作用 随着数据时代的到来,数据可视化成为了一种重要的方式来呈现大量的数据。在数据可视化中,Canvas技术以其独特的优势在各个领域展示了巨大的潜力。本文将着重介绍Canvas技术在数据可视化中的独特作用,并给出具体的代码示例。 Canvas是HTML5中的一个…

    好文分享 2025年12月21日
    000
  • 使用localstorage存储数据所需的包有哪些?

    localstorage是HTML5中的一项重要技术,它可以用来在客户端本地存储数据。在使用localstorage存储数据之前,我们需要确保在代码中引入合适的包来操作这个功能。 在使用localstorage之前,我们需要在HTML文件中添加以下代码来引入localstorage的相关包: 在以上…

    2025年12月21日
    000
  • 无法将数据保存到localstorage,为什么?

    为什么我的数据无法保存到localstorage中? 本文将详细讨论为何在某些情况下,数据无法保存到本地存储(localstorage)中。同时,我将提供一些具体的代码示例以帮助您解决这个问题。 首先,让我们来了解一下什么是localstorage。localstorage是HTML5中引入的一种W…

    2025年12月21日
    000
  • 如何将HTML表单数据作为文本并发送到html2pdf?

    html2pdf 是一个 JavaScript 包,允许开发人员将 html 转换为 canvas、pdf、图像等。它将 html 作为参数并将其添加到 pdf 或所需文档中。此外,它还允许用户在添加 html 内容后下载该文档。 在这里,我们将访问表单并使用html2pdf npm包将其添加到pd…

    2025年12月21日
    000
  • HTML中如何用post提交数据

    http/1.1 协议规定的 http 请求方法有 options、get、head、post、put、delete、trace、connect 这几种。其中 post 一般用来向服务端提交数据,本文主要讨论 post 提交数据的几种方式 http/1.1 协议规定的 http 请求方法有 opti…

    好文分享 2025年12月21日
    000
  • html的盒模型详解

    这次给大家带来html的盒模型详解,使用html盒模型的注意事项有哪些,下面就是实战案例,一起来看一下。 1.1. 盒的内容区的尺寸— content width和content height —取决于几个因素: –生成该盒的元素是否设置了’width’或&#82…

    好文分享 2025年12月21日
    000
  • 服务端主动发送数据回客户端在H5里的实现步奏

    我们知道,在server sent event里,通过eventsource对象接收服务器发送事件的通知是有三个事件的,message, open, error这三种,今天就给大家演示一下服务端主动发送数据回客户端在h5里的实现步奏。 Server Sent Event Server Sent Ev…

    好文分享 2025年12月21日
    000
  • 可视化图表制作_javascript数据展示

    答案是使用JavaScript库如Chart.js、D3.js和ECharts可实现交互式数据可视化;其中Chart.js适合快速集成常见图表,D3.js适用于高度自定义的复杂图形,ECharts支持高级图表且中文文档完善;以Chart.js创建柱状图需引入库、添加canvas容器并初始化Chart…

    2025年12月21日
    000
  • Odoo 14 POS:深入理解订单与现金支付明细并高效调试

    本教程旨在指导odoo 14 pos开发者如何准确读取销售会话中的订单及其现金支付明细,并计算总现金支付金额。文章将详细介绍odoo前端数据模型的访问方法,并着重强调利用浏览器开发者工具和`debugger`关键字进行运行时对象结构检查与调试的最佳实践,帮助开发者高效解决数据访问中的常见问题。 Od…

    2025年12月21日
    000
  • Odoo 14 POS会话中现金支付金额的准确获取与调试指南

    针对odoo 14 pos会话中读取订单并计算现金支付总额的需求,本文将详细指导如何正确访问支付明细对象属性。重点介绍利用浏览器开发者工具设置断点进行实时调试的方法,帮助开发者深入理解数据结构,从而高效准确地实现功能,避免因属性名称不匹配而导致的常见问题。 1. 理解Odoo POS数据模型 在Od…

    2025年12月21日
    000
  • javascript_如何实现数据可视化

    JavaScript实现数据可视化需将数据转为图形,常用Chart.js、D3.js等库快速构建图表,或用Canvas/SVG原生绘图;通过fetch获取数据并动态更新视图,如Chart.js调用update()刷新,最终实现交互式可视化。 JavaScript 实现数据可视化,核心是将数据转换成图…

    2025年12月21日
    000
  • Ionic 应用在浏览器刷新时状态持久化策略

    当 ionic 应用在浏览器中被刷新时,浏览器会执行完整的页面重载,导致应用状态和数据丢失。本文旨在阐明为何无法阻止浏览器进行全面重载,并提供一个专业的解决方案:利用 capacitor preferences 等客户端存储机制来持久化关键应用状态和数据,确保在浏览器刷新后也能恢复应用到预期状态,从…

    2025年12月21日
    100
  • Node.js中高效移除文本文件中的制表符( )

    本文详细探讨了在node.js环境中从文本文件移除制表符(“)的有效方法。文章首先解释了为何常见的字符串替换尝试可能失败,强调了“和`t`在正则表达式中的区别。随后,提供了两种实用解决方案:直接使用正确正则表达式进行替换,以及通过按行处理数据实现更精细的控制。文章还包含了示例…

    2025年12月21日
    000

发表回复

登录后才能评论
关注微信