IOS APP安全框架
在互联网领域中,信息安全一直是一个非常严峻的问题,随着智能手机等移动终端等设备应用的迅速普及,移动终端如何保障其信息的安全也逐渐受到人们的关注。在众多品牌的智能手机中,苹果手机以其强大的使用功能受到人们的喜爱,因此,对于苹果手机iOS APP的安全框架开发与设计方面的探讨,是非常重要的。
一、iOS APP安全框架模块设计
对于iOS APP的安全框架的开发与设计,主要包含六个功能模块,这些模块中也可以进一步划分为API及其他子模块,并通过子模块之间的排列组合来提供基本功能,从而实现iOS APP的信息安全。
1、“越狱”模块
“越狱”模块的主要功能就在于“越狱”,这一模块中包含三大API,并通过API的组合使用来实现安全“越狱”功能。
2、混淆代码模块
混淆代码模块需要通过引进相关内容,进行文件重命名或修改函数的方式来隐藏真实的函数名称,这一模块的应用,需要通过新建头文件及真实文件,将测试内容粘贴为文本并存储,在头文件中进行属性与方法指针的结构体定义,并对文件加以初始化操作来实现文件结构与函数的应用,在实际的应用中,可以采用“→”来替换“.”。
3、MD5获取模块
这一模块主要应用于iOS10及其之前阶段的版本,以获取APP沙箱全部文件的MD5的具体值,MD5获取模块的应用需要经过WNiOS安全框架的导入工作,并在此基础上进行头文件的导入,之后在进行MD5值实证检测,以检测用的API来得到相应的MD5值,通过各类值的比对,来判断设备安全情况。
4、钥匙串存储模块
钥匙串存储模块是通过对钥匙串的初始化处理来实现钥匙串的读取与编写功能,其内核为demo的源代码“钥匙串包装器”,在运行时,需要仔细观察是否存在同现有内存不相符合的回收机制,若存在则增加相应的命令。这一模块的实际应用,需要在经过WNiOS安全框架的导入工作之后,进而引进并生成头文件,以构造函数为基本来获取钥匙串进行实证检验,经过API的检测,来读取或编写钥匙串。
5、唯一识别码获取模块
这一模块的主要作用就是获取唯一识别码,需要在进行WNiOS安全框架引入的基础上,导入一个头文件,并进行唯一识别码获取的实证检测,随机生成一个通用唯一识别码之后即可返回。
6、内容加密模块
iOS APP安全框架中的内容加密模块需要高级加密标准和base64编解码来实现。
二、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中显示出了加密之后的隐藏密码和解密之后的原密码。
结语
本文提出了iOS APP安全框架应有的六大模块,即“越狱”模块、混淆代码模块、MD5获取模块、钥匙串存储模块、唯一识别码模块和内容加密模块,并且使用真机测试的方式来验证其实用性。但本次设计与测试还存在一些缺陷,如是否存在非常规的攻击手段或方式能够躲避安全框架及其保护措施,进而威胁到设备信息安全,这需要经过不断地研发与实践来验证。