|
】
央视披露了二维码支付的风险,但究竟二维码“藏毒”风险出在哪里?如何防范呢?
首先,要找到这个问题的答案,我们必须厘清个概念:
1、二维码里有什么?
现在二维码里大致有这样一些类型的数据:长文本、短文本、名片、网址、wifi配置信息、地理位置信息。
2、扫一下为什么会“中毒”?
首先通俗的解释一下“中毒”的概念。中毒和生病一样,病毒需要一个生存和发展的环境,如果扫码能中毒,那么环境是谁?当然是扫码软件以及扫码软件的运行环境(通常就是手机操作系统)了。
现在已知的二维码“藏毒”大致有以下3种方式:
A、钓鱼网址,这个严格来说不是“病毒”,这种可以归类为需要用户交互才能得逞的病毒。这种最常见!
属于社会工程学威胁范畴,用户只需稍有安全意识则能有效避免被骗上当。在手机上,打开一个网址本身在大多数情况下是安全的,但危险在于停留在这个打开的网站上,用户干了些什么。用户自己主动输入信用卡号、安全码,用户自己主动输入支付宝用户帐号。。。另外,网址并不等于网站入口。比如,有一类特殊的网址,叫做伪协议地址,这个也有想象力空间(但似乎没见到攻击案例),例如sms://、tel://等等,这些点击之后,在不同的系统上有可能会打开不同的应用程序,例如发短信、打电话等等。
B、恶意代码直接攻击浏览器解释引擎,这种可以归类为无需用户交互即可实现“感染”的病毒。
造成内存破坏类攻击,直接获得原生应用程序级别的任意代码执行甚至是提升权限。这种问题发生的概率要远远小于PC端浏览器遭受同类型攻击的概率。主要原因是:大多数攻击程序是需要一定“行数”的代码组成的,而二维码的承载数据能力又是受限制于图片编码的容量极限的。简单理解就是:复杂攻击需要更多行数的代码,较少行数的代码只能实现较简单的“攻击”,二维码由于自身设计的“缺陷”,无法提供恶意代码存储所必要的足够空间,故攻击想象空间和影响效果有限。
C、自定义的二维码自动应用,这种可以归类为无需用户交互即可实现“感染”的病毒。
虽然二维码本身承载的其实就只是普通文本数据(数字、字符啥的),但有些软件给这些数据定义了一些自己的解析规则,目的是实现扫码后自动XXX或自动YYY。坏就坏在这个自动化的过程,给了数据一秒变病毒的机会。如何理解?参考Web安全里的SQL注入、XSS等,就是最典型的数据一秒变病毒的参考案例。
3、如何防范应对呢?
A、扫码软件厂商向扫码用户告警,并取消点击交互行为的支持。
在提供基于二维码的新应用时,要安全的设计和实现二维码识别后内容的解析引擎,对网址的识别可以集成第三方安全厂商提供的URL黑名单查询服务,对已知恶意网址提前向扫码用户告警,并取消点击交互行为的支持。另外,扫码软件可以提供一个牛逼闪闪的安全模式(其实就是纯文本模式啦),让有安全意识和能力的用户可以先看看是什么,再决定下一步如何解析、是否允许软件自动化做XXX或自动化YYY。当然了,做产品,还可以在用户体验层面再智能一些,让用户可以更傻瓜一些点【下一步】。
B、用户要做到,一要选择知名的二维码扫描软件,二要避免打开陌生和奇怪的网址。
C、安全厂商集成恶意网址识别引擎,先消毒。
还和现在一样,该干嘛干嘛,多给扫码软件厂商做做推广,集成你们的恶意网址识别引擎吧。再牛逼一点,云扫码吧,所有二维码里的数据,你们先在云端看看,不良内容给消消毒就是了。
https://www.bilibili.com/video/BV18Z2HYiETn |
|