童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

iosapp如何做才安全

6月2日 飞虹塔投稿
  APPLE的iOS是封闭的,每个app有着沙盒路径,发布途径也只有唯一的APPStore,但是,危险遍布于开发的各个阶段,同时对安全的重视程度也间接提现了一个开发者的能力和意识。那么,iosapp如何做才安全呢?小编总结了以下几点。
  1、ipa包加壳
  首先,我们可以通过iTunes下载AppStore的ipa文件(苹果把开发者上传的ipa包进行了加壳再放到AppStore中),所以我们从AppStore下载的ipa都是加壳的,所以不能直接用来反编译。
  得到ipa文件可以分析APP里包含的一些资源,如:图片、plist文件、静态wap页、。bundle等。
  所以不要在plist文件、项目中的静态文件中存储关键的信息,如果要保存,记得对称加密(这样可以增加破解的难度)。
  如果是越狱的手机,从手机上的PP助手下载的ipa包都是脱壳之后的,可以直接用来反编译。
  2、敏感信息存储位置
  我们可以用软件查看APP的沙盒,查看里面存储的文件:sqlite、plist(NSUserdefault会存到Library下的Preferences中的plist文件中)、图片等,NSUserdefault中不要保存关键信息,如果要保存,还是加密吧。。sqlite也是这样子的。
  iOS8。3之前不越狱的手机也可以直接用MAC上的PP助手、iTool来查看任何APP的沙盒(系统APP除外)。iOS8。3之后就不行了。
  越狱手机都可以查看任意APP的沙盒,包括系统APP的沙盒。还有iOS的系统目录等。
  3、设备安全(越狱,丢失)
  越狱手机直接用PP助手下载的就是脱壳的ipa,所以不用再脱了。对AppStore下载的ipa包可以用工具对加壳的ipa进行脱壳,再用IDA、Hopper进行反编译,进行分析,可以得到近乎易懂的伪代码。但是反编译后的代码要一个方法一个方法的去分析,类似面向过程编程。。当然也有工具去提取项目中的所有。h文件。不过反编译终归是个耐心的活,急躁的人容易砸电脑。
  4、APP反编译(逆向工程)
  所有的APP都是可以反编译的,所以很关键的数据最好通过接口获取。
  那么接口如何保证安全呢。首先用HTTPS,虽然HTTPS已经很安全了,但是数据也是有可能被破解的,这个后面会介绍。。所以接口一定要自己加密。
  非对称加密(RSA)现在还是没有办法破解的,但是因为非对称加密的效率低,所以很少有企业将所有的接口都用非对称加密。
  接口如果用对称加密,密钥放到代码里是能被反编译出来的。如果你的APP的安全性很高,就不要把密钥写到代码里。
  可以这样处理:
  先通过非对称加密的接口获取密钥,然后再在后面的接口通信中用这个密钥进行加密。这样做就类似HTTPS的简化版实现了。安全性很高。目前应该是不能破解的。
  5、代码内容加密(对称加密非对称加密)
  根据APP的安全性,也可以把关键数据写在代码里,可以保存的是加密后的数据。比如,我给一个变量赋值:U2FsdGVkX1rNsgpLmOYTqoVhRRerZj9oobZAIPzjo,你不知道我这个字符串解密后是123456,我只是使用的时候才解密处理用。
  这样也只是增加了黑客获取关键数据的难度。
  6、安全密钥更新周期
  密钥要定期更换。比如3个月或半年换一次,如果密钥是从接口通过非对称加密获取的,直接修改服务端就可以了。
  如果密钥是写在代码里的。就等APP升级新的版本的时候,新版本的APP和其对应的接口版本都修改为新的密钥就可以了。
  旧的接口版本和APP版本还用以前的密钥,等强制更新的时候才会失效。
  如果一个APP一个密钥用上几年都不变,是很危险的。离职的人员都可以直接用以前的代码来获取相关的数据。特别是支付相关的,有的服务端甚至没有去校验支付的金额或其他数据,导致离职人员用1分钱可以买到任何价格的线上产品(服务端这种在线上环境留后门的安全性问题,我是真的遇到有人这么搞)。。
  7、代码混淆
  最好能进行代码混淆,能增加反编译的难度,当然只是增加了难度,还是能破解的。但是代码混淆的性价比是很高的,就是你这边付出了一点时间,而黑客就要多付出几十倍的时间。。其实接口自己加密的性价比也很高。
  8、接口安全(双向加密)
  接口返回的数据最好也进行加密。比如,现在大家都连我的热点,或者代理服务器,我是有可能直接获取你的APP的HTTPS解密后的json数据(如何获取相见《逆向工程》)。当然,如果你觉得你的APP返回的json数据都是不重要的,也可以不对数据进行加密。
  像微信、QQ、支付宝这种安全性高的,通信两边的数据收发都应该进行加密的。
  9、通讯安全,第三方库漏洞
  像HTTPS本身是否有漏洞这种我们就不去说了。就去年iOS的AFNetworking漏洞事件,完全是代码的问题。虽然不是HTTPS的安全机制的问题。但是黑客还是能很容易拿到HTTPS解密后的数据。
  去年iOS的AFNetworking曝SSL漏洞就涉及2。5万个APP。有的银行的APP,只用了HTTPS,通信都不加密,就很容易拿到明文数据了。有的APP里的各种数据都采用复杂的加密算法,破解人员看到都烦,去破解这个APP的时间还不如去搞其他的几个APP。
  HTTPS本身是安全的。但是数据还是可能被破解。所以不要觉得我只用HTTPS就安全了。理论上说任何的协议、代码都是可能有漏洞的,只是有的现在还没被发现或破解,并不代表一直不能被破解。。
  10、敏感信息安全加密
  黑客不会去一个手机一个手机的把沙盒数据拿出来来看每个用户的数据(黑客也不可能拿到你的手机)。但是如果黑客捡到你的手机,都不用登陆微信就可以通过微信APP的沙盒拿到你和小三的偷情聊天记录、能拿到你的银行卡号,你的手机号(很多APP都把手机号、银行卡号、聊天记录明文保存在沙盒里)。。你是不是会觉得微信怎么这么low。我们只是拿微信举个例子,微信还不会这么low。
  11、通讯网络安全
  黑客最主要的还是通过网络来获取他们想要的数据(网络的安全级别是最高的)。如果恰好你的APP加密密钥明文保存到了沙盒里或者你的数据通信还没有进行加密,恭喜你,你的数据和裸奔没啥区别。。
  有人说:“我就做了个聊天的APP,没啥机密信息。再说大家连的都是公司的wifi、4G网络,不会有问题的,所以我的通信才不加密,麻烦。”
  举个搞笑的栗子:
  你现在在飞机场,连着免费wifi,正在和副总裁在微信里谈着价值100个亿的创意的时候,聊天记录已经被黑客抓包获取,然后卖给竞争对手了。。(只是举个例子,微信的加密是相当安全的,微信很多的通讯还是用的HTTP,但是就算你拿到他们数据,也是无法解密的。这里举例用微信,只是为了方便大家理解。免费wifi确实有可能是黑客设的坑,新闻上经常报道)。所以不要让自己的数据裸奔。。。
  12、代码调试信息安全管理
  代码方面:
  1、在release环境下NSLog不要打印日志否则iOS系统日志里都可以查看到,在。pch文件中加下面的几行代码就可以解决。很早大家都这么做了。
  现在很多APP的部分页面开始使用Swift,在Swift文件中是允许用NSLog的语法来打印,但是不要这么做,因为这样就会导致这段代码在release环境中也可以正常输出。通过PP助手、iTools,可以直接查看iOS的系统日志。也可以直接通过XcodeWindowDevices点最下面的向上的小箭头,来看日志。
  所以Swift中打印还是用print吧。
  2、AFNetworking的allowInvalidCertificates属性要设置成false,validatesDomainName属性设置成true。否则HTTPS通信就可以被解密。这块涉及到AFnetworking去年的通信漏洞就不详述了。
  但是一般开发的测试环境的HTTPS不是CA颁发的,而是自签名证书,访问的也不是域名,而是IP。所以可以在测试环境忽略证书和域名。
  以上内容希望对您有所帮助,想要学习通讯安全小知识的朋友,接下来我们会讲解手机下载网络资源需注意哪些危险隐患,欢迎关注本站。
