精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:安全企業(yè)動(dòng)態(tài) → 正文

現(xiàn)代iOS應(yīng)用安全

責(zé)任編輯:editor004 作者:Sergio De Simone |來(lái)源:企業(yè)網(wǎng)D1Net  2016-08-09 13:50:22 本文摘自:INFOQ

僅使用HTTPS:這通過(guò)總是在URL指定https來(lái)實(shí)現(xiàn)。在這種情況下,NSURLConnection和NSURLSession會(huì)使用App Transport Security(ATS),這可以保證你恰當(dāng)?shù)厥褂昧薚LS 1.2、證書驗(yàn)證等。此外,Guido建議使用TrustKit,該框架讓你可以輕松地部署綁定到任意iOS或OS X應(yīng)用的SSL公共密鑰,監(jiān)控綁定驗(yàn)證失敗。

使用加密:應(yīng)該使用DPAPI和Keychain加密所有的文件、密碼和令牌。Guido用一些時(shí)間介紹了DPAPI提供的選項(xiàng):

加密文件:NSFileProtectionComplete、NSFileProtectionCompleteUnlessOpen、NSFileProtectionCompleteUntilFirstAuth; 將NSData寫到磁盤:NSDataWritingProtectionComplete、NSDataWritingProtectionCompleteUnlessOpen、NSDataWritingProtectionCompleteUntilFirstAuth。

Stack Overflow上有個(gè)帖子提供了有關(guān)它們的一些值得注意的細(xì)節(jié)。

清理:這是避免留下敏感數(shù)據(jù)的基本步驟。雖然幾乎所有存儲(chǔ)在磁盤上的文件都是加密的,但是Guido警告說(shuō)要提防若干不容易察覺的危險(xiǎn)。特別地,iTunes備份的存儲(chǔ)是不加密的,因此,通過(guò)攻擊桌面操作系統(tǒng)而不是iOS竊取敏感數(shù)據(jù)就成為一種可能。Guido提到,你可以禁止使用NSURLIsExcludedFromBackupKey密鑰向iCloud或iTunes同步。此外,在UIPasteboard、URL或者鍵盤緩存、iOS自動(dòng)獲取的應(yīng)用后臺(tái)快照、cookies、NSLog記錄等地方,應(yīng)用通常會(huì)留下一定量未加密的潛在敏感數(shù)據(jù)。所有這些風(fēng)險(xiǎn)都可以通過(guò)遵循恰當(dāng)?shù)牟呗詠?lái)避免,例如,重寫applicationDidEnterBackground,將hidden設(shè)為YES;使用secureTextEntry,禁用自動(dòng)更正,從而規(guī)避鍵盤緩存,等等。

Guido總結(jié)道,做完這些基本工作后,就可以考慮消除其他層面的風(fēng)險(xiǎn),比如自定義URL處理器、UIWebView中的XSS、XML解析、SQL注入,等等。

不過(guò),當(dāng)應(yīng)用運(yùn)行在已經(jīng)越獄的手機(jī)上時(shí),所有那些配置就都不是很有效了。越獄是禁用了基本安全機(jī)制的漏洞利用程序。它們可以被用來(lái)攻擊手機(jī),并取得手機(jī)的控制權(quán),但有趣的是,用戶因?yàn)榉N種原因自愿越獄,比如訪問(wèn)第三方應(yīng)用商店,替換默認(rèn)應(yīng)用,自定義操作系統(tǒng)外觀,解鎖設(shè)備。按照Guido的說(shuō)法,多達(dá)700萬(wàn)iPhone用戶已經(jīng)越獄了他們的手機(jī),也就是說(shuō),運(yùn)行在這些手機(jī)上的惡意應(yīng)用可以繞過(guò)所有的設(shè)備安全機(jī)制,比如Keyraider就竊取了225000臺(tái)設(shè)備的Apple ID證件用于應(yīng)用內(nèi)購(gòu)買。

