【IOS】苹果APP风险项笔记-需修订

敏感信息-文件存储
威胁:
APP需要存储的数据可能包含

敏感信息-日志输出
威胁

敏感信息-后台快照
威胁:
APP被切换至后台时会保存当前界面的快照,若界面上包含敏感信息可能导致数据泄露
审计方法:
Library/Caches/snapshots中的快照图片
解决方案:
程序被切换至后台时,通过UIApplicationDelegate

数据加密-加密算法
威胁:
加密算法自身安全性问题(自定义简单加密算法或RC4等)
审计方法:
对APP进行逆向,分析对加密功能的类或方法的调用
解决方案:
尽量避免使用自定义加密算法;
使用AES、DES等较安全算法;
对于数据安全性要求较高的情况,使用非对称加密(网络传输)。

数据加密-算法关键数据
威胁:
算法KEY生成或存储方式不当,攻击者可轻易获取;
对称加密的KEY硬编码于程序中。若使用这样的KEY对数据进行加密,攻击者可通过在自己的客户端中获取KEY,就可以对其他用户加密数据进行解密。
审计方法:
逆向分析、审计本地文件是否存放相关数据。
解决方案:
以设备相关的信息作为基础生成KEY(identity)

网络交互-HTTP&HTTPS
威胁:
敏感数据使用HTTP,存在被中间人攻击获取的风险
使用HTTPS传输,但未进行服务器根证书校验,同样可被中间人拦截修改
审计方法:
Burpsuite、Charles等
解决方案:
使用HTTPS应对数据安全性较高的场景,在客户端进行证书进行校验
对于HTTP,避免明文传输数据,在必要的情况下使用非对称加密

网络交互-WebView& JS
来源:
UIWebView& WKWebView & WebViewJavascriptBridge
威胁:
WebView注册获取(GPS等)接口,恶意网页通过JS调用获取信息
WebView注册的Native接口的实现由缺陷,调用恶意JS代码导致APP崩溃
审计方法:
逆向APP,分析相关的类的方法调用,测试注册的接口。
解决方案:
使用Safari来打开连接
尽量不要为JS注册涉及敏感信息的接口,如获取定位信息等
使用WebView加载页面并涉及JS调用时,对相关调用接口进行检查设置调用黑名单。

第三方库安全性
AFNetworking
低于2.5.3版本存在安全隐患
通过加载dylib对AFNetworking进行测试
FFmpeg
低于2.8.5版本存在文件读取漏洞

IOS应用安全问题归纳-Bug
拒绝服务
扫描畸形二维码,导致APP崩溃

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,149评论 25 709
  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 12,719评论 0 6
  • 好久沒來了,堅持!
    COLOR_EDDY阅读 3,196评论 2 3
  • 电杆上的麻雀 正在努力的告白 让凄凉的秋天 有了丝丝的暖意 地上的枫叶静静地躺着 自己努力追求的自由 如今吃成了不...
    眯咪眼阅读 1,301评论 0 0

友情链接更多精彩内容