怎样防止二维码诈骗?

Posted on

近些年网络诈骗方式不断升级,利用二维码进行诈骗实则是一种更高级的电信诈骗方式。在微信的推动下,看见二维码扫一扫已经成为了许多用户的习惯,由于支付宝二维码付款功能的推出,二维码在线上线下频率也不断增加。那么肯定会有很多人有疑问二维码支付安全吗?二维码支付又是如何实现的呢?小草帮你解密二维码支付背后的那些事。

所谓二维码支付,目前最主流的实现原理就是URL支付。当然,URL的scheme不一定是http/https,还可以是应用程序自定义的。大家普遍钟情于http方式的URL,主要原因还是在于所有扫码客户端扫码之后都可以点击访问。展示自家产品推广宣传页面、直接给出适配扫码客户端的支付客户端下载地址、WEB/WAP版支付页面等等,随心所欲都可以实现,灵活性、扩展性俱佳。随之而来的头号安全风险就是钓鱼,说白了就是被骗。目前基于URL支付的二维码支付技术最主要的安全风险还是WEB安全的那些事,最近、同时也和扫码支付风险关系最直接、最紧密的一个事件:家用路由器会遭受攻击吗?让我们看到了WEB安全攻击技术手段可以影响到网络基础设施。你以为你访问的是alipay.com,其实DNS解析结果早就被污染、篡改成黑客的钓鱼站点了,小白兔主动乖乖的交出了银行帐号、密码和短信验证码。

 

为了更好的理解二维码诈骗的过程,小草先带你看一个片段:犯罪嫌疑人李某:别人如果问你买什么东西,然后你就把这个二维码发过去,就告诉他这就是你所购买的东西,就在这个二维码里面,你扫一下。而这个二维码并不是李某所说的商品信息,而是一个木马病毒。一旦扫描,这个病毒就会植入到对方的手机里。不懂原理的小伙伴们看到后纷纷表示地球太危险了,纷纷要求回到喵星、汪星和火星去了。别怕,小草先来告诉你怎样应对二维码的安全问题。

 

首先我们需要了解二维码支付,二维码在这个环节中是做什么的?

  • 发起支付:无论是买方、卖方,首先通过支付APP或者收银系统向支付平台服务器请求发起一笔支付;

  • 生成支付参数:服务器把支付相关的参数通过二维码图片返回给发起方;

  • 交换支付参数:发起方向对方展示二维码;

  • 核实支付参数:对方APP或收银设备扫码后,通过支付平台服务器确认该支付的参数、细节;

  • 确认支付:随后双方用某种方式表示认可支付;

  • 完成:支付平台服务器端完成支付动作,返回信息

二维码最大的作用就是在交换交易参数环节:二维码方便携带参数、方便对方接收和识别。以上过程中,将二维码换成声波等其它方式,起到的作用也是一样的。类似的,传统支付POS中也有二维码类似的问题,比如假读卡器(复制磁卡信息)、假密码键盘(复制密码,或未经银联安全认证的普通数字键盘),交易必要的参数加密生成二维码:比如当前用户信息(付款方)、商户信息(收款方)、交易流水号、交易时间戳等必要的参数,组合成特定的数据结构并经过一定的加密后,用二维码算法(比如流行的QR)生成二维码图片;扫码、识别、提取参数、自动处理:用户发起交易、生成并出示二维码给商户;也就是其它朋友回答的主动扫码还是被动扫码。

 

遇到商户侧的系统生成假冒二维码怎么办?

其实不必太担心,因为在支付操作中,用户使用的是专用支付工具,不是一般的扫码软件。例如支付宝钱包(支付宝的支付APP)、微信(腾讯APP带支付功能)、银联钱包(银联的支付APP)。而这类专用的支付工具,其内置的扫码功能是不会自动打开浏览器去访问钓鱼网站的。使用对应的支付APP扫描对应的二维码(支付宝对支付宝、微信对微信、银联对银联)并保持支付APP是最新版本,那些专用的支付APP有安全漏洞被利用(绕过了上述安全机制);用户使用了其它的扫码软件(脱离了上述安全机制)扫描假冒二维码打开了钓鱼网站。二维码采用了特定数据格式:为了防范此类问题、为了竞争,它们采用的二维码算法虽然是公共的,但携带的数据是自己平台特定的数据格式。扫码软件遇到特定数据格式时,才采取后续支付相关的动作,否则视为普通二维码处理;安全地址过滤:即便识别为普通二维码、内容为Url,这些APP也不会打开通用浏览器,而是由内置浏览器来访问特定Url。甚至在内置浏览器访问Url之前,会先经过服务器识别该Url是否在安全地址白名单,或者在黑名单之中。同时,有专门的安全团队负责维护这样的白名单、黑名单。

 

特别提醒: 额外需要注意的是操作环境安全:免费Wi-Fi

假热点:假冒商户免费Wi-Fi钓鱼;泄密:免费Wi-Fi传输不经加密可能存在的泄密(支付APP自己会加密,主要是其它内容如收发电子邮件、论坛和页游登录等等);商户路由器被劫持(植入恶意代码):例如DNS劫持引起的钓鱼、中间人攻击、嗅探密码等。所以,敏感操作暂时还是使用3G/4G吧!