iOS应用安全防护框架概述

iOS应用安全防护框架概述

Security for iOS Mobile Applications

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

iOS应用逆向常用工具

  • Reveal
  • Cycript
  • Class-dump
  • Keychain-Dumper
  • gdb
  • iNalyzer
  • introspy
  • Fishhook
  • removePIE
  • IDA pro or Hopper
  • snoop-it
  • iDB
  • Charles
  • SSL Kill Switch


裸奔app的安全隐患

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

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


iOS应用安全防护开源工具

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


iOS应用安全防护框架概述

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

防护

  • ObjC类名方法名等重命名为难以理解的字符
  • 加密静态字符串运行时解密
  • 混淆代码使其难于反汇编
  • 本地存储文件防篡改

检测

  • 调试状态检测
  • 越狱环境检测
  • ObjC的Swizzle检测
  • 任意函数的hook检测
  • 指定区域或数据段的校验和检测

自修复

  • 自修复被篡改的数据和代码段



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


你可能感兴趣的:(iOS应用安全防护框架概述)