首页 >> 网络安全 >>漏洞利用 >> 针对基于Android的现代智能手机的高级SMS网络钓鱼攻击
详细内容

针对基于Android的现代智能手机的高级SMS网络钓鱼攻击

介绍

Check Point研究人员已经发现,某些现代的基于Android的手机(包括三星,华为,LG和索尼的手机)容易遭受高级网络钓鱼攻击。在这些攻击中,远程代理可以诱使用户接受新的电话设置,例如,通过攻击者控制的代理路由其所有Internet流量。


此攻击媒介依赖于称为无线(OTA)设置的过程,蜂窝网络运营商通常使用该过程将特定于网络的设置部署到加入其网络的新电话上。但是,如我们所示,任何人都可以发送OTA设置消息。


OTA设置的行业标准开放移动联盟客户端设置(OMA CP)包括相当有限的身份验证方法;收件人无法验证建议的设置是源自其网络运营商还是冒名顶替者。根据2018年的市场份额数据,我们发现三星,华为,LG和索尼生产的手机(相当于所有Android手机的50%以上:http://gs.statcounter.com/vendor-market-share/mobile/全球/)允许用户通过这样弱验证的设置的消息接收恶意设置。三星手机还通过允许未经身份验证的OMA CP消息来解决此问题。


我们在三月份向受影响的供应商披露了我们的发现。三星在5月的安全维护版本(SVE-2019-14073)中包含了针对此网络钓鱼流程的修复程序。LG在7月发布了修复程序(LVE-SMP-190006)。华为计划在下一代Mate系列或P系列智能手机中包含针对OMA CP的UI修复程序。索尼拒绝承认该漏洞,并指出其设备遵循OMA CP规范。OMA跟踪此问题为OPEN-7587。


攻击流程

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


网络钓鱼CP消息可以狭窄地锁定目标(例如,在接收定制为欺骗特定收件人的自定义文本消息之前),也可以批量发送出去,前提是至少有一些收件人足够脆弱,可以接受CP而不挑战其真实性。


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

  • 彩信服务器

  • 代理地址

  • 浏览器首页和书签

  • 邮件服务器

  • 目录服务器,用于同步联系人和日历

和更多。

以下情况假定攻击者试图诱骗受害者通过攻击者控制的代理路由其所有流量。


未经身份验证(三星)

为了使用三星手机锁定受害者,攻击者可以向他们发送未经身份验证的OMA CP消息,并指定由他控制的代理。我们强调,没有针对攻击者的真实性检查需要克服:仅需要用户接受CP。

2.png

图1:未经验证的CP消息,显示给Samsung用户。

通过IMSI认证

如果攻击者能够使用华为,LG或索尼电话获得潜在受害者的国际移动用户识别码(IMSI),则他可以发起与针对三星电话用户的网络钓鱼攻击一样有效的网络钓鱼攻击。


IMSI是移动网络上每个设备的64位标识符,从GSM到3G一直在使用。该数字用于路由,大约等于计算机网络中的IP地址。一个人的IMSI是伪机密,但:

  • 它必须为所有网络运营商所用,因为路由数据或呼叫移动用户需要将其电话号码解析为IMSI。

  • 结果,可以通过商业供应商廉价地获得正向和反向IMSI查找(移动电话到IMSI,反之亦然)。

  • 恶意Android应用程序可以通过标准API 

  • ((TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE))。getSubscriberId()读取用户的IMSI编号

  • ,只要该应用程序具有许可权限。READ_PHONE_STATE 。在过去三年中发布的所有Android应用中,有超过三分之一已获得此许可,因此不会引起任何怀疑。

  • 任何可以看一下物理SIM卡的人都会看到刻在上面或印在上面的ICCID,而且ICCID通常与IMSI匹配!

OMA CP消息具有一个可选的安全头,用于验证CP的真实性。通过接收者的IMSI号码对CP进行身份验证后,Huawei,LG和Sony手机将允许安装恶意设置。请注意,这些电话在建议用户安装CP时不会显示任何有关CP的详细信息。特别是,CP的发送者没有任何方式被识别。

3.png

图2:向Sony用户显示的经过NETWPIN身份验证的CP消息。

通过PIN验证

对于那些无法获得IMSI的潜在受害者,攻击者可以向每个受害者发送两条消息。第一个是一条文本消息,声称来自受害人的网络运营商,要求其接受受PIN保护的OMA CP,并将PIN指定为任意的四位数字。接下来,攻击者向他发送一个使用相同PIN验证的OMA CP消息。只要受害者接受CP并输入正确的PIN,就可以安装与IMSI无关的CP。

3.jpg4.jpg

图3:华为用户看到的USERPIN身份验证的CP消息

技术背景

设置是向设备提供在其环境中运行所需的设置的过程。OTA设置的主要原始用例是部署特定于运营商的设置,例如运营商的MMS服务中心的地址。企业也使用此功能将诸如电子邮件服务器地址之类的设置部署到员工的设备上。OMA CP是OMA维护的用于空中设置的两个标准之一,其历史可以追溯到2001年,而最新的规范是2009年。


我们的研究表明,即使在十年后,OMA CP的安全隐患仍然有意义。Android的基本发行版不处理OMA CP消息,但是许多供应商实现可以处理,因为OMA CP是OTA设置的行业标准。它的规范允许(但不是必须!)使用USERPIN,NETWPIN或其他使用较少的方法来验证CP消息。


任何SMS,无论是文本消息,MMS,语音邮件通知还是其他任何东西,都将作为短消息传输协议(SM-TP)(又称为GSM 03.40)指定的协议数据单元(PDU)进行传输。包含OMA CP有效载荷的GSM PDU包括:


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

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

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

  • 可选的级联消息头:每个PDU的用户数据限制为140个字节,并且较长的消息必须分块。

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

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

作为演示,我们针对三星手机的初始(未经身份验证)概念证明包含以下XML文档作为有效负载,其中带有指定代理地址和端口号的字符串突出显示:

5.png

图4:OMA CP的XML有效负载。

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

6.png

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

在WBXML字符串中,代理地址和端口号(以与XML源中相同的颜色突出显示)以空终止的ASCII字符串形式包含,而在XML模式中定义的字符串(例如元素名称以及type和value值)包括在内。名称属性在WBXML中表示为固定的一字节值。

WBXML有效载荷跟随WSP头,该头包含使用接收者的IMSI计算的消息身份验证代码,作为ASCII十六进制字符串。


结论

我们描述了针对现代基于Android的手机的高级网络钓鱼攻击流程。这种攻击流程使拥有廉价USB调制解调器的任何人都能诱骗用户在手机上安装恶意设置。为了锁定某些易受攻击的手机,攻击者需要知道受害者的IMSI号码,该号码可以通过具有READ_PHONE_STATE权限的Android应用程序获取。


我们在华为P10,LG G6,索尼Xperia XZ Premium和一系列三星银河手机(包括S9)上验证了我们的概念证明。

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


了解更多信息:https : //www.checkpoint.com/products/mobile-security/

技术支持: 建站ABC | 管理登录