国产精品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>

      支付安全沙箱實現(xiàn)方法及系統(tǒng)與應用程序監(jiān)控方法及系統(tǒng)的制作方法

      文檔序號:9667962閱讀:363來源:國知局
      支付安全沙箱實現(xiàn)方法及系統(tǒng)與應用程序監(jiān)控方法及系統(tǒng)的制作方法
      【專利說明】
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種支付安全沙箱實現(xiàn)方法及系統(tǒng)與應用程序進程監(jiān)控方法及系統(tǒng)。
      【【背景技術(shù)】】
      [0002]沙箱是一種按照安全策略限制程序行為的執(zhí)行環(huán)境,目前已經(jīng)廣泛使用于各種操作系統(tǒng)中。以Android為例,一些應用程序,出于實現(xiàn)應用程序固有功能需要之外的目的,特別是商業(yè)目的,隨意申請系統(tǒng)權(quán)限,獲取用戶隱私數(shù)據(jù)、執(zhí)行網(wǎng)絡訪問、保持設備活動、發(fā)送短信行為等。輕則可能導致用戶隱私數(shù)據(jù)泄露,或者占用系統(tǒng)資源,重則可能通過惡意扣費、植入廣告、消耗資費、欺詐誘騙等,使用戶遭受損失。因此,通過沙箱技術(shù)提供的執(zhí)行環(huán)境,由沙箱對系統(tǒng)的資源、權(quán)限進行管理,讓應用程序于該沙箱中運行,應用程序的訪問先經(jīng)沙箱按安全策略進行審查,由此,形成一種相對于系統(tǒng)本身的隔離運行效果,可以有效地保護系統(tǒng)的安全。對于沙箱中所用到的安全策略,適應于各種不同的操作系統(tǒng)有不同的細節(jié)考慮,這些有關(guān)技術(shù)實現(xiàn)的基本知識,均已為本技術(shù)人員所掌握,恕不贅述。
      [0003]現(xiàn)有技術(shù)中主要包括兩種沙箱技術(shù)實現(xiàn)方式,其中一種方式的實現(xiàn)過程主要包括:將樣本apk (Android Package ;安卓安裝包)文件解包,解析apk內(nèi)的dex(Dalvik VMexecutes ;安卓安裝包執(zhí)行程序)文件,對關(guān)鍵api調(diào)用函數(shù)表做補丁,即把函數(shù)表里的指針替換成自己的函數(shù),其中,自己的函數(shù)就是輸出對應被替換的函數(shù)名與參數(shù);然后重新打包新的apk,在虛擬機里把apk簽名校驗去掉,讓apk在虛擬機中運行,這樣樣本的具體行為函數(shù)調(diào)用就可被監(jiān)控了。該方式對部分樣本的行為可以實現(xiàn)監(jiān)控,但是,若在apk打包解包的過程中樣本需要對自身校驗的情況下,此方式即不可實施,例如,樣本對自身進行校驗時,發(fā)現(xiàn)自身被修改過,即立刻退出;另外,若樣本用反射api來間接調(diào)用函數(shù),此方式也不能實現(xiàn)對樣本行為實施監(jiān)控的功能,因為樣本用反射api的函數(shù)調(diào)用不經(jīng)過dex的函數(shù)表,因此,該方式對函數(shù)調(diào)用無法感覺,也就無法對樣本的行為實施監(jiān)控。
      [0004]現(xiàn)有技術(shù)中的另一種方式的實現(xiàn)過程主要包括:修改Android系統(tǒng)源代碼和java庫函數(shù),在其實現(xiàn)代碼中加入相關(guān)輸出行為的代碼;重新編譯Android系統(tǒng)打包成ROM,用虛擬機加載。該方式只能在定制化的Android系統(tǒng)中運行樣本,其調(diào)用函數(shù)時會有相關(guān)的行為記錄被輸出。該方式發(fā)現(xiàn)問題修正時需重新編譯,其迀移代價較大,源代碼的修改分散于系統(tǒng)的各個地方,維護代價較高;另外,版本迀移成本更大,若基于Androidl.1修改的,后來想應用于Android4.3上,其基本上需對每個點重新編譯。
      [0005]因此,如何實現(xiàn)沙箱技術(shù)不修改樣本、不打包apk,反射間接調(diào)用也可實現(xiàn)監(jiān)控攔截,且無需修改系統(tǒng)源代碼,方便各版本之間的迀移成為了本領(lǐng)域技術(shù)人員需要解決的問題。

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

      [0006]本發(fā)明的目的旨在解決上述至少一個問題,提供了一種支付安全沙箱實現(xiàn)方法及系統(tǒng)與應用程序進程監(jiān)控方法及系統(tǒng)。
      [0007]為實現(xiàn)該目的,本發(fā)明采用如下技術(shù)方案:
      [0008]本發(fā)明提供了一種支付安全沙箱實現(xiàn)方法,其包括以下步驟:
      [0009]響應于應用程序的運行指令,通過孵化器構(gòu)造虛擬機成為用于運行該應用程序的沙箱;
      [0010]修改該沙箱的環(huán)境配置信息,使所述沙箱適于調(diào)用監(jiān)控模塊監(jiān)控所述應用程序的進程;
      [0011]在該進程調(diào)用特定指令時,按照該沙箱預先提供的安全策略進行處理,并在處理后返回執(zhí)行該進程。
      [0012]具體的,所述安全策略包括支付安全策略,所述支付安全策略包括:
      [0013]判斷支付請求的信息中是否包括有支付安全參數(shù);若是,則判定所述支付請求合法。
      [0014]具體的,所述判斷支付請求的信息中是否包括有支付安全參數(shù)的過程中,包括:
      [0015]判斷所述彈窗通知的界面元素中是否包括支付元素;若是,則判定所述彈窗通知中包括有支付特征;
      [0016]所述支付元素用于匹配所述彈窗通知中是否包括有與支付對應的元素。
      [0017]進一步的,所述支付安全策略還包括:
      [0018]判斷所述支付請求的信息中是否調(diào)用了用于支付的對應數(shù)據(jù)及指令;若是,則判定所述支付請求合法。
      [0019]具體的,所述判斷所述支付請求的信息中是否調(diào)用了用于支付的對應數(shù)據(jù)及指令的過程中,包括:
      [0020]獲取所述彈窗通知中所調(diào)用的類的類名;
      [0021]判斷所述類名是否存在與預先保存的類名單中;若是,則判定所述彈窗通知調(diào)用了用于支付的類。
      [0022]進一步的,所述判斷所述支付請求的信息中是否調(diào)用了用于支付的對應數(shù)據(jù)及指令的過程中,還包括:
      [0023]當所述彈窗通知調(diào)用了用于支付的類時,判定所述彈窗通知中包括有支付特征。
      [0024]具體的,所述沙箱的環(huán)境配置信息的設置項,包括用于引導執(zhí)行所述監(jiān)控模塊的對象屬性與對應該對象屬性而被引導執(zhí)行的指向信息。
      [0025]具體的,所述對象屬性主要用于支持執(zhí)行回調(diào)函數(shù)表,所述指向信息主要用于分配所述鉤子函數(shù)的分發(fā)函數(shù)。
      [0026]具體的,所述修改該沙箱的環(huán)境配置信息,使所述沙箱適于調(diào)用監(jiān)控模塊監(jiān)控所述應用程序的進程的步驟中,具體包括:
      [0027]響應于所述應用程序的運行指令,向所述孵化器申請進程運行環(huán)境;
      [0028]向所述進程運行環(huán)境中植入引導模塊并運行之;
      [0029]通過所述引導模塊對所述虛擬機中的環(huán)境配置信息進行修改;
      [0030]根據(jù)所述環(huán)境配置信息調(diào)用所述監(jiān)控模塊,以監(jiān)控待運行應用程序的進程的運行。
      [0031]進一步的,在所述響應于所述應用程序的運行指令,向孵化器申請進程運行環(huán)境的步驟之后,還包括:
      [0032]通過所述孵化器創(chuàng)建適于所述待運行應用程序的進程運行的進程運行環(huán)境。
      [0033]具體的,所述通過所述孵化器創(chuàng)建適于所述待運行應用程序的進程運行的進程運行環(huán)境的步驟中,包括:
      [0034]利用系統(tǒng)原孵化器構(gòu)造用于孵化進程運行環(huán)境的所述孵化器;
      [0035]通過所述孵化器進行孵化,以為所述待運行應用程序建立所述進程運行環(huán)境。
      [0036]具體的,所述利用系統(tǒng)原孵化器構(gòu)造用于孵化進程運行環(huán)境的所述孵化器的步驟中,包括:
      [0037]運行控制模塊;
      [0038]利用所述控制模塊,以所述系統(tǒng)原孵化器為基礎(chǔ)構(gòu)造所述孵化器;
      [0039]建立所述控制模塊與所述孵化器的連接。
      [0040]具體的,所述控制模塊基于所述孵化器所生成的套接口建立與所述孵化器的連接。
      [0041]進一步的,在所述向所述進程運行環(huán)境中植入引導模塊并運行之的步驟之后,還包括:
      [0042]利用所述引導模塊將分發(fā)模塊加載至所述孵化器中,以使所述分發(fā)模塊隨所述待運行應用程序的進程的啟動進入所述待運行應用程序的進程中。
      [0043]具體的,所述在該進程調(diào)用特定指令時,按照該沙箱預先提供的安全策略進行處理,并在處理后返回執(zhí)行該進程的步驟中,包括:
      [0044]所述監(jiān)控模塊識別所述應用程序的進程的特定指令,通過所述分發(fā)模塊為相關(guān)特定指令分配相應的鉤子函數(shù)。
      [0045]具體的,所述監(jiān)控模塊被注冊為服務進程,以所述鉤子函數(shù)關(guān)聯(lián)所述應用程序的運行進程的調(diào)用指令來實現(xiàn)對所述應用程序的活動監(jiān)控。
      [0046]具體的,當所述監(jiān)控模塊監(jiān)控到所述應用程序的進程需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指令的資源應用,以為所述應用程序的進程的運行提供正確的資源。
      [0047]具體的,當所述監(jiān)控模塊監(jiān)控到所述應用程序的進程進行未經(jīng)授權(quán)的訪問時,向相關(guān)調(diào)用指令返回自定義數(shù)據(jù)。
      [0048]相應的,本發(fā)明還提供了一種應用程序進程監(jiān)控方法,其包括以下步驟:
      [0049]響應于所述應用程序的運行指令,修改虛擬機中的環(huán)境配置信息,使所述虛擬機適于調(diào)用監(jiān)控模塊,以監(jiān)控待運行應用程序的進程的運行;
      [0050]所述監(jiān)控模塊識別所述應用程序的進程的特定指令,引導調(diào)用與所述特定指令相對應的鉤子函數(shù);
      [0051]完成所述鉤子函數(shù)的執(zhí)行,回調(diào)執(zhí)行所述應用程序進程。
      [0052]具體的,所述虛擬機的環(huán)境配置信息的設置項,包括用于引導執(zhí)行所述監(jiān)控模塊的對象屬性與對應該對象屬性而被引導執(zhí)行的指向信息。
      [0053]具體的,所述對象屬性主要用于支持執(zhí)行回調(diào)函數(shù)表,所述指向信息主要用于分配所述鉤子函數(shù)的分發(fā)函數(shù)。
      [0054]具體的,所述響應于所述應用程序的運行指令,修改虛擬機中的環(huán)境配置信息,使所述虛擬機適于調(diào)用監(jiān)控模塊,以監(jiān)控待運行應用程序的進程的運行的步驟中,包括:
      [0055]響應于所述應用程序的運行指令,向孵化器申請進程運行環(huán)境;
      [0056]向所述進程運行環(huán)境中植入引導模塊并運行之;
      [0057]通過所述引導模塊對所述虛擬機中的環(huán)境配置信息進行修改;
      [0058]根據(jù)所述環(huán)境配置信息調(diào)用所述監(jiān)控模塊,以監(jiān)控待運行應用程序的進程的運行。
      [0059]進一步的,在所述響應于所述應用程序的運行指令,向孵化器申請進程運行環(huán)境的步驟之后,還包括:
      [0060]通過所述孵化器創(chuàng)建適于所述待運行應用程序的進程運行的進程運行環(huán)境。
      [0061]具體的,所述通過所述孵化器創(chuàng)建適于所述待運行應用程序的進程運行的進程運行環(huán)境的步驟中,包括:
      [0062]利用系統(tǒng)原孵化器構(gòu)造用于孵化進程運行環(huán)境的所述孵化器;
      [0063]通過所述孵化器進行孵化,以為所述待運行應用程序建立所述進程運行環(huán)境。
      [0064]具體的,所述利用系統(tǒng)原孵化器構(gòu)造用于孵化進程運行環(huán)境的所述孵化器的步驟中,包括:
      [0065]運行控制模塊;
      [0066]利用所述控制模塊,以所述系統(tǒng)原孵化器為基礎(chǔ)構(gòu)造所述孵化器;
      [0067]建立所述控制模塊與所述孵化器的連接。
      [0068]具體的,所述控制模塊基于所述孵化器所生成的套接口建立與所述孵化器的連接。
      [0069]進一步的,在所述向所述進程運行環(huán)境中植入引導模塊并運行之的步驟之后,還包括:
      [0070]利用所述引導模塊將分發(fā)模塊加載至所述孵化器中,以使所述分發(fā)模塊隨所述待運行應用程序的進程的啟動進入所述待運行應用程序的進程中。
      [0071]具體的,所述監(jiān)控模塊識別所述應用程序的進程的特定指令,引導調(diào)用與所述特定指令相對應的鉤子函數(shù)的步驟中,包括:
      [0072]所述監(jiān)控模塊識別所述應用程序的進程的特定指令,通過所述分發(fā)模塊為相關(guān)特定指令分配相應的鉤子函數(shù)。
      [0073]具體的,所述監(jiān)控模塊被注冊為服務進程,以所述鉤子函數(shù)關(guān)聯(lián)所述應用程序的運行進程的調(diào)用指令來實現(xiàn)對所述應用程序的活動監(jiān)控。
      [0074]具體的,當所述監(jiān)控模塊監(jiān)控到所述應用程序的進程需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指令的資源應用,以為所述應用程序的進程的運行提供正確的資源。
      [0075]具體的,當所述監(jiān)控模塊監(jiān)控到所述應用程序的進程進行未經(jīng)授權(quán)的訪問時,向相關(guān)調(diào)用指令返回自定義數(shù)據(jù)。
      [0076]相應的,本發(fā)明還提供了一種支付安全沙箱實現(xiàn)系統(tǒng),其包括:
      [0077]響應構(gòu)造模塊,用于響應于應用程序的運行指令,通過孵化器構(gòu)造虛擬機成為用于運行該應用程序的沙箱;
      [0078]修改調(diào)用模塊,用于修改該沙箱的環(huán)境配置信息,使所述沙箱適于調(diào)用監(jiān)控模塊監(jiān)控所述應用程序的進程;
      [0079]調(diào)用執(zhí)行模塊,用于在該進程調(diào)用特定指令時,按照該沙箱預先提供的安全策略進行處理,并在處理后返回執(zhí)行該進程。
      [0080]具體的,所述安全策略包括支付安全策略,所述支付安全策略包括:
      [0081]第一判斷單元,用于判斷支付請求的信息中是否包括有支付安全參數(shù);若是,則判定所述支付請求合法。
      [0082]具體的,所述第一判斷單元包括:
      [0083]特征判定子單元,用于判斷所述彈窗通知的界面元素中是否包括支付元素;若是,則判定所述彈窗通知中包括有支付特征;
      [0084]所述支付元素用于匹配所述彈窗通知中是否包括有與支付對應的元素。
      [0085]進一步的,所述支付安全策略還包括:
      [0086]第二判斷單元,用于判斷所述支付請求的信息中是否調(diào)用了用于支付的對應數(shù)據(jù)及指令;若是,則判定所述支付請求合法。
      [0087]具體的,所述第二判斷單元包括:
      [0088]類名獲取子單元,用于獲取所述彈窗通知中所調(diào)用的類的類名;
      [0089]類名判斷子單元,用于判斷所述類名是否存在與預先保存的類名單中;若是,則判定所述彈窗通知調(diào)用了用于支付的類。
      [0090]具體的,所述第二判斷單元,還包括:
      [0091]調(diào)用判定子單元,用于當所述彈窗通知調(diào)用了用于支付的類時,判定所述彈窗通知中包括有支付特征。
      [0092]具體的,所述沙箱的環(huán)境配置信息的設置項,包括用于引導執(zhí)行所述監(jiān)控模塊的對象屬性與對應該對象屬性而被引導執(zhí)行的指向信息。
      [0093]具體的,所述對象屬性主要用于支持執(zhí)行回調(diào)函數(shù)表,所述指向信息主要用于分配所述鉤子函數(shù)的分發(fā)函數(shù)。
      [0094]具體的,
      當前第1頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1