APP下载

聚焦移动安全

2016-09-10

中国信息技术教育 2016年13期
关键词:攻击者安卓设备

编者按:在移动终端大行其道的时代,随处可见“低头族”,那么你关注过自己的“安全”吗?你是否在“裸奔”?……网络的普及,让我们的生活越来越便利,但隐患也相伴而生,不时有新闻爆出这样或那样的安全问题,令人担忧,又不免存在侥幸心理。因此,对移动终端的安全多一些了解,是非常必要的。主持人和嘉宾分两期对这一问题进行探讨,也欢迎您积极参与。

应用沙龙

主持人:

金 琦 浙江师范大学附属中学

嘉 宾:

邱元阳 河南省安阳县职业中专

刘宗凡 广东省四会中学

伴随着移动通信和互联网融合的扩大和深入,移动互联网开始为用户提供更具有移动特性、更丰富多彩的应用服务。一方面,各式移动终端极大地改变了我们的生活方式,它让我们的生活、工作变得更加方便;另一方面,正是由于它与我们的生活、工作的联系如此紧密,与之相应的移动终端安全问题也日益突出,引起了社会的广泛关注。本期将根据不同情况,探讨移动终端的一些常见的安全问题以及相应的防护措施。

金琦:乔布斯创造的苹果帝国

自2007年乔布斯发布第一款iPhone开始,因为卓越的设计和总是提前采用更先进的技术,使得苹果产品成为当今许多人忙碌生活中的必需品,iPhone以及相关设备的用户近年来不断增长,到2016年初,其用户数量已经超过了10亿。

从安全的角度看,iPhone也成为硬件工程师和黑客们的兴趣点。很多人花费大量的时间尝试了解iPhone的内部机制,包括它所用的硬件、操作系统如何运作、安全机制的设立等。众所周知,iOS已经从最初的一个相当不安全的平台变成了现在市场上最安全的手机系统之一(如下页图1)。

iOS的封闭性是毋庸置疑的,默认情况下,iOS设备是禁止第三方更改其操作系统的。这就意味着,用户不能像使用Windows那样访问他们的设备,而且iOS也没有文件管理器这个概念。因此,很多人希望能够在iOS上面做更多的事情。一些有热情的开发者,对iOS平台内部工作机制进行大量研究,其目的是获取iOS系统的最高权限,也就是为人熟知的“越狱”了。

从正式命名到现在,iOS陪伴消费者已有8年之久。在iPhone发布之初,苹果公司限制了第三方应用的运行,用户如果想浏览网站,只能通过内置的Safari浏览器。很显然,缺乏第三方应用的支持使消费者们无法充分地发挥他们设备的性能。当时的黑客便开始致力于破解iPhone,惯用的手法是通过刷机或者“越狱”来安装第三方软件。

让时间回到九年前的那个夏天,世界上的第一台iPhone闪亮登场。但它问世没多久,就被乔治·霍兹(George Hotz)破解了,他认为,破解的核心在于让硬件能够接收到自己的指令,并按接收到的指令去做,类似于催眠。几周后,他找到了基本的思路。凭借着一把螺丝刀和一个吉他拨片,霍兹撬开了iPhone,找到了自己要找的东西——基带处理器。正是这小小的黑色塑料片,决定了iPhone只能在AT&T的网络下工作。霍兹在基带处理器上焊进一条线,附上电压,扰乱了它的编码,实现了操控iPhone的目的。之后他为这台iPhone写了一个程序,使其能够在任何运营商的网络下使用。随后霍兹就迫不及待地用摄像机记录下这一过程,并把视频发送到Youtube上。这段展示全球首台破解版iPhone的视频很快就吸引了200万的访问量,霍兹也因此一举成名。马上,他通过网络将自制的破解iPhone进行拍卖,换得了一辆尼桑跑车和3台新iPhone。

