国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于防御網(wǎng)的Android應(yīng)用防篡改方法及系統(tǒng)的制作方法

      文檔序號(hào):9708664閱讀:591來(lái)源:國(guó)知局
      一種基于防御網(wǎng)的Android應(yīng)用防篡改方法及系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [000?]本發(fā)明屬于計(jì)算機(jī)安全技術(shù)領(lǐng)域,具體涉及一種針對(duì)Android平臺(tái)應(yīng)用軟件的防 篡改方法。
      【背景技術(shù)】
      [0002] 近年來(lái),隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)用戶(hù)的規(guī)模越來(lái)越大,接入的移動(dòng)終端 數(shù)目越來(lái)越多。功能日益豐富的移動(dòng)終端,尤其是Android,已經(jīng)代替PC成為人們工作、生活 中不可缺少的平臺(tái)。移動(dòng)終端上的應(yīng)用軟件,在移動(dòng)互聯(lián)網(wǎng)的發(fā)展和移動(dòng)終端的普及中扮 演著極其重要的角色,其涵蓋的領(lǐng)域不僅涉及社交、娛樂(lè),還涉及到辦公、通信、支付等。無(wú) 論是公司廠(chǎng)商,還是政府部門(mén),越來(lái)越多的單位參與到移動(dòng)終端軟件的研發(fā)、使用和管理 中。
      [0003] Android軟件的廣泛應(yīng)用在為社會(huì)帶來(lái)巨大利益的同時(shí),其帶來(lái)的安全問(wèn)題也日 益突出。Android軟件往往運(yùn)行于"白盒攻擊"環(huán)境中(參見(jiàn)參考文獻(xiàn)1),攻擊者利用軟件篡 改技術(shù)攻擊合法軟件,生成惡意軟件、破解版、盜版等非法軟件,嚴(yán)重影響開(kāi)發(fā)者的經(jīng)濟(jì)利 益和軟件產(chǎn)業(yè)的健康發(fā)展,甚至威脅到國(guó)家安全。因此,提高軟件安全性,增強(qiáng)軟件防篡改 能力成為工業(yè)界和學(xué)術(shù)界急需解決的問(wèn)題。
      [0004] 目前針對(duì)Android應(yīng)用軟件的防篡改保護(hù)技術(shù)尚不成熟,主要技術(shù)有:①代碼混淆 技術(shù),Proguard最早由Google研發(fā),并在官方開(kāi)發(fā)環(huán)境Android SDK中提供,開(kāi)發(fā)者利用 Proguard,可以對(duì)Java源碼進(jìn)行混淆,提高了分析難度,進(jìn)而提高了軟件自身防篡改的能 力。然而,Proguard只是將代碼中的變量名、函數(shù)名、類(lèi)名進(jìn)行混淆,只是延長(zhǎng)了攻擊者定位 到關(guān)鍵信息的周期,并不能阻止對(duì)關(guān)鍵信息的篡改。②加殼技術(shù),目前產(chǎn)業(yè)界安全提供商, 例如DexGuard和Bangcle(參見(jiàn)參考文獻(xiàn)3、4),針對(duì)Android軟件提供了以加殼為主的加固 服務(wù),提高了Android應(yīng)用逆向分析的難度。針對(duì)這些加殼保護(hù)技術(shù),Jia Zhijun開(kāi)發(fā)了脫 殼器Zjdroid(參見(jiàn)參考文獻(xiàn)5),能對(duì)主流的加殼方案進(jìn)行有效的攻擊。③篡改版本檢測(cè)技 術(shù),近年來(lái)學(xué)術(shù)界一些學(xué)者致力于研究如何提高篡改版本的檢測(cè)率。篡改版本檢測(cè)方案,主 要基于代碼相似性比較(參考文獻(xiàn)6、7、8)或者軟件組件的親合性(參見(jiàn)參考文獻(xiàn)9),識(shí)別應(yīng) 用是否是篡改后的版本。但是,目前Android的第三方市場(chǎng)多達(dá)幾十個(gè),更有專(zhuān)門(mén)發(fā)布篡改 版本的市場(chǎng),因此基于檢測(cè)的保護(hù)方案在實(shí)際應(yīng)用中效果并不好。
      [0005] 參考文獻(xiàn):
      [0006] [1]S Chow,P Eisen,H Johnson,P Van Oorschot.A white-box DES implementation for DRM applications[J]·Lecture notes in computer science, 2003,2696:1-15.
      [0007] [2]ProGuard.http://developer.android.com/tools/help/proguard.html.
      [0008] [3]DexGuard. http://www.guardsquare. com/software/dexguard-enterpri se.
      [0009] [4]Bangcle. http://www.bangcle. com/.
      [0010] [5]ZjDroid.http://seclab.safe.baidu.com/opensec_detail_2.html.
      [0011] [6]J Crussell.Attack of The Clones:Detecting Cloned Applications on Android Markets.ESORICS, Springer.2012.
      [0012] [7]S Hanna,L Huang.Juxtapp:A scalable system for detecting code reuse among android applications.9th International Conference,DIMVA 2012.
      [0013] [8]Zhou,ffu.Zhou,Yajin.Detecting repackaged smartphone applications in third-party android marketplaces.Proceedings of the second ACM conference on Data and Application Security and Privacy.2012.
      [0014] [9]Zhou,Wu·Zhou,Yaj in·Grace,Michael.Fast,scalable detection of piggybacked mobile applications.Proceedings of the third ACM conference on Data and Application Security and Privacy.2013.
      [0015] [10]Threat Model.https://msdn.microsoft.com/en-us/library/ aa302419.aspx.

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

      [0016] 針對(duì)上述現(xiàn)有Android應(yīng)用軟件保護(hù)技術(shù)存在的缺陷和不足,本發(fā)明的目的在于, 提供一種基于防御網(wǎng)的Android應(yīng)用防篡改方法,該方法利用計(jì)算機(jī)系統(tǒng),對(duì)Android系統(tǒng) 下應(yīng)用軟件的APK文件進(jìn)行保護(hù),其保護(hù)強(qiáng)度高、易于擴(kuò)展。
      [0017] 為了實(shí)現(xiàn)上述任務(wù),本發(fā)明采用以下技術(shù)方案:
      [0018] 一種基于防御網(wǎng)的Android應(yīng)用防篡改方法,包括以下步驟:
      [0019]步驟一,構(gòu)造防御節(jié)點(diǎn)模板庫(kù)
      [0020]防御節(jié)點(diǎn)為嵌入到被保護(hù)的Android應(yīng)用程序中的代碼段,用于監(jiān)測(cè)篡改威脅并 進(jìn)行響應(yīng);構(gòu)建防御節(jié)點(diǎn)模板庫(kù),模板庫(kù)中存放防御節(jié)點(diǎn)的實(shí)現(xiàn)代碼;
      [0021 ]步驟二,待保護(hù)的Android應(yīng)用程序的解析
      [0022]將待保護(hù)的Android應(yīng)用程序進(jìn)行解析,生成該應(yīng)用程序的函數(shù)調(diào)用圖,并對(duì)函數(shù) 調(diào)用圖中每一個(gè)節(jié)點(diǎn)進(jìn)行描述;
      [0023]步驟三,生成目標(biāo)節(jié)點(diǎn)集合
      [0024]在待保護(hù)的Android應(yīng)用程序中,選取感興趣的區(qū)域作為目標(biāo)節(jié)點(diǎn),并生成目標(biāo)節(jié) 點(diǎn)集合;
      [0025] 步驟四,構(gòu)造防御關(guān)聯(lián)
      [0026] 構(gòu)造目標(biāo)節(jié)點(diǎn)與防御節(jié)點(diǎn)之間、防御節(jié)點(diǎn)與防御節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系;
      [0027] 步驟五,根據(jù)用戶(hù)輸入,生成對(duì)應(yīng)防御節(jié)點(diǎn)實(shí)例
      [0028] 根據(jù)用戶(hù)定義的防御節(jié)點(diǎn)種類(lèi)和數(shù)據(jù),在防御節(jié)點(diǎn)模板庫(kù)中選擇對(duì)應(yīng)種類(lèi)的防御 節(jié)點(diǎn)的實(shí)現(xiàn)代碼,生成對(duì)應(yīng)的防御節(jié)點(diǎn)實(shí)例;
      [0029]步驟六,生成并初始化防御網(wǎng)
      [0030] 根據(jù)步驟四中構(gòu)造的防御關(guān)聯(lián),結(jié)合步驟五中生成的防御節(jié)點(diǎn)實(shí)例,進(jìn)行防御網(wǎng) 的初始化,該防御網(wǎng)包括防御節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)以及防御關(guān)聯(lián);
      [0031] 步驟七,對(duì)待保護(hù)的Android應(yīng)用程序進(jìn)行反編譯、文件重構(gòu)和簽名。
      [0032] 進(jìn)一步地,所述的步驟一中防御節(jié)點(diǎn)模板庫(kù)中,每一種防御節(jié)點(diǎn)的實(shí)現(xiàn)代碼均包 括三部分:觸發(fā)模塊、主功能模塊和關(guān)鍵信息模塊,其中,觸發(fā)模塊用于在檢測(cè)到異常時(shí)觸 發(fā)主功能模塊,主功能模塊負(fù)責(zé)執(zhí)行防篡改功能,關(guān)鍵信息模塊用于記錄該防御節(jié)點(diǎn)單元 的關(guān)鍵信息。
      [0033] 進(jìn)一步地,所述的步驟四中,構(gòu)造目標(biāo)節(jié)點(diǎn)與防御節(jié)點(diǎn)之間、防御節(jié)點(diǎn)與防御節(jié)點(diǎn) 之間的關(guān)聯(lián)關(guān)系的具體方法如下:
      [0034] 構(gòu)造關(guān)聯(lián)關(guān)系時(shí),需要滿(mǎn)足以下約束條件a至c:
      [0035] a.每個(gè)目標(biāo)節(jié)點(diǎn)至少被一個(gè)防御節(jié)點(diǎn)J_Guard進(jìn)行保護(hù);
      [0036] b.每個(gè)防御節(jié)點(diǎn)至少被除自身以外的兩個(gè)防御節(jié)點(diǎn)J_Guarc^PN_Guard保護(hù);
      [0037] c. Android應(yīng)用程序執(zhí)行時(shí),執(zhí)行保護(hù)功能的防御節(jié)點(diǎn)必須能夠在被保護(hù)節(jié)點(diǎn)執(zhí) 行時(shí)間附近及時(shí)執(zhí)行;
      [0038] 對(duì)于條件a,設(shè)置目標(biāo)節(jié)點(diǎn)與至少一個(gè)具有函數(shù)保護(hù)功能的防御節(jié)點(diǎn)進(jìn)行關(guān)聯(lián);
      [0039] 對(duì)于條件b,對(duì)每個(gè)防御節(jié)點(diǎn)設(shè)置至少兩個(gè)防御節(jié)點(diǎn)進(jìn)行保護(hù),其中一個(gè)為J_ Guar d,負(fù)責(zé)保護(hù)防御節(jié)點(diǎn)的觸發(fā)模塊,其中另一個(gè)SN_Guard,負(fù)責(zé)保護(hù)防御節(jié)點(diǎn)的主功能 豐旲塊;
      [0040] 對(duì)于條件c,每個(gè)目標(biāo)節(jié)點(diǎn)或防御節(jié)點(diǎn)在選擇保護(hù)自己的防御節(jié)點(diǎn)時(shí),應(yīng)選擇應(yīng)用 程序運(yùn)行時(shí)被保護(hù)節(jié)點(diǎn)執(zhí)行前后較近的防御節(jié)點(diǎn)作為其防御節(jié)點(diǎn);
      [0041] 具體地,Android應(yīng)用程序的功能實(shí)現(xiàn)是由一個(gè)個(gè)函數(shù)構(gòu)成的,當(dāng)程序運(yùn)行時(shí),多 個(gè)函數(shù)按照一定的時(shí)間順序依次執(zhí)行,這些函數(shù)組成了一個(gè)函數(shù)調(diào)
      當(dāng)前第1頁(yè)1 2 3 4 5 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1