投诉 评论 转载

蠕虫病毒占多少内存蠕虫病毒通常会感染Windows2000XPServer2003系统,如果不及时预防,它们就可能会在几天内快速传播、大规模感染网络,对网络安全造成严重危害。蠕虫病毒会占用计算机……iosapp如何做才安全APPLE的iOS是封闭的,每个app有着沙盒路径,发布途径也只有唯一的APPStore,但是,危险遍布于开发的各个阶段,同时对安全的重视程度也间接提现了一个开发者的能力和意识……网页能传播病毒吗作为网络用户,每天上网,浏览网络新闻是最正常不过的事情了,但也会因此招来病毒灾难,那么,网页能传播病毒吗?网站传播病毒的途径与防治方法有哪些呢?今天我们就跟随本站一起来了解关于……手机安全验证码错误是怎么回事日常手机网络安全应该如何保护呢?手机安全验证码错误是怎么回事呢?请听本站详细见解。不少同学都遇到过在页面中输入验证码总是错误的问题,并且不管更换几次验证码图片,依然提示验……青少年网络安全知识,你需要知道这些随着信息技术的飞速发展,网络与人们的工作、学习、生活等已密不可分,而网络安全也成为了制约网络发展的关键问题之一。本文主要介绍了青少年网络安全知识,你需要知道这些才能与孩子更好地……宏病毒有哪些危害宏病毒编制极其容易,微软的宏语言都是BASIC语言的子集。BASIC是众多病毒制造者钟爱的编程语言,它比汇编语言容易许多。所以本质上任何人都能制造宏病毒,因此不难理解宏病毒如此……如何删除恶意脚本恶意脚本病毒具有自我复制、传播和破坏等行为,对当前计算机网络信息环境具有极大的危害性与破坏力。那么,电脑中了恶意脚本,如何删除恶意脚本呢?小编认为,电脑中了恶意脚本病毒,……共享文件被远程删除了可以恢复吗共享文件要是在远程中不小心被删除是很常见的现象,那么共享文件被远程删除了可以恢复吗?通过本站小编来给大家科普这些知识。共享文件被远程删除是可以找回来的,一起来详细的了解一……使用无线网传输文件会中毒吗电脑中毒跟人生病一样,总会有一些明显的症状表现出来,例如机器运行十分缓慢、上不了网、杀毒软件生不了级、word文档打不开,电脑不能正常启动、硬盘分区找不到了、数据丢失等等,那么……手机网络防火墙在哪里设置智能手机的到来,不仅让手机用户体验到了手机上网的乐趣,也体会到手机的多方面应用,那么,手机网络防火墙在哪里设置呢?杀毒软件的功能与优缺点分别是什么呢?今天我们就跟随本站一起来了……网络协议分层的优点分层网络协议是计算机术语。网络协议分层的优点你知道吗?计算机网络安全有哪些基本注意事项,一起和本站看看吧。网络安全是一个关系国家安全和主权、社会的稳定、民族文化的继承和发……使用支付宝安全吗有人说现在银行允许支付宝凭一卡通卡号,身份证号,手机就可以开通快捷支付直接扣款,支付宝并不安全,但银行并没有严格执行银行密码的相关规定,未能保护客户资产。那么使用支付宝安全吗?……
云南干旱的主要原因有哪些雪灾被困如何求救在日常生活中如何预防水灾国家森林防火期的目的霜冻对玉米有哪些影响海边的防风林要选择什么树种贝毒是由哪种海洋灾害引起的石榴冻害怎么补救草原火灾蔓延有哪些规律风灾对建筑物有影响吗飞机空中遇雷雨怎么办冬季热伤风的原因是什么

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界