Monthly Archives: 六月 2014

间谍件总结

post by fish_yu

随着移动互联网技术的飞速发展,移动智能系统的逐步成熟,搭载着智能系统的手机、平板大量涌现,于是智能系统的重要组成部分App应用火了。无论您使用的是手机还是平板电脑,或者其他设备,面对如此海量的App,在安装和使用这些形形色色的App时是否想到过这样的事情,一些App背后偷偷地在窃取着您的个人敏感隐私!下面我们就来看看它们背后都做了哪些不可告人的秘密。

一、窃取,无处不在

1.1 盗取金融账号信息

2013是互联网金融开始爆发的一年,针对这块”肥肉”恶意应用自然不甘寂寞。

当点击招商银行登陆界面时,会跳转到SocketDemo这个activity。

应用进入到SocketDemo这个activity,用户输入账户、手机号和密码,点击send按钮,便会向”1891128940″号码发送以上信息,从而盗取用户账号及密码。

同时也发现有伪装成支付宝,工商银行,建设银行,交通银行等登录界面,几乎可以假乱真,实则后台获取账号密码等敏感信息并通过短信发送。

 

以获取支付宝密码为例,分别获取支付宝账号,密码及支付密码并以#号连接,之后base64加密再短信形式发送。

不仅仅是国内,国外的银行盗号也很严重。

其中 Santander是一个西班牙银行的名称,Clave de firma是西班牙语,翻译后为:签名密钥。这个样本的主要行为就是:

伪装成银行的在线口令生成器,诱骗用户在Clave de firma下的控件内输入自己的银行密码,并随机生成虚假的口令(mToken)显示给用户。这时用户的银行密码通过短信和网络的形式被泄露,并且在之后配合样本,截取到银行发送给用户的手机验证码,攻击者可以在用户完全不知情的情况下窃取用户的银行财富。

1.2 盗取聊天应用消息记录

“听风者”现实中的监听,该应用运行界面及网站功能说明,此软件还有一个登录后台可查看聊天记录

国外间谍应用的功能更是有过之而无不及。

其中左图为该程序运行后的界面,右图为后台查看的一些社交或聊天应用的消息。

如获取whatsapp消息记录

加强安全意识,增加安全防范,不要让无形的”听风者”让你成为某某门的主角哦。

1.3 盗取更多隐私

获取短信记录,如敏感的支付宝或银行相关信息

468

获取通话录音、SMS信息、定位信息、环境录音

469

获取手机通话记录

470

获取SD卡文件列表。

474

获取联系人信息

没有想不到,只有做不到,一旦中招,就没有隐私可言了。知己知彼,接下来我们总结下这些间谍件的常用行为流程及功能,不要让自己成为”肉鸡”。

二、控制方式

2.1 短信指令控制

家族:MguSpy.a

说明:该程序运行后进行短信监听,接收远程短信指令控制。

2.2 网络指令控制

家族:Lien.d

说明:连接恶意远程服务器,接收服务器指令控制

2.3 google云推送

家族:Tramp.a

说明:其实该控制方式也属于网络的一种,只有不是直接由恶意远程服务器控制,而由google云服务器进行指令发送,具有一定隐蔽性。

注册google GCM监听广播

根据指令执行相关操作。

三、隐私回传方式

3.1 短信方式回传

家族:Lurker.a

说明:短信回传操作简单,实用(只要手机还有话费即可)。一般个人开发的程序采用此种方式,当然也有程序通过短信发送回执信息,如指令招行成功与否。

发送短信记录

发送通话记录

3.2 网络方式回传

家族:VladoSpy.a

说明:一般通过网络回传的间谍件,都有一个功能强大的后台管理系统,进行统一查看或管理。该类间谍件一般功能强大,大都是要收费的。

获取设备信息

短信记录

475

3.3 邮箱方式回传

家族:Dd1d.e

说明:通过邮箱发送用户相关信息或程序安装状态等。

通过163邮箱进行发送

471

已发送邮件

472

四、常见功能

典型功能:短信记录,通话记录,联系人等。

4.1 获取短信记录

访问短信常见协议

4.2 获取通话记录

常用uri: CallLog.Calls.CONTENT_URI;

4.3 获取联系人信息

获取联系人uri: android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI, android.provider.Contacts.People.CONTENT_URI

4.4 通话录音

常见的有通话或环境录音

4.5 拍照

拍摄照片

五、借我一双慧眼–识别间谍应用

5.1 无图标或隐藏图标

