0x20 越獄檢測的攻與防

注:原文---念茜的博客

在應(yīng)用開發(fā)過程中,我們希望知道設(shè)備是否越獄尽纽,正以什么權(quán)限運(yùn)行程序垒拢,好對應(yīng)采取一些防御和安全提示措施。

iOS7相比之前版本的系統(tǒng)而言荣恐,升級了沙盒機(jī)制液斜,封鎖了幾乎全部應(yīng)用沙盒可以共享數(shù)據(jù)的入口。即使在越獄情況下叠穆,限制也非常多少漆,大大增加了應(yīng)用層攻擊難度。比如痹束,在iOS7之前检疫,我們可以嘗試往沙盒外寫文件判斷是否越獄,但iOS7越獄后也無該權(quán)限祷嘶,還使用老方法檢測會導(dǎo)致誤判屎媳。

那么,到底應(yīng)該如何檢測越獄呢论巍?攻擊者又會如果攻破檢測呢烛谊?本文就著重討論一下越獄檢測的攻與防。

首先嘉汰,你可以嘗試使用NSFileManager判斷設(shè)備是否安裝了如下越獄常用工具:

/Applications/Cydia.app

/Library/MobileSubstrate/MobileSubstrate.dylib

/bin/bash

/usr/sbin/sshd

/etc/apt

但是不要寫成BOOL開關(guān)方法丹禀,給攻擊者直接鎖定目標(biāo)hook繞過的機(jī)會

攻擊者可能會改變這些工具的安裝路徑,躲過你的判斷鞋怀。

那么双泪,你可以嘗試打開cydia應(yīng)用注冊的URL scheme:

但是不是所有的工具都會注冊URL scheme,而且攻擊者可以修改任何應(yīng)用的URL scheme密似。

那么焙矛,你可以嘗試讀取下應(yīng)用列表,看看有無權(quán)限獲炔须纭:

越了獄的設(shè)備是可以獲取到的:

攻擊者可能會hook NSFileManager 的方法村斟,讓你的想法不能如愿。

那么抛猫,你可以回避 NSFileManager蟆盹,使用stat系列函數(shù)檢測Cydia等工具:

攻擊者可能會利用Fishhook原理hook了stat。

那么闺金,你可以看看stat是不是出自系統(tǒng)庫逾滥,有沒有被攻擊者換掉:

如果結(jié)果不是 /usr/lib/system/libsystem_kernel.dylib 的話,那就100%被攻擊了败匹。

如果 libsystem_kernel.dylib 都是被攻擊者替換掉的……

那也沒什么可防的大哥你隨便吧……

那么寨昙,你可能會想面哥,我該檢索一下自己的應(yīng)用程序是否被鏈接了異常動態(tài)庫。

列出所有已鏈接的動態(tài)庫:

通常情況下毅待,會包含越獄機(jī)的輸出結(jié)果會包含字符串: Library/MobileSubstrate/MobileSubstrate.dylib

攻擊者可能會給MobileSubstrate改名,但是原理都是通過DYLD_INSERT_LIBRARIES注入動態(tài)庫归榕。

那么尸红,你可以通過檢測當(dāng)前程序運(yùn)行的環(huán)境變量:

未越獄設(shè)備返回結(jié)果是null,越獄設(shè)備就各有各的精彩了刹泄,尤其是老一點(diǎn)的iOS版本越獄環(huán)境外里。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市特石,隨后出現(xiàn)的幾起案子盅蝗,更是在濱河造成了極大的恐慌,老刑警劉巖姆蘸,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩莫,死亡現(xiàn)場離奇詭異,居然都是意外死亡逞敷,警方通過查閱死者的電腦和手機(jī)狂秦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來推捐,“玉大人裂问,你說我怎么就攤上這事∨F猓” “怎么了堪簿?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長皮壁。 經(jīng)常有香客問我椭更,道長,這世上最難降的妖魔是什么闪彼? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任甜孤,我火速辦了婚禮,結(jié)果婚禮上畏腕,老公的妹妹穿的比我還像新娘缴川。我一直安慰自己,他們只是感情好描馅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布把夸。 她就那樣靜靜地躺著,像睡著了一般铭污。 火紅的嫁衣襯著肌膚如雪恋日。 梳的紋絲不亂的頭發(fā)上膀篮,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音岂膳,去河邊找鬼誓竿。 笑死,一個胖子當(dāng)著我的面吹牛谈截,可吹牛的內(nèi)容都是我干的筷屡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼簸喂,長吁一口氣:“原來是場噩夢啊……” “哼毙死!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起喻鳄,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扼倘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后除呵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體再菊,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年颜曾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袄简。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡泛啸,死狀恐怖绿语,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情候址,我是刑警寧澤吕粹,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站岗仑,受9級特大地震影響匹耕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荠雕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一稳其、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炸卑,春花似錦既鞠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春洒敏,著一層夾襖步出監(jiān)牢的瞬間龄恋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工凶伙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郭毕,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓函荣,卻偏偏與公主長得像铣卡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子偏竟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 在應(yīng)用開發(fā)過程中,我們希望知道設(shè)備是否越獄敞峭,正以什么權(quán)限運(yùn)行程序踊谋,好對應(yīng)采取一些防御和安全提示措施。 那么旋讹,到底應(yīng)...
    無灃閱讀 1,245評論 0 3
  • 在應(yīng)用開發(fā)過程中殖蚕,我們希望知道設(shè)備是否越獄,正以什么權(quán)限運(yùn)行程序沉迹,好對應(yīng)采取一些防御和安全提示措施睦疫。iOS7相比之...
    SuperRoot閱讀 982評論 1 0
  • 前段時(shí)間公司讓做了個對越獄設(shè)備的檢測和攔截,下面是綜合自己的開發(fā)和網(wǎng)上一些帖子的總結(jié)鞭呕,總體來說做起來還是比較簡單的...
    Yaso閱讀 8,837評論 3 27
  • 在應(yīng)用開發(fā)過程中蛤育,我們希望知道設(shè)備是否越獄,正以什么權(quán)限運(yùn)行程序葫松,好對應(yīng)采取一些防御和安全提示措施瓦糕。 iOS7相比...
    圈少閱讀 317評論 0 0
  • “李哥,西瓜一般啥時(shí)候上市啊” “七八月吧” “那現(xiàn)在豈不是最便宜的時(shí)候” “不可能腋么,今年春天旱咕娄,夏天又澇,便宜不...
    講我的小城故事閱讀 228評論 0 0