您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 条码阅读器 >

随便扫码原来这么危险你知道吗?

发布时间:2019-05-28 14:09 来源:未知 编辑:admin

  条码这个古老的技术如今已成为物理世界和数字世界的接口。不管是随处可见的扫码器,还是人手一部的手机,扫一下码就在两个世界间穿越了。可能有人告诉过你随便扫码很危险,但到底有多危险?为什么危险?

  昨天于旸在GeekPwn演讲中展示了它的危险性。如果你没有听说过于旸,也许对他另一个名字更熟悉——「TK教主」——来自他用的ID「Tombkeeper」,这是一个在安全行业如雷贯耳的名字。去年他加入腾讯,组建了玄武实验室,开展多项面向未来的安全技术研究。

  条码的历史非常长,早在上世纪40年代末就有人想到条码这个主意并开始实验。它的原理很简单:使用某种协议将信息编成图像,用条码阅读器或手机获取图像,将图像交给芯片,把图像解码转换成信息,最后传输到电脑。

  它的应用无处不在:超市收银时扫描包装袋上的条码获取价格;医院扫描病历上的条码读取病人信息;商家扫描微信支付条码收款……?

  这些条码大多是一维码,另一种条码是随着微信普及而重获新生的二维码(它还有个名字叫QRCode)。条码使用的协议非常多,有一种协议叫Code128,这是一个非常有野心的协议,它支持全部ASCII字符。ASCII是二进制对应的字符,现代计算机使用这套字符编写代码。它对于计算机编程而言相当于拉丁字母之于各种西方语言。总之,用它能编写代码控制计算机。

  市面上的大部分条码阅读器都支持这种协议,这意味着黑客可以编写一段程序,转化成条码,通过条码阅读器传输到计算机上。

  这些代码怎么才能管用?绝大多数情况下,条码阅读器通过USB接口接入计算机,对计算机而言这就是一个输入设备,计算机只捕捉它们发过来的信号,从哪儿发过来对电脑来说是一样,如果它发送通常由键盘发送过来的信号,计算机也会一样执行。

  如果你将键盘种的热键,比如CTRL+2,CTRL+O等编成条码,通过条码扫描器输入计算机,便能直接控制计算机。Code128协议不支持Win+R这种热键,但最大的条码阅读器厂商Symbol公司还有一种特有的技术叫ADF,它支持Win+。这样控制的内容就更广了,能直接调出计算机的命令窗口。

  以前有过一个研究,将条码作为一笔输入源看待,能通过条码触发计算机内存的溢出,或触发格式化字符串,还能SQL注入等。

  还有一种更简单的攻击方式,大部分应用场景下,条码种的数字都是按照序号排列的,比如你去商店买个东西,商家给你一个条码取货,你先获取条码种的数字,再在此基础上做改变,比如+1,+2……这样就能拿无限的东西。下一个在你后面买东西的人拿到的条码已经被你刷过。

  之前那些攻击方式都关注在应用程序对条码输入的数据没有很好处理,而不是条码或者条码阅读器本身。

  如果回头去看对条码和条码阅读器的研究,会发现其实条码可以作为控制计算机的一种方式。玄武实验室将这种方式叫做BadBarcode。

  正常情况下条码输入的是数字或字母,但现在不输入这些内容,而是一个系统热键,比如xx,这样扫描条码时就会把对话框调出来,如果这时候计算机使用的是触摸屏(比如很多银行终端机所使用的那种),你就能执行你想执行的事情了。

  不是所有设备都有触摸屏,能不能只用条码完成所有交互?这时候便可以通过一连串条码的组合来实现。

  自己一个个扫描很累对不对?把黑客精神发挥到极致,能不能找到一种全自动的攻击方式?之前我们考虑是否写个手机App,里面自动滚动代码扫描,但发现大部分扫码器无法读取手机屏幕。因为扫码器使用激光阅读,激光的原理是反射光,但液晶屏背光,所以得到了对比度很低,肉眼看到的东西对激光来说是黑的。

  最终发现,答案是Kindle。它的显示基于反射环境光,DPI足够高,Kindle可编程。是完美的BadBarcode工具。

  事先编写好程序,将Kindle放在扫码器下面,就能自动控制计算机做一系列的事情。

  条码阅读器生产商:默认不开启类似ADF功能,默认不向主机传输ASCII控制字符;

  使用者:尽量不要选用PS/2或HID键盘模拟条码阅读器;对使用PS/2或HID键盘模拟条码阅读器的设备,可通过禁用热键以阻止BadBarcode攻击。

http://scare666.com/tiaomayueduqi/109.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有