可能是受到这一举动的影响,2008年,苹果公司发布了新版本的iOS,这个版本内置了一项全新的服务,那就是众所皆知的AppStore。AppStore提供了用户购买与安装应用的机会。自AppStore发布至今,已有超过100万App发布并可购买,累计下载量超过500亿。

早期的iOS版本在安全防护方面做得很少,所有的进程都拥有超级用户的权限。进程在系统资源的使用方面也没有限制。随着时间的推移,苹果公司开始引入更为安全的系统功能。从AppStore下载的App是以Mobile权限运行,最引人注目的应该是沙箱(Sandbox)功能了。

所有这些改变和优化处理成就了今天的iOS,iOS也因为它的安全模式获得了巨大的成功。事实上,AppStore中应用的总体分配过程以及当前iOS系统所实现的安全措施集合,使得iOS已成为最安全的消费级操作系统之一。

虽然iOS在安全方面获得了巨大的成就,但就此认为iOS无法被入侵是非常幼稚的,上期就提到了几种方式,成功入侵了iOS平台。就目前而言,相对于其他系统,想对iOS设备发起一次成功的攻击,可采用的方法是有限的,苹果公司也能迅速发布解决方案,因此用户使用不“越狱”的iPhone手机,安全系数较高。

刘宗凡:漫谈恶意软件

随着移动设备的发展和流行,移动设备上的恶意软件问题渐渐地凸显出来。与桌面平台的发展类似,在移动设备发展的初期,它们并不是以恶意传播为目的,而通常是出于好奇心或者作者的恶作剧。随着时间的推移,恶意软件的目的有了根本性的转变,从刚开始为了博人眼球,到后来以收费诈骗甚至信息窃取为主。目前已知最早的移动恶意软件是RedBrowser,它于2006年出道,与其前辈有许多重要的不同之处。首先,它专门感染采用J2ME(Java 2 Micro Edition)平台的手机。该木马会将自己伪装为一款能够更容易浏览WAP(Wireless Application Protocol)网站的应用程序。由于攻击目标是应用广泛的Java,而非移动设备的操作系统,因此攻击的范围变得更广了。其次,这款木马利用了高级SMS订购服务,导致手机用户要为每条SMS支付5美金的费用。看到如此高的回报,恶意软件开始变得一发不可收拾。

三年前,安卓平台在全球智能手机市场上占据的份额已经超过八成。此外,它还有一个更大的数字——97%,这是安卓平台在全球手机恶意软件中占据的份额。

1.安装方式

安卓平台上的恶意软件经常伪装成热门软件来吸引用户下载,从而达到快速传播的目的,常见的安装方式如下:

(1)应用重打包

恶意软件制作者会选择一款热门应用,对它进行反编译,去除第三方库等外部通用代码之后的部分,然后植入恶意代码,提交给应用商店。由于重打包应用需要保持原应用的功能,因此对核心代码不会做很大的改动。

(2)钓鱼式引导

很好理解,恶意软件制作者会放出一个钓鱼链接供用户访问,在未经用户允许的情况下安装恶意软件。

(3)升级包

在更新时动态获取或下载恶意软件,这种方式最近越来越流行,一般的静态代码分析无法检测。

恶意软件安装到用户手机后,一般会监听系统日志。因为安卓系统的广播系统会自动进行事件通知与函数调用,因此无需用户启动即可触发。例如,Boot_Completed常被恶意软件用于开机自启动,SMS_Received被吸费扣费类恶意软件用于监听拦截来自网络运营商的服务。

2.恶意行为模式

安卓平台恶意软件的恶意行为模式主要有以下几种:

(1)恶意消费

恶意消费软件的显著特征是感染后会在系统后台执行扣费操作,具体地说就是通过定制SP业务从而自动发送短信和拨打电话。比较典型的就是MDF.A.keji.a,该类程序一旦被诱骗安装到手机上,就会在后台发送付费短信,达到恶意扣费的目的。

(2)隐私窃取

