Android勒索软件分析

Android勒索软件分析

0x00 前言

在2019年7月31日,安全厂商ESET的研究人员Lukas Stefanko探测到了一款针对Android用户的新型勒索软件Filecoder.C,此病毒第一次出现在Reddit和Android开发者论坛XDA Developer上,再透过受害者手机大量散布。截止至目前为止,大约有230万人次已被确认“中招”,而有趣的是即使受害者乖乖交了几百美金的“赎金”,却依然无法恢复文件。

这让我们不禁反思两个现象:

  1. 大多数人在“中招“后,由于缺少足够的应对经验和技术,往往不知所措、无从下手。在经过激烈的思想博弈后,率先认输,自认倒霉,乖乖交钱。助长了黑客的气焰不说还有可能出现”即使有密钥也无法恢复手机“的现象。
  2. 移动端的安全防护较PC端较差,暴露出的攻击面更多。同时大多用户对移动APP的攻击技术不够了解,从侧面增加黑客攻击的成功率。

由此可以得出两个结论:

  1. 移动端的安全威胁将进一步提升,以勒索软件为代表的恶意软件将进一步进入手机市场。
  2. 目前移动端市场缺少一款性能优越的防勒索软件。
0x01 手机市场勒索软件情况

以360安全中心2017年的统计数据为例,在2017年的1月至9月,平均每月捕获手机勒索软件5.5万余个。其中1月到5月手机勒索软件呈现波动式增长,6月份网警在芜湖、安阳将勒索病毒制作者男子陈某及主要传播者晋某抓获,全国首例手机勒索病毒案告破,在6月份以后新增数量急剧下降,手机勒索软件制作者得到了一定震慑作用。

在这里插入图片描述

在2018年度,新增恶意软件434.2万个,平均每天新增约1.2万个。整体呈现“前高后低“的态势,且较2017年的勒索软件数量有明显的增长。从移动威胁趋势上看,5G时代的到来将更加冲击移动端的安全环境,届时如何减少攻击面以及提升手机内部安全将成为研究的热点。

在这里插入图片描述

0x02 Android勒索软件工作原理

移动端勒索软件多伪装成一些系统功能组件,或一些特殊功能的APP(如色情软件、游戏外挂、正规应用的破解版等),诱骗用户进行安装。勒索软件通常分为两种类型:锁屏类和文件加密类,勒索软件在索要系统的一些权限后锁定用户设备或对文件进行加密,并进行敲诈。勒索类恶意软件的目的通常很明确,仅仅是为了进行不法牟利,而用户的数据安全和隐私并非不法分子所考虑的。

由此我们可以知道:勒索软件成功运行的重要前提是获取管理器权限。

锁屏类勒索软件:
在这里插入图片描述
在这里插入图片描述

Device admin是一个很危险的权限,设计之初,这个功能是用于厂家开发手机防盗功能的一个接口,只要用户安装此类APP并点击Activate,APP便具备设备管理员权限,并具备以下权限的一种或多种:

  1. 加密存储
  2. 禁用照相机
  3. 禁用锁屏相关特性
  4. 强制密码过期
  5. 锁定屏幕
  6. 限制可用密码类型
  7. 重置密码
  8. 监控密码输入的正确或错误
  9. 擦除数据

一旦用户在不了解权限的具体作用的情况下,给予了勒索软件这一超级权限,黑客可以随心所欲的对用户的手机进行锁定,重置密码等。
此类型的勒索软件,在安卓目录下的manifest.xml中显示注册一个BoardcastReceiver,同时在meta-data中添加一个额外的device_admin.xml用于声明要使用的管理员权限.

<receiver  
    android:name=".AdminReceiver"  
    android:permission="android.permission.BIND_DEVICE_ADMIN">  
    <meta-data  
        android:name="android.app.device_admin"  
        android:resource="@xml/device_admin" />  
  
    <intent-filter>  
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />  
    </intent-filter>  
</receiver>

届时只要用户点击了此勒索软件,便会不停的弹出窗口向用户索要权限,直至用户同意才停止弹窗。

/* Access modifiers changed, original: protected */  
public void onActivityResult(int i, int i2, Intent intent) {
     
    if (i2 == -1) {
     
        startService(new Intent(getBaseContext(), admsurprises2.class));  
    } else {
     
        mo5a();  
    }  
    super.onActivityResult(i, i2, intent);  
}  
 
/* Access modifiers changed, original: protected */  
/* renamed from: a */  
public void mo5a() {
     
    this.f7f = (DevicePolicyManager) getSystemService("device_policy");  
    if (
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值