【技術實現步驟摘要】
本專利技術涉及數據安全
,尤其涉及一種數據保護方法和裝置。
技術介紹
2014年4月,被廣泛運用于互聯網上公鑰認證和數據加密的開放式安全套接層協議(OpenSecureSocketsLayer,OpenSSL)被發現了一個非常嚴重的安全漏洞,被稱為“心臟出血”(heartbleed)。該漏洞被標識為CVE-2014-0160,產生該漏洞的原因在于其支持的傳輸層安全(TransportLayerSecurity,TLS)協議中心跳(heartbeat)擴展的處理過程沒有進行邊界檢測,使得攻擊者能夠從客戶端與服務器端連接的內存泄露中任意讀取多達64KB的數據。也就是說,無需任何特權信息或身份驗證,攻擊者就可能從服務器中讀取包括X.509證書的私鑰,用戶名與密碼等在內的關鍵數據。其中對于服務器私鑰的泄露,并非單純地為服務器相關代碼打上安全補丁就能防止其產生的危害,它在未來還有可能讓個人和企業陷入危機,需要進行電子商務認證授權機構(CertificateAuthority,CA)證書重新發放、服務商應用進行補丁、用戶瀏覽器升級、密碼修改等一系列措施才能降低可能造成的損失。“心臟出血”漏洞之所以引起如此軒然大波,一個很重要的原因在于OpenSSL是互聯網中數據安全傳輸的基石,而在這之中包括的證書的私鑰,用戶名與密碼等又是這個基石中的關鍵數據。由此得出結論,云計算平臺中一些關鍵應用程序中的關鍵數據的泄露,不僅會威脅到云計算平臺本身的安全,甚至也有可能讓個人計算機(PersonalComputer,PC)、手機及其它設備陷入危機,從而造成難以彌補的巨大經濟損失。 ...
【技術保護點】
一種數據保護方法,其特征在于,包括:監測應用程序中用于訪問關鍵數據的關鍵代碼是否被調用;當監測到操作系統通過預先配置的第一擴展頁表EPT調用所述關鍵代碼時,根據預先設置的與所述關鍵代碼對應的跳板代碼,從所述第一EPT切換到預先配置的第二EPT;其中,所述第一EPT中未配置所述關鍵數據和所述關鍵代碼的內存映射關系,所述第二EPT中配置所述關鍵數據和所述關鍵代碼的內存映射關系;且所述關鍵數據和所述關鍵代碼分別存儲在獨立內存區域中;通過所述第二EPT調用并執行所述關鍵代碼后,根據所述跳板代碼,從所述第二EPT切換回所述第一EPT。
【技術特征摘要】
1.一種數據保護方法,其特征在于,包括:監測應用程序中用于訪問關鍵數據的關鍵代碼是否被調用;當監測到操作系統通過預先配置的第一擴展頁表EPT調用所述關鍵代碼時,根據預先設置的與所述關鍵代碼對應的跳板代碼,從所述第一EPT切換到預先配置的第二EPT;其中,所述第一EPT中未配置所述關鍵數據和所述關鍵代碼的內存映射關系,所述第二EPT中配置所述關鍵數據和所述關鍵代碼的內存映射關系;且所述關鍵數據和所述關鍵代碼分別存儲在獨立內存區域中;通過所述第二EPT調用并執行所述關鍵代碼后,根據所述跳板代碼,從所述第二EPT切換回所述第一EPT。2.如權利要求1所述的方法,其特征在于,所述監測應用程序中用于訪問關鍵數據的關鍵代碼是否被調用之前,所述方法還包括:獲取原EPT,所述原EPT中配置有所述應用程序中所有數據的內存映射關系和所有代碼的內存映射關系;確定所述關鍵數據和用于訪問所述關鍵數據的關鍵代碼;根據所述關鍵數據所在的內存區域和所述關鍵代碼所在的內存區域,將所述原EPT中所述關鍵數據和所述關鍵代碼的內存映射關系刪除,并將所述跳板代碼的內存映射關系添加到所述原EPT,以獲得所述第一EPT。3.如權利要求2所述的方法,其特征在于,所述確定所述關鍵數據和用于訪問所述關鍵數據的關鍵代碼之后,所述方法還包括:對所述關鍵數據所在的內存區域和所述關鍵代碼所在的內存區域進行調整,以使得所述關鍵數據和所述關鍵代碼分別存儲在獨立內存區域中;根據調整后的關鍵數據和關鍵代碼所在的內存區域,對所述原EPT中所述關鍵數據和所述關鍵代碼的內存映射關系進行對應調整,將原EPT中的非關鍵代碼的內存映射關系刪除,并將所述跳板代碼的內存映射關系添加到所述原EPT,以獲得所述第二EPT。4.如權利要求2或3所述的方法,其特征在于,確定用于訪問所述關鍵數據的關鍵代碼,具體包括:對所述應用程序中的源代碼進行動態分析,確定與所述關鍵數據相關的第一關鍵代碼集合;將所述第一關鍵代碼集合中的代碼確定為用于訪問所述關鍵數據的關鍵代碼。5.如權利要求4所述的方法,其特征在于,對應用程序中的源代碼進行動態分析,確定與所述關鍵數據相關的第一關鍵代碼集合,具體包括:對所述關鍵數據所在的內存區域進行調整,使所述關鍵數據存儲在獨立內存區域中;當任意一條指令對所述關鍵數據所在的內存區域進行訪問時,記錄該指令對應的關鍵代碼;根據記錄的關鍵代碼,確定第一關鍵代碼集合。6.如權利要求2至5任意一項所述的方法,其特征在于,所述方法還包括:當通過所述第一EPT調用所述應用程序中的非關鍵代碼導致所述應用程序運行異常時,判斷所述非關鍵代碼是否處于第二關鍵代碼集合中,其中,所述第二關鍵代碼集合是通過對應用程序中的源代碼進行靜態分析后,確定的與所述關鍵數據相關的代碼;若是,則對確定出的關鍵代碼進行更新,使所述非關鍵代碼更新為關鍵代碼;并利用確定出的關鍵數據和更新后的關鍵代碼,重新配置第一EPT和第二EPT。7.如權利要求1-6任意一項所述的方法,其特征在于,根據預先設置的與所述關鍵代碼對應的跳板代碼,從所述第一EPT切換到預先配置的第二EPT,具體包括:根據所述跳板代碼調用擴展頁表指針替換EPTPswitching,以使得所述第一EPT切換到所述第二EPT。8.如權利要求1-7任意一項所述的方法,其特征在于,根據所述跳板代碼,從所述第二EPT切換回所述第一EPT,具體包括:根據所述跳板函數調用EPTPswitching,以使得所述第二EPT切換回所述第一EPT。9.如權利要求1-8任意一項所述的方法,其特征在于,通過所述第二EPT調用并執行所述關鍵代碼,具體包括:通過所述第二EPT調用所述關鍵代碼,并對所述關鍵代碼進行形式化驗證;當對所述關鍵代碼進行形式化驗證通過后,執行所述關鍵代碼。10.一種數據保護的裝置,其特征在于,包括:監測單元,用于監測應用程序中用于訪問關鍵數據的關鍵代碼是否被調用;第一切換單元,用于當所述監測單元監測到操作系統通過預先配置的第一擴展頁表EPT調用所述關鍵代碼時,根據...
【專利技術屬性】
技術研發人員:劉宇濤,夏虞斌,陳海波,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。