摘要: 为了明确iOS APP安全框架的开发与设计及实现方式,本文对iOS APP安全框架的模块设计进行了阐述,并以真机测试的方式来进行设备应用安全框架的实用性检测,经过一系列的测试,结果显示,iOS APP安全框架模块能够很好地实现其应有的功能。

1前言
在互联网领域中,信息安全一直是一个非常严峻的问题,随着智能手机等移动终端等设备应用的迅速普及,移动终端如何保障其信息的安全也逐渐受到人们的关注。在众多品牌的智能手机中,苹果手机以其强大的使用功能受到人们的喜爱,因此,对于苹果手机iOS APP的安全框架开发与设计方面的探讨,是非常重要的。
2 iOS APP开发安全框架模块设计
对于iOS APP的安全框架的开发与设计,主要包含六个功能模块,这些模块中也可以进一步划分为API及其他子模块,并通过子模块之间的排列组合来提供基本功能,从而实现iOS APP的信息安全。
2.1“越狱”模块
“越狱”模块的主要功能就在于“越狱”,这一模块中包含三大API,并通过API的组合使用来实现安全“越狱”功能。
表1 Cydia安装检测API的描述
APICydia安装检测具体功能以检测的方式来寻找“越狱”插件,判断设备是否经过“越狱”检测项目参数项参数类别功能阐述输入无输出无boolY代表寻找到插件,设备已经进行过“越狱”;N代表未寻找到插件,设备未进行“越狱”
表2 沙箱访问检测API的描述
API沙箱访问检测具体功能以检测的方式来确定能否访问沙箱之外文件系统,判断是否“越狱”检测项目参数项参数类别功能阐述输入无输出无boolY代表能够访问沙箱外文件系统,设备已经进行“越狱”;N代表不能访问沙箱外文件系统,设备未进行“越狱”
表3 动态链接库检测API的描述
API动态链接库检测具体功能以检测的方式来确定是否包含其他动态链接库,判断是否“越狱”检测项目参数项参数类别功能阐述输入无输出无boolY代表检测到其他动态链接库,设备已经进行“越狱”;N代表未检测带其他动态链接库,设备未进行“越狱”
2.2混淆代码模块
混淆代码模块需要通过引进相关内容,进行文件重命名或修改函数的方式来隐藏真实的函数名称,这一模块的应用,需要通过新建头文件及真实文件,将测试内容粘贴为文本并存储,在头文件中进行属性与方法指针的结构体定义,并对文件加以初始化操作来实现文件结构与函数的应用,在实际的应用中,可以采用“→”来替换“.”。
2.3 MD5获取模块
这一模块主要应用于iOS10及其之前阶段的版本,以获取APP沙箱全部文件的MD5的具体值,MD5获取模块的应用需要经过WNiOS安全框架的导入工作,并在此基础上进行头文件的导入,之后在进行MD5值实证检测,以检测用的API来得到相应的MD5值,通过各类值的比对,来判断设备安全情况。
2.4钥匙串存储模块
钥匙串存储模块是通过对钥匙串的初始化处理来实现钥匙串的读取与编写功能,其内核为demo的源代码“钥匙串包装器”,在运行时,需要仔细观察是否存在同现有内存不相符合的回收机制,若存在则增加相应的命令。这一模块的实际应用,需要在经过WNiOS安全框架的导入工作之后,进而引进并生成头文件,以构造函数为基本来获取钥匙串进行实证检验,经过API的检测,来读取或编写钥匙串。
2.5唯一识别码获取模块
这一模块的主要作用就是获取唯一识别码,需要在进行WNiOS安全框架引入的基础上,导入一个头文件,并进行唯一识别码获取的实证检测,随机生成一个通用唯一识别码之后即可返回。
2.6内容加密模块
采用SPSS 20.0软件对数据进行分析处理,计量资料以(均数±标准差)表示,采用t检验;计数资料以(n,%)表示,采用χ2检验,以P<0.05表示差异具有统计学意义。
图1 内容加密模块运行流程
iOS APP安全框架中的内容加密模块需要高级加密标准和base64编解码来实现。这一模块的运行具体环节如图1所示。
3 iOS APP安全框架真机测试
基于iOS APP安全框架的模块阐述,我们对其进行真机测试,在测试中主要使用的是经过“越狱”之后的iPhone7,其系统为iOS10.3.2。并且试研发了一款具备WNiOS安全框架的APP进行测试,通过对各种模块的真机测试,得到了以下结果:
(1)“越狱”模块的真机测试,能够通过检测是否存有插件来判断“越狱”的安装情况,在测试中,状态栏内显示真实运营商的,则可确定设备已经进行了“越狱”;状态栏内显示默认运营商的,则可确定设备未经过“越狱”。
(2)混淆代码模块的真机测试,使用外部设备对测试设备展开攻击,测试结果显示,攻击设备能够确定函数指针的存在,但无法获取源代码,测试证明,本次的模块测试是非常成功的。
(3)MD5获取模块的真机测试,通过资源文件和二进制文件,在iOS APP中呈现出文件的MD5,测试结果显示,MD5能够有序地在iOS APP中呈现出来。
(4)钥匙串存储模块的真机测试,通过随机生成的唯一识别码来编写钥匙串,继而将之呈现在iOS APP中,经过测试,能够确定唯一识别码的一致性,钥匙串存储模块具有实用性。
(5)唯一识别码模块的真机测试,通过API来随机生成唯一识别码,并在APP中呈现出来,经过测试,确定WNiOS安全框架能够生成唯一识别码。
(6)内容加密模块的真机测试,通过新建密码的方式来运用高级加密标准进行加解密,并将结果呈现在iOS APP上,经过测试,在iOS APP中现实“最高级别加密”之后的隐藏密码,以及解密之后的原密码。而经过base64编解码功能,在iOS APP中显示出了加密之后的隐藏密码和解密之后的原密码。
4结语
本文提出了iOS APP安全框架应有的六大模块,即“越狱”模块、混淆代码模块、MD5获取模块、钥匙串存储模块、唯一识别码模块和内容加密模块,并且使用真机测试的方式来验证其实用性。米维信息认为本次设计与测试还存在一些缺陷,如是否存在非常规的攻击手段或方式能够躲避安全框架及其保护措施,进而威胁到设备信息安全,这需要经过不断地研发与实践来验证。