基于苹果手机操作系统iOS保护用户隐私的监测装置和方法

文档序号:6623180阅读:1005来源:国知局
基于苹果手机操作系统iOS保护用户隐私的监测装置和方法
【专利摘要】一种基于苹果手机操作系统iOS保护用户隐私的监测装置和方法,本发明监测装置设有:应用采集单元、应用分析检测单元和信息管理单元三个组成部件,能够用于对应用程序软件APP是否可能泄漏用户的隐私(包括:联系人信息,手机电话号码及其位置,短信,用户账号,密码、通话记录、照片、书签及历史记录、电子邮箱帐号及其内容等)进行监测与预警,提示用户软件潜在的风险,并将监测结果进行存储并分析,然后根据软件安全等级研究算法为该应用程序进行软件安全级别的评定。该装置结构简单、设计巧妙、且操作步骤便利、易学,容易掌握,使用安全,是一项具有推广应用前景的手机安全监测装置。
【专利说明】基于苹果手机操作系统1S保护用户隐私的监测装置和方法

【技术领域】
[0001]本发明涉及一种基于苹果手机操作系统的用户隐私监测装置和监测方法,确切地说,涉及一种自动对苹果手机操作系统1S (iPhone Operating System)应用程序进行用户隐私检测的装置和方法,用于实时监控可能泄漏用户隐私的1S应用软件,属于移动应用安全监测的【技术领域】。

【背景技术】
[0002]随着移动智能设备的普及和硬件性能的不断提升,移动智能终端越来越多地被用来处理各种重要的数据信息。然而,随之而来的是与移动智能终端紧密相连的大量新型的安全问题。这些安全问题包括隐私泄漏、手机木马病毒等等。在2011年,出现了 iPhone记录位置信息,英国“窃听门”等智能终端安全事件,因此手机的安全直接影响到个人的隐私和财产等诸多方面。
[0003]为了保证用户安全,苹果1S设计了自己的一套安全机制:
[0004]I)可信引导:系统的启动是从引导程序开始,载入固件,再由固件启动系统。固件通过RSA(Rivest-Shamir-Adleman)签名,只有通过验证才能执行下一步操作,系统还经过固件验证。这样,系统以引导程序为根建立一条信任链。
[0005]2)程序签名:i0S中应用程序的二进制文件格式为Mach-O(Mach-Object)格式文件,这种文件格式支持加密与签名,目录结构通过SHA-1哈希存储在内存中,目录和应用商店(App Store)中的软件都需要经过数字签名。
[0006]3)沙盒(SandBox):苹果手机iPhone用SandBox来隔离应用程序,并限制进程对文件系统的访问。每个应用程序都有自己的存储空间,1S应用程序只能在为该程序创建的文件系统中读取文件,不可以访问其它地方。应用程序请求的数据都要通过权限检测,假如不符合条件的话,就不会被放行。
[0007]4)内存地址布局随机化ASLR(Address space layout randomizat1n):这是一种针对缓冲区溢出的安全保护技术,通过对堆栈、共享存储区、共享库映射等线性区域布局的随机化,通过增加攻击者预测地址的难度,防止攻击者直接定位攻击代码位置,达到阻止攻击的目的。
[0008]5)密钥链与数据保护:用密码、证书、密钥通过轻量级数据库(Sqlite)存储,数据再通过这些密钥加密存储,使得数据库具有严格的访问控制。
[0009]但是,尽管1S处于上述多种安全体制的保护,仍然存在很多安全隐患。例如:
[0010](I)手机隐私泄露:苹果公司主要依靠自己的软件审查机制来保证1S平台上软件的安全性,只有通过审查的应用程序才能够发布到App Store上,严格的检查将恶意程序阻止在系统之外。但是,由于苹果的审查过程和方法并不对外公开,用户无法完全信任苹果的这套机制是否能够确保用户数据的安全。加之数以百万计的越狱手机并不只是从AppStore下载应用程序,而非苹果官方的应用商店几乎不会对上面的应用做任何严格细致的检查,甚至有些公司通过窃取用户隐私信息来为自己谋利。这样隐私泄露就成为移动应用领域的普遍现象,严重威胁了用户的数据安全。
[0011](2)手机数据安全泄露:1S应用对用户隐私数据进行加密的情况非常少见,而地理位置跟踪与用户私密信息访问又是如此的普遍。也就是说,恶意软件可以轻松地获取用户的隐私数据(包括通信记录,用户账号和密码等),并将其发送到指定服务器。因此,要想保证用户数据的安全将变得非常困难,这对iPhone手机用户的隐私与个人信息安全造成了严重威胁。目前,1S系统及其应用的安全研究工作非常匮乏,对1S平台恶意软件的检测方法与安全评估系统至今仍然为空白。
[0012]最近几年,人们才开始对1S平台软件的安全性进行集中研究。相关的研究课题主要分为以下几类:
[0013]第一类是分析系统安全机制:在2010年HITB安全会议上,Cedric Halbronn分析iPhone的安全模型及其存在的缺陷,指出iPhone的安全机制主要包括引导过程、应用程序的签名和用秘钥链保护数据。他还给出了对引导代码的攻击方案及浏览器攻击方案。
[0014]第二类是分析和研究智能手机上的应用程序安全性:其中最令人瞩目的是在2011年发表于网络与分布式系统安全研讨会NDSS (Network&Di stributed SystemSecurity Symposium)的关于1S应用程序隐私泄露问题的研究工作。他们提出了一个对1S上应用程序的分析工具,用来从面向对象C(Objective-C) 二进制代码重建控制流图的方法,以克服静态分析Objective-C无法正确还原消息传递部分逻辑的困难。但是,该方法存在很高的误判率,并未得到广泛使用。
[0015]第三类是在智能手机上做电子取证。然而,由于1S的系统信息很少公开,并且系统本身不断的升级更新,其取证难度也不断增大。
[0016]由此看出,目前国内外在1S平台软件的安全性研究还不够充分,都存在提升和改进的空间。同时,国内对1S平台安全性的研究基本上属于空白,也没有看到关于对1S软件安全性分析的研究与相关产品。