隐私窃取是近年来常见的一种手机安全威胁,在用户不知情或未授权的情况下,获取用户隐私信息。用户一旦感染了具有隐私窃取行为的恶意软件,本机已安装应用列表、本机所有联系人姓名和电话、当前位置信息、手机短信、彩信、手机邮件内容都存在被泄露的风险,更为严重的是使用手机登录的各类账号都存在被盗用的风险。比较典型的就是基于木马FCS.A.Bg.a开发的各类恶意软件。

(3)远程控制

多数恶意软件远程控制模块使用HTTPS协议连接,手机感染该类恶意代码后,会在后台自动连上对应的服务器,等待攻击者发送指令实施攻击,常见的该类病毒有金山率先发现的MDF.A.Pico.a,当然读者也可以尝试安装Webkey这种远程登录控制软件,体验在计算机浏览器中打开手机屏幕,并执行手机程序。

(4)权限提升

现在大多数安卓系统在安装新应用时会告知用户需要请求的权限,用户只能选择完全接受或者取消安装,这已经让很多用户诟病了,但权限的提升更危险,能够突破安卓权限机制和沙箱机制,甚至允许恶意软件执行Root权限。

当安卓在Google Play和各种第三方应用商店备受应用软件困扰时,苹果却几乎没有受到影响,并且大多数恶意软件还是运行在“越狱”了的苹果设备上。

2009年,人们发现了第一款iOS设备上的恶意软件,它伪装成iOS的固件。安装后,软件会显示一条消息,称“你的手机因为不安全,已被入侵,请访问www.doiop.com/iHacked解锁”。当受害人访问后,便会被要求支付5美元以获取如何修改他们的密码和删除该恶意软件的信息。

iOS几乎没有恶意软件,而安卓平台充斥着恶意软件,这令很多人称赞苹果,但事情没有这么简单。首先我们从市场占有率来分析,安卓平台的占有率已经超过八成,为了利益,大多数恶意软件的开发者会把安卓平台作为主要攻击目标。其次从评估过程来分析,安卓平台的开发者只要一次性支付完25美元后,就可以上传应用到Google Play中,过了大约30~60分钟,就会出现在Google Play。Google的办法是使用一个叫做Bouncer的“云终端”扫毒软件,然而像前面提到的更新包就无法被检测。与此对应,AppStore采用静态分析以自动检测API是否合理,并对提交的应用进行人工检查,所以审批过程通常会花费一星期左右的时间。另外,AppStore要求开发者每年支付99美元的开发费用,因此会提高进入的门槛。我们可以认为苹果的严格注册和检查过程减少了其App商店中的恶意软件数。最后我们看一下第三方支持性,安卓平台是一个开源平台,支持未知来源的App,这意味着用户可以安装来自任何地方的App,当然也容易从有恶意的网站安装到恶意软件。默认情况下,手机安装未知来源软件是不允许的,但是许多用户会同意安装,同时用户也会被欺骗修改了安全设置。虽然安卓不会安装未签名的APK,但是安卓也不关心是谁签名了该应用。所以谷歌或其他受信任的应用商店没有必要对应用进行签名。另外,苹果只允许用户从它自己的App商店或企业应用商店(假定适当的企业配置文件已经安装在设备中)中下载安装应用。iOS内核通过只执行经审核过可信签名的代码来强化这种限制。用户必须“越狱”后才能在他们的手机中安装第三方市场的应用。

