[發(fā)明專利]IOS中保護(hù)鑰匙串?dāng)?shù)據(jù)的方法、存儲介質(zhì)、設(shè)備及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710932706.5 | 申請日: | 2017-10-10 |
| 公開(公告)號: | CN109657458B | 公開(公告)日: | 2021-01-01 |
| 發(fā)明(設(shè)計(jì))人: | 周志剛;張文明;陳少杰 | 申請(專利權(quán))人: | 武漢斗魚網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55 |
| 代理公司: | 武漢智權(quán)專利代理事務(wù)所(特殊普通合伙) 42225 | 代理人: | 張雯俐 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | ios 保護(hù) 鑰匙 數(shù)據(jù) 方法 存儲 介質(zhì) 設(shè)備 系統(tǒng) | ||
本發(fā)明公開了一種IOS中保護(hù)鑰匙串?dāng)?shù)據(jù)的方法、存儲介質(zhì)、設(shè)備及系統(tǒng),涉及IOS的數(shù)據(jù)保護(hù)技術(shù)領(lǐng)域。該方法包括:在當(dāng)前IOS系統(tǒng)中創(chuàng)設(shè)HOOK功能;獲取用于讀取鑰匙串?dāng)?shù)據(jù)的讀取函數(shù);獲取用于獲取當(dāng)前函數(shù)調(diào)用堆棧信息的堆棧信息函數(shù);使用創(chuàng)設(shè)的HOOK功能,對獲取的讀取函數(shù)進(jìn)行HOOK,使得該讀取函數(shù)的實(shí)現(xiàn)方法被替換為加入有堆棧信息函數(shù)的自定義實(shí)現(xiàn)方法;每當(dāng)讀取函數(shù)的實(shí)現(xiàn)方法被調(diào)用時(shí),會被攔截并執(zhí)行自定義實(shí)現(xiàn)方法,從而獲取到當(dāng)前調(diào)用讀取函數(shù)的調(diào)用堆棧信息;將獲取到的調(diào)用堆棧信息上報(bào)至服務(wù)器進(jìn)行合法性校驗(yàn)。本發(fā)明能有效防止黑客程序讀取鑰匙串中的絕密數(shù)據(jù),保護(hù)了鑰匙串?dāng)?shù)據(jù)的安全性。
技術(shù)領(lǐng)域
本發(fā)明涉及IOS的數(shù)據(jù)保護(hù)技術(shù)領(lǐng)域,具體來講是一種IOS中保護(hù)鑰匙串?dāng)?shù)據(jù)的方法、存儲介質(zhì)、設(shè)備及系統(tǒng)。
背景技術(shù)
目前,隨著移動設(shè)備的日益普及,移動應(yīng)用產(chǎn)業(yè)尤其是IOS應(yīng)用得到飛速的發(fā)展,同時(shí)其開發(fā)模式和代碼框架也都發(fā)生了巨大的變化。對于IOS平臺來說,其程序又分為主程序和模塊文件,而模塊文件則是dylib文件(dylib文件是IOS平臺上的動態(tài)鏈接庫文件,類似于Windows平臺上的DLL文件,類似于Android平臺的SO文件)。
通常,對于需要編寫一些功能模塊注入到對應(yīng)的進(jìn)程中時(shí),都是編寫一個(gè)dylib文件,然后將該dylib文件注入到對應(yīng)的進(jìn)程中運(yùn)行。而對于一些想要獲取另一個(gè)IOS應(yīng)用的數(shù)據(jù)時(shí)也都是編寫一個(gè)dylib文件。同時(shí),IOS也希望能夠免輸入密碼賬號進(jìn)行登錄的功能,由于IOS系統(tǒng)存儲的數(shù)據(jù)都是在sandbox里面,一旦刪除APP,則sandbox也不存在了,為此蘋果對開發(fā)者提供了一個(gè)keychain(鑰匙串),其用于提供存儲一些私密數(shù)據(jù)如密碼、證書等方便用戶免輸入密碼賬號等進(jìn)行登錄。所以,IOS系統(tǒng)的應(yīng)用開發(fā)者通常會使用鑰匙串來存儲關(guān)鍵數(shù)據(jù)。但是,一旦黑客通過注入dylib文件可以讀取到鑰匙串中保存的關(guān)鍵數(shù)據(jù),這就會給用戶造成嚴(yán)重的損失,安全風(fēng)險(xiǎn)較大。
因此,如何有效防止黑客程序讀取IOS的鑰匙串中的絕密數(shù)據(jù),保護(hù)鑰匙串?dāng)?shù)據(jù)的安全性是本領(lǐng)域技術(shù)人員亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服上述背景技術(shù)的不足,提供一種IOS中保護(hù)鑰匙串?dāng)?shù)據(jù)的方法、存儲介質(zhì)、設(shè)備及系統(tǒng),通過對鑰匙串?dāng)?shù)據(jù)的訪問者進(jìn)行校驗(yàn),有效防止黑客程序讀取鑰匙串中的絕密數(shù)據(jù),保護(hù)了鑰匙串?dāng)?shù)據(jù)的安全性。
為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:提供一種IOS中保護(hù)鑰匙串?dāng)?shù)據(jù)的方法,該方法包括以下步驟:
S1、在當(dāng)前IOS系統(tǒng)中創(chuàng)設(shè)HOOK功能,該HOOK功能用于實(shí)現(xiàn):在原函數(shù)內(nèi)加入新方法,并通過方法的綁定使得原函數(shù)被調(diào)用時(shí)會被攔截并執(zhí)行加入的新方法;
S2、獲取當(dāng)前IOS系統(tǒng)中已有的用于讀取鑰匙串?dāng)?shù)據(jù)的讀取函數(shù);
S3、獲取當(dāng)前IOS系統(tǒng)中已有的用于獲取當(dāng)前函數(shù)調(diào)用堆棧信息的堆棧信息函數(shù);
S4、使用創(chuàng)設(shè)的HOOK功能,對獲取的讀取函數(shù)進(jìn)行HOOK,使得該讀取函數(shù)的實(shí)現(xiàn)方法被替換為加入有堆棧信息函數(shù)的自定義實(shí)現(xiàn)方法;
S5、每當(dāng)讀取函數(shù)的實(shí)現(xiàn)方法被調(diào)用時(shí),會被攔截并執(zhí)行加入有堆棧信息函數(shù)的自定義實(shí)現(xiàn)方法,從而獲取到當(dāng)前調(diào)用讀取函數(shù)的調(diào)用堆棧信息;
S6、將獲取到的調(diào)用堆棧信息上報(bào)至服務(wù)器進(jìn)行合法性校驗(yàn)。
在上述技術(shù)方案的基礎(chǔ)上,步驟S1具體包括以下操作:在當(dāng)前IOS系統(tǒng)中創(chuàng)建HOOK功能,并對該HOOK功能的實(shí)現(xiàn)進(jìn)行設(shè)置,使其完成以下操作:通過傳入?yún)?shù)和方法名獲取原函數(shù)的類方法;根據(jù)獲取的類方法的方法名,獲取到該類方法所對應(yīng)的IMP指針;在原函數(shù)中添加需要加入的新方法;通過替換原函數(shù)的類方法所對應(yīng)的IMP指針,將新方法與原函數(shù)進(jìn)行綁定,使得原函數(shù)被調(diào)用時(shí)會被攔截并執(zhí)行該新方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢斗魚網(wǎng)絡(luò)科技有限公司,未經(jīng)武漢斗魚網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710932706.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 基于IOS終端的離線WIFI熱點(diǎn)認(rèn)證方法和認(rèn)證系統(tǒng)
- 一種綁定iOS設(shè)備的方法、iOS設(shè)備及輔助設(shè)備
- 自動讀取設(shè)備參數(shù)的方法和Android工控系統(tǒng)
- 一種由Unity到iOS的封裝方法及裝置
- 在iOS客戶端后臺持續(xù)運(yùn)行APP的方法及系統(tǒng)
- 一種確定IOS設(shè)備的標(biāo)識的方法及裝置
- ios應(yīng)用程序自動安裝方法及通信裝置
- 遠(yuǎn)程連接iOS設(shè)備的方法、裝置、和設(shè)備
- 一種iOS組件的管理方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種基于多進(jìn)程的iOS兼容性自動化測試方法與裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