无activity,安装无图标,仅有广播和服务。

首次安装有图标,但下次运行会隐藏图标的。

一般通过setComponentEnabledSetting API进行隐藏图标。

5.2 激活设备管理器

AM注册有激设备管理器,而又无图标或隐藏图标的。

5.3 短信监听

会监听短信,有拦截行为,同时会对短信内容进行判断的,如*,#开头的,等不同于一般用户发短信习惯的。

5.4 大量可疑权限

短信,联系人,定位等大量可疑权限,同时包名又比较可疑的。

一般来说同时拥有以下三种或以上权限很可疑。

权限

说明

android.permission.SEND_SMS

发短信权限

android.permission.READ_CONTACTS

读取联系人权限

android.permission.ACCESS_FINE_LOCATION

精确定位权限

android.permission.RECORD_AUDIO

录音权限

android.permission.CAMERA

拍照权限

5.5 邮件发送

有邮件发送代码同时有大量可疑权限及服务。

5.6 包名伪装系统服务

包名和程序名伪装系统服务或应用。

5.7 大量字串比较

字串比较一般用于指令的匹配。

如:startsWith

如:equals

5.8 字串表关键字

直接搜索字串表,看到很多敏感关键字的。

中文:指令,开启录音,通话,上传

英文:uploadgps,uploadrecord

其实明显指令提示信息。

5.9 通话监听

监听拨打电话并对号码进行判断的,所拨打号码一般包含*,#等,不是用户常规拨打号码。

5.10 服务过多,activity较少。

5.11 查看包结构

间谍件一般目地性较强,组织结构较清晰,若包名中包含:call,contact,gps,record,server,task等较为可疑。

六、小结

间谍类程序功能强大,一旦中招,个人将再无隐私可言,危害极大。同时还具有隐蔽性强(安装无图标,仅启动服务),不易清除(激活设备管理器,防卸载)等特点。针对此类间谍应用,安天安全专家建议,养成安全意识,从知名站点下载应用,未运行此软件用户可直接清除。

同时可以下载AVL移动安全团队AVL Pro对恶意应用进行查杀。

广告件小结

post by markseven

AVL移动安全团队在样本的分析过程中,发现了大量的应用被加入了广告件,广告件与普通应用一样也分正常和恶意的,本文从其表现形式到包结构再到对抗加壳进行简单的小结。

 

一、广告件性质界定

判定广告件实际上是对广告推广商的利益和智能终端用户权利的一种权衡,在不失衡的情况下界定出哪些推广手段是损害用户权利(如隐私权、知情权等)或违背用户主观意愿(如私自下载、私自创建快捷方式等)的恶意推广行为,哪些是推广商正常的营利行为。将前者定义为良性广告件(判白),而后者定义为恶意广告件(判黑)。本文将围绕广告件的通性以及这两类广告件的定性与区分进行相关阐述。

 

二、实际表现

1、积分墙

首先看一则有米官网对积分墙的声明:

积分墙的表现形式一般为下载第三方应用获取积分,用以开启VIP业务,或者用于开启游戏中更高级别的关卡。这种推广行为虽然会在一定层度上影响用户体验,但这种形式早已被广泛应用和接受(比如论坛注册后需要通过一定的手段获取积分才可成为正式会员并享有会员服务),应判定为良性广告件。

 

2、悬浮窗

悬浮窗广告件一般会在桌面上显示一个小精灵之类的东西,用户点击之后便会跳转到一个广告列表,下面是道有道提供的蛋壳广告业务:

当用户点击了左图中的蛋壳之后,便会弹出右图所示的广告列表,这种广告件如果不伴随有其他的恶意行为,一般不会对用户造成太大影响或损失,应该判定为良性广告件。

 

3、广告条

广告条是一种”明目张胆”的推广方式,应该是用户最放心的,因为广告条上一般都显示了”它是什么”和”它会干什么”。下图示是有米提供的广告条业务的部分描述:

所以正常的广告条在用户点击之后,会等待用户确认然后才开始下载,比如下面这个样本,点击作图广告条会出现右图所示的下载提示,再点击”点击下载”按钮才会开始下载。此类广告件对用户有足够的提示并且不会对用户造成不良影响,应该判为良性广告件。若点击无提示便开始下载则判定为恶意广告件。

 

4、界面劫持

在介绍界面劫持之前首先介绍一下贴片广告(插播广告、插屏广告等均归为贴片广告)的正常表现形式:

从以上截取自有米官方的插播广告和多盟官方的插屏广告的介绍可知,正常的贴片广告应该是在本应用启动、暂停或退出时展现。

