移动开发前线iOS入的那些坑iOS 开发

iOS 开发安全那些事儿

2017-02-03  本文已影响1955人  一个大番茄

​ 随着移动互联网的普及,被越来越多的心怀不轨的人觊觎,也越来越多的安全问题暴露了出来。开发者开发出来的应用被安装在设备上之后,用户并不具有专业的安全知识。因此,开发者有义务为用户的安全保驾护航,能够为用户提供可信赖的服务才会被其青睐。
​ 攻击者在暗,我们在明,我们不知道对方会使用怎样的方式威胁到应用的安全。因此我先就最坏的情况来考虑,即会有人恶意去逆向我们的应用,我们应该怎么样去应对这些可能出现的危险。

常用的逆向分析手段

​ 要知道怎么防备,我们就需要知道一些常用的逆向分析方式,这样才能知己知彼。通常来说分析有三种手段:

如何防?

​ 攻击者往往会从以上这几个点去查找你的应用中可能存在的漏洞,一旦找到了他们的切入点,下一步相对来说会简单一点。在接下来的内容中,针对以上几点围绕着二进制安全、数据安全以及网络安全来讲述。

二进制安全

​ 攻击者会拿到我们的应用进行分析,然后可能会篡改我们的执行文件或者是资源文件,因此我们有必要采用一些手段来防止他们窥探以及对应用的行为进行修改:

数据安全

​ 我们的应用可能会在本地存储一系列的文件,包括用户数据,数据库文件,甚至在日益兴起的Hybrid开发或者是各种Patch方式中我们会下载的源码文件。我们应该尽可能地确保这些文件不会轻易被窃取到,即使窃取到了之后黑客也没办法使用。

try? FileManager.default.setAttributes([.protectionKey: FileProtectionType.complete], ofItemAtPath: "your path ")

网络安全

非恶意攻击造成的安全问题

​ 以上大部分都是一些比较恶意的针对终端用户的攻击防护,所谓防君子不防小人,想要搞破坏的人总是会找到办法的。我们也还应该注意一些无意之间容易造成的安全问题。

苹果会在应用退到后台的时候进行截屏,会将当户当前的状态截图保存下来,这可能会在无意之中造成用户数据的泄漏,因此我们可能需要主动地替换掉这张截图。

总结:

​ 道高一尺魔高一丈,如果终端不在用户手中,总是能够见招拆招的。作为开发工程师的我们虽然不需要具备很强的安全能力,但是我们需要了解一些基础的知识并具有一定的安全意识,尽可能地为我们的产品和用户负责。

上一篇 下一篇

猜你喜欢

热点阅读