安全套接层协议(SSL)及安全传输层协议(TLS)旨在提供一个安全、加密的客户端和服务器之间的连接网络。为进一步进行身份验证和加密,服务器必须提供证书,从而直接有效地证明其身份。
使用 SSL 连接,双方可以确保沟通的有效性和安全性。这对某些服务来说非常有用,例如网络银行、电子邮件、社交网络等需要建立安全通道来交换客户端和服务器间的信息。然而不幸的是,这项技术已成为一把双刃剑。Android 恶意软件正在利用 SSL 来隐藏自身行为并且逃避侦测。
使用 SSL 服务器
SSL服务器已经成为Android恶意软件的目标。恶意软件可以使用下列三种之一的服务器。
1、不知名自行管理服务器——要使用不知名的自行管理SSL服务器,恶意软件作者需要建立自己的TrustManager(TrustManager可以决定接受凭证)和SSLSocket让其恶意应用程序信任该服务器证书。建立自己的TrustManager和SSLSocker是必要的,因为恶意软件服务器证书通常并没有默认包含在Android操作系统中。这样做通常需要更多的精力:当服务器或网域变更时(通常是为了应对防毒侦测),SSL连接在验证过程中可能会失败。恶意软件作者必须更新证书和客户端应用程序以重新建立连接。此外,使用自行签发的证书和固定的服务器会被安全公司轻易而快速地侦测。所以只有少数恶意软件利用这种方式也就并不令人惊讶。
2、知名公开网站代管 SSL服务器——考虑到维护自行管理 SSL 服务器的困难,利用知名公开网站代管 SSL 服务器要方便得多。这些服务器和网域通常都公开、稳定而且经过授权。它们拥有的证书通常是经由受信任第三方(TTP)证书机构(CA)所签发。在预设情况下,Android操作系统会信任这些证书,因为这些CA已经被预装到系统默认信任的储存区(truststore)。恶意软件作者可以伪造身份来将其恶意服务放到这些知名网站代管服务器上,提供和受感染设备间的加密连接。
例如,一个被侦测为 AndroidOS_Exprespam.A 的恶意软件在一知名美国网站代管服务器上建立了恶意后端服务,此代管服务器提供了RapidSSL CA签发证书所进行的HTTPS连接。用此授权证书,恶意应用程序可以透过HTTPS上传窃取数据到服务器上而无需自建TrustManager。
图1、知名服务器的证书
图2、信息透过HTTPS发送到服务器
3、知名公开服务——Android 恶意软件还可以利用知名公开服务来进行攻击。根据我们的分析,有三种应用程序服务经常被Android恶意软件所利用:基于SSL的电子邮件、Android的Google云信息传递(GCM)和受欢迎的社交网络。透过知名公开服务,攻击者可以轻易地发动命令与控制(C&C)攻击而不会被注意到。
滥用知名公开服务
我们观察到几个Android恶意软件会如上述那样利用公开服务:
使用电子邮件——ANDROIDOS_GMUSE.HNT伪装成档案管理应用程序。这种恶意软件会窃取用户和设备信息,如IMEI、电话号码和储存在SD卡中的图像。每当用户启动应用程序或重启手机,该应用程序会启动一个背景服务将上述信息转储并使用一个写在程序内的Gmail帐户和密码来将信息发送到特定电子邮件地址。
图3、包含 Gmail 账号的代码片段
Google云存储信息——NDROIDOS_TRAMP.HAT会试图将自己伪装成一种官方Google服务。它收集用户信息,如电话号码、位置和联系人列表。一旦执行,它会注册 GCMBroadCastReceiver。恶意应用程序接着会通过Google云的信息传递发送窃取的数据。Google云存储信息会被用在恶意应用程序的C&C通讯。例如“发送信息”、“封锁通话”和“取得目前位置”等指令会透过Google云存储信息来发送和接收。
图4、恶意软件使用Google云存储信息来追踪当前所在位置
受欢迎的社交网络——ANDROIDOS_BACKDOORSNSTWT.A会通过Twitter来发动其C&C攻击。恶意软件抓取Twitter网址,将截取的信息结合写在程序内的字符串来产生新的C&C网址用于攻击,被盗信息会发送到生成的网址。
图5、“this.WILLIAM”包含撷取来的字符串
SSL的好处也成了它的坏处
网络犯罪份子使用SSL有一些原因,例如和明文传输相比,通过SSL发送的数据无法被轻易地发觉,一些基于TCP流量监控的动态分析并没有办法很好地运作。
网络犯罪分子会针对SSL服务器和服务也许是因为他们不需要花费什么力气就能够取得这些网站的访问权限。他们可以通过正常管道进行,比如向网站代管服务购买虚拟主机或在Twitter上注册一个新账号。我们将会看到更多对SSL的使用(或说是滥用),然而侦测恶意应用程序可能还不够。与服务器及服务供货商合作以删除相关网址、电子邮件地址等是必要的做法。
鉴于Android恶意软件的不断发展,我们建议使用者只从合法来源下载Android应用程序。第三方应用程序商店可能不会同样严格地来扫描可能的恶意应用程序。我们也建议使用者使用趋势科技移动安全防护软件来侦测并封锁可能对移动设备造成危害的威胁。