對(duì)于運(yùn)行在已經(jīng)越獄的手機(jī)上的應(yīng)用,有幾種方法可以提升它的安全性。

當(dāng)運(yùn)行在已經(jīng)越獄的設(shè)備上時(shí),檢測(cè)成功越獄后留下的系統(tǒng)工件。通常,這可以歸結(jié)為實(shí)現(xiàn)若干檢查,比如是否存在ssh、Cydia.app文件、fork()系統(tǒng)調(diào)用,等等。 拒絕調(diào)試或鉤掛應(yīng)用程序的嘗試,防止繞過(guò)越獄檢查的攻擊者使用調(diào)試器或者特定的工具,如tsProtector或xCon。通常,這可以通過(guò)在運(yùn)行時(shí)使用sysctl找出誰(shuí)是應(yīng)用的屬主來(lái)實(shí)現(xiàn):如果它不是launchd或內(nèi)核,就可以退出或更改執(zhí)行。 增加理解由IDA Pro、Hopper或Binary Ninja生成的拆解應(yīng)用代碼的難度。其實(shí)現(xiàn)可以借助一些迷惑技術(shù)將不使用的代碼增加100倍,加密符號(hào),使用謂詞,等等。

最后一點(diǎn),Guido強(qiáng)調(diào)了全面實(shí)施上述所有配置的重要性,借助一個(gè)LLVM的修改版本在編譯時(shí)修改代碼,不依賴個(gè)體程序員在必要的地方增加檢查。

關(guān)鍵字:iOSGuido越獄

本文摘自:INFOQ

x 現(xiàn)代iOS應(yīng)用安全 掃一掃
分享本文到朋友圈
當(dāng)前位置:安全企業(yè)動(dòng)態(tài) → 正文

現(xiàn)代iOS應(yīng)用安全

責(zé)任編輯:editor004 作者:Sergio De Simone |來(lái)源:企業(yè)網(wǎng)D1Net  2016-08-09 13:50:22 本文摘自:INFOQ

僅使用HTTPS:這通過(guò)總是在URL指定https來(lái)實(shí)現(xiàn)。在這種情況下,NSURLConnection和NSURLSession會(huì)使用App Transport Security(ATS),這可以保證你恰當(dāng)?shù)厥褂昧薚LS 1.2、證書驗(yàn)證等。此外,Guido建議使用TrustKit,該框架讓你可以輕松地部署綁定到任意iOS或OS X應(yīng)用的SSL公共密鑰,監(jiān)控綁定驗(yàn)證失敗。

使用加密:應(yīng)該使用DPAPI和Keychain加密所有的文件、密碼和令牌。Guido用一些時(shí)間介紹了DPAPI提供的選項(xiàng):

加密文件:NSFileProtectionComplete、NSFileProtectionCompleteUnlessOpen、NSFileProtectionCompleteUntilFirstAuth; 將NSData寫到磁盤:NSDataWritingProtectionComplete、NSDataWritingProtectionCompleteUnlessOpen、NSDataWritingProtectionCompleteUntilFirstAuth。

Stack Overflow上有個(gè)帖子提供了有關(guān)它們的一些值得注意的細(xì)節(jié)。

清理:這是避免留下敏感數(shù)據(jù)的基本步驟。雖然幾乎所有存儲(chǔ)在磁盤上的文件都是加密的,但是Guido警告說(shuō)要提防若干不容易察覺的危險(xiǎn)。特別地,iTunes備份的存儲(chǔ)是不加密的,因此,通過(guò)攻擊桌面操作系統(tǒng)而不是iOS竊取敏感數(shù)據(jù)就成為一種可能。Guido提到,你可以禁止使用NSURLIsExcludedFromBackupKey密鑰向iCloud或iTunes同步。此外,在UIPasteboard、URL或者鍵盤緩存、iOS自動(dòng)獲取的應(yīng)用后臺(tái)快照、cookies、NSLog記錄等地方,應(yīng)用通常會(huì)留下一定量未加密的潛在敏感數(shù)據(jù)。所有這些風(fēng)險(xiǎn)都可以通過(guò)遵循恰當(dāng)?shù)牟呗詠?lái)避免,例如,重寫applicationDidEnterBackground,將hidden設(shè)為YES;使用secureTextEntry,禁用自動(dòng)更正,從而規(guī)避鍵盤緩存,等等。

