- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS8应用安全新挑战-李俱顺
iOS8应用安全
新挑战
李俱顺
s1mbily@557.im
个人简介
• 支付宝安全工程师
• 关注客户端安全/开发
– Windows客户端
– 移动/无线端安全
• 偶尔写写服务端程序,也喜欢搞搞渗透测
试
• 伪Geek
iOS8新变化
• Swift新语言
• App的新存在形式:扩展(Extension)
• 4000+新API
• and etc…
Swift
• 新的语言
– 五仁月饼 ?
• 号称更快的执行速度
– 比Objective-C快
• 更丰富的语法糖
– 一辈子的中括号终于不
会用光了
Swift
• 编译过程新变化
– swift-clang替代了clang-clang
– 再见rewrite-objc :除了逆向外更难进行实现
分析
Swift
• 结构变化
– 嘿,我有自己的Framework了!
Swift
• 运行时新变化:
– 再见,objc_msgSend
– 或者叫Objective-C without message?
Swift
• Swift逆向Tips
– Name mangling:
_TFC10swift_204811AppDelegate27applicationWillResignAc
tivefS0_FCSo13UIApplicationT_/_TToC10swift_204811AppD
elegate27applicationWillResignActivefS0_FCSo13UIApplicati
onT_
– 参数传递顺序:type method(arg1,…, id self)
– Object struct/vtables
Swift
• 如何攻击?
– 再见,method swizzling
– 感谢Mobile Substrate ,还可以用
• No MSHookMessage
Swift
• 如何防御
– 一些针对OC的动态特性的加固方法已经不再适
用(如: #define trick)
– 增强调用间验证机制(anti-hook)
• 建议谨慎选择Swift
扩展
• 不同于应用的架构
• 更加紧密的应用间交互
– 我:不越狱用上第三方输入法了
– 产品经理:终于不用应用间跳转啦
扩展
• 扩展的本质
– Plugins本质是一个普通的binary程序的
bundle ,主程序包含Entitlements声明。
– 借助XPC Services唤起,可以展示一个
UIViewController
– 比如之前的
MFMessageComposeViewController ?
扩展
• 生存周期
• 无法与主程序直接通讯
– 当然也不在调用者程序空间
您可能关注的文档
- Google政策 11、Google AdWords广告政策.pdf
- Google政策 13、Google广告政策及特殊行业要求.ppt
- GPON技术(ppt版).ppt
- GSM远程智能控制系统.ppt
- Go语言简介_2015年发展趋势_郝林.pdf
- GTXC04-SuperMap城镇地籍管理信息系统(SuperMap CIS)-国土.pdf
- GTXC07-SuperMap土地利用现状管理系统-国土.pdf
- GTXC17-SuperMap“一张图”国土资源监管信息系统【县级】-国土.pdf
- GTXC16-SuperMap基本农田管理信息系统-国土.pdf
- GSC臻效水动力防晒乳新品推广_20160315.pptx
文档评论(0)