安全套接层协议(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. PyTorch学习系列(九)——参数_初始化

    from:http://blog.csdn.net/VictoriaW/article/details/72872036 之前我学习了神经网络中权值初始化的方法 那么如何在pytorch里实现呢. P ...

  2. 搭建RabbitMQ集群(Docker)

    前一篇搭建RabbitMQ集群(通用)只是把笔记直接移动过来了,因为我的机器硬盘已经满了,实在是开不了那么虚拟机. 还好,我的Linux中安装了Docker,这篇文章就简单介绍一下Docker中搭建R ...

  3. USB协通讯议--深入理解【转】

    转自:http://blog.csdn.net/myarrow/article/details/8484113 0. 基本概念 一个[传输](控制.批量.中断.等时):由多个[事务]组成: 一个[事务 ...

  4. CasperJS断言

    特征 CasperJS具有一系列特征. 它具有一些列功能与断言,都是你期望一个好的测试API所具有的,包括: * assertTextExists (文本存在断言)* assertTitle (标题断 ...

  5. MySQL乱码问题以及utf8mb4字符集

    MySQL乱码问题以及utf8mb4字符集 1.乱码 推荐大家看 深入MySQL字符集设置 ,区分检查client端.server端的编码:最简单暴力的方式,是在所有的环节都显式明确的指定相同的编码, ...

  6. java 内部类使用 .this 和 .new

    如果需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this,这样产生的引用自动地具有正确的类型,这一点在编译器就被知晓并受到检查,因此并没有运行时开销 //: innerclasses ...

  7. linux pwd指令C实现

    linux pwd指令C实现 研究实现pwd所需的系统调用 我们可以通过man命令和grep命令来获取我们所需要的系统调用函数信息 man chdir Linux pwd命令用于显示工作目录. 执行p ...

  8. Java编程的逻辑 (28) - 剖析包装类 (下)

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  9. .NetCore下使用Polly结合IHttpClientFactory实现聚合服务

    在使用微服务的过程中经常会遇到这样的情况,就目前我遇到的问题做下分析 情况一: 这里服务对于前后端分离情况来说,多使用查询服务,前端直接获取不同服务的数据展示,如果出现其中的服务失败,对业务数据无影响 ...

  10. JSR教程2——Spring MVC数据校验与国际化

    SpringMVC数据校验采用JSR-303校验. • Spring4.0拥有自己独立的数据校验框架,同时支持JSR303标准的校验框架. • Spring在进行数据绑定时,可同时调用校验框架完成数据 ...