ios dat 文件读写_iOS 的系统安全性比Android 系统要高!// 解读iOS安全机制

08701fc2e9ca3570edbeb0a4b9c5a69b.png

来自Unsplash

iOS 的系统安全性比Android 系统要高,其中有几个主要的原因。

一是对应用安装源的限制,iOS 设备必须从App Store 上下载应用或者使用企业证书做分发,而Android 系统的设备可以安装任何安装包(Android Package,APK),这样会导致恶意应用可以很轻易地被安装到手机上。

二是iOS 上的应用有着严格的“沙盒”机制,每个应用都只能访问自己沙盒目录下的数据,没有公共的读写区域,而Android 系统存在公共读写区域,容易造成信息泄露。

三是iOS 应用被限制只能在前台运行,只要点击Home 键,应用的所有线程都会被挂起,只有一些必须运行在后台的服务才能被执行(如实时位置、播放音乐等),而Android 应用可以创建后台服务,即使应用被切换到后台,代码还是可以执行的,用户很难觉察到。

下面我们来详细了解一下iOS 的安全机制。

应用的安装源

App Store 是苹果的应用市场,苹果手机上使用的微信、QQ和支付宝等应用都是从App Store 上下载的。同样,如果你想开发一款应用并上架App Store,必须提交苹果公司进行审核,审核通过之后,应用才能在App Store 上被搜索、下载。除了从App Store 上下载应用外,还有其他安装应用的方法,其中一种方法是使用企业证书做分发,价格为每年299 美元。这种方法不限制安装设备的数量,但是安装完成后想要打开软件时,会出现“未受信任的企业级开发者”提示,如图1-1 所示。

5da754933258f6d0504807d133ac7033.png

图1-1 未信任的企业开发者

这时我们就需要点击“设置”→“通用”→“设备管理①”,信任安装的应用。还有一种方法是使用个人/公司证书进行开发及测试,价格为每年99 美元。这种方法首先需要将设备的UDID(Unique Device Identifier,设备唯一标识符,在8.1 节有更详细的介绍)添加到开发者账号中,最多可以添加100 台设备,然后下载配置文件,在Xcode 上添加配置文件并编译相应的程序,最后就能安装在这台设备上了。Xcode 9 有自动注册设备的功能,当我们使用Xcode 进行真机调试,连接一个新设备的时候会进行自动注册,如图1-2 所示。

f06090734d7cd026a944425562613564.png

图1-2 使用Xcode 9 注册设备

正是App Store 严格的审核以及应用安装源的限制,比较有效地控制了恶意程序的传播。

沙盒

沙盒(sandbox)是iOS 的一个防御机制,每个应用都会有一个自己的沙盒。应用只能在自己的沙盒目录下读写数据,应用A 不能访问应用B 的沙盒,它们之间是互相隔离的。正因如此,攻击者上传恶意程序后,即使侥幸通过了App Store 的审核,被安装到用户的手机之后也不能获取其他应用的数据。获取沙盒目录的方法如下:

-(void)getPath{//获取沙盒根目录路径NSString*homeDir = NSHomeDirectory();NSLog(@"homedir: %@
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值