广告

一夜之间被盗刷1万多元?窃取短信验证码有哪些攻击手段?

时间:2018-08-07 作者:黄琳 阅读:
睡觉手机到底该不该关机?

微博网友@ -美年达芬奇 (豆瓣ID“独钓寒江雪”)7月30日发现,凌晨她的手机收到了100多条验证码,支付宝、京东、银行什么都有。

有人使用她的京东账户、支付宝等等,预定房间、给加油卡充值,总计盗刷了1万多元。对于这起案件,很多人怀疑是“GSM劫持+短信嗅探”,我们尚未看到公安机关或者运营商的官方声明,所以还不能确定这是一起短信验证码劫持嗅探攻击。

008ednc20180806

但是!但是!短信验证码确实不是一个安全的通道,需要各应用的开发者和广大用户提高警惕。

攻击手段

首先列举一下窃取短信验证码有哪些攻击手段:攻击等级:*号表示难度

0. 伪基站垃圾短信    *

1. 嗅探GSM短信    **

2. GSM中间人获取手机号码    ***

3. 将从3G/4G降级到2G    ****

4. 3G/4G中间人攻击    *******

我们简单讲解一下这几种攻击方法的原理。

0级攻击 – 伪基站垃圾短信

伪基站发垃圾短信这种攻击手法大家已经熟知。不法分子直接拉着大功率的伪基站出去,大把大把的撒垃圾短信。就像发小广告一样,发一大堆,总有那么一两个中招的。

009ednc20180806

垃圾短信不那么可怕,钓鱼诈骗短信是比较可怕的,其中含有恶意链接,不小心点击之后会中木马,或者让你填写机密信息等等。

1级攻击 – GSM短信嗅探

这种攻击的原理是因为GSM短信没有加密,所以不法分子可以用一些窃听手法听到短信内容。这种方法是被动的,就是只“听”,不发射任何非法的无线信号。

010ednc20180806

2级攻击 – GSM中间人获取手机号码

攻击者只听到短信,其实没什么用,短信验证码需要配合网站或者app的验证过程才能起作用。所以,攻击者必须要知道目标的手机号码,可能还需要其他信息,例如身份证号,银行账号等等,其他这些信息可以通过“撞库”,或者通过侵入某些应用的账户来获得。

那么攻击者如何获得手机号码呢?是通过中间人攻击实现的。

011ednc20180806

 

攻击者需要一个2G伪基站+一个2G伪终端,让目标手机接入2G伪基站,然后用2G伪终端冒充目标手机,接入运营商网络。连接过程中,需要鉴权信息的时候,就从目标手机那里取。连上网络之后,向外呼出一个电话,到攻击者能看到的一个手机上,攻击者通过来电显示就看到了手机号码。

我们注意到,“独钓寒江雪”的案例中,她提到通话记录中当天凌晨有一个外呼南京的电话,这个电话就有可能是用于获取手机号码的。

以前黑产的实力主要处于0级,今年以来,从各地报道的案例来看,黑产的实力至少进化到了2级。例如,《广州日报》7月27日的报道(http://gzdaily.dayoo.com/pc/html/2018-07/27/content_97308_529016.htm)

3级攻击 – 强迫从3G/4G降级到2G

手机待在3G/4G网络中是比较安全的,但是攻击者有办法把手机降级到2G。最简单的一种方法是发射强干扰信号。

短信嗅探真可怕,晚上应该关手机吗

这种做法直接把3G、4G的路炸了,手机发现走不通,就只好走到2G的路上去。不过要暴力干扰掉所有的3G/4G通道,是需要很大能量的,设备就会非常大,所以黑产用起来会不太方便。

另外一种更高级一点的办法,是再用一个4G伪基站,欺骗手机,“4G网络不能用了啊,到我这个2G网络来吧”,于是手机就乖乖的过去了。

短信嗅探真可怕,晚上应该关手机吗

这种手法我们在2016年初HITB阿姆斯特丹会议上讲过,后来Seeker在KCon上也讲过 。 

最后我们团队还推动了这个问题在标准中的修复,有个很长的故事,可以看这里(http://unicorn.360.com/blog/2017/12/11/3gpp-lte/)。

黑产实力到达3级还是有可能的,只是攻击门槛略高一点。

4级攻击 – 3G/4G中间人攻击

要达到4级攻击,难度就很大了,我们给了7颗星的难度级别,尤其是4G中间人攻击。我们认为目前掌握4级攻击能力的团队,全球应该在个位数!感兴趣的可以看我们团队这篇文章(http://unicorn.360.com/blog/2018/07/03/aLTEr/)。

防御手段

1普通用户

我们来看看普通人手机的防御能力:

  • 长期处于2G,一些老式手机,或者双卡手机其中一张卡是2G,所有电话短信和流量走2G。这种情况连0级攻击都抵挡不了。

  • 长期处于4G,但没有开通VoLTE,电话和短信是走2G通道的。挡不住1级以上的攻击。

  • 长期处于4G,已开通VoLTE,电话和短信是走4G的。挡不住3级以上的攻击,因为有可能被降级。

那么可以采取什么防范措施呢?

1.如果你的手机处于状态B,当地已开通VoLTE业务,请及时开通VoLTE,这可以把你的防御等级提到C级。例如中国移动,可发送KTVOLTE到10086,即可开通。

2.如果手机处于状态A,尽可能换4G手机,目前最新款的手机已经开始支持双4G待机。从而提升防御等级到B或C。

3.一些支持防伪基站功能的手机(例如360手机、小米手机、华为手机),对2、3级攻击有一定的防御力,就是说遇到2G伪基站,不容易被骗进去。这个防御方法是,手机会观察这个基站像不像一个伪基站,如果伪基站伪装得特别像真的,也可能蒙混过关。

4.晚上关机,可以防以上所有攻击类型,但万一有其他问题,反而不能及时联络到个人,谨慎选择。

可以看到,普通用户能做的,非常有限。

2运营商

运营商可以做什么呢?

从以上分析可以看出,只要数据流量、通话、短信走3G或者4G通道,安全系数还是比较高的。短板就是2G网络!目前已经有很多国家关闭了2G网络,包括日本、韩国、美国、新加坡等多个国家、地区的20多家运营商已经正式关闭了2G网络。中国的运营商也在努力迁移用户,关闭2G网络。

根据一些报道(http://mobile.163.com/18/0331/10/DE7J382S0011819H.html),3家运营商披露的数据,2017年, 14.44亿的总移动网络用户中,尚有3.99亿2G3G用户,占比超过27.6%,其中2G用户接近3亿户。这其中有些是手机用户,有些是物联网设备,比如水表电表、共享单车这些。所以2G网络不能随便关闭,还要坚持运营一些年头。

有人会想,那我们能不能让手机只驻留在4G网络中呢。如果你看看手机的“首选网络类型”设置,会发现有几个选项1)4G/3G/2G, 2) 3G/2G, 3)仅2G,可是却没有“仅4G/3G”这样的选项。为什么呢?因为运营商是给用户提供通信管道的,“可用性” (availability)是最重要的,万一你遇到4G/3G网络覆盖不好的地方,总得让你能连上网啊。这就是“可用性”优先于“安全性”的原则。

从5G开始,有一个新特性是,将要给手机操作系统提供更多的信息,告诉手机,这个通信管道的安全性等级,使用了什么加密算法,完整性保护算法等等。这些信息有助于App判断自己当前所处的环境的安全程度。

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
相关新闻
广告
广告
广告
广告