安全套接层协议(SSL)及安全传输层协议(TLS)旨在提供一个安全、加密的client和server之间的连接网络。为进一步进行身份验证和加密,server必须提供证书,从而直接有效地证明其身份。

使用 SSL 连接,两方能够确保沟通的有效性和安全性。这对某些服务来说很实用。比如网络银行、电子邮件、社交网络等须要建立安全通道来交换client和server间的信息。

然而不幸的是。这项技术已成为一把双刃剑。Android 恶意软件正在利用 SSL 来隐藏自身行为而且逃避侦測。

使用 SSL server

SSLserver已经成为Android恶意软件的目标。

恶意软件能够使用下列三种之中的一个的server。

、不知名自行管理server——要使用不知名的自行管理SSLserver。恶意软件作者须要建立自己的TrustManager(TrustManager能够决定接受凭证)和SSLSocket让其恶意应用程序信任该server证书。建立自己的TrustManager和SSLSocker是必要的。由于恶意软件server证书通常并没有默认包括在Android操作系统中。这样做通常须要很多其它的精力:当server或网域变更时(一般是为了应对防毒侦測)。SSL连接在验证过程中可能会失败。

恶意软件作者必须更新证书和client应用程序以又一次建立连接。此外。使用自行签发的证书和固定的server会被安全公司轻易而高速地侦測。

所以仅仅有少数恶意软件利用这样的方式也就并不令人吃惊。

、知名公开站点代管 SSLserver——考虑到维护自行管理 SSL server的困难,利用知名公开站点代管 SSL server要方便得多。这些server和网域通常都公开、稳定并且经过授权。它们拥有的证书一般是经由受信任第三方(TTP)证书机构(CA)所签发。在预设情况下。Android操作系统会信任这些证书,由于这些CA已经被预装到系统默认信任的储存区(truststore)。恶意软件作者能够伪造身份来将其恶意服务放到这些知名站点代管server上,提供和受感染设备间的加密连接。

比如。一个被侦測为  AndroidOS_Exprespam.A 的恶意软件在一知名美国站点代管server上建立了恶意后端服务,此代管server提供了RapidSSL CA签发证书所进行的HTTPS连接。

用此授权证书。恶意应用程序能够透过HTTPS上传窃取数据到server上而无需自建TrustManager。

图1、知名server的证书

图2、信息透过HTTPS发送到server

、知名公开服务——Android 恶意软件还能够利用知名公开服务来进行攻击。依据我们的分析,有三种应用程序服务常常被Android恶意软件所利用:基于SSL的电子邮件、Android的Google云信息传递(GCM)和受欢迎的社交网络。透过知名公开服务,攻击者能够轻易地发动命令与控制(C&C)攻击而不会被注意到。

滥用知名公开服务

我们观察到几个Android恶意软件会如上述那样利用公开服务:

使用电子邮件——ANDROIDOS_GMUSE.HNT伪装成档案管理应用程序。

这样的恶意软件会窃取用户和设备信息,如IMEI、电话号码和储存在SD卡中的图像。每当用户启动应用程序或重新启动手机。该应用程序会启动一个背景服务将上述信息转储并使用一个写在程序内的Gmail帐户和password来将信息发送到特定电子邮件地址。

图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流量监控的动态分析并没有办法非常好地运作。

网络犯罪分子会针对SSLserver和服务或许是由于他们不须要花费什么力气就行取得这些站点的訪问权限。他们可以通过正常管道进行,比方向站点代管服务购买虚拟主机或在Twitter上注冊一个新账号。我们将会看到很多其它对SSL的使用(或说是滥用),然而侦測恶意应用程序可能还不够。

与server及服务供货商合作以删除相关网址、电子邮件地址等是必要的做法。

鉴于Android恶意软件的不断发展,我们建议使用者仅仅从合法来源下载Android应用程序。第三方应用程序商店可能不会相同严格地来扫描可能的恶意应用程序。

我们也建议使用者使用趋势科技移动安全防护软件来侦測并封锁可能对移动设备造成危害的威胁。

