iOS应用安全防护框架概述

本文采集于 念茜
攻易防难,唯有缜密、多层的防护网络才能可靠的保护我们iOS应用程序的安全。那么,一个完善的iOS应用安全防护框架都要写哪些东西呢? 首先,先梳理一下常见的逆向及攻击工具。

iOS应用逆向常用工具

裸奔app的安全隐患

一部越狱的iOS设备,外加上述的逆向工具,给裸奔的iOS应用程序带来哪些威胁呢?

  • 任意读写文件系统数据
  • HTTP(S)实时被监测
  • 重新打包ipa
  • 暴露的函数符号
  • 未加密的静态字符
  • 篡改程序逻辑控制流
  • 拦截系统框架API
  • 逆向加密逻辑
  • 跟踪函数调用过程(objc_msgSend)
  • 可见视图的具体实现
  • 伪造设备标识
  • 可用的URL schemes
  • runtime任意方法调用
    ……

iOS应用安全防护开源工具

  • ios-class-guard 是对抗class-dump的利器,作用是将ObjC类名方法名等重命名为难以理解的字符。

iOS应用安全防护框架概述

针对上述安全隐患,我们的iOS应用安全防护框架需实现的任务大致如下:

  • 防护
  • ObjC类名方法名等重命名为难以理解的字符
  • 加密静态字符串运行时解密
  • 混淆代码使其难于反汇编
  • 本地存储文件防篡改
  • 检测
  • 调试状态检测
  • 越狱环境检测
  • ObjC的Swizzle检测
  • 任意函数的hook检测
  • 指定区域或数据段的校验和检测
  • 自修复
  • 自修复被篡改的数据和代码段

此外,还需要多层的防护,通过高层保护低层的方式来保证整个防护机制不失效。
参考IBM移动终端安全防护框架解决方案:

2014-09-08-ios-security-overview-pic0.png.jpeg

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 157,584评论 24 688
  • 《连载风云录》《接龙客栈房号故事》《客栈栈规》《滴血的玫瑰目录》杀人狂魔 《连载风云录》《接龙客栈房号故事》《客栈...
    蔷薇下的阳光阅读 351评论 15 18
  • 我是一个从小接触过乐器的人。为了遵从妈妈的意愿学习了钢琴。在六年级那年拿了业余十级的钢琴证书。我不敢说自己是个音乐...
    大黄鸭砸阅读 78评论 0 0