欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

混淆由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問的制作方法

文檔序號:9476255閱讀:500來源:國知局
混淆由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及混淆(obfuscate)由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問。
【背景技術(shù)】
[0002]軟件應(yīng)用(或程序)可以例如本地執(zhí)行(在客戶端設(shè)備上)或經(jīng)由web瀏覽器通過網(wǎng)絡(luò)來執(zhí)行。瀏覽器應(yīng)用還可以以離線模式(在本地)運行在瀏覽器中,表現(xiàn)得像本地運行的原生應(yīng)用一樣。
[0003]當軟件應(yīng)用由處理器執(zhí)行時,其中履行執(zhí)行的環(huán)境是所謂的“白盒”環(huán)境,如果用戶(或第三方)能夠訪問處理使得用戶可以觀察并且變更軟件應(yīng)用的執(zhí)行的話(例如通過運行合適的調(diào)試器)一一這樣的變更可以是對過程流的改變或?qū)φ幚淼臄?shù)據(jù)的改變。軟件應(yīng)用的執(zhí)行的該觀察和/或變更可以稱作篡改。用戶可以觀察或變更(或換言之篡改)軟件應(yīng)用的執(zhí)行以便滿足他們自己的目的或目標,所述目的或目標在如果軟件應(yīng)用將正常運行而沒有被篡改的情況下可能是不可能得以滿足的。這樣篡改以實現(xiàn)特定的目的或目標可以稱作目標導(dǎo)向的篡改。目標導(dǎo)向的篡改可以涉及例如觀察和/或變更在白盒環(huán)境中運行的軟件應(yīng)用的執(zhí)行以便獲得或推斷由軟件應(yīng)用用于處理數(shù)字數(shù)據(jù)的密碼學(xué)密鑰(例如用于解密數(shù)據(jù)的解密密鑰)。
[0004]已知各種技術(shù)用于保護在白盒環(huán)境中運行的數(shù)據(jù)處理軟件應(yīng)用(或程序或系統(tǒng))的完整性。可以在 Stanley Chow, Philip Eisen, Harold Johnson,和 Paul C.VanOorschot 的 “White-Box Cryptography and an AES Implementat1n”(在密碼學(xué)方面的所選領(lǐng)域中:第九屆年度國際研討會,SAC 2002,加拿大紐芬蘭圣約翰,2002年8月15-16)中找到一種示例性的技術(shù),所述文獻的全部公開內(nèi)容通過引用被并入本文中。這樣的技術(shù)一般目的在于通過在軟件應(yīng)用的控制和/或數(shù)據(jù)路徑中引入附加的復(fù)雜性和/或隨機性而隱藏應(yīng)用的嵌入式知識。該附加的復(fù)雜性和/或隨機性具有使軟件應(yīng)用的信息(或數(shù)據(jù))或執(zhí)行路徑模糊或混淆的效應(yīng)。作為該混淆的結(jié)果,變得更難以通過代碼檢查而從應(yīng)用中提取信息并且更難以找到和/或修改與軟件應(yīng)用的特定功能性相關(guān)聯(lián)的代碼。因此,對于攻擊者而言進行以下是困難得多的:能夠訪問在白盒環(huán)境中運行的軟件應(yīng)用以檢索敏感數(shù)據(jù)或變更軟件應(yīng)用的操作以便通過篡改軟件應(yīng)用的執(zhí)行而滿足其自己的目標。因而,降低了攻擊者實施目標導(dǎo)向的篡改的能力。目的在于降低攻擊者實施目標導(dǎo)向的篡改的能力的這些技術(shù)可以被認為改進軟件的抗篡改性。如果對于攻擊者而言實施目標導(dǎo)向的篡改是充分困難的,那么對于任何實際的目的,軟件應(yīng)用可以被認為是抗篡改的,即使在理論上篡改仍是可能的。
[0005]當軟件應(yīng)用由處理器執(zhí)行時,軟件應(yīng)用一般要求對數(shù)據(jù)存儲裝置或數(shù)據(jù)庫或存儲器的訪問。在數(shù)據(jù)存儲裝置中存儲的數(shù)據(jù)可以被加密或變換以便提供用于潛在攻擊者的另外的屏障。這樣的數(shù)據(jù)存儲裝置可以被視為“受保護的”數(shù)據(jù)存儲裝置。
[0006]以上描述的現(xiàn)有技術(shù)在圖1中被示意性地圖示。特別地,圖1示出包括“受保護的”(或抗篡改的)部分12的軟件應(yīng)用10、以及“受保護的”數(shù)據(jù)存儲裝置14。然而,在應(yīng)用10的受保護的部分12以及受保護的數(shù)據(jù)存儲裝置14之間的任何交互16對于攻擊者而言仍然可見。換言之,由軟件應(yīng)用10對數(shù)據(jù)存儲裝置14的訪問16對于攻擊者而言是可見的。
[0007]本發(fā)明設(shè)法混淆由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問。