【发明内容】

[0017]有鉴于此,本发明的目的是提供一种基于苹果手机操作系统1S保护用户隐私的监测装置和方法,本发明监测装置对应用程序软件是否可能泄漏用户的隐私(如联系人信息,电话号码,短信,用户账号,密码等)进行监测与预警,提示用户软件潜在的风险,并将监测结果进行存储并分析,然后根据软件安全等级研究算法为该应用程序进行软件安全级别的评定。
[0018]为了达到上述目的,本发明提供了一种基于苹果手机操作系统1S保护用户隐私的监测方法,其特征在于,该装置设有:应用采集单元、应用分析检测单元和信息管理单元三个组成部件,其中:
[0019]应用采集单元,用于自动下载iPhone操作系统1S软件源中的最新或常用的应用软件APP (Applicat1n),或者接收检测机构或个人送来的待检测的APP,并将其送入软件获取模块,然后将下载或接收的APP存储于数据库,设有软件获取模块和数据库两个组成模块;
[0020]应用分析检测单元,用于对来自应用采集单元的待检测的1S应用软件APP进行解密与分析,并将包括静态和动态的两种分析结果分别存储到分析结果存储模块;设有二进制文件解密模块、静态分析模块、动态分析模块和分析结果存储模块共四个组成模块;
[0021]信息管理单元,用于对分析后的1S应用软件APP进行管理:将分析后的APP进行分类入库,对入库的1S应用软件APP评定其安全级别;设有1S软件管理模块和安全级别分析记录模块两个组成模块;
[0022]为了达到上述目的,本发明还提供了一种采用本发明基于苹果手机操作系统1S保护用户隐私的监测装置的监测方法,其特征在于,所述方法包括下列操作步骤:
[0023]步骤I,应用采集单元中的软件获取模块从自动下载的iPhone操作系统1S软件源中获取最新或常用的应用软件APP作为待检测软件APP,或者接收来自检测机构或个人送来的待检测应用软件的APP,并将其存在数据库模块中,再传送给应用分析检测单元;
[0024]步骤2,应用分析检测单元中的二进制文件解密模块接收待检测应用软件APP后,对该APP进行二进制文件解密操作:先确定1S应用程序可执行文件Mach-O的加密段在内存中的位置及其大小后,再利用程序调试工具gdb导出加密段,并替换为原二进制文件,最后重新打包为苹果手机的应用程序ipa文件;
[0025]步骤3,静态分析模块利用扫描工具对解密后的二进制文件进行扫描,对该二进制文件进行静态分析,分析其是否调用可疑的API ;若调用,则执行后续步骤4 ;否则,结束该监测流程;
[0026]步骤4,静态分析模块对获取的可能泄漏用户隐私的API与本地可疑的API库进行比对,查找是否有泄露的客户隐私信息;若没有泄露用户隐私,则跳转执行步骤6,即由分析结果存储模块保存检测结果;若存在泄露的用户隐私,则调用该泄露用户隐私的API后,顺序执行步骤5 ;
[0027]步骤5,动态分析模块对来自静态分析模块中调用该泄露用户隐私的API进行动态分析:先调用该泄露用户隐私的APP加载到1S真实设备上并运行APP,利用苹果应用程序调试框架MobileSubstrate跟踪该可疑的API,并对泄露的用户隐私信息打上标签Tag,使得传播过程中,用户隐私信息连同该标签一起在程序内部传播,当用户隐私信息通过互联网internet或其他途径发送出去时,能够被检测与查找到;
[0028]步骤6,信息管理单元负责存储动态分析模块和静态分析模块的分析结果,并对该分析后的1S应用软件APP进行管理,以及记录泄露的用户隐私信息检测结果;然后,安全级别分析记录模块对分析后的APP进行分类入库,并对入库的应用软件APP评定其安全等级。
[0029]本发明创新优点是:作为一种自动对苹果手机操作系统1S进行用户隐私监测的装置,不仅能对应用程序软件APP自动进行静态分析,同时还能对其进行动态分析,并且对分析的结果分类入库,评定每个应用软件APP的安全等级。
[0030]该监测装置的结构简单、设计巧妙、成本低廉,而且,其操作步骤简便易学,容易掌握,且使用安全,是一项具有推广应用前景的手机安全监测装置。

