谷歌一直致力于提升我们的系统以保护用户免受潜在的有危害的应用软件(Potentially Harmful Applications, PHAS)的侵扰。通常,PHA作者会想要把他们的有害软件安装到尽可能多的设备上。但是,很少会有PHA作者会花费大量的时间、精力和金钱去设计一个有害软件然后把它们安装到某一个或某一部分设备上。这种情况称为针对性攻击 。
在这篇博文中,我们主要讲Chrysaor,一个最近发现的间谍软件家族,它们被用来在少数Android设备上进行针对性攻击;以及对这类软件的调查研究如何帮助谷歌保护Android用户免受这类危害。
Chrysaor是NSO 技术团队 开发的间谍软件。NSO技术团队专门开发和销售可用于针对性攻击的软件和设施。Chrysaor和间谍软件Pegasus有一定的联系,Pegasus首次发现于 iOS,然后由Citizen 实验室和Lookout进行分析。
去年年底,在收到Lookout发来的一串可疑的包的名称之后,我们发现了几十台android设备可能已安装一款跟Pegasus有关的app,我们称之为Chrysaor。尽管该app不能通过谷歌应用商店下载安装,我们还是很快用Verify Apps(验证应用) 确定了受害范围。我们从受感染的设备上收集信息,同时尝试获取Chrysaor 以更好的理解它是如何在用户的设备上运作的。我们已经联系了有可能被感染的用户,在他们的受感染的设备上禁用这些app,同时,Verify Apps也做了相应的改变来保护所有的用户。
Chrysaor不能通过谷歌应用商店下载安装,在谷歌也能够用商店之外,它的安装量也很少。在受Verify Apps保护的超过14亿设备中,我们观察到少于30台设备安装了Chrysaor。这些设备分布在下面的国家中:
为保护安卓设备及其用户,谷歌应用商店提供了一系列完整的安全服务,这些安全服务是静默更新的。 用户无需在安装任何额外的安全服务以确保安全。在2016年,这些服务保护了超过14亿的设备,让谷歌成为世上最大的设备级安全服务的提供商之一:
通过云上的人、系统以及从设备发给我们的数据验证PHAs
在用户安装PHAs警告他们或者禁止他们安装
持续扫描设备上有没有PHAs或者其他的有害线程
另外,我们提供了详细的技术信息帮助安全产业对抗PHAs。
您和您身边的人感染Chrysaor恶意软件的机率并不大。通过我们的调查,我们发现感染Chrysaor的设备不超过30台,我们已经在那些设备上禁用了Chrysaor,也通知了我们知道的设备受感染的用户。另外,我们在保护措施方面做的改进对所有的用户都可用。
为确保你能免受PHAs和其他线程的侵扰,我们有以下5个建议:
仅从可靠的地方安装app:从可靠的地方安装app,比如谷歌应用商店。在谷歌应用商店上没有Chrysaor app。
开启屏幕锁 :从PIN,图案或者密码选一个你觉得容易记而其他人难以猜出来的。
更新设备:保持你的设备包含最新的安全补丁。
Verify Apps:确保你的Verify Apps是开启的。
定位设备:练习用安卓设备管理 查找你的设备,因为比起安装PHA,你更可能弄丢设备。
要安装Chrysaor,我们相信是攻击者诱骗特定的群体去下载恶意软件到他们的设备上。一旦安装了Chrysaor,操作员在远处可以件事受害设备的活动,而在近处他可以使用麦克风、相机、数据收集系统,并且可以记录、追踪诸如打电话和发短信这种通讯app上的活动。
我们分析的Chrysaor app样本中比较典型的一个是专在Android 4.3(Jellybean )运行的。接下来主要是对一款为三星设备量身定制的,名为com.network.android的Chrysaor app的危害的审查。该app的SHA256摘要为:
ade8bef0ac29fa363fc9afd958af0074478aef650adeb0318517b48bd996d5d5
在安装的时候,该app用熟知的framaroot exploit 来提升权限并打破android的应用程序沙箱。如果这些exploit对目标设备不管用,那么该app将尝试用预安装在/system/csk 的超级用户二进制文件来提升权限。
在提升权限之后,该app将立刻通过如下方式保护自己并收集数据:
把自己安装到 /system 系统区,这样就算设备恢复出厂设置它也依然存在。
移除三星的系统更新软件(com.sec.android.fotaclient )并禁用自动更新(设置Settings.System.SOFTWARE_UPDATE_AUTO_UPDATE 为0)来确保自己能够在该设备上。
删除WAP推送消息并改变WAP信息设置,可能是出于反取证(anti-forensic )的目的。
开起内容观察者(content observer)和主任务环(main task loop )来接受远程命令和窃取数据。
该app用下面六种技术来收集用户数据:
重复命令:通过时钟定期重复设备上的行为来显示数据,包括收集位置数据。
数据收集器:把设备上所有的内容都放到一个队列里。数据收集器和重复命令联合使用来收集用户数据,包括,SMS设置,SMS 信息,通话日志,浏览器历史,日历,联系人还有来自选定的通讯类app的信息。通讯类app包括WhatsApp, Twitter, Facebook, Kakoa, Viber, 和Skype,要读取它们的信息主要是让这些app的/data/data 目录可读。
内容观察者:用安卓的ContentObserver 框架来收集在SMS, Calendar, Contacts, Cell info, Email, WhatsApp, Facebook, Twitter, Kakao, Viber, 和Skype的变化。
截屏:抓取通过原始帧缓冲区的实时屏幕的图片。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课