针对Android智能机的高级短信钓鱼攻击 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

针对Android智能机的高级短信钓鱼攻击

Change 移动安全 2019-09-09 11:26:15
277431
收藏

导语:Check Point的研究人员调查发现,在如三星(Samsung)、华为(Huawei)、LG和索尼(Sony)等某些品牌的android手机上,高级网络钓鱼攻击事件很容易发生。

介绍

Check Point的研究人员调查发现,在如三星(Samsung)、华为(Huawei)、LG和索尼(Sony)等某些品牌的android手机上,高级网络钓鱼攻击事件很容易发生。攻击者可以通过远程代理欺骗用户更改手机设置,截获用户所有的互联网流量。

这类攻击方法利用的是一种称为OTA(空中下载)的技术,网络运营商正是利用此技术才能将特定网络设置部署到用户手机上,然而问题在于,任何人都可以发送OTA配置消息。

OTA配置的行业标准是开放移动联盟客户端配置(OMA CP),涵盖的认证方法数量有限,收件人无法验证接收的建议设置是来自官方的网络操作人员,还是顶替的冒名者。我们发现,三星、华为、LG和索尼等品牌手机(占到了50%以上的安卓手机市场)允许用户通过这种弱验证的方式接收恶意配置信息;三星手机还允许未经认证的OMA CP消息。

我们已于今年三月向受影响的品牌厂商汇报了调查结果。三星在5月份发布的安全维护版本(SVE-2019-14073)中涵盖了一个解决钓鱼流程的补丁;LG在7月份发布了相应补丁(lv - smp -190006);华为计划在下一代Mate系列或P系列智能手机中为OMA CP提供UI修复;索尼拒绝承认此漏洞的存在,称他们的设备符合OMA CP规范,OMA将此问题标注为OPEN-7587进行跟踪。

攻击流程

要发送OMA CP消息,攻击者需要GSM调制解调器(一个10美元的USB软件狗,或以调制解调器模式运行的手机就行)来发送二进制SMS消息,以及一个简单的脚本或现成的软件来组成OMA CP。

网络钓鱼CP消息的目标范围可以很窄,比如在前面加上一条专门用来欺骗特定收件人的定制短信,也可以广泛批量发送。

OMA CP允许通过OTA更改以下设置:

· MMS消息服务器

· 代理地址

· 浏览器主页和书签

· 邮件服务器

· 用于同步联系人和日历的目录服务器

……

我们来假设一下攻击者通过控制代理截获用户流量的场景。

无需身份认证(三星)

对于使用三星手机的用户,攻击者可以向他们发送未经身份验证的OMA CP消息,指定到他所控制的代理。这里需要强调的是,攻击者不需要解决身份验证的问题,用户只需要接受CP即可。

1~1.png 2~1.png

图1:三星用户看到的未经身份验证的CP消息

使用IMSI进行身份验证

如果攻击者能够获得华为、LG或索尼手机用户的国际移动用户识别码(IMSI),也可以发起对三星手机用户一样网络钓鱼攻击。

IMSI是移动网络上每个设备的64位标识符,从GSM到3G都在使用。这个数字用于路由选择,大致相当于计算机网络中的IP地址。一部手机的IMSI是伪机密的,因为:

· 它必须对所有网络运营商可用,因为路由数据或呼叫到移动用户需要将其电话号码解析为IMSI,通过一些供应商可以很便宜地获得正向和反向IMSI查询(到IMSI的移动电话号码,反之亦然)。

· 另外,一些流氓Android应用程序可以通过标准API读取用户的IMSI号码,前提是应用程序具有权限。permission.READ_PHONE_STATE:

     (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE)).getSubscriberId()

在过去三年中发布的所有Android应用程序中,有超过三分之一的需要此权限,如果其中掺杂了一些流氓软件,也很难找得出来。