【發(fā)明內(nèi)容】

[0008]如以上參照圖1所提及的,在應(yīng)用10的受保護的部分12以及受保護的數(shù)據(jù)存儲裝置14之間的任何交互對于攻擊者而言是可見的。數(shù)據(jù)存儲裝置訪問的簡單追蹤(例如,在定時、位置、模式、大小和頻率方面)可以為潛在攻擊者提供關(guān)于應(yīng)用10為什么、如何或何時在使用該數(shù)據(jù)的足夠信息,從而給予攻擊者在對它進行分析中的起始點。示例是使用表單來選擇偏好或輸入數(shù)據(jù)一一攻擊者可以將這些動作與數(shù)據(jù)存儲裝置訪問相互關(guān)聯(lián),理解到該類信息在本地存儲。一旦攻擊者開始以此方式分析軟件應(yīng)用10的執(zhí)行,應(yīng)用10就可能最終被侵入(hack)。本發(fā)明目的在于使得在應(yīng)用10和數(shù)據(jù)存儲裝置14之間存在可見/可追蹤的對接16的情況下對于攻擊者而言難以分析數(shù)據(jù)存儲裝置訪問。
[0009]根據(jù)本發(fā)明的第一方面,提供了一種混淆由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問的方法。所述方法包括通過使用訪問操作而訪問數(shù)據(jù)存儲裝置。訪問操作包括真實的訪問操作和虛設(shè)(du_y)的訪問操作。每個真實的訪問操作可操作以作為軟件應(yīng)用的執(zhí)行的部分而訪問數(shù)據(jù)存儲裝置。
[0010]在一些實施例中,訪問操作被布置以在軟件應(yīng)用的至少一部分的執(zhí)行期間周期性地訪問數(shù)據(jù)存儲裝置。
[0011]在一些實施例中,對于真實的訪問操作中的至少一個,在所述至少一個真實的訪問操作的時間附近發(fā)生一個或多個虛設(shè)的訪問操作。
[0012]在一些實施例中,虛設(shè)的訪問操作被布置以與數(shù)據(jù)存儲裝置中的其它虛設(shè)存儲位置相比更頻繁地訪問數(shù)據(jù)存儲裝置中的至少一個指定的虛設(shè)存儲位置。
[0013]在一些實施例中,訪問操作被布置以至少跨數(shù)據(jù)存儲裝置中的存儲位置的子集而基本上均勻地訪問數(shù)據(jù)存儲裝置。
[0014]在一些實施例中,訪問操作包括讀取操作。每個讀取操作可操作以從數(shù)據(jù)存儲裝置的相應(yīng)存儲位置中讀取值。真實的訪問操作包括一個或多個真實的讀取操作并且虛設(shè)的訪問操作包括一個或多個虛設(shè)的讀取操作。
[0015]在一些實施例中,訪問操作包括寫入操作。每個寫入操作可操作以將值寫入到數(shù)據(jù)存儲裝置的相應(yīng)存儲位置。真實的訪問操作包括一個或多個真實的寫入操作并且虛設(shè)的訪問操作包括一個或多個虛設(shè)的寫入操作。
[0016]在一些實施例中,訪問操作包括讀取/寫入對。每個讀取/寫入對可操作以從數(shù)據(jù)存儲裝置的相應(yīng)存儲位置讀取值并且隨后將值寫入到所述相應(yīng)的存儲位置。真實的訪問操作包括一個或多個真實的讀取/寫入對并且虛設(shè)的訪問操作包括一個或多個虛設(shè)的讀取/寫入對。
[0017]真實的讀取/寫入對中的至少一個可以包括軟件應(yīng)用的真實寫入操作,其可操作以在軟件應(yīng)用的執(zhí)行期間將指定的值寫入到數(shù)據(jù)存儲裝置的指定的存儲位置。在該情況下,真實讀取/寫入對中的所述至少一個可操作以從指定的存儲位置讀取值并且隨后將指定的值寫入到指定的存儲位置。
[0018]真實的讀取/寫入對中的至少一個可以包括軟件應(yīng)用的真實的讀取操作,其可操作以在軟件應(yīng)用的執(zhí)行期間從數(shù)據(jù)存儲裝置的指定存儲位置讀取經(jīng)編碼的值X。在該情況下,真實的讀取/寫入對中的所述至少一個可操作以從指定的存儲位置讀取經(jīng)編碼的值X并且隨后將經(jīng)修改的編碼值X’寫入到指定的存儲位置。X’被選擇使得X’的經(jīng)解碼的版本與X的經(jīng)解碼的版本相同??蛇x地,可以通過使用誤差校正碼ECC來對X和X’進行解碼,其中 ECC(X) =ECC (X,) O
[0019]在一個實施例中,所述方法此外包括通過在軟件應(yīng)用的真實訪問操作當中分布虛設(shè)的訪問操作來執(zhí)行虛設(shè)的訪問操作。
[0020]在一個實施例中,訪問操作包括在真實的訪問操作當中的虛設(shè)訪問操作的時變分布。
[0021]在一個實施例中,提供了一種混淆由軟件應(yīng)用對客戶端設(shè)備上的本地存儲裝置的訪問的方法。所述方法包括以下步驟:(a)生成虛設(shè)的本地存儲裝置訪問操作,每個虛設(shè)的本地存儲裝置訪問操作可操作以訪問本地存儲裝置;(b)生成本地存儲裝置訪問操作的調(diào)度,所述調(diào)度包括軟件應(yīng)用的所生成的虛設(shè)的本地存儲裝置訪問操作以及真實的本地存儲裝置訪問操作,每個真實的本地存儲裝置訪問操作可操作以作為軟件應(yīng)用的執(zhí)行的部分來訪問本地存儲裝置;以及(C)根據(jù)所生成的調(diào)度而訪問本地存儲裝置。有利地,調(diào)度包括在真實的本地存儲裝置訪問操作當中分布的虛設(shè)的本地存儲裝置訪問操作。
[0022]根據(jù)本發(fā)明的第二方面,提供了一種計算機程序,所述計算機程序在被處理器執(zhí)行時使得處理器實施根據(jù)第一方面的方法。
[0023]根據(jù)本發(fā)明的第三方面,提供了一種計算機可讀介質(zhì),其存儲了根據(jù)第二方面的計算機程序。
[0024]根據(jù)本發(fā)明的第四方面,提供了一種系統(tǒng),其被配置成實施根據(jù)第一方面的方法。
[0025]在隨附的權(quán)利要求中闡明本發(fā)明的其它優(yōu)選的特征。
【附圖說明】
[0026]現(xiàn)在將通過示例、參照附圖來描述本發(fā)明的實施例,在所述附圖中:
圖1是根據(jù)現(xiàn)有技術(shù)的由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問的示意性圖示;
圖2是根據(jù)本發(fā)明的一個實施例的由軟件應(yīng)用對數(shù)據(jù)存儲裝置的訪問的示意性圖示;圖
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
广丰县| 庐江县| 无极县| 桦川县| 三原县| 万宁市| 收藏| 甘孜| 深州市| 东辽县| 黄平县| 贡觉县| 清涧县| 德钦县| 崇明县| 精河县| 朔州市| 花莲市| 临江市| 彭州市| 乃东县| 宜兴市| 阜阳市| 当雄县| 阳曲县| 宿迁市| 罗平县| 棋牌| 黔西县| 江西省| 红原县| 蒲江县| 巩留县| 杭锦旗| 阳信县| 巴林左旗| 东阳市| 新余市| 亳州市| 沁水县| 土默特左旗|