【专利附图】

【附图说明】
[0031]图1是本发明基于苹果手机iPhone操作系统1S保护用户隐私的监测装置组成结构示意图。
[0032]图2是本发明基于苹果手机iPhone操作系统1S保护用户隐私的监测装置的检测方法流程图。

【具体实施方式】
[0033]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0034]参照图1,介绍本发明基于苹果手机操作系统1S保护用户隐私的监测装置的组成结构:设有应用采集单元、应用分析检测单元和信息管理单元共三个部件。其中:
[0035](A)应用采集单元:用于自动下载iPhone操作系统1S软件源中的最新或常用的应用软件APP (Applicat1n),或者接收检测机构或个人送来的待检测的APP,并将其送入软件获取模块,然后将下载或接收的APP存储于数据库,设有软件获取模块和数据库两个组成模块。这两个组成模块的功能如下:
[0036]软件获取模块,负责获取苹果手机iPhone操作系统1S软件源中的应用APP,以供后续模块对其进行检测:既能自动下载iPhone操作系统1S软件源中的最新或常用的APP,也能接收检测机构或个人送来的待检测的APP ;只是对下载的APP先要解密,而对其它来源的APP无需解密,然后将获取到的APP发送给数据库模块。
[0037]数据库模块,用来存储来自软件获取模块的待检测的APP,并将准备检测的APP传送给应用分析检测单元中的二进制文件解密模块。
[0038](B)应用分析检测单元:用于对来自应用采集单元的待检测的1S应用软件APP进行解密与分析,并将包括静态和动态的两种分析结果分别存储到分析结果存储模块;设有二进制文件解密模块、静态分析模块、动态分析模块和分析结果存储模块共四个组成模块。该单元的四个组成模块的功能如下:
[0039]二进制文件解密模块,负责接收待检测的1S应用软件,并把其中待检测的1S应用程序可执行文件加载到内存,确定加密段的大小和位置,利用一种程序调试工具gdb (GNUDebuger)完成解密操作:先导出该加密段,并替换为原二进制文件后,重新打包为苹果手机的应用程序ipa文件(iPhone Applicat1n);然后将已解密的二进制文件传送给静态分析模块。
[0040]静态分析模块,负责利用扫描工具扫描已解密的二进制binary文件,分析该binary文件的程序应用APP是否调用了能够获取用户隐私的应用程序编程接口API (Applicat1n Programming Interface),并将其调用的API与本地可疑的API库进行比对,以确定该APP是否泄漏用户隐私;再将该静态分析模块完成静态分析后,所调用的携带有用户隐私的binary文件发送给动态分析模块,同时给分析结果存储模块发送其分析结果。
[0041]动态分析模块,负责接收并存储来自静态分析模块的、携带有用户隐私的binary文件,再在1S真实设备上运行被检测的APP并实时跟踪其运行,然后将该被检测的APP泄漏内容与已存储的、带有用户隐私的binary文件进行比对,若两者吻合,说明存在用户隐私泄漏,则记录相应信息并存储于数据库中;否则,说明没有泄漏用户隐私;最后,将检测分析结果发送给分析结果存储模块。
[0042]分析结果存储模块,负责存储来自两个分析模块对待检测的1S应用软件APP进行静态分析和动态分析的结果,再把该分析结果传送给信息管理单元中的1S软件管理模块。
[0043](C)信息管理单元:用于对分析后的1S应用软件APP进行管理:将分析后的APP进行分类入库,对入库的1S应用软件APP评定其安全级别;设有1S软件管理模块和安全级别分析记录模块两个组成模块。该信息管理单元的两个组成模块的功能如下:
[0044]1S软件管理模块,负责对分析后的1S应用软件APP进行管理,并对泄露的用户隐私进行分类,将分类后的用户隐私传递给安全级别分析记录模块进行处理;
[0045]安全级别分析记录模块,负责对传送来的用户隐私采用设定的评分算法分析其泄露的严重程度,该评分算法将每个目标应用程序按照用户隐私泄露的严重程度分为多个等级,并计算其总分值作为该应用软件APP的安全性评估值;然后将分析结果进行存储,以供用户读取。
[0046]参见图2,介绍本发明基于苹果手机操作系统1S保护用户隐私的监测装置的监测方法的具体操作步骤:
[0047]步骤I,应用采集单元中的软件获取模块从自动下载的iPhone操作系统1S软件源中获取最新或常用的应用软件APP作为待检测软件APP,或者接收来自检测机构或个人送来的待检测应用软件的APP,并将该两者存在数据库模块中,再传送给应用分析检测单
J Li ο
[0048]该步骤I中,软件获取模块自动下载的iPhone操作系统1S软件源是苹果官方软件源app store,其拥有数量最多并经由苹果签名认证的APP。而检测机构或个人送来的待检测应用软件APP包括存在于越狱手机中的苹果蠹cydia,其包括有BigBoss、Dev Team、ZodTTd和MacCiti的多个默认软件源,以及由91、搜狗或其他移动软件公司或组织推出的软件源。
[0049]步骤2,应用分析检测单元中的二进制文件解密模块接收待检测应用软件APP后,对该APP进行二进制文件解密操作:先确定1S应用程序可执行文件Mach-O的加密段在内存中的位置及其大小后,再利用程序调试工具gdb导出加密段,并替换为原二进制文件,最后重新打包为苹果手机的应用程序ipa文件。该步骤2包括下列操作内容:
[0050](21)使用程序调试工具otool查看该iPhone官方文件的文件分配表FAT (FileAllocat1n Table)信息:因 iPhone 移动终端的中央处理器 CPU (Central ProcessingUnit)有两种架构:ARMv6和ARMv7,不同体系结构的CPU所对应的Mach-O文件格式不同,故先要确定其类型,才能选择相应的检测方法。
[0051](22)提取加密信息:首先提取该官方文件的代码,通过查看代码和查看代码段的加密信息,定位代码段text段的起始地址与加载地址,然后加载binary解密,用于替换该加密代码段,最后修改加密标志位。
[0052]步骤3,静态分析模块利用扫描工具对解密后的二进制文件进行扫描,对该二进制文件进行静态分析,分析其是否调用可疑的API ;若调用,则执行后续步骤4 ;否则,结束该监测流程。该步骤3包括下列操作内容:
[0053](31)静态分析模块使用二进制扫描工具对解密的二进制文件代码进行扫描,查看Mach-O文件结构中的三个区域:头部、载入命令区和原始段数据。其中,头部和载入命令区用于描述文件功能、布局和其他特性;原始段数据包含由载入命令引用的字节序列,用于查看头部的包括CPU类型cputype和CPU子类型cpusubtype等信息,从而能够获知可疑的API和调用栈。
[0054](32)判断该二进制文件是否调用可疑的API,若调用,则执行后续步骤(33);否贝1J,将检测结果送至分析结果存储模块,结束该监测流程。
[0055](33)利用该可疑的API对原始段数据进行扫描,查看是否存在包括联系人、手机号码及其位置、短信、通话记录、照片、书签及历史记录、电子邮箱帐号及其内容、设备唯一标识符 UDID(Unique Device Identifier)、国际移动用户识别码 IMSI (Internat1nalMobile Subscriber Identificat1n Number)、包括QQ、MSN和微信的即时通讯信息和社交信息的各种用户隐私信息;再将检测结果送至分析结果存储模块处理。
[0056]步骤4,静态分析模块对获取的可能泄漏用户隐私的API与本地可疑的API库进行比对,查找是否有泄露的客户隐私信息;若没有泄露用户隐私,则跳转执行步骤6,即由分析结果存储模块保存检测结果;若存在泄露的用户隐私,则调用该泄露用户隐私的API后,顺序执行步骤5 ;
[0057]步骤5,动态分析模块对来自静态分析模块中调用该泄露用户隐私的API进行动态分析:先调用该泄露用户隐私的APP加载到1S真实设备上并运行APP,利用苹果应用程序调试框架MobileSubstrate跟踪该可疑的API,并对泄露的用户隐私信息打上标签Tag,使得传播过程中,用户隐私信息连同该标签一起在程序内部传播,当用户隐私信息通过互联网internet或其他途径发送出去时,能够被检测与查找到。该步骤5包括下列操作内容:
[0058](51)动态分析模块将调用用户隐私信息的APP加载到1S真实设备并运行之:利用苹果开发环境的自动化Automat1n工具执行下述操作:APP控件自动触发和用JavaScript驱动在程序应用上模拟用户;其触发方式为下述一种或多种:
[0059](a)随机触发:设定触发间隔时间(如每秒间隔触发一次),随机生成触控消息;
[0060](b)控件遍历:遍历视图上的所有控件、捕获界面元素树elementTree和触发eIementTree中所有控件的;
[0061](C)手工触发:由于自动化触发存在某些软件需要注册或需要输入账号密码、登录设定服务器的app的不同缺陷、因而只能采用人工触发。
[0062](52)利用苹果应用程序调试框架MobileSubstrate对该可疑的API实现动态跟踪:因MobileSubstrate框架允许第三方开发者在操作系统运行过程中,增添一个或多个补丁和扩展方法来替换内存中调用的库和代码。
[0063]MobileSubstrate框架包括三个组成部件:移动挂钩器MobiIeHooker、移动加载器MobileLoader和安全模safe mode,故动态分析模块利用该MobileHooker执行跟踪操作,用于替换并覆盖该可疑的API。此时跟踪操作的具体过程如下:
[0064](52A)在跟踪静态分析时关注的、能获取用户隐私的可疑的API时,对用户隐私信息打上设定标签Tag,以使该用户隐私信息在传播过程中,连同该标签一起在程序内部传播,从而当用户隐私信息通过internet或其他途径发送出去时,就能够被识别出来。
[0065](52B)对包括open、socket和mkdir的关键的c函数系统调用进行跟踪,以便进一步在底层监控应用程序的操作行为。
[0066]藉由上述两个跟踪操作,能够将应用软件APP的全部操作行为都记录备案。
[0067]步骤6,信息管理单元负责存储动态分析模块和静态分析模块的分析结果,并对该分析后的1S应用软件APP进行管理,以及记录泄露的用户隐私信息检测结果;然后,安全级别分析记录模块对分析后的APP进行分类入库,并对入库的应用软件APP评定其安全等级。该步骤6中的软件安全等级评定是采用评分算法评定每个软件的安全等级:先将每个目标应用程序按照泄露的用户隐私信息严重程度分为多个等级,再对每个软件APP计算其总分值来判断该APP的安全性能及其所归属的等级。
[0068]本发明已经进行了多次实施试验,试验的结果是成功的,实现了发明目的。
【权利要求】
1.一种基于苹果手机操作系统1s保护用户隐私的监测装置,其特征在于,该装置设有:应用采集单元、应用分析检测单元和信息管理单元三个组成部件,其中: 应用采集单元,用于自动下载iPhone操作系统1S软件源中的最新或常用的应用软件APP (Applicat1n),或者接收检测机构或个人送来的待检测的APP,并将其送入软件获取模块,然后将下载或接收的APP存储于数据库,设有软件获取模块和数据库两个组成模块; 应用分析检测单元,用于对来自应用采集单元的待检测的1S应用软件APP进行解密与分析,并将包括静态和动态的两种分析结果分别存储到分析结果存储模块;设有二进制文件解密模块、静态分析模块、动态分析模块和分析结果存储模块共四个组成模块; 信息管理单元,用于对分析后的1S应用软件APP进行管理:将分析后的APP进行分类入库,对入库的1S应用软件APP评定其安全级别;设有1S软件管理模块和安全级别分析记录模块两个组成模块。
2.根据权利要求1所述的装置,其特征在于:所述应用采集单元两个组成模块的功能如下: 软件获取模块,负责获取苹果手机iPhone操作系统1S软件源中的APP,以供后续模块对其进行检测:既能自动下载iPhone操作系统1S软件源中的最新或常用的APP,也能接收检测机构或个人送来的待检测的APP ;只是对下载的APP先要解密,而对其它来源的APP无需解密,然后将获取到的APP发送给数据库模块; 数据库模块,用来存储来自软件获取模块的待检测的APP,并将准备检测的APP传送给应用分析检测单元中的二进制文件解密模块。
3.根据权利要求1所述的装置,其特征在于:所述应用分析检测单元四个组成模块的功能如下: 二进制文件解密模块,负责接收待检测的1s应用软件,并把其中待检测的1S应用程序可执行文件加载到内存,确定加密段的大小和位置,利用程序调试工具gdb(GNUDebuger)完成解密操作:先导出该加密段,并替换为原二进制文件后,重新打包为苹果手机的应用程序ipa文件(iPhone Applicat1n);然后将已解密的二进制文件传送给静态分析模块; 静态分析模块,负责利用扫描工具扫描已解密的二进制binary文件,分析该binary文件的程序应用APP是否调用了能够获取用户隐私的应用程序编程接口 API (Applicat1nProgramming Interface),并将其调用的API与本地可疑的API库进行比对,以确定该APP是否泄漏用户隐私;再将该静态分析模块完成静态分析后,所调用的携带有用户隐私的binary文件发送给动态分析模块,同时给分析结果存储模块发送其分析结果; 动态分析模块,负责接收并存储来自静态分析模块的、携带有用户隐私的binary文件,再在1S真实设备上运行被检测的APP并实时跟踪其运行,然后将该被检测的APP泄漏内容与已存储的、带有用户隐私的binary文件进行比对,若两者吻合,说明存在用户隐私泄漏,则记录相应信息并存储于数据库中;否则,说明没有泄漏用户隐私;最后,将检测分析结果发送给分析结果存储模块; 分析结果存储模块,负责存储来自两个分析模块对待检测的1S应用软件APP进行静态分析和动态分析的结果,再把该分析结果传送给信息管理单元中的1S软件管理模块。
4.根据权利要求1所述的装置,其特征在于:所述信息管理单元两个组成模块的功能如下: 1s软件管理模块,负责对分析后的1S应用软件APP进行管理,并对泄露的用户隐私进行分类,将分类后的用户隐私传递给安全级别分析记录模块进行处理; 安全级别分析记录模块,负责对传送来的用户隐私采用设定的评分算法分析其泄露的严重程度,该评分算法将每个目标应用程序按照用户隐私泄露的严重程度分为多个等级,并计算其总分值作为该应用软件APP的安全性评估值;然后将分析结果进行存储,以供用户读取。
5.一种采用权利要求1所述的基于苹果手机操作系统1S保护用户隐私的监测装置的监测方法,其特征在于,所述方法包括下列操作步骤: 步骤1,应用采集单元中的软件获取模块从自动下载的iPhone操作系统1S软件源中获取最新或常用的应用软件APP作为待检测软件APP,或者接收来自检测机构或个人送来的待检测应用软件的APP,并将其存在数据库模块中,再传送给应用分析检测单元; 步骤2,应用分析检测单元中的二进制文件解密模块接收待检测应用软件APP后,对该APP进行二进制文件解密操作:先确定1S应用程序可执行文件Mach-O的加密段在内存中的位置及其大小后,再利用程序调试工具gdb导出加密段,并替换为原二进制文件,最后重新打包为苹果手机的应用程序ipa文件; 步骤3,静态分析模块利用扫描工具对解密后的二进制文件进行扫描,对该二进制文件进行静态分析,分析其是否调用可疑的API ;若调用,则执行后续步骤4 ;否则,结束该监测流程; 步骤4,静态分析模块对获取的可能泄漏用户隐私的API与本地可疑的API库进行比对,查找是否有泄露的客户隐私信息;若没有泄露用户隐私,则跳转执行步骤6,即由分析结果存储模块保存检测结果;若存在泄露的用户隐私,则调用该泄露用户隐私的API后,顺序执行步骤5 ; 步骤5,动态分析模块对来自静态分析模块中调用该泄露用户隐私的API进行动态分析:先调用该泄露用户隐私的APP加载到1S真实设备上并运行APP,利用苹果应用程序调试框架MobileSubstrate跟踪该可疑的API,并对泄露的用户隐私信息打上标签Tag,使得传播过程中,用户隐私信息连同该标签一起在程序内部传播,当用户隐私信息通过互联网internet或其他途径发送出去时,能够被检测与查找到; 步骤6,信息管理单元负责存储动态分析模块和静态分析模块的分析结果,并对该分析后的1S应用软件APP进行管理,以及记录泄露的用户隐私信息检测结果;然后,安全级别分析记录模块对分析后的APP进行分类入库,并对入库的应用软件APP评定其安全等级。
6.根据权利要求5所述的方法,其特征在于:所述步骤I中,软件获取模块自动下载的iPhone操作系统1S软件源是苹果官方软件源app store,其拥有数量最多并经由苹果签名认证的APP,所述检测机构或个人送来的待检测应用软件APP包括存在于越狱手机中的苹果蠹cydia,其包括有BigBoss、Dev Team,ZodTTd和MacCiti的多个默认软件源,以及由91、搜狗或其他移动软件公司或组织推出的软件源。
7.根据权利要求5所述的方法,其特征在于:所述步骤2包括下列操作内容: (21)使用程序调试工具otool查看该iPhone官方文件的文件分配表FAT (FileAllocat1n Table)信息:因 iPhone 移动终端的中央处理器 CPU (Central ProcessingUnit)有两种架构:ARMv6和ARMv7,不同体系结构的CPU所对应的Mach-O文件格式不同,故先要确定其类型,才能选择相应的检测方法; (22)提取加密信息:首先提取该官方文件的代码,通过查看代码和查看代码段的加密信息,定位代码段text段的起始地址与加载地址,然后加载binary解密,用于替换该加密代码段,最后修改加密标志位。
8.根据权利要求5所述的方法,其特征在于:所述步骤3包括下列操作内容: (31)静态分析模块使用二进制扫描工具对解密的二进制文件代码进行扫描,查看Mach-O文件结构中的三个区域:头部、载入命令区和原始段数据;其中,头部和载入命令区用于描述文件功能、布局和其他特性;原始段数据包含由载入命令引用的字节序列,用于查看头部的包括CPU类型cputype和CPU子类型cpusubtype的信息,从而能够获知可疑的API和调用栈; (32)判断该二进制文件是否调用可疑的API,若调用,则执行后续步骤(33);否则,将检测结果送至分析结果存储模块,结束该监测流程; (33)利用该可疑的API对原始段数据进行扫描,查看是否存在包括联系人、手机号码及其位置、短信、通话记录、照片、书签及历史记录、电子邮箱帐号及其内容、设备唯一标识符 UDID(Unique Device Identifier)、国际移动用户识别码 IMSI (Internat1nal MobileSubscriber Identificat1n Number)、包括QQ、MSN和微信的即时通讯信息和社交信息的各种用户隐私信息;再将检测结果送至分析结果存储模块处理。
9.根据权利要求5所述的方法,其特征在于:所述步骤5包括下列操作内容: (51)动态分析模块将调用用户隐私信息的APP加载到1S真实设备并运行之:利用苹果开发环境的自动化Automat1n工具执行下述操作:APP控件自动触发和用JavaScript驱动在程序应用上模拟用户;其触发方式为下述一种或多种: 设定触发间隔时间,随机生成触控消息的随机触发; 遍历视图上的所有控件、捕获界面元素树elementTree和触发elementTree中所有控件的控件遍历; 由于自动化触发存在某些软件需要注册或需要输入账号密码、登录设定服务器的app的不同缺陷、因而只能采用人工触发的手工触发; (52)利用苹果应用程序调试框架MobileSubstrate对该可疑的API实现动态跟踪:因MobileSubstrate框架允许第三方开发者在操作系统运行过程中,增添一个或多个补丁和扩展方法来替换内存中调用的库和代码; 所述MobileSubstrate框架包括三个组成部件:移动挂钩器MobileHooker、移动加载器MobileLoader和安全模safe mode,故动态分析模块利用该MobileHooker执行跟踪操作,用于替换并覆盖该可疑的API ;该跟踪操作的具体过程如下: (52A)在跟踪静态分析时关注的、能获取用户隐私的可疑的API时,对用户隐私信息打上设定标签Tag,以使该用户隐私信息在传播过程中,连同该标签一起在程序内部传播,从而当用户隐私信息通过internet或其他途径发送出去时,就能够被识别出来; (52B)对包括open、socket和mkdir的关键的c函数系统调用进行跟踪,以便进一步在底层监控应用程序的操作行为; 藉由上述两个跟踪操作,能够将应用软件APP的全部操作行为都记录备案。
10.根据权利要求5所述的方法,其特征在于:所述步骤6中的软件安全等级评定是采用评分算法评定每个软件的安全等级:先将每个目标应用程序按照泄露的用户隐私信息严重程度分为多个等级,再对每个软件APP计算其总分值来判断该APP的安全性能及其所归属的等级。
【文档编号】G06F21/50GK104200155SQ201410393460
【公开日】2014年12月10日 申请日期:2014年8月12日 优先权日:2014年8月12日
【发明者】冯志杰, 李彬, 崔苏, 陈彦舟, 邓明 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1