恶意软件的制作者也没有停下升级的脚步。恶意软件的数量在不断增大,质量在不断提升,移动系统的安全性也随之不断提高,如之前提到安卓6.0系统的安全性有了很大提高,但是安卓系统是开放式系统,品牌的全面更新换代较缓慢。谷歌2015年10月就已经推出了安卓6.0系统,直至今年2月,其市场占有率仅仅达到1.2%,市场上占有率最高的仍是安卓5.0和安卓4.4等早先发布的版本。与此相反,苹果iOS系统于2015年9月发布了iOS9.0版本,至今年初已经占据苹果手机75%的份额。这主要是因为苹果系统的更新是通过苹果公司直接向用户推送来实现的,而安卓系统除了Google开发的nexus系列设备,其他各个手机品牌基本上是使用经过自己改装的系统(基于安卓平台),用户只能收到基于手机品牌安卓系统的推送。由于很多厂商采用了机海战术,种类繁多的机型使得厂商无法及时推出升级包,导致很多设备一直停留在刚发布时使用的系统,造成Google发布的最新安卓系统难以在第一时间推送到用户手中。尽管安卓系统在与苹果等其他系统的竞争中将继续保持优势地位,但谷歌必须加强与各个手机品牌的合作才能加速安卓系统的更新换代。

邱元阳:移动网站暗藏玄机

很多时候,漏洞的来源并不是移动设备,而是用户所访问的网站。

手机中的各种不同版本的主流浏览器已经和桌面版本非常相似,所有HTML5的效果通常也可以在这些移动端APP上实现。所以很不幸,这些平台存在的XSS攻击、SQL注入攻击等对于移动设备也同样有效。

XSS是Web应用程序没有充分过滤用户输入内容,或者浏览器没有充分过滤页面输出内容,导致的应用层安全漏洞。攻击者利用XSS漏洞能访问受害者的敏感信息。XSS攻击有三个步骤:①用户访问的网站是一个存在XSS漏洞的网站。②攻击者发现该网站的XSS漏洞,向其中注入恶意代码,并诱导用户点击访问。③用户访问了注入恶意代码的Web页面,恶意脚本在用户的浏览环境中执行,攻击者的攻击目的达到。

与PC浏览器相比,大多数移动设备的存储容量是比较小的,这就限制了移动浏览器存储的信息量。主要的差异就是为Cookies分配的存储空间,在PC中,网站会给不同功能应用以不同的Cookies,包括维持会话的Cookies,而在移动设备中由于存储空间有限,一般只会存储会话Cookies。

最近新浪微博爆出一个XSS漏洞,攻击者只要精心构筑一个页面,受害者一旦进入该用户构建的首页,就会把自己的Cookies传输到攻击者的服务器中。攻击者获取了受害者的Cookies后,就可以登录他的微博账号(如图2)。

SQL注入是一种非常古老但实用的攻击方式。这种攻击方式主要是攻击者通过Web向后台数据库发送SQL语句,这些Web程序未审查输入或未采用参数化查询请求。SQL注入的原理很简单,攻击者向Web程序中的Form、Cookies字段插入SQL语句,而不是合法的值。这些Web程序收到用户的输入信息后将其传输到数据库,数据库接收到信息后执行语句,如删除用户。已经有黑客实现了用一条含有SQL语句的短信控制手机。

为了避免SQL注入漏洞,就需要Web程序能够清晰地区分SQL语句与其包含的参数数据。如果参数数据被构建成SQL语句的一部分,就将导致SQL注入能产生严重的后果——从干扰用户的错误提示到能够使整个Web平台崩溃。在现今的安卓平台上,可以从查询语句中区分参数数据来进行参数格式查询,安卓中ContentProvider的方法query( )、update( )、delete( ),Activity的方法managedQuery( )都支持参数化查询。使用“String [] selectionArgs”参数,该参数是一个值的集合,插入到查询语句中的“?”,并以问号出现的顺序依次插入,这样可以防止用户输入导致的SQL注入。

二维码扫描也存在问题。2014年,安卓平台上的Webview UXSS漏洞掀起了一场腥风血雨。由于安卓系统自带的WebView组件使用Webkit作为浏览器内核,导致Webkit的历史漏洞就存在于Webview中,其中包括危害比较大的UXSS漏洞。WebView组件用来渲染网页,几乎存在于所有的Android App中。如果扫描二维码得到的结果是个网址,大部分App会直接用Webview来打开,由于Webview存在UXSS漏洞,所以很容易导致资金被窃、账号被盗或者隐私泄露。识别出来的二维码默认以HTML形式展示,可以执行HTML和JS,因此也可以执行XSS代码。如图3所示,用户扫描了恶意二维码后,攻击者便有权限读取本地文件。