然而,部分广告推广商为了增加广告的用户点击率,制造了更为流氓的推广方式:贴片广告会在用户使用非本应用的第三方应用(如新浪微博、微信等)时弹出来,覆盖掉当前应用的部分界面。下图为用户在使用微信浏览消息时界面遭贴片广告劫持的案例,这种未经任何允许劫持其他应用的界面显示广告的行为违背用户主观意愿,影响用户体验,应该被判定为恶意广告件。

 

三、恶意行为

1、私自下载

为具有私自下载行为的样本定性首先应判定其是否为广告件,当下载内容为需要推广的产品(如第三方应用)时,即可判定其为广告件。其次,私自下载明显是违背用户主观意愿的,所以具有私自下载行为的广告件均可判定为恶意广告件。常见的私自下载有如下两种:

欺骗用户点击下载

如下图所示,该样本将通知栏图标伪装成未接电话的图标,当用户不小心点击之后便开始下载应用。

无提示私自下载

如下图所示,该样本未对用户进行任何提示,直接开始下载应用,下载完成后跳转到安装界面。

 

2、隐私泄露

隐私泄露与广告件之间存在着必然的联系,广告推广商利用广告件获取用户的地理位置、手机型号、性别、年龄以及兴趣好爱等信息,然后依据推广的需要针对特定的用户进行推广。下面这张图截取自安沃的官方主页,其中很明确地提到”运用技术手段使广告可以针对人群精准传递”,换句话说就是”利用技术手段窃取用户的相关信息,然后向他们的手机投放广告”。

那么广告商需要获取用户的哪些信息呢,请看下面这张截取自道有道官方主页的图。

地理位置和性别年龄等隐私信息,一般人是不愿意泄露的。对于IMEI、IMSI等设备信息,用户可能并不知晓其存在,但确实属于隐私的范畴,私自窃取也是不合法的。所以对于有上传用户的地理位置、性别年龄和IMEI、IMSI等信息的样本,应该被判定为恶意广告件。

 

3、恶意耗资

存在私自发送扣费短信、拨打扣费电话或者以其他方式损耗用户手机资费的广告件均为恶意广告件。

 

4、创建桌面快捷方式

    我们首先看一下有米官方网站上一则关于广告条的声明:

    由上图可知,这种广告条点击之后便会创建桌面快捷方式,如下面这个样本运行截图所示,点击桌面快捷方式便会弹出广告推广界面。这类样本私自创建快捷方式,违背用户的主观意愿,侵犯用户的知情权,应该判定为恶意广告件。

 

 

5、频繁推送

    通知栏推送类广告是广告推广商惯常的推广方式,对于单纯的通知栏推送类广告一般不太容易引起用户的反感,但是如果推送的频率过高,像下面这个样本,十五分钟之类便推动了两次,按照这个进度,一小时之内便可以占满整个屏幕,是违背用户的主观意愿的。

 

四、广告件常用包结构

1.背景信息完整

背景信息完整有SDK的广告是数目最多的一种广告,开发者主要借助官方提供的SDK信息来进行广告件的开发,植入。广告厂商一般会在SDK开发包当中提供一个实现广告核心功能的Jar包。程序开发者在开发Android应用的时候,导入Jar包然后就可以调用其中实现好的广告接口,以数量比较多的AnZhi广告件广告件为例。

从开发的SDK来看,程序会以coverscreen以及banner的形式来显示广告。

在具体的开发文档中,程序会对AM当中有特定的要求。

CoverScreen形式

Banner形式

 

2.背景信息不完整

在样本分析的过程当中还发现了一类,背景信息并不存在的有明显广告推广行为的广告件,但是,这类广告并没有使用官方的SDK来开发,或者相关的背景信息在网络上并没有太多。

cckcn广告件

这个广告通过通知栏的形式推送广告相关的信息。从样本的包结构来看,广告的包结构主要形式是”org.pac.XX”这种形式。而广告是在检测到用户的联网发生变化时来触发的。

epush广告件

这件广告的形式是在用户运行时,在界面上出现广告推广的界面信息,用户点击会下载推广的软件信息。程序广告的主要功能是包结构”com.sys.epush”当中来实现的。广告在用手机启动以及用户解锁屏幕时来触发。

 

五、对抗

在分析广告件的过程当中,很多的开发者并不是一成不变使用传统的SDK来开发广告,现在很多安全厂商大量检测广告信息,为了躲避检测,广告开发者们开始想办法来对抗安全厂商对广告的检测,主要有以下几种主要的变化形式。

