2016-01-11 16:22:35 1339瀏覽
iOS逆向工程最突出的應(yīng)用領(lǐng)域就是與安全相關(guān)的。例如開發(fā)者通過iOS逆向工程作用于一個App,鑒別出這個軟件的安全等級;安全專家通過逆向iOS病毒,來找到殺毒的方法;安全公司通過逆向iOS系統(tǒng)電話、短信功能,來構(gòu)建一個手機防火墻……
coding學堂iOS開發(fā)培訓之逆向工程與安全:
1、評定安全等級
iOS中那些具有交易功能的App一般會先加密敏感數(shù)據(jù),然后將加密過的數(shù)據(jù)存儲在本地或通過互聯(lián)網(wǎng)傳輸。而如果安全意識不夠強,就完全有可能將重要的用戶信息(如銀行賬號和密碼)直接用明文保存或傳輸,安全隱患極大。假如一個有名望的公司考慮推出一款App,為了讓自己App的質(zhì)量能夠?qū)Φ闷鹩脩舻男湃?,該公司請一家安全公司幫忙評估這個App的安全性。這家安全公司自然是不會被授權(quán)使用這個App源代碼的,也就是說,正向分析其安全性不可行,所以他們只有通過逆向工程,來嘗試“攻擊”這個App,然后依據(jù)結(jié)果評定其安全等級。
補充說明:前面在介紹“維度攻擊”的概念時已經(jīng)提及,App雖然可以將低維的攻擊防守得如銅墻鐵壁一般,但是擋不住高維的逆向攻擊。不過不可以據(jù)此得出App不安全的結(jié)論,因為iOS逆向工程的使用均來自一個前提:iOS越獄。普通用戶可能不知道,在將iOS設(shè)備越獄之后,即將整個平臺都置于風險之中,此時也就更談不上App的絕對安全了。在這種環(huán)境下,我們使用這些逆向工程技術(shù)來分析評估目標App中可被攻擊點有多少,可攻擊點越少的自然就是越安全的。
2、逆向惡意軟件
iOS是智能移動終端操作系統(tǒng),它同計算機操作系統(tǒng)已沒有本質(zhì)區(qū)別。從第一代開始,它就已具備了上網(wǎng)功能,而互聯(lián)網(wǎng)正是惡意軟件傳播的最好媒介。2009年暴露的Ikee病毒是iOS上公開的第一款蠕蟲病毒,它會感染那些已經(jīng)越獄并且安裝了SSH,但是又沒有更改其默認root密碼“alpine”的iOS設(shè)備,并且將它們的鎖屏背景圖改成一個英國歌手的照片。對于惡意軟件的開發(fā)者來說,他們通過逆向工程定位系統(tǒng)和軟件漏洞,利用漏洞滲透進目標主機,獲取敏感數(shù)據(jù),甚至為所欲為。對于殺毒軟件的開發(fā)者來說,他們通過逆向工程剖析病毒樣本,觀察病毒行為,嘗試殺掉被感染主機上的病毒,并總結(jié)出可以防范病毒的方法。
3、檢查軟件后門
開源軟件的一大好處是其具有較好的安全性。成千上萬的程序員瀏覽并修改開源軟件的代碼,代碼中幾乎不可能存在任何后門,軟件的安全問題往往在大自于天下之前就能及時得iPhone上安裝360、金山、騰訊等各家手機安全助手,這些服務(wù)程序的權(quán)限極高,無一例外都擁有超強的能力,可以訪問用戶的通話記錄、短信記錄甚至更多,但我們不知道它們會不會收集不該收集的用戶信息,并把這些信息上傳到自己的服務(wù)器。這種“有或沒有”的結(jié)論一直是個爭議,我們得不到可信的官方數(shù)據(jù),那么就只能通過逆向工程來檢查該軟件是否存在類似的后門。補充說一句,這些手機安全助手的開發(fā)者們本身也是逆向工程的高手,善用矛的同時也善用盾,想要達到同臺PK的水平需要積累鍛煉足夠長的時間才行。
4、去除軟件使用限制
iOS開發(fā)者通過App Store或Cydia出售自己的App,作為他們最主要的經(jīng)濟來源之一。在軟件的世界里,收費與盜版永遠是同時存在的,而不少iOS開發(fā)者也在自己的App里加入了反盜版的功能。但這場矛與盾的戰(zhàn)爭永遠不會停止,再好的防御也會有被攻破的一天,防止盜版幾乎是一項不可能完成的任務(wù)。比如,Cydia上最知名的“共享”源xsellize能夠在幾乎所有收費軟件發(fā)布后的3天內(nèi)對其完成破解,讓他們的用戶免費享受到收費軟件的功能。
隨著iOS系統(tǒng)的不斷更新和突破,未來的軟件市場iOS主導地位愈加不可撼動。而與此共同走向輝煌的就是iOS開發(fā)者們??鄱W堂官網(wǎng)頂級講師錄制了iOS開發(fā)教程視頻講座免費提供給那些鐘愛于IT行業(yè)的人才,由淺入深的帶你入門iOS開發(fā)技術(shù)。
查看更多關(guān)于“iOS資訊”的相關(guān)文章>>