ios安全系列(3)

1、隐私的问题

先说UUID,一直都在说,不要使用UUID在程序里面用来实现认证等功能。UUID也带来了很多隐私问题。

每个iphone都有一个唯一的标示 UDID. 号称不可改变,但在越狱终端上有UDID Faker之类的软件给您提供高级假冒服务(可以为每一个应用分配不同的UDID)。

UDID怎么算出来的?
UDID = SHA1(Serial Number + ECID + LOWERCASE (WiFi Address) + LOWERCASE(Bluetooth Address))

UDID原来是放开的,大家随便调用。

NSString *uniqueIdentifier = [device uniqueIdentifier]

但隐私问题出来,UDID唯一表示一个终端,那就差不多标示一个人了!如果配合其他的信息如位置等,就可以跟踪楼主了!开发个软件,可以监控女神的每时每刻的位置,位置不差1米。研究表明, 68%的应用悄悄的上传 UDIDs 。再配合一些社交网络里面的信息,就可以定位楼主了。

鉴于此, 苹果已正式宣布,不再接受访问iOS设备UDID的应用申请或应用更新苹果建议开发者转用由iOS 6提供的Vender和Advertising Identifier系统允许开发者访问。详情参考UIDevice Class Reference

苹果也建议生成一个随机数。。。

-(NSString*) uuid {

    CFUUIDRef puuid = CFUUIDCreate( nil );  
CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString);
CFRelease(puuid);
CFRelease(uuidString);
return [result autorelease];
}

该方法每次都会获取一个唯一的标识字符串,开发者可以在应用第一次启动时候调用一次,然后将该串存储起来,以便以后替代UDID来使用.但这就不能标示终端了。

2、本地数据安全的问题

1)备份

    itune备份到电脑了,电脑病毒可以窃取。

2)丢了手机

    尤其不设置pin码的,拿数据的安全就。。

3)恶意软件

    这个ios平台真的比较少,但也不能说没有。

ios的应用也是沙箱机制,很强大哦,前面的一篇文章介绍过。ios和android的沙箱不一样,android是每个进程一个UID,ios的应用都是一个用户mobile。

用户装完应用目录在:/var/mobile/Applications


开发ios应用时,数据常见的保存位置有:

  • Plist files
       里面保存一些配置信息,是XML格式, plutil等工具可以编辑。
        有人在里面存储用户名和密码。。。比如WordPress iPhone应用曾经。。
         可以使用 iExplorer and iBackupBot等工具下载plist文件,然后修改。有些玩游戏的同学可能会用到。


也可以用iBackupBot。看名字就知道这是通过读取pc的备份来获取plist文件的。ios的文件,都会备份到pc上。


在越狱的终端上修改起来就更方便了,比如 plutil and iFile。
你的工作就是先定位到plist.然后开始修理。


比如添加一行:

Add ‘EnableFirebreak’ key to the com.apple.mobileslideshow.plist

> Plutil –key EnableFirebreak –value yes com.apple.mobileslideshow.plist


  • Keychain
      这个东西前文已有介绍。建议读者先看看。 

ios安全团队对ios安全的认识http://blog.csdn.net/u011069813/article/details/9256233


Keychain首先是个Sqlite 数据库,里面存储一些小数据,比如认证等信息( usernames, passwords, encryption keys, certificates and private keys)。应用使用keychain service library/API (secItemAddsecItemDelete,secItemCopyMatching & secItemUpdate methods) 来访问keychain. keychain Sqlite database的位置: /private/var/Keychains/keychain-2.db.

  • Application’s home directory
  • Cache
  • Logs


待续。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值