文章目录

  • 引言
  • I 代码混淆
  • II 敏感逻辑的保护方案
  • III 接口安全(网络加密传输)
    • 3.1 参数签名
    • 3.2 网络请求安全优化
    • 3.3 intercept the HTTP/HTTPS requests
    • 3.4 接口安全设计的Checklist
  • see also

引言

欢迎大家来到#公众号:iOS逆向的《iOS应用安全》专栏

本文列出学习大纲,同时也可作为大家学习《iOS应用安全》专栏的索引。
文中的蓝字都是超级链接,点击进入即可

  • 本专栏的整体大纲模块

1、网络加密传输及安全优化:1.1、报文签名 1.2、SSL证书验证, Charles再也无法抓你的请求数据;1.3、不走全局proxy的方案;1.4、允许不验证SSL证书;1.5、拦截请求;1.6、DoH &DoT 1.7、SDL;
2、动态保护
3、代码混淆
4、敏感逻辑的保护方案、敏感信息的脱敏、接口安全设计

I 代码混淆

  • iOS逆向:【代码混淆】1、基于编译器混淆静态库(StaticLib)2、字符串加密:使用clang-c接口将源代码转换成抽象语法树,并对抽象语法树进行遍历和分析,分析代码中的字符串,并进行加密处理。

II 敏感逻辑的保护方案

  • iOS安全:【敏感信息的脱敏规范】(数据类型包括日志相关、账户订单、个人信息、账户认证、持卡数据)

https://kunnan.blog.csdn.net/article/details/112363835

  • iOS敏感逻辑的保护方案:【把函数名隐藏在结构体里,以函数指针成员的形式存储】(敏感信息的安全设计)

https://kunnan.blog.csdn.net/article/details/83746545

III 接口安全(网络加密传输)

3.1 参数签名

  • iOS安全规范指南之参数签名:参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)【案例:条码支付综合前置平台申请退款】 丨蓄力计划

https://kunnan.blog.csdn.net/article/details/115669856

3.2 网络请求安全优化

  • 1、iOS网络请求安全优化:SSL证书验证, 让Charles再也无法抓你的请求数据;对请求参数进行签名;2、不走全局proxy的方案;3、允许不验证SSL证书;4、拦截请求;5、DoH &DoT

https://kunnan.blog.csdn.net/article/details/106811271
在使用NSURLSession时敏感的数据采用ephemeralSessionConfiguration配置,与默认配置相比,这个配置不会将缓存、cookie等存在本地,只会存储在内存里,所以当程序退出时,所有的数据都会消失。

  • iOS安全【 SSL证书验证, 让Charles再也无法抓你的请求数据】

  • 允许不进行SSL证书验证, 来规避SSL证书过期导致的请求报错


AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaultPolicy];
securityPolicy.validatesDomainName = NO;
securityPolicy.allowInvalidCertificates = YES;
manager.securityPolicy = securityPolicy;

3.3 intercept the HTTP/HTTPS requests

iOS安全之【intercept the HTTP/HTTPS requests 】(拦截请求,实现特定目的:修改HTTPHeaderField、不走全局proxy、设置代理IP和端口) | 蓄力计划

————————————————
版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z929118967/article/details/115690756

3.4 接口安全设计的Checklist

  • 调用方来源IP控制

比如可通过防火墙、主机host deny、Nginx deny等技术措施进行实施

  • 调用方身份认证

比如key、secret、证书等技术措施进行实施

  • 调用参数认证

需设计参数容错机制,避免出现参数可遍历敏感数据安全问题

  • 采用数字签名保障接口身份来源可信,数据防篡改
  • 1、iOS网络请求安全优化:SSL证书验证, 让Charles再也无法抓你的请求数据;对请求参数进行签名;2、不走全局proxy的方案;3、允许不验证SSL证书;4、拦截请求;5、DoH &DoT
    https://kunnan.blog.csdn.net/article/details/106811271
    在使用NSURLSession时敏感的数据采用ephemeralSessionConfiguration配置,与默认配置相比,这个配置不会将缓存、cookie等存在本地,只会存储在内存里,所以当程序退出时,所有的数据都会消失。
  • 调用方权限控制设置

  • 调用频率、有效期进行控制

  • 调用行为实时检测,对异常阻拦

  • 幂等性校验,保持数据一致性

  • 采用应用接入安全网关,实现APPID/KEY身份认证,加密传输,摘要签名安全保障

see also

private iOS ECC椭圆曲线、ECDSA签名验签和ECIES加解密