· 任何人只要看一下实体SIM卡,就会看到ICCID被刻录或打印在上面,而且ICCID通常与IMSI匹配。

OMA CP消息具有可选的安全标头,可以验证CP的真实性。当CP通过接收方的IMSI号码进行身份验证时,华为、LG和索尼手机允许安装恶意设置。请注意,这些手机在建议用户安装CP时没有显示任何有关CP的细节;特别是,CP的发送方没有以任何方式进行标识。

3~1.png 4~1.png

图2:索尼用户看到的经过netwpin验证的CP消息

使用PIN验证

对于无法取得他们IMSI的那些用户,攻击者可以发送两条消息:第一个是声称来自网络运营商的文本消息,要求用户接受一个有PIN保护的OMA CP,并将PIN指定为任意四位数字。接下来,攻击者向他发送一个使用相同PIN进行身份验证的OMA CP消息。只要受害者接受CP并输入正确的PIN,无论IMSI如何,都可以安装这样的CP。

 5.png 6.png

图3:向华为用户显示的经过userpin身份验证的CP消息

技术背景

OTA配置最开始主要是用于部署运营商的设置,例如运营商的MMS服务中心的地址。企业也使用此工具将电子邮件服务器地址等设置部署到员工的设备。OMA CP是OMA为OTA配置的设置而立下两个标准之一,它可以追溯到2001年,最新的规范则在2009年。

我们的研究表明,即使在10年后,OMA CP的安全影响仍然是事关重大的。Android的基本版本不处理OMA CP消息,在供应商处启用,因为OMA CP是OTA配置的行业标准。其规范允许(但不要求)CP消息使用USERPIN,NETWPIN或其他少数方法进行身份验证。

任何SMS,无论是文本消息、彩信、语音邮件通知或任何其他消息,都是作为协议数据单元(PDUs)传输的,协议数据单元由短消息传输协议(SM-TP)指定,即GSM 03.40。包含OMA CP有效载荷的GSM PDUs包括:

承载层的SM-TP头,指定接收方的电话号码和数据编码方案。

传输层的用户数据头(UDH),包括:

· 无线数据报协议(WDP)报头,指定目标端口2948 (wp -push)和源端口9200 (wp -wsp)。

· 可选的连接消息头:每个PDU的用户数据限制为140字节,较长的消息必须分块。

· 会话层的无线会话协议(WSP)头,包含身份验证(如果有的话)。

· 应用程序层的WAP二进制XML (WBXML),包含有效负载。

作为演示,我们以三星手机早期(未经身份验证的)进行概念验证,其中包含以下XML文档作为有效负载,突出显示的字符串表示代理地址和端口号:

 7~1.png

图4:OMA CP的XML有效负载

携带此有效载荷的完整OMA CP被拆分为两个物理SMS消息,如下图所示,为两个八位字节串:

 8~1.png

图5:OMA CP消息的物理表示

在WBXML字符串中,代理地址和端口号(使用与XML源中相同的颜色突出显示)包含为以null结尾的ASCII字符串,而在XML模式中定义的字符串,如元素名称、类型的值、名称属性,表示在WBXML中为固定的单字节值。

WBXML有效负载遵循WSP头,其中包含消息身份验证代码,使用接收方的IMSI作为ASCII十六进制字符串计算。

结论

我们阐述了一种针对现代Android手机的高级网络钓鱼攻击流程。这种攻击流程使任何拥有廉价USB调制解调器的人都可以诱骗用户在手机上安装恶意设置。为了攻击一些易受攻击的手机,攻击者需要知道受害者的IMSI号码,这些号码可以通过具有READ_PHONE_STATE权限的Android应用程序获得。我们在华为P10,LG G6,索尼Xperia XZ Premium和一系列三星Galaxy手机(包括S9)上进行了验证。

Check Point SandBlast Mobile可防止中间人和网络钓鱼攻击,帮助保护您的设备免受此类恶意OMA CP消息的侵害。

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务