微信安全问题及防范措施
一、微信原理及架构
1.微信原理
微信是由腾讯公司推出的一款支持S60v3、S60v5、WindowsPhone、Android以及iPhone平台的即时通讯(IM)软件。微信用户可以通过智能手机客户端与好友分享文字、图片、视频,并支持分组聊天和语音、视频对讲、“附近的人”、“摇一摇”等功能。除了这些基本的社交功能,微信还提供了微信红包、微信支付等移动支付功能。
微信是基于客户机/服务器模式的应用服务平台,具有典型的两层结构,即客户端、服务器端架构。服务器端主要负责系统数据资源的管理,确保数据的安全性以及访问并发性的控制,完成DBMS(数据库管理系统)的核心功能。客户端主要用于提供用户与服务端的交互及操作界面,完成数据处理、数据标识和用户接口功能。C/S架构的基本原则是将应用任务分解成几个子任务,由多台服务器分工完成,即采用“功能分布”原则。
2.微信架构
为了确保即时通讯的稳定性,同时结合微信的主要应用,采用了短链接(HTTP协议)和长链接(TCP协议)相结合的方式,分别应对状态协议和数据传输协议。短链接方式采用HTTP协议,主要用于用户登录信息验证、获取好友列表、用户头像、行为日志上报、刷新朋友圈等短期状态型的应用;长链接方式采用TCP协议,主要用于接收/发送文本消息、语音、图片、视频文件等传输过程需要保持连接状态的数据的传输。微信是典型的即时通讯软件,微信工作架构如图1所示。
图1 微信工作架构
移动终端和服务器之间交互协议的设计是整个系统的骨架,好的架构的设计可以降低系统的复杂度、具有容灾能力,能够保证整个系统在意外情况发生时仍然能够提供正常的服务。
微信在系统中做了特殊设计,采用SYNC协议,是参考Activesync来实现的。SYNC是基于状态同步的协议,将信息的收发过程看作状态同步的过程。服务器每收到最新的消息或更新好友状态,都会将客户端与服务端消息进行同步。微信平台将交互模式简单化,只需要推送一个消息到达的通知,终端通过收到的通知进行信息同步。这种简化模式有利于微信在各种平台上的应用,通过状态差值同步数据的方式,获得最小的数据变更。同时,采用增量的传输模式得到最小的数据传输量。采用SYNC协议,可以确保信息是稳定传送、按序到达的。微信平台在QQ的基础上有继承、有超越。摒弃了QQ的复杂性和庞大的体积,微信更为轻便,在此可以引用一句俗语来说明微信的设计理念:比它炫的没它简单,比它简单的没它快,没谁比他更快,哪怕在GPRS下,微信也能把进度条轻易推到底。这也是微信受欢迎、得到广泛应用的原因之一。微信的系统架构如图2所示。
图2 系统架构图
微信的成功在于它独特的技术架构、准确的产品定位、软件的敏捷性。微信的技术架构遵循“大系统小做”、“一切可扩展”、“复杂逻辑固定化”的原则,把模块变得更为清晰,一些功能的实现在逻辑结构和存储机构上进行分块设计。注重软件本身的可扩展性,在微信中所有的协议都是向前兼容的,后面的协议只是前面协议的补充和扩展,通过不断在协议中添加新的逻辑,实现共享。
二、微信安全隐患
1.“微信红包”隐患
微信的应用场景不断丰富,并且关注度持续不断飙升。然而,日前国内安全问题反馈平台WooYun(乌云)曝光了一组有关微信红包的安全漏洞。乌云称,伪装成为微信红包的钓鱼链接能够利用该漏洞窃取用户手机信息,用户微信绑定的银行卡信息也将面临泄露风险,甚至存在高危漏洞,可以越权抢到其他用户的红包。该言论一出,瞬间引起广大网民的震惊,着实为互联网金融安全捏了一把汗。“抢红包”已经近乎成为一种潮流,微信红包以迅雷不及掩耳之势疯狂刷屏,越来越多的人喜欢使用微信红包,当然这也就使一些别有用心之人打起了红包的主意,想尽各种方法进行微信红包欺诈。
常见的微信诈骗方式主要有两种。第一种是此前曾曝光的微信AA红包诈骗,不法分子利用文字游戏把“AA付款”伪装成“AA红包”,利用部分用户对微信AA收款功能的不熟悉,诱导转账。
第二种则是利用将“红包大盗”手机木马伪装成微信红包,窃取手机用户的银行卡号等信息。它设计的页面跟微信钱包十分相似,点击后界面会提示输入一个密码,输入后会出现一个“恭喜你成功领取红包”,不知情的人会真的以为领取到了红包,其实在不知不觉中,用户银行卡的信息就已经被不法分子获取了。有些钓鱼链接利用存在的漏洞伪装成微信红包进行传播,当用户点击红包后会出现“你被骗了”字样。但这并不是一个简单的玩笑,该链接会将用户引到外部网站,可能中木马。木马可能盗取用户手机资料、偷跑流量吸费,甚至会盗取用户绑定微信支付中银行卡的信息。
可见,微信自身在“微信红包”安全性方面是存在漏洞的。而这一漏洞主要是由于软件自身技术上的漏洞,被不法分子发现并利用,这种漏洞可以通过技术修复,完善软件。但是想要达到绝对的安全是不现实的,只有通过不断的测试,找出系统程序的Bug以及体系结构设计的漏洞,以提高系统的安全性。
2.“微信支付”隐患
微信支付的强势推出,不仅给广大微信用户带来了支付便利,引发了新一轮互联网金融浪潮,同时,其安全问题也一度成为舆论的焦点。
微信支付是集成在微信客户端的支付功能,以绑定银行卡的快捷支付为基础,向用户提供安全、快捷、高效的支付服务。微信支付的应用场景不断丰富,目前已实现刷卡支付、扫码支付、公众号支付、APP支付,并提供企业红包、代金券等营销新工具,满足用户及商户的不同应用场景。“微商”的兴起,接入越来越多的商家,对微信支付如何确保支付安全提出更多要求。事实上,微信支付起步时间并不长,但是由于是腾讯旗下热门软件QQ的兄弟产品,且有自己独特的模式,很快就拥有数以亿计的用户群,起点很高。所以对于微信支付来说,首先需要解决安全问题。微信支付是一种新生态的支付方式,这也就导致微信支付缺乏处理问题的经验,在不断发展的情况下,将会出现很多不可预测的问题,需要微信支付及时应对。
微信支付同样存在巨大的安全隐患。有记者实操微信支付漏洞。去餐馆吃饭,把手机和钱包放在座位上,而钱包里有身份证和银行卡。在不知道银行卡密码的情况下,只要3分钟时间,就可以把银行卡里的钱转走。通常用户使用微信的习惯是记住密码,短期内登陆无需验证。所以,坏人拿到了你的手机,可直接对你的微信账号进行操作。转账时,需要输入设定好的微信支付密码,而不是银行卡密码。由于是犯罪分子用对方手机绑定了微信和银行卡,支付密码是犯罪分子设置的,因而能轻松成功转账。
事实上,将手机、身份证、银行卡同时存放某处、遗落是很可能发生的场景,这也就增加了信息泄露甚至钱财丢失的风险。这种担忧是必要的,微信的这一漏洞主要是由于其设计理念:提高支付效率。通过这种快捷方式,提升用户的感知易用性。
微信支付以绑定银行卡的快捷支付为基础,采用标准的快捷支付机制:即用户购买商品时,不需开通网银,只需提供银行卡卡号、用户名、手机号码等信息,银行验证手机号码正确性后,第三方支付发送手机动态口令到用户手机号上,用户输入正确的手机动态口令,就可以轻松通过移动端验证完成支付。手机短信验证替代银行密码,绕开卡密码,在方便用户操作的同时,也留下了严重的安全隐患,这种便捷性是以牺牲安全性为代价的。
实际上,微信的支付功能还不够成熟,还未构建起安全的支付环境,没有数字认证技术以及必要的身份认证过程,只需要将银行卡绑定到微信账号,通过输入密码就可实现支付功能,犯罪分子可以通过破解微信账号的方法窃取支付密码,给用户造成财产损失。
支付服务最基本的底线是安全,网络支付最核心的诉求是便捷。网络支付没有绝对的安全,在微信产品团队对安全防护机制进行升级和完善的同时,用户也需要加强个人信息保密意识。可以通过设置手机锁屏密码、定期修改微信密码等方式加强微信支付的安全性。
3.“微信聊天”隐患
(1)退群缴费。在微信使用中有时会遇到“霸主”,一旦加入该群,若不按照群主要求交一定的费用,就无法退出该群。然而不退的话,生活又受到极大的骚扰。采用这种方式进行微信盈利主要是利用了IOS系统的一个安全漏洞,IOS8对于某个字符段会出现闪退,群主将自己的名字设置为包含那个字符段,在群成员退出时正好要显示群主的名字,此时微信会出现闪退现象,利用了IOS字符拒绝服务漏洞。通过这一事件,应提高微信使用警惕,不要轻易加入未知的群,以免对自己造成不必要的伤害。
(2)隐私泄露。在“微信—设置—隐私—朋友圈权限”里有个“允许陌生人看十张照片”的设置,一些犯罪分子就是利用了这种易被用户忽视的显式漏洞获取目标图片或视频信息。此外,微信具有定位功能,在三个不同地点搜索,便可以确定目标的具体地理位置,随着定位次数的增多,目标地理位置的准确度也会越来越高。犯罪分子据此可以确定目标的位置,再依据用户朋友圈中的照片和小视频,基本可以判断目标的生活环境和家庭条件,从而实施犯罪行为。另外,“摇一摇”是微信社交功能的一大特色。通过使用该功能,可以将自己的交友范围扩大到陌生人群。但是在满足用户交友欲望的同时,个人信息也会暴露于公众之中,存在着巨大的安全隐患。微信“摇一摇”在社交中没有信息控制及筛选功能,使用者的交流具有极大的自由性、开放性、匿名性,其操作的便捷性使人们对微信另一端通信者降低了警惕性。不法分子往往利用用户的这种心理,获取用户的个人信息并对信息进行处理,进而威胁个人人身及财产安全。
(3)身份欺诈。缺乏身份认证,身份伪装成了威胁微信用户人身、财产安全的设计弊端。微信用户的头像和昵称是可以无限制更换的,不法分子可能换成用户亲近友人的头像或名称进行诈骗。在这一身份认证问题上,微信无法像QQ一样查看用户IP或者异常登录提示等。进而就导致了QQ、MSN等被广泛使用的聊天工具上流传的“自助充值”诈骗案件时有发生。
(4)账号欺骗。微信中有不少肆意横行的虚假链接,例如,接收到好友发来的相册链接,邀请自己去查看,实质上点击后会要求登录QQ,似乎这里也没什么不寻常,但是按照指示登录后,微信账号就被强制发送其它欺诈信息给好友。同样的,出于朋友间的信任和好奇心,又会有新的一群人受牵连,在操作过程中,非法分子可以轻易获取用户账号信息。
三、防范措施
1.实施实名注册认证
不法分子肆意使用微信进行犯罪的最根本原因是微信未强制使用实名注册认证。不法分子可以使用不同的手机号申请多个账户,案件发生后,罪犯可以及时将账户停用或注销,致使无法进行追踪。所以,应该在加强后台数据库数据保护的前提下,实现用户实名制。让犯罪分子意识到,即使在虚拟的网络环境中,依然不可以肆意妄为。在采用实名制的同时,网络安全监管部门也应该监督服务提供商的网络社交工具设计和漏洞修补进展情况,过滤敏感信息,对存在安全隐患的信息及时进行提醒。建立微信用户黑名单,防止反复犯罪。
2.加强对微信服务平台的安全保障
微信平台的安全性对于微信使用者来说至关重要,对于用户来说,微信平台扮演着提供服务和保护、监管的职责。据了解,腾讯公司为微信添加了技术拦截、举报人工处理、辟谣工具这三大系统。加强信息的监管,一旦发现存在问题的数据,经权威机构判定或者举报后经工作人员核实确定涉及侵权、泄密等信息时,微信会立即阻断信息的传播,情节严重者,甚至导致封停账号。此外,也应加强对个人隐私信息的保护,存储用户信息的数据库应使用成熟的加密技术,使数据以密文形式存储,可以防止数据库管理员随意查看、篡改用户信息。此外,一旦服务端数据库被攻击导致数据丢失,攻击者在未获得密钥的情况下也无法获取原始有效数据。
3.加强对微信用户的安全教育
在监管部门和微信平台自身加强监管的同时,用户在个人信息保护中更是发挥着不可替代的作用。用户需要加强信息安全防范意识,时刻把信息安全牢记于心。合理填写微信中的个人资料信息,哪些信息该写,哪些信息不该写,要做到心中有数,防止隐私信息泄露,被不法分子利用。此外,用户也要学习对好友的甄别判定,不能轻易和陌生人搭讪、交流,不要随意打开陌生人发来的文件或链接等。此外,微信用户应定期修改密码,以提高微信账户的安全性。(杨薇、杨亚涛)