Guido總結(jié)道,做完這些基本工作后,就可以考慮消除其他層面的風(fēng)險(xiǎn),比如自定義URL處理器、UIWebView中的XSS、XML解析、SQL注入,等等。

不過(guò),當(dāng)應(yīng)用運(yùn)行在已經(jīng)越獄的手機(jī)上時(shí),所有那些配置就都不是很有效了。越獄是禁用了基本安全機(jī)制的漏洞利用程序。它們可以被用來(lái)攻擊手機(jī),并取得手機(jī)的控制權(quán),但有趣的是,用戶因?yàn)榉N種原因自愿越獄,比如訪問(wèn)第三方應(yīng)用商店,替換默認(rèn)應(yīng)用,自定義操作系統(tǒng)外觀,解鎖設(shè)備。按照Guido的說(shuō)法,多達(dá)700萬(wàn)iPhone用戶已經(jīng)越獄了他們的手機(jī),也就是說(shuō),運(yùn)行在這些手機(jī)上的惡意應(yīng)用可以繞過(guò)所有的設(shè)備安全機(jī)制,比如Keyraider就竊取了225000臺(tái)設(shè)備的Apple ID證件用于應(yīng)用內(nèi)購(gòu)買。

對(duì)于運(yùn)行在已經(jīng)越獄的手機(jī)上的應(yīng)用,有幾種方法可以提升它的安全性。

當(dāng)運(yùn)行在已經(jīng)越獄的設(shè)備上時(shí),檢測(cè)成功越獄后留下的系統(tǒng)工件。通常,這可以歸結(jié)為實(shí)現(xiàn)若干檢查,比如是否存在ssh、Cydia.app文件、fork()系統(tǒng)調(diào)用,等等。 拒絕調(diào)試或鉤掛應(yīng)用程序的嘗試,防止繞過(guò)越獄檢查的攻擊者使用調(diào)試器或者特定的工具,如tsProtector或xCon。通常,這可以通過(guò)在運(yùn)行時(shí)使用sysctl找出誰(shuí)是應(yīng)用的屬主來(lái)實(shí)現(xiàn):如果它不是launchd或內(nèi)核,就可以退出或更改執(zhí)行。 增加理解由IDA Pro、Hopper或Binary Ninja生成的拆解應(yīng)用代碼的難度。其實(shí)現(xiàn)可以借助一些迷惑技術(shù)將不使用的代碼增加100倍,加密符號(hào),使用謂詞,等等。

最后一點(diǎn),Guido強(qiáng)調(diào)了全面實(shí)施上述所有配置的重要性,借助一個(gè)LLVM的修改版本在編譯時(shí)修改代碼,不依賴個(gè)體程序員在必要的地方增加檢查。

關(guān)鍵字:iOSGuido越獄

本文摘自:INFOQ

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 和平区| 霍城县| 广饶县| 阳高县| 广河县| 肥东县| 鄯善县| 崇信县| 三亚市| 朝阳市| 铜鼓县| 体育| 红河县| 永春县| 武威市| 凌源市| 金溪县| 贞丰县| 子洲县| 濉溪县| 古蔺县| 宣武区| 茌平县| 萝北县| 沙田区| 上林县| 广水市| 江源县| 共和县| 鹤峰县| 福建省| 中阳县| 特克斯县| 永福县| 陈巴尔虎旗| 汉寿县| 射洪县| 红河县| 永登县| 花莲市| 什邡市|