文章搬运来源:https://juejin.cn/post/6931178491991818254
作者:KFC是做基的
对iOS开发感兴趣,可以看一下作者的iOS交流群:812157648,大家可以在里面吹水、交流相关方面的知识,群里还有我整理的有关于面试的一些资料,欢迎大家加群,大家一起开车
前言
企业级App在交付给客户时(尤其是国企)通常会进行一项步骤:等保测评。
那么除了一些第三方的付费加固方案,我们开发者自己还能做哪些操作呢 ?
接下来,我将摘取我们iOS应用安全风险评估报告中的几个高风险进行操作。
程序被恶意调试风险
风险描述
攻击者可以利用GDB、IDA、Ptrace等调试器跟踪运行的目标程序,查看、修改内存中的代码和数据,甚至分析/篡改程序的业务逻辑,对客户关键数据或者服务器进行恶意攻击,例如修改客户端业务操作的数据,比如转账账号、金额等,导致用户的损失。
修复建议
【开发者修复】集成Native层的反调试保护功能,避免应用被Xcode、IDA等工具调试,进而保护业务安全。
修复操作
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import <dlfcn.h>
#import <sys/types.h>
typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr ,int _data);
#if !defined(PT_DENT_ATTACH)
#define PT_DENT_ATTACH 31
#endif
void disable_gdb() {
void * handle = dlopen(0, RTLD_GLOBAL|RTLD_NOW);
ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");
ptrace_ptr(PT_DENT_ATTACH, 0, 0, 0);
dlclose(handle);
}
int main(int arg

本文介绍了iOS应用在交付时可能面临的安全风险,包括程序被恶意调试和代码被恶意注入,并提供了相应的修复建议。对于调试风险,推荐集成反调试保护;对于注入风险,建议使用防注入/防HOOK技术。同时,针对缺少代码加密的问题,文章详细介绍了如何使用代码混淆技术进行保护,包括配置脚本、混淆方法名等步骤。
最低0.47元/天 解锁文章
1456

被折叠的 条评论
为什么被折叠?