恶意软件正在利用SSLserver窃取用户个人信息!的更多相关文章

  1. 【阿里聚安全·安全周刊】Python库现后门 可窃取用户SSH信息|Facebook再曝300万用户数据泄露

    本周七个关键词:Python库现后门丨Facebook再曝数据泄露丨加密协议被曝严重漏洞丨英国报摊将出售"色情通行证"丨HTTPS的绿色锁图标丨机器学习和预测应用的API丨Ecli ...

  2. 利用Cookie保存用户身份信息实现免登录

    <%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...

  3. [扩展推荐] Laravel 中利用 GeoIP 获取用户地理位置信息

    我最近需要一个用户地域检测来设置用户的默认区域和货币.由 Daniel Stainback 创建的 torann/geoip  很好地满足为Laravel 5 项目提供 GeoIP 服务的要求. 这个 ...

  4. iOS安全攻防(二):后台daemon非法窃取用户iTunesstore信息

    转自:http://blog.csdn.net/yiyaaixuexi/article/details/8293020 开机自启动 在iOS安全攻防(一):Hack必备的命令与工具中,介绍了如何编译自 ...

  5. Android窃取用户信息新思路

    0×01 我们能得到哪些android手机上的app敏感信息手机上的app敏感信息◦通讯录,通讯记录,短信◦各种app的帐号密码,输入信息资料等◦各种影音资料,照片资料◦等等0×02  我们有哪些方法 ...

  6. 利用Scrapy爬取所有知乎用户详细信息并存至MongoDB

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :崔庆才 本节分享一下爬取知乎用户所有用户信息的 Scrapy 爬虫实战. 本节目标 本节要实现的内容有 ...

  7. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  8. php使用session来保存用户登录信息

    php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...

  9. ASP.NET MVC用户登录(Memcache存储用户登录信息)

    一.多站点共享用户信息解决方案: 采用分布式缓存Memcache模拟Session进行用户信息信息共享 1.视图部分

随机推荐

  1. 关于 VS 2010 和 VS 2013 的警告 LNK4042

    由于我最近调整了一下 Jimi 的文件结构,导致出现了一个 LNK4042 的 warning,我并没有很重视,这个 warning 导致出现了一些错误. 我调试了几个小时,一开始并没有想到是这个 w ...

  2. Uploadify3.2中文提示

    版本:Uploadify Version 3.2官网:http://www.uploadify.com Uploadify是一款基于Jquery的上传插件,用起来很方便.但上传过程中的提示语言为英文, ...

  3. mysql innodb 行级锁升级

    创建数据表test,表定义如下所示: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NO ...

  4. java 异常说明

    异常说明使用了附加的关键字 throws ,后面接一个所有潜在异常类型的列表,方便客户端程序员查看. public static void main(String[] args) throws Nul ...

  5. 11 个最佳 jQuery 模拟滚动条插件 scrollbar

    1.  Windows:全屏窗口滚动插件 该插件可以很好地实现全屏滚动,每滚动一次即为一屏.比如,用户浏览下一屏幕内容时,只需手动滚动到某一位置,该插件会自动滚动显示下一屏全部内容.对于浏览类似于PP ...

  6. Angular快速学习笔记(4) -- Observable与RxJS

    介绍RxJS前,先介绍Observable 可观察对象(Observable) 可观察对象支持在应用中的发布者和订阅者之间传递消息. 可观察对象可以发送多个任意类型的值 -- 字面量.消息.事件. 基 ...

  7. 【Atcoder】ARC102 题解

    C - Triangular Relationship 题解 枚举一个数%K的值然后统计另两个 代码 #include <bits/stdc++.h> #define enter putc ...

  8. 【Java】 大话数据结构(13) 查找算法(4) (散列表(哈希表))

    本文根据<大话数据结构>一书,实现了Java版的一个简单的散列表(哈希表). 基本概念 对关键字key,将其值存放在f(key)的存储位置上.由此,在查找时不需比较,只需计算出f(key) ...

  9. js 判断移动端是否安装应用

    var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > ...

  10. Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?

    Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?   前不久,发布了Python在Windows(程序员:Python学不学?完全没必要纠结)和Mac OS(我是Python,P派第 ...