浅析基于Rootkit技术的手机安全.doc_第1页
浅析基于Rootkit技术的手机安全.doc_第2页
浅析基于Rootkit技术的手机安全.doc_第3页
浅析基于Rootkit技术的手机安全.doc_第4页
浅析基于Rootkit技术的手机安全.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅析基于rootkit技术的手机安全摘 要: 智能手机的广泛普及给用户带来了很多方便,种类繁多的应用程序让我们的工作和生活带来很多便利,但是手机信息安全问题也日益突出,手机rootkit比一般手机病毒更复杂更隐蔽,修改手机系统代码和内核,带来严重威胁。本文分析了手机rootkit技术、隐蔽原理、攻击流程和防范检测技术。关键词: 智能手机 手机木马 rootkit 在当今手机的广泛普及在各个方面都给人们生活、工作带来了极大的便利。特别是智能手机的出现,更是掀起移动互联网的快速发展的浪潮,信息技术和媒体顾问公司analysys mason发布的最新报告显示,预计到2014年全球智能手机销量将达到17亿部。报告显示,预计全球智能手机销量年均增长率为32%。2014年,智能手机将占整体手机销量的26%。由于智能手机可以像计算机一样安装各种来源的第三方应用程序,于是手机的信息安全问题,也是非常严重的。根据360安全中心发布2011年上半年中国手机安全报告(以下简称“报告”)中指出,今年1月至6月,国内新增手机木马和恶意软件2559个,感染手机用户数高达1324万,android(安卓)平台与symbian平台并列成为手机木马“重灾区”,手机木马的危害主要集中在恶意扣费和窃取用户隐私。报告称,相较2010年,中国手机安全领域无论从手机木马种类、数量,还是感染手段的多样性与感染用户数上,都呈现出几十倍的大幅增长。但超过60%的手机木马仍活跃在老牌智能操作系统symbian平台上,新增恶意软件及木马1591个,感染手机用户数更高达1206万人次。报告分析称,国内手机木马的恶意行为,正在由过去的系统破坏转向恶意扣费和窃取用户隐私。比如知名的“x卧底”木马,其本质就是一款黑客间谍软件,不仅会回传受害者手机短信,甚至还能任意监听其通话。报告还列举了今年上半年五大“最恶”木马,分别为“系统终结者”、 “超级大盗”、“勾魂美女”、“x卧底”及水货固件木马“白卡吸费魔”。一、手机rootkit手机木马程序的主要功能是接收程序制造者的一些命令,然后完成这些命令任务,同时将结果返回给制造者,手机木马给人们造成的危害还是以远程窃密、通话监听、信息截获和伪造欺骗为主。它就像是一个安排在我们内部的卧底,随时都记录我们的一切。那么rootkit是什么呢?在计算机安全领域中,rootkit是指隐藏其他程序进程的软件,也可以视为一项技术。最早的rootkit出现是用于开发者对程序的后续修改上面,但后来被黑客用于入侵攻击他人电脑系统,隐藏入侵痕迹,并能在操作系统中隐藏恶意程序。由于rootkit可以成功将自己隐藏于系统之中,所以它必须与操作系统紧密相连,利用底层的核心技术来实现隐身,往往使用这样的技术的时候需要系统最高权限,所以root(root-系统最高权限用户)也表明了这个含义。目前,rootkit技术也逐渐出现在智能手机平台当中。研究人员指出,rootkit使用了各种技术,以保证其不备传统安全软件检测出,但是,相比于桌面平台,移动平台上的安全软件严重匮乏。智能手机上的rootkit检测技术将会由于手机处理能力限制以及其他因素,面临着重大挑战。在智能手机的自带内存和存储卡中存放着各种各样的程序和软件。如果是一些简单的手机病毒程序,在复制到目标手机当中的时候,会带来相关程序和软件的数量和文件属性的变化,在这时候如果手机系统中安装了防毒软件之类的软件的话,扫描程序会对其变化进行检查,如果符合病毒特征,那么就会被防毒软件进行删除,根本得不到存活的机会。但是对于手机rootkit程序来说,就是另一种情况了。二、手机rootkit的隐藏rootkit程序的最核心的目的就是在于能够利用手机系统的底层技术来达到“高权限”的目的,这包括文件隐藏、任务隐藏。它可以将自身在手机的文件系统中“隐藏”起来,让手机的用户及防毒软件等都无法发现这些文件。1. 文件隐藏。手机防毒软件和其他安全软件比较多的采用“文件系统回调函数”来监视手机中文件的变化。这种函数可以在文件属性发生变化之后给防毒软件的应用程序提醒。但是手机系统代码开发阶段,会考虑到一些对于系统相关的可信任程序或者正常程序在创建和自动删除的时候让手机不用再去响应这些变化,而忽略它继续完成正常工作。此时手机rootkit就利用这样的漏洞,把自己伪装成一个可信任的文件,欺骗过手机中对文件的监视。那么这样的手机木马程序就会完全让自己隐藏起来。rootkit还可以根据需要做的更加复杂,比如当第一次安装到目标手机系统中时,会将自己存储在手机存储器中的文件删除,同时监视手机中是否安装防毒软件,或者监视手机是否即将关机,再相应的执行下一步的任务。就android系统进行举例来说,它系统中的initrc脚本负责所有程序开机启动,位于“/system/core/rootdir/”下。使用脚本中的“insmod”命令便可以加载rootkit所在模块,让rootkit在开机的时候启动。但是手机用户可以用“lsmod”命令来查看android加载的模块信息,而这个命令是用sys_query_module()进行调用的,所以为了隐藏rootkit,就要删除sys_query_module()中相关变量,让它不能查看到rootkit的信息。还可以通过在模块中增加代码,修改内核链表的方法来实现rookie模块的隐藏: _this_module.list prev-next=_this_module.list next; _this_module.list next-next=_this_module.list prev; _this_module.list next=list_poison 1; _this_module.list prev=list_poison 2;2. 任务隐藏手机防毒软件不光对手机文件系统的文件进行监视,还对手机的运行的任务进行监视。如果病毒木马程序可以对自身的存储进行一个隐藏的话,但是在后续任务运行的过程中还是依然会被防毒软件作为一个“不正常”的程序被监视到,如果此时这个病毒、木马程序又符合防毒软件提供的病毒特征码的话,那么这个程序就被杀除。所以说在任务运行阶段的隐藏是非常重要的。但是由于智能手机系统和计算机操作系统存在区别,对于传统计算机操作系统中的任务隐藏方法还比较复杂。因为在手机系统中,任务的运行决定着手机系统的正常运行,如果想要隐藏手机上的任务的话,很容易造成手机系统的崩溃和“死机”,导致手机关机。虽然说对于任务的隐藏比较难以实现,但是基于rootkit还是可以找到漏洞。手机系统中也存在一个系统缓存,系统缓存中存放着手机的核心数据,这些核心数据一般还会进行加密存储,有特殊的格式,手机系统有点类似与计算机系统,它将运行任务的数据保存在缓存中,以便于随时调用和修改。如果对这些数据进行破解并修改,手机系统中的关键显示也相应发生变化。由于手机系统不像计算机操作系统那样复杂,手机系统可能只是面向一些基础应用居多,从而在设计的时候就存在巨大的安全漏洞。但是对于手机rootkit制造者来说,发现了这些漏洞并找到利用方法,那么后果很严重。比如,在操作系统设计的时候,系统自身的代码都会在高地址的内存中运行,这个地址拒绝用户程序访问。当手机rootkit程序直接访问到了,又恰好手机系统的开发者没有设置拒绝代码的话,那么rootkit可以直接修改这部分内存中的内容,那么系统本身和其他防毒监视软件都无法再查询到这种改变了。3. 将rootkit通过驱动程序运行驱动程序是指直接工作在各种硬件设备上的软件,让硬件和软件之间能够进行通信,通过驱动程序,各种硬件设备才能被系统调用运行,达到使用目的。这些驱动程序一般都是工作在手机系统中底层部分。智能手机系统也是类似于计算机操作系统的原理,利用应用程序将手机上的硬件设备进行调用的,让使用者都能够使用这些硬件,比如进行通话、地理位置定位、摄像头的使用和无线网络的使用等等。如果要使用这些硬件设备的话,就需要相应的驱动程序。由于随着智能手机技术的快速更迭,手机上的各种硬件模块也逐渐增多,并且同一模块品牌不同也有区别。所以手机系统的开发者为了节约设计成本,不会对每一个硬件设备的驱动程序都自己去编写,往往将系统的驱动方式告诉给硬件设备的提供厂商,然后自己专注与智能系统的开发。但是这仍然给手机rootkit的制造者带来机会,因为与不同硬件设备的厂商在驱动程序的开发上是不同的。如果这些rootkit制造者对于某个硬件提供商的设备非常了解,自己编写出驱动程序,然后加入自己的病毒、木马代码的话,那么这种驱动程序一旦安装到了手机系统中,就会被当做手机系统的一部分,并且直接与手机核心数据进行交互,从而实现修改任务信息、系统运行状态、破坏文件系统等功能。四、rootkit的一次简单的攻击流程这里将android系统做为举例。在android系统中,modem是实现电话功能的主要硬件,通过它与通信网络连接,传输语音和数据包,并且收发不同的at命令,来完成短信、呼叫等功能。ril(电话接口层,radio interface layer)是核心部分,负责at命令在modem和上层应用之间的可靠的传递解析并作出响应。在正常工作情况下,手机接到短信后,由modem、ril向上层应用上报,最终呈现给手机用户进行查看。但是当植入了手机rootkit之后,rootkit会截获modem上报的所有短信,并且自行对内容进行分析,并根据分析的结果触发各种行为。流程图如下所示:modem收到短信rootkit截获短信,开始对内容进行分析上报ril层收到攻击命令?解析攻击短信命令按照解析结果触发攻击行为,并删除命令短信是否反馈给远端?进行反馈,如:回复指令等结束ril层将上报信息进行组织,通过rild socket等管道上报给手机用户否否是是 图1 手机rootkit攻击流程图为了做出攻击命令格式与正常短信格式的区别,rootkit制造者对短信指令做了一些规则,比如:1. 短信的一般加上了一些特殊字符,比如“*”、“#”、“*#000”等2. 指令也可以由一定的格式组成,分成多个部分,可以方便的对应不同的攻击行为,类似于命令提示,比如:如发送,可关闭通话监听功能;发送,可添加监听该号码的相关通信;发送,表示当手机短信包含第一或者第二个关键字,短信将被自动删除等等。在这些攻击过程中,都是在系统内核中完成的,上层应用根本无法察觉到任何不同,所以手机用户在手机界面上是看不到任何提示。当rootkit对短信中包含的攻击命令解析之后,便触发攻击行为,比如手机监听、关机重启、打开摄像头、gps定位等。这里就手机监听进行举例。当手机rootkit识别到这条短信命令是让它执行“手机监听”后,就提取命令中的一部分参数作为拨打电话号码,向手机系统文件中写入at命令(调制解调器命令语言)。如“atd+电话号码”拨打向指定的电话号码;“at+vgm=15”把话筒声音调至最大(方便记录语音);“at+vgs=0”关闭听筒声音(让手机用户无法察觉)。这样一来手机rootkit的控制者便在远端利用被控手机拨打的指定电话就可以监听到被rootkit控制的手机周围环境,如用户在出席重要会议,进行重要谈话时。在被控手机这端由于听筒声音已经被关闭,而且手机界面根本不发生任何变化,所以无法察觉,而且结束通话便能关闭监听。除了上述的通话监听之外,还能进行利用被控手机的gps设备获取gps定位信息(操作手机设备文件/dev/smd27)等,即都可以通过调用手机系统的相关函数,进行对手机硬件设备的操控。四、对于手机rootkit的防范与检测由于rootkit技术本身的隐蔽性和运行效率都比一般的手机病毒要高级很多,对于rootkit来说,手机防毒软件、防进程关闭技术都比一般的程序要底层的多,所以我们在使用智能手机的时候要注意做好预防工作。l 防止他人直接接触手机,手机维修、系统刷机、应用程序的安装都要有安全意识;l 在手机上面不要传递敏感信息,也不要将手机带入重要场合;l 注意手机最高权限的使用;l 安装手机端防毒软件等。还可以采用一些方面来发现异常:l 检查手机开/关机脚本,在这两个脚本中rootkit很可能长期驻留;l 注意手机的电池使用情况,虽然大屏幕智能手机待机时间都不长,但是在手机rootkit对硬件设备进行调用的时候,还会大幅度的降低手机电池的使用时间;l 查询话费详单;检查手机是否出现突然关机、死机等现象等等。 如果发现有异常可以进行下一步的检测。在android系统中,对rootkit的检测可以通过类似与linux系统的方法。比如可以根据可执行路径、基于符合执行和基于差异分析等方法来进行检测。相对于目前的智能手机来说,检测精度较高、对手机整体性能影响小的是基于符号执行的检测。 它的检测原理是:一般来说内核模块在加载时会初始化数据结构,通过函数的调用与内核进行一个交互,这个时期的调用是不会写入内存的,然而rootkit对系统内核的内存写入的地址与正常的操作是有区别的。我们根据这个差异定于出内存的一个非法区域和非法内核符号,在检测中发现了模块提供了对非法内存区域写入操作传送了指令,或者指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论