金琦:未雨绸缪,提前防护

简单概括一下,移动安全有着很长的一条信任链,关系到了移动设备、App、移动网络。移动设备上容易出现预装App产生安全威胁。移动应用方面,从第三方应用商店下载下来的App,很容易产生恶意收费、窃取隐私的情况。移动网络也不容乐观,伪基站、中间人攻击等环节出现问题,都会构成移动安全问题。正是因为移动安全的信任链如此之长,所以下手的途径和方式非常之多,使得移动安全的应对很复杂。

某些时候,手机如果遗失或者被窃,损失最大的可能还在于手机中的关键个人信息落入了他人手中,进而造成严重后果。比如对于无锁屏密码或者无指纹密码的手机来说,不怀好意者可借此登录网上营业厅,输入随机密码就可以获得手机主人的所有实名信息。之后便可以用此号码进行支付宝、银行卡等财产操作。

为了防范丢失手机造成严重后果,手机的锁屏和SIM卡的PIN码必须同时启用,缺一不可。只要手机的SIM卡设置了PIN码,那么此SIM卡插入另一台手机就需要PIN码进行解锁,不解锁就无法接收短信和拨通电话。

iPhone用户可打开指纹验证和“查找我的iPhone”功能,iCloud设置强力密码,并开通二次验证功能。

支付宝等常用App建议开启指纹密码和付款密码。

发现手机丢失后,应立即拨打电话给通信运营商,挂失SIM卡。iPhone用户立即登录iCloud网站,启用“查找我的iPhone”并开启丢失模式。

安卓用户可以下载Lookout应用,在错误地输入手机密码、取出SIM卡、开启飞行模式、关机和移除Lookout应用这五种行为后,Lookout会自动利用手机前置摄像头拍摄照片(因为它假设可疑人员在使用手机),同时记录拍摄时间和地点,之后将这些信息以电子邮件的形式发送给机主,方便他们采取下一步行动,如抹去手机记录或者直接报警。

为了保证App能安全使用,iPhone用户尽量不要“越狱”,也不要下载未经AppStore审核的应用。建议安卓用户最好给手机安装一个安全软件,如360手机卫士、腾讯手机管家、金山毒霸、百度手机卫士、Avast!等,这些安全软件基本能在下载和安装阶段拦截掉病毒。更需格外引起注意的是:不要随便扫描二维码,下载APK安装包,更不要安装不了解的App。如果安装了一个App后发现没有图标,有大概率是病毒应用,此时应该立刻打开飞行模式,断开网络,把支付宝等余额转入关联的银行卡并解除银行卡绑定。备份手机里的重要资料,如通讯录、短信、通话记录,之后恢复手机出厂记录并格式化存储卡。

VPN(Virtual Private Network/虚拟专用网络)被定义为通过一个公用网络建立一个安全的连接,VPN主要采用隧道技术、加解密技术、密钥管理技术以及使用者与设备身份认证技术。安全的VPN使用加密穿隧协议,通过阻止截听与嗅探来提供机密性,还允许发送者身份验证,以阻止身份伪造,同时通过防止信息被修改提供消息完整性。对于公共Wi-Fi,有条件的用户可以申请一个VPN账号,之后关闭所有应用,开始连接VPN。使用了VPN后可以防止中间人攻击和恶意引导,不过对伪基站攻击无法防御。

在大数据时代,便捷的移动网络给了人们更快的使用体验,也让个人隐私有更多暴露的机会。移动终端安全知识的普及仍然任重道远,在厂商和用户不断提高的安全手段和意识下,相信移动安全将迎来崭新的明天。

猜你喜欢

攻击者安卓设备
调试新设备
让iPhone变安卓,这是真的野
文物表情包
学习安卓应用开发
安卓机器人
认一认
视听设备行情