iOS应用安全-专栏总目录(持续更新) 丨蓄力计划相关推荐

  1. 《阅读与写作》专栏总目录(持续更新)

    文章目录 引言 I.阅读方法论 II.写作方法论 III.实用文体写作 3.1 技术博客写作指南 IV 中文素养课 V 扩展(私密) see also 引言 欢迎大家来到#公众号:iOS逆向的< ...

  2. 零售版SAAS平台服务-专栏总目录(持续更新)

    文章目录 引言 I.收银台 1.1 iOS计算器 1.2 语音播报 II.数据报表 2.1 筛选视图的树形多级商品分类 2.2 iOS 自定义tab滑块 III .购物车 3.1 商品添加到购物车的动 ...

  3. opencv4.7.0+图像处理专栏总目录

    依附于opencv官网最新版本4.7.0,从初级调用api快速入门到高级探求原理的综合实战,穿插数字图像处理.目标快速入门+原理理解+实战.非水文,非搬运,若有不当之处,请评论赐教. 本篇只作目录,已 ...

  4. Linux云计算架构--课程目录(持续更新...)

    Linux云计算架构工程师–课程目录(持续更新-) 1.课程一 1. 阶段一:CentOS8 和 7 操作系统管理精讲 1.1基于 CentOS8 和 7Unix/Linux 系统介绍和安装 如何成为 ...

  5. STM32全链路开发实战教程专栏总目录(2022.10.19更新)

    文章目录 专栏说明 一.开发环境相关 二.STM32裸机开发 STM32CubeMX系列教程 玩转嵌入式屏幕显示 嵌入式开源小组件的使用 mbedtls开源安全库 DW1000 UWB芯片开发笔记 L ...

  6. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...

  7. QtQuick PC端开发实战_专栏总目录

    总目录 序号 标题 等级 技术点 传送门 1 QtQuick PC端开发实战系列(1)_搭建开发环境(Windows) ★☆☆☆☆☆☆☆☆☆ 环境 goto 2 QtQuick PC端开发实战系列(2 ...

  8. netcore开源框架_.NET Core开发精选文章目录,持续更新,欢迎投稿!

    收集的一些.NET Core开发的文章,持续更新,欢迎投稿! 0.文章目录 布莱恩特:@.NET程序员,请了解这8种.NET 内存泄露方式! 布莱恩特:ASP.NET Core 性能优化22条最佳实践 ...

  9. Leetcode每日一题总目录(动态更新。。。)

    0. 概要 leecode每日一题(也可能多题)题解跟踪记录及总目录. 常用算法解题思路和技巧及数据结构: 预处理:数组排序(954),哈希表... 双指针法 682,125,905 单向链表 2 双 ...

  10. 【工具】专栏目录(持续更新中,强烈建议收藏)

    本专栏主要介绍各种常见软件的基本用法和平时使用该软件时遇到的问题的解答. 1 开发类 1.1 VSCode [VSCode]基本用法 [VSCode]深入理解图标含义提升开发效率 [VSCode]支持 ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之usb流量分析
  2. 论文笔记 DNorm: disease name normalization with pairwise learning to rank
  3. python流程图基本元素-Python初学(十一)
  4. 速看|万豪数据泄漏门再敲警钟 酒店集团7步安全建议
  5. 以GIS面对崛起的城市群
  6. Apache TomEE + JMS。 这从未如此简单。
  7. gitpython git diff_Python全栈开发-git常用命令
  8. 程序员眼中的统计学(3)】概率计算:把握机会
  9. CentOS 操作系统初识
  10. Spring之事务传播行为
  11. 利用JAVA的BFS爬虫爬出豆瓣读书的评论和标签
  12. 《机器学习》阅读笔记(三)
  13. 《第一行代码》总结之简介、Activity(一)
  14. Linux搭建MQTT服务器(mosquitto)并使用
  15. .net core 中使用confluent kafka构建生产者
  16. CA认证简单介绍与工作流程
  17. 旺店通与用友U8集成解决方案
  18. sqlserver关于always on的总结
  19. 公安情报收集工作的新战场——互联网
  20. Shit Happens

热门文章

  1. php wamp一键环境包,phpwind本地环境一键安装包Wamp 5.0使用说明
  2. 解决ffmpeg合并视频后播放条拖不动,画面出错的问题
  3. 淘宝、百度、腾讯、京东 那不得不说的四角恋故事
  4. html作品源文件,编辑HTML源文件
  5. 为什么人工智能工程师被戏称为“调参侠”?
  6. openstack删除僵尸卷
  7. java三角形类_java 三角形类 Triangle的用法详解
  8. 自定义注解:具体的设计作用一般看过滤器的实现(以@Secured为例子部分理解)
  9. windows bat批处理基础命令学习教程
  10. CentOS 8 Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist