恶意软件正在利用SSLserver窃取用户个人信息!
安全套接层协议(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窃取用户个人信息!的更多相关文章
- 【阿里聚安全·安全周刊】Python库现后门 可窃取用户SSH信息|Facebook再曝300万用户数据泄露
本周七个关键词:Python库现后门丨Facebook再曝数据泄露丨加密协议被曝严重漏洞丨英国报摊将出售"色情通行证"丨HTTPS的绿色锁图标丨机器学习和预测应用的API丨Ecli ...
- 利用Cookie保存用户身份信息实现免登录
<%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...
- [扩展推荐] Laravel 中利用 GeoIP 获取用户地理位置信息
我最近需要一个用户地域检测来设置用户的默认区域和货币.由 Daniel Stainback 创建的 torann/geoip 很好地满足为Laravel 5 项目提供 GeoIP 服务的要求. 这个 ...
- iOS安全攻防(二):后台daemon非法窃取用户iTunesstore信息
转自:http://blog.csdn.net/yiyaaixuexi/article/details/8293020 开机自启动 在iOS安全攻防(一):Hack必备的命令与工具中,介绍了如何编译自 ...
- Android窃取用户信息新思路
0×01 我们能得到哪些android手机上的app敏感信息手机上的app敏感信息◦通讯录,通讯记录,短信◦各种app的帐号密码,输入信息资料等◦各种影音资料,照片资料◦等等0×02 我们有哪些方法 ...
- 利用Scrapy爬取所有知乎用户详细信息并存至MongoDB
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :崔庆才 本节分享一下爬取知乎用户所有用户信息的 Scrapy 爬虫实战. 本节目标 本节要实现的内容有 ...
- iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...
- php使用session来保存用户登录信息
php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...
- ASP.NET MVC用户登录(Memcache存储用户登录信息)
一.多站点共享用户信息解决方案: 采用分布式缓存Memcache模拟Session进行用户信息信息共享 1.视图部分
随机推荐
- 如何将java项目转化为web项目
1.修改工程文件 找到项目工作空间目录,打开.project文件,找到:<natures> </natures>代码段,在代码段中加入如下内容并保存:<nature> ...
- Pandas DataFrame数据的增、删、改、查
Pandas DataFrame数据的增.删.改.查 https://blog.csdn.net/zhangchuang601/article/details/79583551 #删除列 df_2 = ...
- PHPWeb开发相关知识
转载:https://blog.csdn.net/wj610671226/article/details/78426698 正则表达式 作用:分割.查找.匹配.替换字符串 分割符:正斜线(/).has ...
- Java 基本语法---流程控制
Java 基本语法---流程控制 0. 概述 三大流程控制语句:顺序.选择.循环. 选择结构: if 结构,if - else结构: 多重 if - else 语句 ; 嵌套 if - else 语句 ...
- ConvertUtils.register的作用
BeanUtils的populate方法或者getProperty,setProperty方法其实都会调用convert进行转换 但Converter只支持一些基本的类型,甚至连Java.util.D ...
- Java 把异常传递给控制台
最简答而又不用写多少代码就能保护异常信息的方法,就是把它们从main()传递到控制台,对于简单的程序可以像这样: package exceptions; //: exceptions/MainExce ...
- linux内核内存分配(三、虚拟内存管理)
在分析虚拟内存管理前要先看下linux内核内存的具体分配我開始就是困在这个地方.对内核内存的分类不是非常清晰.我摘录当中的一段: 内核内存地址 ============================ ...
- hdu 1698 线段树(成段替换 区间求和)
一条钩子由许多小钩子组成 更新一段小钩子 变成铜银金 价值分别变成1 2 3 输出最后的总价值 Sample Input11021 5 25 9 3 Sample OutputCase 1: The ...
- 【LOJ】#2886. 「APIO2015」巴厘岛的雕塑 Bali Sculptures
题解 感觉自己通过刷水题混LOJ刷题量非常成功 首先是二进制枚举位,判是否合法 要写两个solve不是很开心,\(A\)不为1的直接记录状态\(f[i][j]\)为能否到达前\(i\)个分成\(j\) ...
- Orchard学习 01、orchard日志
一.日志模块类图 1.ILogger接口及实现 2.ILoggerFactory接口及实现 3.其他 二.NullLogger类型 NullLogger类型是实现ILogger接口的空类型.它 ...