1.在第三方库中集成广告

在分析样本的过程当中,发现了一种基于Adobe Air的运行环境,并使用针对Adobe AIR原生扩展来实现的AdMob广告的第三方库文件。

 

2.广告有关文件加密后放到apk文件的资源文件下

在dyds.b这个广告件,单从AM当中并看出来明显的广告信息,代码当中也找不到有关广告功能相关的url信息。但在资源文件夹下可以看到比较敏感的文件。

程序运行时会加载资源文件下的文件进行解密变换后释放出dex 文件,这个文件当中有与daoyoudao广告有关的信息。

 

在分析的过程当中发现这类样本的包名变化非常多,特征性的东西并不是很明显,比较容易逃避杀软的检出。

 

3.伪装成其它广告

在分析当中发现一类伪装成其它广告件的广告件,看包名貌似是其它广告件的广告,但实际却是”米迪”广告件,它的SDK当中并不包含与广告域名相关的信息,在运行的时候会联接”米迪”的官网下载一个zip文件包,并将其中的dex文件进行加载来实现广告的功能。这类广告件出现一种捆绑结构,他们的功能主要在包结构为”com.anzhi.ad”这个包结构当中来实现的。

同时很多这类广告件会通过加密程序对运行时联网的url信息进行隐藏。

 

4.加固后的广告

比如这个出现在com/merry/wapper这类包结构当中的加固应用。

程序本身的代码结构比较简单,而apk样本解压缩当中的包含的内容很多,有一些很敏感的文件(“cha.pro”,”engine.so”,”libnsecure.so”),程序的包名为”com.briskgame.Spider.free”,而程序当中的代码结构当中并没有相应的包结构,而是另外一个叫做”com.merry.wapper”的包结构。

从程序的AM当中,可以看到很多广告特征的东西,从对应的代码当中并不能找到相应的类结构,所以该样本是加载apk压缩包当中资源文件。

解出来的包结构显示出来相应的广告件的SDK,可以看出隐藏的还是很深的。

还有一种常见的就是使用梆梆加固后的广告件,这类广告件比较多,需要脱壳后才能正常检出。

 

六、总结

本文从广告件的表现形式、恶意行为、包结构、对抗方式等角度来描述目前广告件的发展现状,无论是正常广告还是恶意广告,再到对抗加壳,广告件的演变速度都是相当之快的,变化形式也非常多。

用户可以使用AVL Pro的应用分析器对安装的应用进行扫描,可以分析出应用使用了何种广告插件:

巴西世界杯在即 球友看球需谨慎

   明晚注定是一个不眠的夜晚,巴西世界杯即将开球。在广大球迷备好啤酒,”辞完职”准备看球的同时,AVL移动安全团队提醒各位球友保护手机安全,别被伪装为“世界杯”、“足球*”的恶意代码乘势而入窃取隐私、浪费流量。
   AVL 移动安全团队统计发现有近八百款以”世界杯”、”足球”为幌子欺骗用户下载安装的恶意应用,如”FIFA World Cup 2014 Theme”、”FIFA World Cup Brazil 2014”、”足球比分直播”、”指尖足球”、“世界杯点球大战”等。

相关恶意代码情况说明

   据统计,AVL移动安全团队捕获的伪装为”世界杯”、”足球”的恶意代码家族有40个,其中感染应用数量排名前十的恶意代码家族如下:
sjb-6

   这些恶意代码通过重打包、捆绑恶意代码包的方式伪装成正常应用,安装、运行等过程中,用户感觉与正常应用无异,实际在后台上传用户隐私、发送扣费短信、私自下载其他应用,给用户隐私安全、财产安全带来极大损害。

   sjb-1sjb-2
         图1 伪装为世界点球大战的游戏实际为GingerMaster恶意代码

   sjb-3sjb-4
         图2 伪装为足球比分直播的应用实际为FakeMoJi恶意代码

小结

   以上类别的恶意代码最擅长的就是伪装为热门应用骗取用户安装运行,实际在后台执行扣费、窃取隐私、消耗流量等恶意操作。在用户毫无知觉的情况下破坏用户手机安全、财产安全、隐私安全。AVL移动安全团队提醒广大用户,世界杯期间若使用手机关注球赛,应从官方网站下载相关应用,以保证手机安全。同时,建议用户安装AVL移动安全团队AVL Pro对安装应用进行查杀,保护自身手机安全。