罪惡之源被**
「我們已經了解到,一系列採用第三方移動廣告 sdk 進行開發的 ios 軟體會通過私人 api 擅自收集使用者的個人資訊,包括郵箱位址、裝置序列號以及路由資料等等。然後,這些軟體把使用者資料傳向一家名為有公尺的移動廣告**商所設的伺服器,開發者所使用的 sdk 也是由這家**商所開發的。
根據 sourcedna 公布的資訊,使用有公尺 sdk 開發的軟體會收集以下資訊:
1:安裝應用的具體列表
2:ios 裝置序列號(識別號)
3:硬體及外接裝置的識別符號等資訊
據了解,有公尺通過私有 api 收集使用者資訊已經不是一天兩天的事兒了,他們早在兩年之前就開始這麼幹,並隨著時間的推移越來越肆無忌憚。也許是因為有公尺有特別的隱藏資料收集行為的技巧,蘋果也一直沒有發現他們所幹的勾當。收集了兩年的使用者資料才被發現,他們到底是怎麼做到的呢,我們先來看看 sourcedna 是怎麼發現的。
背後的技術解析
ios 的二進位制檔案包括 arm 機器**,sourcedna 會對這一些**進行解析。呼叫乙個 objective-c 方案時,它是通過 objc_msgsend 來進行向量導航的,而且它是以字串的方式來接收類別及方案。一般情況下,在呼叫 objc_msgsend 之前這些字串可以通過檢視資料參考來完成靜態解析。sourcedna 會跟蹤這些呼叫目標類別/方案的起源和目的,然後建立乙個呼叫圖,用來探測每個(受到影響的)應用程式是使用了哪種方案。
然而,在某些情況下,這些引數是不能被靜態解析的。因為它們只是字串,它們可以在執行時通過任何字串操作例程來建立。所以,一些工具會利用這種特點來混淆類別和方案的名稱,在呼叫 objc_msgsend 之前解擾字串。
一款應用程式還可以通過呼叫 dlopen 來載入乙個全新的資料庫,然後通過呼叫 dlsym 在這個資料庫裡面訪問相應的函式或資料。這樣一來,動態鏈結器在指定的檔案中就會進行勘查(首先檢查它的**簽名),然後查詢給定的符號位址。由於資料庫和符號名稱都是字串,因此也可以在執行時建立。
sourcedna 對這乙個在數以百萬計應用程式當中存在的**行為進行了解析,主要是確認執行時間裡的資料庫載入是否被拿來訪問私有的 api介面,sourcedna 對他們所收集到(應用程式)資料進行排查,如果符合以下條件就證明應用程式會收集使用者的個人資訊:
-呼叫dlopen、dlsym 或 nsclassfromstring / nsselectorfromstring
-通過各種字串控制函式來生成引數
經過排查發現,有幾百款應用程式符合他們的設定。這些應用程式使用的是 sprintf 和 %s 格式字串以及 %@ 和 nsstring stringwithformat:。sourcedna 為此還通過使用附近的靜態字串寫了乙個指令碼來擴充套件這些格式字串,然後對重構的引數進行聚合。最後,就得到了有公尺 sdk 試圖收集使用者個人資訊的證據。
蘋果做法可點贊
好在,無論是涉及到使用者安全還是隱私問題,蘋果的態度一直都是「堅決擁護」。xcodeghost 事件如是,有公尺 sdk 事件如是,蘋果都在第一時間作出反應,該**的就**。
ios 平台也不是沒有出現過安全事故,但此前我們看到的惡意軟體感染事件基本上都是黑客直接把病毒植入偽裝的應用程式內,又或者是通過外部鏈結來引誘 ios 上當。然而這一次的 sdk 以及上一次的 xcodeghost 事件,不法份子則是通過開發軟體的源頭下手,《富比士》雜誌稱之為「一種全新的方式」。
最後說一句,在本次事件當中,開發者也很可憐的,因為他們很有可能也不知道自己開發的應用會蒐集使用者的資訊,因為有公尺根本沒有告訴他們。
Apple 如何知道你使用了私有API
寫在開頭 ios開發者 群532084214 給大家提供乙個交流技術 也可以聊天打屁的平台 otool l 這個工具可以清晰的列出你鏈結所有的庫 像io.kit是不允許使用的 nm u 這個工具可以清晰的列出你所有鏈結符號 如 c方法 oc方法 檢查所有selecter的字串 occlass sel...
iOS開發小技巧 私有API及不常用的API彙總
ios開發也比較久了,什麼c c 混編啊,unity3d融合ios內容啊等等之類,很多看起來比較蛋疼的需求其實就是乙個個小的api你沒有用過或者沒有見識過罷了,下面就得慢慢積累我遇見的一些新鮮的api介面,從今天開始日積月累 先自己mark一下!共有api 私有api 一 呼叫 號碼 1 呼叫號碼 ...
女子眾籌被曝房產 受助女兒怒懟網友 不缺你的錢
程式設計驛站 www.cppcns.com 注 近日,南寧一母親網路籌款救女兒的事件引發關注。據南國早報訊息,南寧武鳴市民鄧女士在水滴籌發起籌款,稱女兒小黃由於病毒感染住進了icu,卻無錢治病。經過近萬人捐款,鄧女士籌得 25 萬多元,女兒也得到了救治。本來故事應該這樣完美結束,然而事後卻有爆料稱鄧...