iOS App 安全小结

 注意:安全都是相对的,没有绝对安全的

                               

一、网络安全

1、Https传输

2、自定义协议

3、加密传输

二、本地数据安全

1、数据库存储(sqlite,可以对数据库加密,但是一点要考虑的是性能问题,加密肯定会慢)sqlite

2、coredata存储(加密整个文件,或者加密一些敏感字段)

3、keychain(加密保存。推荐,如果设备没有被越狱,keychain的安全性是最好的了)

4、nsuserdefault(保存到NSUserDefaults的数据并没有加密,因此可以很容易的从应用的包中看到。那么我们最好可以对保存的数据进行加密下。)

三、源代码安全

1、逆向工程需要的工具

2、代码混淆方案(在JS,android中都会使用代码混淆,object-c也不例外,混淆其实就是字符串替换,有2个方法可以,一个是#define,一个是利用tops。
利用#define的方法有一个好处,就是可以把混淆结果合并在一个.h中,在工程Prefix.pch的最前面#import这个.h。不导入也可以编译、导入则实现混淆。
单段的selector,如func: ,可以通过#define func 来实现字符串替换。
多段的selector,如a:b:c: ,可以通过分别#define a 、b、c 来实现字符串替换。

3、重要逻辑保护方案(重要业务逻辑代码用C来写

4、利用static关键字裁剪符号如果函数属性为 static ,那么编译时该函数符号就会被解析为local符号。在发布release程序时(用Xcode打包编译二进制)默认会strip裁掉这些函数符号,无疑给逆向者加大了工作难度。

5、越狱设备的检测(在app开发过程中,我们可能要知道设备是否越狱,好对应采取一些防御和安全提示措施。怎么检查设备是否越狱就不在这说了




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值