美文网首页
iOS安全策略优化

iOS安全策略优化

作者: w冷兔w | 来源:发表于2023-05-14 15:51 被阅读0次

    口诀: 本地网络,加固逆向,系统保护

    一、 本地数据加密
    1.本地文件加密
    2.本地数据库加密

    二、网络传输数据加密
    1.https (RSA非对称加密,国密),请求参数加密 (AES对称加密,国密)
    2.接口校验(通过自己逻辑验证 接口是否可以调用,在钱不够的情况下不能掉用支付接口)
    3.判断代理,防止抓包(NSURLSessionConfiguration 的 connection Proxy Dictionary 设置成空的字典,因为这个属性就是用来控制会话的可用代理的,但是由于 OC 方法很容易被 hook,避免抓包是不可能的,所以,最好的方式是对请求参数进行加密。)

    三、APP整体加固以及代码保护
    1.app加固


    app加固.png

    (代码虚拟化 :
    将原始化代码编译为动态的DX-VM虚拟机指令,运行在DX虚拟机之上,无法被反编译回可读的源代码
    字符串加密 :
    把代码中定义的静态常量字符串进行加密,运行时解密,防止攻击者通过字符串进行静态分析,猜测代码逻辑
    代码混淆:
    将原始代码的控制流进行切分、打乱、隐藏、插入花指令、将代码逻辑复杂化而不影响原始逻辑
    反编译:
    有效防止攻击者使用逆向分析工具将二进制代码反编译为伪代码(Pseudo-Code),如IDA的F5功能 IDA反汇编工具是把二进制文件作为输入,经过处理后输出这个文件的汇编代码。 https://www.jianshu.com/p/b36d5a2f3c60
    防调试:
    为App提供运行时防调试能力,防止攻击者通过调试来动态分析App的逻辑
    防篡改:
    防止应用程序中的代码及资源文件被恶意篡改,杜绝盗版或植入广告等二次打包行为)

    2.类文件保护 (静态混淆:类名、方法名、属性的混淆 )

    四.逆向保护 (反调试、注入检测、hook 检测,签名检测)
    1.阻止动态调试(在main函数中植入代码阻止调试工具GDB、LLDB的使用)
    2.hook检测(如何防止函数被hook 利用fishhook.h hook掉 hook函数 https://www.jianshu.com/p/24691d6ac0b6
    3.签名检测

    五、系统安全保护
    1.越狱检测
    2.采用自定义键盘(我们打字在使用系统键盘打字时时,会出现提示,键盘一般会缓存这些提示字符串,缓存在手机的“/private/var/mobile/Library/Keyboard/dynamic-text.dat”文件中,攻击者可以提取出来,出现频率最高的往往是账户名和密码。)
    3.清空剪切板
    4.高斯模糊(防止偷窥)

    相关文章

      网友评论

          本文标题:iOS安全策略优化

          本文链接:https://www.haomeiwen.com/subject/baepsdtx.html