本發(fā)明涉及通訊技術(shù),尤其涉及一種信息處理方法、終端及服務(wù)器。
背景技術(shù):
本申請發(fā)明人在實現(xiàn)本申請實施例技術(shù)方案的過程中,至少發(fā)現(xiàn)相關(guān)技術(shù)中存在如下技術(shù)問題:
隨著智能終端的普及,在智能終端上安裝大量應(yīng)用(APP)以便通過這些APP所提供的功能為用戶提供相應(yīng)的服務(wù),已經(jīng)成為一種工作和生活中的常態(tài)。APP需要更新,一方面是為了對已有功能進(jìn)行完善或者新增功能,另一方面是為了打補(bǔ)丁以便對APP中的軟件漏洞進(jìn)行修復(fù),如果不能對軟件漏洞進(jìn)行修復(fù),很容易被遠(yuǎn)程控制工具、木馬工具、病毒工具等侵襲,以手機(jī)為例,隨著用戶通過智能手機(jī)對O2O模式的各種服務(wù)進(jìn)行在線支付的廣泛使用,如果存在未必修復(fù)的軟件漏洞,則很容易被遠(yuǎn)程控制工具、木馬工具、病毒工具等侵襲,從而造成用戶的財產(chǎn)損失,也就是說,如果不能及時掃描出APP中的軟件漏洞并進(jìn)行修復(fù),會存在很大的安全隱患。
然而,現(xiàn)有技術(shù)中對APP中的軟件漏洞進(jìn)行掃描多采用靜態(tài)方式,而APP的運行是個動態(tài)過程,所以,采用該靜態(tài)方式導(dǎo)致很多軟件漏洞不能被及時掃描獲知,即便有動態(tài)方式,也還停留在由后臺的專門安全管理員人工核對和模擬運行APP以達(dá)到動態(tài)方式的掃描目的,由于模擬運行APP與真實環(huán)境中APP仍然是存在差異的,所以,掃描結(jié)果并不精確,而且由于全人工操作會耗費大量人工和時間成本。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例希望提供一種信息處理方法、終端及服務(wù)器,至 少解決了現(xiàn)有技術(shù)存在的問題,通過自動化的動態(tài)掃描,不僅使得掃描結(jié)果更加精確以降低誤報率,而且提高了掃描效率,從而節(jié)約了大量人工和時間成本。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例的一種信息處理方法,所述方法應(yīng)用于終端中,所述終端安裝有多個應(yīng)用,所述方法包括:
按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用;
檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;
控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;
按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器。
上述方案中,所述按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用,包括:
啟用自動化測試模式,將預(yù)定義的測試用例運行于所述多個應(yīng)用上,得到測試結(jié)果;
將所述測試結(jié)果作為所述運行狀態(tài)中的行為信息。
上述方案中,所述按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用,包括以下任意一種方式:
方式一:
通過定時器的方式來設(shè)置終端開機(jī)后的應(yīng)用定時啟動功能;
在所述定時器時間到達(dá)后開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式二:
通過對應(yīng)用進(jìn)行開機(jī)自啟動的預(yù)先配置來設(shè)置終端開機(jī)后的應(yīng)用啟動功能;
在終端開機(jī)后按照所述預(yù)先配置開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式三:
檢測終端的系統(tǒng)資源低于第一閾值或者終端的運行狀態(tài)為空閑狀態(tài)時,對所述終端中安裝的所述多個應(yīng)用進(jìn)行掃描,掃描得到所述多個應(yīng)用后生成第一指令;所述第一指令為用于表征應(yīng)用開啟的指令;
通過所述第一指令開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息。
上述方案中,所述運行狀態(tài)中的行為信息包括:任意一個應(yīng)用自身運行時被監(jiān)控得到的行為信息、所述多個應(yīng)用在運行過程中存在彼此交互時被監(jiān)控得到的行為信息。
上述方案中,所述按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,包括:
提取所述第二預(yù)設(shè)規(guī)則,所述第二預(yù)設(shè)規(guī)則為用于匹配過程中確定是否符合預(yù)定義配置的漏洞規(guī)則;
將所述動態(tài)掃描結(jié)果與所述預(yù)定義配置的漏洞規(guī)則進(jìn)行匹配,匹配成功時,則將所述動態(tài)掃描結(jié)果中匹配成功的匹配結(jié)果作為所述應(yīng)用的軟件安全漏洞信息。
本發(fā)明實施例的一種終端,所述終端安裝有多個應(yīng)用,所述終端包括:
運行單元,用于按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用;
加載單元,用于檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;
掃描控制單元,用于控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;
匹配分析單元,用于按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器。
上述方案中,所述運行單元,進(jìn)一步用于
啟用自動化測試模式,將預(yù)定義的測試用例運行于所述多個應(yīng)用上,得到測試結(jié)果;將所述測試結(jié)果作為所述運行狀態(tài)中的行為信息。
上述方案中,所述運行單元,進(jìn)一步用于采用包括以下任意一種方式來運行所述多個應(yīng)用:
方式一:
通過定時器的方式來設(shè)置終端開機(jī)后的應(yīng)用定時啟動功能;
在所述定時器時間到達(dá)后開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式二:
通過對應(yīng)用進(jìn)行開機(jī)自啟動的預(yù)先配置來設(shè)置終端開機(jī)后的應(yīng)用啟動功能;
在終端開機(jī)后按照所述預(yù)先配置開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式三:
檢測終端的系統(tǒng)資源低于第一閾值或者終端的運行狀態(tài)為空閑狀態(tài)時,對所述終端中安裝的所述多個應(yīng)用進(jìn)行掃描,掃描得到所述多個應(yīng)用后生成第一指令;所述第一指令為用于表征應(yīng)用開啟的指令;
通過所述第一指令開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息。
上述方案中,所述運行狀態(tài)中的行為信息包括:任意一個應(yīng)用自身運行時被監(jiān)控得到的行為信息、所述多個應(yīng)用在運行過程中存在彼此交互時被監(jiān)控得到的行為信息。
上述方案中,所述匹配分析單元,進(jìn)一步包括:
規(guī)則提取子單元,用于提取所述第二預(yù)設(shè)規(guī)則,所述第二預(yù)設(shè)規(guī)則為用于匹配過程中確定是否符合預(yù)定義配置的漏洞規(guī)則;
匹配子單元,用于將所述動態(tài)掃描結(jié)果與所述預(yù)定義配置的漏洞規(guī)則進(jìn)行匹配,匹配成功時,則將所述動態(tài)掃描結(jié)果中匹配成功的匹配結(jié)果作為所述應(yīng)用的軟件安全漏洞信息。
本發(fā)明實施例的一種信息處理方法,所述方法應(yīng)用于服務(wù)器中,所述方法 包括:
接收終端上報的應(yīng)用的軟件安全漏洞信息;
所述應(yīng)用的軟件安全漏洞信息為終端按照第一預(yù)設(shè)規(guī)則運行多個應(yīng)用,通過加載基于第一安全框架生成的監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,從得到的動態(tài)掃描結(jié)果中分析得到的信息;
將所述應(yīng)用的軟件安全漏洞信息顯示給用戶進(jìn)行查看。
本發(fā)明實施例的一種服務(wù)器,所述服務(wù)器包括:
接收單元,用于接收終端上報的應(yīng)用的軟件安全漏洞信息;所述應(yīng)用的軟件安全漏洞信息為終端按照第一預(yù)設(shè)規(guī)則運行多個應(yīng)用,通過加載基于第一安全框架生成的監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,從得到的動態(tài)掃描結(jié)果中分析得到的信息;
監(jiān)控顯示單元,用于將所述應(yīng)用的軟件安全漏洞信息顯示給用戶進(jìn)行查看。
本發(fā)明實施例的信息處理方法包括:按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用;檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器。
采用本發(fā)明實施例,通過自動化的動態(tài)掃描機(jī)制,首先檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件,之后控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,按照第二預(yù)設(shè)規(guī)則從掃描得到的動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息并上報給服務(wù)器進(jìn)行監(jiān)控管理使用,不僅使得掃描結(jié)果更加精確以降低誤報率,而且提高了掃描效率,從而節(jié)約了大量人工和時間成本。
附圖說明
圖1為本發(fā)明方法實施例一的一個實現(xiàn)流程示意圖;
圖2為本發(fā)明方法實施例二的一個實現(xiàn)流程示意圖;
圖3為本發(fā)明方法實施例三的一個實現(xiàn)流程示意圖;
圖4為本發(fā)明終端實施例一的一個組成結(jié)構(gòu)示意圖;
圖5為本發(fā)明方法實施例四的一個實現(xiàn)流程示意圖;
圖6為本發(fā)明服務(wù)器實施例的一個組成結(jié)構(gòu)示意圖;
圖7為本發(fā)明終端或服務(wù)器一個具體硬件結(jié)構(gòu)的示意圖;
圖8為應(yīng)用本發(fā)明實施例一應(yīng)用場景的系統(tǒng)實例的組成結(jié)構(gòu)示意圖;
圖9為應(yīng)用本發(fā)明實施例一應(yīng)用場景的方法實例的實現(xiàn)流程示意圖。
具體實施方式
下面結(jié)合附圖對技術(shù)方案的實施作進(jìn)一步的詳細(xì)描述。
方法實施例一:
本發(fā)明實施例的一種信息處理方法,所述方法應(yīng)用于終端中,所述終端安裝有多個應(yīng)用,如圖1所示,所述方法包括:
步驟101、按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用;
步驟102、檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;
步驟103、控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;
步驟104、按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器。
采用本發(fā)明實施例,通過步驟101-104的這種自動化的動態(tài)掃描機(jī)制,首先檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件,之后控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,按照第二預(yù)設(shè)規(guī)則從掃描得到的動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息并上報給服務(wù)器進(jìn)行監(jiān)控管理使用,不僅使得掃描結(jié)果更加精確以降低誤報率,而且提高了掃描效率,從而節(jié)約了大量人工和時間成本。
比如,按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用可以是通過用戶自己開啟應(yīng)用 來觸發(fā)多個應(yīng)用的運行,也可以是管理員開啟應(yīng)用來觸發(fā)多個應(yīng)用的運行,還可以是利用自動化測試工具來觸發(fā)多個應(yīng)用的運行。
加載的基于第一安全框架生成的監(jiān)控插件為動態(tài)檢測工具,比如用于APP應(yīng)用安全漏洞掃描的掃描器,它可以基于諸如Xposed框架這種第一安全框架進(jìn)行開發(fā),使用Xposed框架的好處是:首先Xposed框架是一個開源平臺,其次,可以支持用于APP應(yīng)用安全漏洞掃描的鉤子(Hook)技術(shù),而且,Xposed框架自身就是一個支持開發(fā)各種插件的框架平臺。
方法實施例二:
本發(fā)明實施例的一種信息處理方法,所述方法應(yīng)用于終端中,所述終端安裝有多個應(yīng)用,如圖2所示,所述方法包括:
步驟201、啟用自動化測試模式,將預(yù)定義的測試用例運行于所述多個應(yīng)用上,得到測試結(jié)果;
步驟202、將所述測試結(jié)果作為所述運行狀態(tài)中的行為信息;
步驟203、檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;
步驟204、控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;
步驟205、按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器。
采用本發(fā)明實施例,通過步驟201-205的這種自動化的動態(tài)掃描機(jī)制,首先啟用自動化測試模式,比如通過自動化測試工具將預(yù)定義的測試用例運行于所述多個應(yīng)用上,得到測試結(jié)果,將所述測試結(jié)果作為所述運行狀態(tài)中的行為信息,之后檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件,再控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,按照第二預(yù)設(shè)規(guī)則從掃描得到的動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息并上報給服務(wù)器進(jìn)行監(jiān)控管理使用,不僅使得掃描結(jié)果更加精確以降低誤報率,而且提高了掃描效率,從而節(jié)約了大量人工和時間成本。
這里,按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用是利用自動化測試工具來觸發(fā)多個應(yīng)用的運行,這是最優(yōu)的實施方式。
加載的基于第一安全框架生成的監(jiān)控插件為動態(tài)檢測工具,比如用于APP應(yīng)用安全漏洞掃描的掃描器,它可以基于諸如Xposed框架這種第一安全框架進(jìn)行開發(fā),使用Xposed框架的好處是:首先Xposed框架是一個開源平臺,其次,可以支持用于APP應(yīng)用安全漏洞掃描的Hook技術(shù),而且,Xposed框架自身就是一個支持開發(fā)各種插件的框架平臺。
在本發(fā)明實施例一實施方式中,所述按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用,包括以下任意一種方式:
方式一:
通過定時器的方式來設(shè)置終端開機(jī)后的應(yīng)用定時啟動功能;
在所述定時器時間到達(dá)后開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式二:
通過對應(yīng)用進(jìn)行開機(jī)自啟動的預(yù)先配置來設(shè)置終端開機(jī)后的應(yīng)用啟動功能;
在終端開機(jī)后按照所述預(yù)先配置開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式三:
檢測終端的系統(tǒng)資源低于第一閾值或者終端的運行狀態(tài)為空閑狀態(tài)時,對所述終端中安裝的所述多個應(yīng)用進(jìn)行掃描,掃描得到所述多個應(yīng)用后生成第一指令;所述第一指令為用于表征應(yīng)用開啟的指令;
通過所述第一指令開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息。
在本發(fā)明實施例一實施方式中,所述運行狀態(tài)中的行為信息包括:任意一個應(yīng)用自身運行時被監(jiān)控得到的行為信息、所述多個應(yīng)用在運行過程中存在彼此交互時被監(jiān)控得到的行為信息。
方法實施例三:
本發(fā)明實施例的一種信息處理方法,所述方法應(yīng)用于終端中,所述終端安裝有多個應(yīng)用,如圖3所示,所述方法包括:
步驟301、啟用自動化測試模式,將預(yù)定義的測試用例運行于所述多個應(yīng)用上,得到測試結(jié)果;
步驟302、將所述測試結(jié)果作為所述運行狀態(tài)中的行為信息;
步驟303、檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;
步驟304、控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;
步驟305、提取所述第二預(yù)設(shè)規(guī)則,所述第二預(yù)設(shè)規(guī)則為用于匹配過程中確定是否符合預(yù)定義配置的漏洞規(guī)則;
步驟306、將所述動態(tài)掃描結(jié)果與所述預(yù)定義配置的漏洞規(guī)則進(jìn)行匹配,匹配成功時,則將所述動態(tài)掃描結(jié)果中匹配成功的匹配結(jié)果作為所述應(yīng)用的軟件安全漏洞信息。
在本發(fā)明實施例一實施方式中,還可以包括:通過對上述預(yù)定義配置的漏洞規(guī)則和應(yīng)用等進(jìn)行更新配置,以提高軟件漏洞的監(jiān)控等級。
這里需要指出的是:以下涉及終端和服務(wù)器項的描述,與上述方法描述是類似的,同方法的有益效果描述,不做贅述。對于本發(fā)明終端和服務(wù)器實施例中未披露的技術(shù)細(xì)節(jié),請參照本發(fā)明方法實施例的描述。
終端實施例一:
本發(fā)明實施例的一種終端,所述終端安裝有多個應(yīng)用,如圖4所示,所述終端包括:
運行單元11,用于按照第一預(yù)設(shè)規(guī)則運行所述多個應(yīng)用;
加載單元12,用于檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于第一安全框架生成的監(jiān)控插件;
掃描控制單元13,用于控制所述監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài) 中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;
匹配分析單元14,用于按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器。
比如,如圖8所述的一個具體應(yīng)用場景,所述運行單元可以為圖中的自動化測試模塊,所述加載單元可以為圖中用于加載監(jiān)控插件(如Xposed插件,或稱動態(tài)檢測工具)的模塊,所述掃描控制單元可以為圖中的Hook模塊,所述匹配分析單元可以為圖中的規(guī)則匹配模塊。進(jìn)一步還可以包括用于對上述預(yù)定義配置的漏洞規(guī)則和應(yīng)用等進(jìn)行更新配置,以提高軟件漏洞的監(jiān)控等級配置管理模塊,在后續(xù)具體場景描述中具體介紹,這里不做贅述。
在本發(fā)明實施例一實施方式中,所述運行單元,進(jìn)一步用于啟用自動化測試模式,將預(yù)定義的測試用例運行于所述多個應(yīng)用上,得到測試結(jié)果;將所述測試結(jié)果作為所述運行狀態(tài)中的行為信息。
在本發(fā)明實施例一實施方式中,所述運行單元,進(jìn)一步用于采用包括以下任意一種方式來運行所述多個應(yīng)用:
方式一:
通過定時器的方式來設(shè)置終端開機(jī)后的應(yīng)用定時啟動功能;
在所述定時器時間到達(dá)后開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式二:
通過對應(yīng)用進(jìn)行開機(jī)自啟動的預(yù)先配置來設(shè)置終端開機(jī)后的應(yīng)用啟動功能;
在終端開機(jī)后按照所述預(yù)先配置開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息;
方式三:
檢測終端的系統(tǒng)資源低于第一閾值或者終端的運行狀態(tài)為空閑狀態(tài)時,對所述終端中安裝的所述多個應(yīng)用進(jìn)行掃描,掃描得到所述多個應(yīng)用后生成第一指令;所述第一指令為用于表征應(yīng)用開啟的指令;
通過所述第一指令開啟運行所述多個應(yīng)用,收集所述多個應(yīng)用的運行參數(shù)作為所述運行狀態(tài)中的行為信息。
在本發(fā)明實施例一實施方式中,所述運行狀態(tài)中的行為信息包括:任意一個應(yīng)用自身運行時被監(jiān)控得到的行為信息、所述多個應(yīng)用在運行過程中存在彼此交互時被監(jiān)控得到的行為信息。
在本發(fā)明實施例一實施方式中,所述匹配分析單元,進(jìn)一步包括:
規(guī)則提取子單元,用于提取所述第二預(yù)設(shè)規(guī)則,所述第二預(yù)設(shè)規(guī)則為用于匹配過程中確定是否符合預(yù)定義配置的漏洞規(guī)則;
匹配子單元,用于將所述動態(tài)掃描結(jié)果與所述預(yù)定義配置的漏洞規(guī)則進(jìn)行匹配,匹配成功時,則將所述動態(tài)掃描結(jié)果中匹配成功的匹配結(jié)果作為所述應(yīng)用的軟件安全漏洞信息。
方法實施例四:
本發(fā)明實施例的一種信息處理方法,所述方法應(yīng)用于服務(wù)器中,如圖5所示,所述方法包括:
步驟501、接收終端上報的應(yīng)用的軟件安全漏洞信息;
這里,所述應(yīng)用的軟件安全漏洞信息為終端按照第一預(yù)設(shè)規(guī)則運行多個應(yīng)用,通過加載基于第一安全框架生成的監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,從得到的動態(tài)掃描結(jié)果中分析得到的信息;
步驟502、將所述應(yīng)用的軟件安全漏洞信息顯示給用戶進(jìn)行查看。
服務(wù)器實施例一:
本發(fā)明實施例的一種服務(wù)器,如圖6所示,所述服務(wù)器包括:
接收單元21,用于接收終端上報的應(yīng)用的軟件安全漏洞信息;所述應(yīng)用的軟件安全漏洞信息為終端按照第一預(yù)設(shè)規(guī)則運行多個應(yīng)用,通過加載基于第一安全框架生成的監(jiān)控插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,從得到的動態(tài)掃描結(jié)果中分析得到的信息;
監(jiān)控顯示單元22,用于將所述應(yīng)用的軟件安全漏洞信息顯示給用戶進(jìn)行查看。
這里需要指出的是,上述終端可以為PC這種電子設(shè)備,還可以為如PAD,平板電腦,手提電腦這種便攜電子設(shè)備、還可以為如手機(jī)這種智能移動終端,不限于這里的描述;所述服務(wù)器可以是通過集群系統(tǒng)構(gòu)成的,為實現(xiàn)各單元功能而合并為一或各單元功能分體設(shè)置的電子設(shè)備,終端和服務(wù)器都至少包括用于存儲數(shù)據(jù)的數(shù)據(jù)庫和用于數(shù)據(jù)處理的處理器,或者包括設(shè)置于服務(wù)器內(nèi)的存儲介質(zhì)或獨立設(shè)置的存儲介質(zhì)。
其中,對于用于數(shù)據(jù)處理的處理器而言,在執(zhí)行處理時,可以采用微處理器、中央處理器(CPU,Central Processing Unit)、數(shù)字信號處理器(DSP,Digital Singnal Processor)或可編程邏輯陣列(FPGA,F(xiàn)ield-Programmable Gate Array)實現(xiàn);對于存儲介質(zhì)來說,包含操作指令,該操作指令可以為計算機(jī)可執(zhí)行代碼,通過所述操作指令來實現(xiàn)上述本發(fā)明實施例信息處理方法流程中的各個步驟。
該終端和該服務(wù)器作為硬件實體S11的一個示例如圖7所示。所述裝置包括處理器31、存儲介質(zhì)32以及至少一個外部通信接口33;所述處理器31、存儲介質(zhì)32以及外部通信接口33均通過總線34連接。
以一個現(xiàn)實應(yīng)用場景為例對本發(fā)明實施例闡述如下:
本應(yīng)用場景為智能終端上安裝大量APP的情況下,需要對APP進(jìn)行掃描以得到APP中的軟件漏洞,并對掃描得到的軟件漏洞進(jìn)行修復(fù)的場景。對于這個具體應(yīng)用場景,有如下技術(shù)術(shù)語需要先行介紹:
1)動態(tài)掃描:動態(tài)掃描是指在Android應(yīng)用運行過程中,動態(tài)的檢測Android應(yīng)用是否存在安全漏洞。
2)自動化測試:自動化測試主要是指Android應(yīng)用的自動化測試,常用于產(chǎn)品研發(fā)的測試階段,主要是為了減輕功能測試人員的工作量而實現(xiàn)的自動化運行功能測試用例的一種測試手段。
3)捉蟲獵手:捉蟲獵手是360公司研發(fā)的一個基于云的靜態(tài)Android應(yīng)用安全掃描器。
4)金剛掃描器:金剛掃描器是騰訊公司研發(fā)的一款靜態(tài)Android應(yīng)用掃描 器。
5)Xposed框架:Xposed框架是一款可以在不修改APK的情況下影響程序運行(修改系統(tǒng))的框架服務(wù),基于它可以制作出許多功能強(qiáng)大的模塊,且在功能不沖突的情況下同時運作。
對于靜態(tài)掃描技術(shù)來說,上述捉蟲獵手和金剛掃描器都屬于靜態(tài)掃描的技術(shù),這種靜態(tài)技術(shù)是針對APK安裝包進(jìn)行,不需要運行該APK安裝包,對該APK安裝包,通過對Android應(yīng)用進(jìn)行反編譯,然后對反編譯后的源碼和資源進(jìn)行掃描。靜態(tài)掃描因為是在靜態(tài)代碼和資源層面的分析,導(dǎo)致有些漏洞不能被很好的發(fā)現(xiàn)或者無法發(fā)現(xiàn),利如日志打印敏感信息漏洞,該漏洞出現(xiàn)頻繁,但卻無法通過靜態(tài)掃描器掃出來。還有一些漏洞,例如Intent劫持,靜態(tài)掃描誤報率較高,因為很多時候Intent傳送的并非敏感信息,但靜態(tài)掃描器無法進(jìn)行區(qū)分,都統(tǒng)一報了出來,這種誤判導(dǎo)致很高的誤判率
對于動態(tài)掃描技術(shù)來說,動態(tài)掃描器是需要在Android應(yīng)用的運行過程中來進(jìn)行掃描的,也就是說是針對已經(jīng)運行,無論是在前臺還是在后臺運行的APP來進(jìn)行,對于未開啟運行的APP不在討論范圍內(nèi),從而需要服務(wù)器側(cè)的安全審計人員人工地去運行這個APP,遍歷APP的所有功能來達(dá)到動態(tài)掃描的目的,雖然可以實現(xiàn)動態(tài)掃描,但卻無法實現(xiàn)自動化,仍然需要安全審計人員花費大量人工去熟悉和運行被掃描的Android應(yīng)用,效率低下。且這種現(xiàn)有的動態(tài)掃描技術(shù)還停留在由后臺的專門安全管理員人工核對和模擬運行APP以達(dá)到動態(tài)方式的掃描目的,由于模擬運行APP與真實環(huán)境中APP仍然是存在差異的,所以,掃描結(jié)果并不精確,也存在誤判率。
針對上述應(yīng)用場景采用本發(fā)明實施例,具體是一種實現(xiàn)自動化動態(tài)掃描Android應(yīng)用漏洞的方案,采用該方案,可以有效的解決上述兩方面,不僅能彌補(bǔ)靜態(tài)掃描技術(shù)的不足,實現(xiàn)了動態(tài)掃描Android應(yīng)用的漏洞,成功解決了日志打印敏感信息等漏洞無法掃描的問題,避免誤判,而且還能通過將動態(tài)掃描工作與自動化測試相結(jié)合,即將動態(tài)掃描和自動化控制同時進(jìn)行,無需人工介入,省掉了安全人員去遍歷一遍被測應(yīng)用功能的時間,提高了工作效率,減輕 了安全審計人員的工作量,大大提高了效率,也避免了誤判。
以下對本應(yīng)用場景采用本發(fā)明實施例的方案進(jìn)行具體闡述:
系統(tǒng)應(yīng)用實例:
如圖8為本應(yīng)用場景的系統(tǒng)實例,該系統(tǒng)包括智能終端側(cè)和后臺服務(wù)器側(cè),其中,智能終端側(cè)以智能終端為手機(jī)為例,后臺服務(wù)器側(cè)以安全審計員所在的Web端為例。
手機(jī)側(cè)包括:自動化測試模塊41,Android應(yīng)用模塊42,Hook模塊43,規(guī)則匹配模塊44,配置管理模塊45,其中,Hook模塊43,規(guī)則匹配模塊44,配置管理模塊45位于基于Xposed框架開發(fā)生成的Xposed插件中。
自動化測試模塊41用于按照第一預(yù)設(shè)規(guī)則運行Android應(yīng)用模塊42的多個應(yīng)用;Android應(yīng)用模塊42用于作為多個應(yīng)用的容器;Hook模塊43用于主要負(fù)責(zé)Hook住Android的相關(guān)API接口,具體可以通過API hook,改變一個系統(tǒng)api的原有功能,比如通過hook“接觸”到需要修改的API函數(shù)入口點,改變它的地址指向新的自定義的函數(shù),即支持對運行的APP進(jìn)行改變APP運行狀態(tài),在檢測到所述多個應(yīng)用處于運行狀態(tài)時,加載基于Xposed框架開發(fā)生成的Xposed插件后,控制所述Xposed插件對所述多個應(yīng)用在所述運行狀態(tài)中的行為信息進(jìn)行掃描,得到動態(tài)掃描結(jié)果;規(guī)則匹配模塊44主要負(fù)責(zé)掃描規(guī)則的匹配,看是否符合某個漏洞規(guī)則,即按照第二預(yù)設(shè)規(guī)則從所述動態(tài)掃描結(jié)果中分析得到應(yīng)用的軟件安全漏洞信息,上報所述應(yīng)用的軟件安全漏洞信息給服務(wù)器;配置管理模塊45主要負(fù)責(zé)配置的查詢、更新等操作,即對上述預(yù)定義配置的漏洞規(guī)則和應(yīng)用等進(jìn)行更新配置,以提高軟件漏洞的監(jiān)控等級配置管理模塊。
以安全審計員所在的Web端包括:前臺Web51、插件配置文件模塊52,存儲DB(數(shù)據(jù)庫)53,接收漏洞信息CGI接口模塊54。
前臺Web51用于作為顯示端,主要負(fù)責(zé)展示漏洞信息,支持配置文件編輯等功能,即主要對接收的手機(jī)側(cè)所上報的所述應(yīng)用的軟件安全漏洞信息進(jìn)行顯示;插件配置文件模塊52用于與配置管理模塊45進(jìn)行交互,以便更新配置; 存儲DB53用于存儲手機(jī)側(cè)所上報的所述應(yīng)用的軟件安全漏洞信息及與其相關(guān)的信息;接收漏洞信息CGI接口模塊54主要負(fù)責(zé)接收手機(jī)端傳過來的漏洞信息,并將其入存儲DB53,即用于接收手機(jī)側(cè)所上報的所述應(yīng)用的軟件安全漏洞信息,進(jìn)一步還可以對其進(jìn)行分析后得到的分析結(jié)果反饋給規(guī)則匹配模塊使用。
方法應(yīng)用實例:
如圖9為本應(yīng)用場景的方法實例,該自動化動態(tài)掃描流程主要包括:圖中所示的三條分支,左邊的一條分支為手機(jī)端的掃描及規(guī)則匹配處理分支,中間的一條分支為在Web端通過監(jiān)控人員查看管理系統(tǒng)的顯示內(nèi)容,右邊的一條分支為手機(jī)端的配置更新分支。該自動化動態(tài)掃描流程的總體規(guī)劃步驟包括以下內(nèi)容:
一、第一條分支(左邊的一條分支):
步驟701、進(jìn)入自動化測試平臺運行APP,得到包括相關(guān)行為信息的測試結(jié)果;
步驟702、Hook模塊捕獲到相關(guān)行為信息;
步驟703、規(guī)則匹配模塊對捕獲到的信息進(jìn)行規(guī)則匹配;
步驟704、判斷是否匹配成功,如果是,則執(zhí)行步驟705,否則,結(jié)束當(dāng)前分支;
步驟705、將漏洞信息上報給Web端的接收漏洞信息CGI模塊,轉(zhuǎn)入執(zhí)行步驟801。
二、第二條分支(中間的一條分支):
步驟801、從數(shù)據(jù)庫中提取出漏洞信息;
步驟802、Web端展示漏洞信息,結(jié)束當(dāng)前分支。
三、第三條分支(右邊的一條分支):
步驟901、開機(jī)啟動配置管理服務(wù);
步驟902、檢查配置文件;
步驟903、判斷是否配置有更新,如果是,則執(zhí)行步驟904,否則,按照預(yù) 定義的時間休眠一段時間后轉(zhuǎn)入執(zhí)行步驟902;
步驟904、更新配置信息,之后,轉(zhuǎn)入執(zhí)行步驟703。
這里需要指出的是,本應(yīng)用場景采用本發(fā)明實施例,使用動態(tài)掃描與自動化測試相結(jié)合的方式,實現(xiàn)了全自動化動態(tài)掃描Android應(yīng)用的安全漏洞,本發(fā)明實施例的動態(tài)掃描工具,或稱為APP掃描器是基于Xposed框架開發(fā)的一個監(jiān)控插件,結(jié)合自動化測試,如果在Android應(yīng)用在運行過程中有類似于日志打印敏感信息等操作,那么監(jiān)控插件就能將其發(fā)現(xiàn),并上報到后臺Web端供安全人員查看。監(jiān)控掃描的范圍包括:除了監(jiān)控日志打印,還可以對發(fā)送廣播、打開Activity等操作進(jìn)行安全檢測。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過其它的方式實現(xiàn)。以上所描述的設(shè)備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網(wǎng)絡(luò)單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲 介質(zhì)包括:移動存儲設(shè)備、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設(shè)備、ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。