时时勤拂拭,勿使惹尘埃

TOC

Categories

iOS(十二)描述文件安全概览



二、描述文件概述

1、iOS上的描述文件

  iOS 的「描述文件」(profile) 是一个设置文件,实质是一个XML文件,不是证书。在部署 iOS 设备时可以使用苹果官方的「iPhone 配置实用工具.app」创建描述文件,然后安装到 iOS 设备上进行管理。
其位于:“设置-通用-描述档”

2、官方描述

設定描述檔是由承載資料組成的 XML 格式檔案,可將設定和授權資訊載入 Apple 裝置,例如 iPhone、iPad、iPod touch、Mac 電腦和 Apple TV。
設定和授權資訊可包含:
  • 裝置安全性規則和限制
  • VPN 設定資訊
  • Wi-Fi 設定
  • 郵件和行事曆帳號
  • 可允許 iPad、iPhone 和 iPod touch 與企業系統及學校網路搭配作業的認證憑證
設定描述檔可以加密和簽署,這樣可讓您將其用途限制於特定的 Apple 裝置,並避免任何人更改描述檔的設定(使用者名稱和密碼除外)。您也可以將描述檔標示為鎖定至裝置,因此加入之後,只可以透過清除資料的所有裝置,或輸入與描述檔相關的密碼來移除描述檔。由描述檔所設定的帳號(如 Microsoft Exchange ActiveSync (EAS) 帳號),只能透過刪除該描述檔來加以移除。
雖然您可以製作包含您組織所有承載資料的單一設定描述檔,請考慮製作個別的描述檔,以便為很少更動的設定和可能經常更動的設定分別定義描述檔。不常更動的設定包含:Wi-Fi、安全性與隱私、LDAP、郵件和行事曆。經常更動的設定包含:VPN、憑證、web clip 和 AirPrint。
在 iOS 9 或以上版本中,若裝置已受到監管並登記在 MDM 中,則「設定輔助程式」所加入並帶有 Wi-Fi 或憑證承載資料的設定描述檔會自動變成已管理。

3、Apple Configurator

Apple Configurator是Apple提供的iOS企业部署装置,可通过App Store免费下载使用
可以用来更新軟體、加入 App 和設定描述檔、重新命名裝置和更改背景圖片、輸出裝置資訊和文件,以及其他功能。您也可以檢閱任何裝置來查看詳細資訊,如序號和硬體位址、已加入哪些 App 和描述檔,以及裝置的系統監視程式記錄。
您也可以使用 Apple Configurator 2 來配置 Apple TV 的設定,包含設定裝置名稱、預設語言、加入 Wi-Fi 和憑證承載資料,以及遠端裝置管理(MDM)登記描述檔。
以下為如何使用 Apple Configurator 2 來設定和部署裝置的範例:
  • 您可以為裝置製作藍圖。藍圖可讓您錄製要套用至實體裝置的動作。您可以將設定描述檔和 App 加入藍圖,就像將其加入至實體裝置上一樣。您可以準備藍圖,讓裝置附加行動裝置管理(MDM)資訊和監管身分。您也可以加入特定動作至藍圖,例如讓裝置處於「單一 App 模式」。當藍圖設定符合需求之後,您便可以將它套用至裝置。如需更多資訊,請參閱關於藍圖
  • 您可以製作設定描述檔來更改裝置設定,讓使用者自動連接至 Wi-Fi 網路、預設郵件和 Microsoft Exchange 設定等等。如需更多資訊,請參閱設定描述檔概覽
  • 您可以準備一組僅設定一次的新裝置,然後進行部署。準備裝置對企業組織和學校而言,是一個絕佳的部署選項,可對員工或學生提供裝置,供其用於每天用途。可以是重新使用已為組織所有的裝置,或可以開始使用新裝置。如需更多資訊,請參閱準備裝置概覽
其可以用于制作描述文档,描述文档功能如截图:

三、基于描述文档可能做到的恶意行为

1、中间人劫持通信

描述文档可以设置“全域HTTP代理服务器”,可以设置代理服务器后监管该设备所有http数据
该方式曾在2015 blackhat us会议上讲过
以及“VPN”功能,同样可以监听所有通信数据

2、流氓推广

描述文档有一个设置“web clip”的功能,可以在桌面显示一个指定url的图标,并且可以设定无法删除,非常适合用于流氓推广,且上文中fake cydia就是使用该方式
另外如果设置无法删除图标后,需要删除该描述文档才能删掉图标

3、恶意限制设备正常功能

“取用限制”设置栏,可以关闭设备许多正常功能,更甚至禁用删除app、禁止修改密码,易被恶意利用限制设备正常使用

 

4、添加证书,伪造https网站

描述文档允许安装证书,PKCS1和PKCS12分别如下:
PKCS#1:RSA加密标准。PKCS#1定义了RSA公钥函数的基本格式标准,特别是数字签名。它定义了数字签名如何计算,包括待签名数据和签名本身的格式;它也定义了PSA公/私钥的语法。
PKCS#12:个人信息交换语法标准。PKCS#12定义了个人身份信息(包括私钥、证书、各种秘密和扩展字段)的格式。PKCS#12有助于传输证书及对应的私钥,于是用户可以在不同设备间移动他们的个人身份信息。
如果被添加的证书属于根证书(不确定非越狱情况下是否可安装),则易被利用伪造,可参考:
联想预装Superfish、戴尔预装eDellRoot证书事件
其中戴尔更预装了eDellRoot证书私钥,极易被逆向分析出密钥而被利用
而当浏览器访问任何预装此类证书的https页面时,不会有任何安全提示,从而容易伪造各类网银、邮箱等隐私的https网站

5、越狱环境下证书显示与实际存储不同步

参考:
iOS环境下的中间人攻击风险浅析
iOS系统下有一个有一个sqlite3文件,其绝对路径为:
“/private/var/Keychains/TrustStore.sqlite3”
该文件中存储的才是当前设备真正信任的证书列表,而通过“Settings”->“General”->“Profiles”查看到的证书列表与该文件中存储的证书列表可以不同步,如果我们手动对该sqlite3文件进行更改,就能让手机实际的可信证书列表与在“Profiles”中看到的完全不一样。
如果攻击者通过越狱插件、甚至是通过某些猥琐手段逃过App Store检查的恶意应用,对已越狱的iphone手机上的文件“/private/var/Keychains/TrustStore.sqlite3”进行修改,向其中插入了一张攻击者证书,例如burp suite证书,攻击者就可以在受害者的网关上神不知鬼不觉的进行中间人攻击(当然level3安全级别下的应用是没门的),受害者完全不知情,因为受害者通过“Settings”->“General”->“Profiles”查看可信证书的时候,不会发现任何异常,即可以在不显示证书的情况下窃取受害者数据、进行篡改等。
所以,对于已越狱的手机,不要以为“Settings”->“General”->“Profiles”下没有安装一些奇奇怪怪的证书就高枕无忧了。

0 评论:

发表评论