閱讀240 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【幹貨】iOS 11 短信攔截功能初探

自古以來iOS上的短信對各個app都是禁區,沒有一個app能夠獲取用戶短信的內容,這一現狀將在iOS 11終結,在iOS 11 beta 1出來以後,我們發現新增了SMS fraud extension(惡意短信攔截插件),該插件在經過用戶的授權後可以用於攔截用戶的惡意短信。為了更好地保護老百姓的資金安全,錢盾反詐平台第一時間對這個功能做了分析。

效果演示:
01

效果說明:
• 開啟路徑還是比較長:通用->信息->未知與垃圾信息
• 被過濾的短信不是刪掉,而是歸類於“過濾短信”這個分類裏
• 打開被過濾的短信內容,裏麵有短信過濾插件的品牌展示
• iMessage不能被過濾
• 隻有當短信的發送方不在聯係人列表裏的時候信息app才會把信息相關內容發給SMS fraud extension
• 如果用戶安裝了多個SMS fraud extension插件,同一時間隻能enable一個
• SMS fraud extension可以獲取到的內容包括短信發送方和短信內容,不包含收件人手機號

實現機製:
02

  1. 信息app(用戶)收到一條SMS或者MMS
  2. 信息app將短信的發送號碼和短信內容發給SMS fraud extension進行檢測
  3. SMS fraud extension可以使用本地數據進行離線檢測,也可以線上實時檢測。如果實時檢測的話,由於SMS fraud extension沒有網絡請求的權限,隻能委托信息app將短信相關內容發往SMS fraud extension對應的後台server。
  4. SMS fraud extension後台server檢測短信的安全性並將結果返回給信息app
  5. 信息app將服務器結果轉發回SMS fraud extension
  6. SMS fraud extension解析服務器返回內容,確定短信安全性,將action返回信息app
  7. 信息app根據SMS fraud extension返回的action來決定放行或過濾該信息

隱私保護:

結合蘋果的文檔來看,SMS fraud extension可以拿到短信內容,當傳到服務器之後服務器也拿到了短信內容,但是蘋果通過以下幾個限製保證了該短信內容無法跟用戶對應起來:

• SMS fraud extension寫入的本地存儲不能與containing app共享,也就是說containing app無法拿到短信相關內容並上傳或分析。
• SMS fraud extension本身不可以發起網絡請求,與服務端的唯一交互必須委托信息app來完成,信息app在發起請求的時候不會攜帶任何用戶和機器相關的信息。服務端拿到的唯一用戶環境相關信息隻有IP,而單靠IP是無法跟用戶對應起來的。
• 信息app發起請求時訪問的URL要求必須配置是存放在SMS fraud extension的info.plist裏,這就保證了SMS fraud extension和containing app都不能動態地修改該URL,不能通過給每一個用戶配一個特殊的URL的方式來跟蹤用戶。

結論:

從蘋果采取的隱私保護機製來看,SMS fraud extension和其後端對應的服務器可以獲取到用戶的短信發送方及短信內容,但是以目前的實現機製來看無法將短信內容對應到具體的用戶,所以是相對安全。

參考文檔:

  1. https://developer.apple.com/documentation/identitylookup?changes=latest_minor
  2. https://developer.apple.com/videos/play/wwdc2017/249/

最後更新:2017-06-12 11:31:41

  上一篇:go  es6(2)——let和const
  下一篇:go  3400位造型師,80位大數據科學家,這家美國女裝公司這麼做個性化定製