亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于漏洞poc實(shí)現(xiàn)安卓系統(tǒng)漏洞檢測的方法與流程

文檔序號(hào):11775152閱讀:682來源:國知局

本發(fā)明屬于安卓系統(tǒng)安全防護(hù)技術(shù)領(lǐng)域,尤其涉及一種安卓系統(tǒng)漏洞檢測方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)和智能移動(dòng)終端在人們生活中的日益普及,移動(dòng)安全問題和安全隱患也隨之愈來愈嚴(yán)重。目前在移動(dòng)終端上植入惡意代碼進(jìn)行網(wǎng)絡(luò)犯罪的事件呈增長趨勢(shì),移動(dòng)終端的用戶正在面臨前所未有的安全風(fēng)險(xiǎn)。尤其是android系統(tǒng)的智能手機(jī),基于源代碼的開源性,其開發(fā)的各類智能產(chǎn)品存在的安全風(fēng)險(xiǎn)更是備受人們關(guān)注。安卓系統(tǒng)存在漏洞可能會(huì)被各種病毒木馬利用,從而遭受網(wǎng)銀被盜、被監(jiān)聽監(jiān)視、無端扣費(fèi)、隱私泄露、成為病毒傳播源等諸多損害。因此,及早發(fā)現(xiàn)安卓系統(tǒng)的漏洞對(duì)安卓設(shè)備的整體安全非常重要。另一方面,目前安卓系統(tǒng)版本繁多,如果使用人工手動(dòng)檢測,必然耗費(fèi)大量人力物力,幾乎是不可完成的任務(wù),因此,自動(dòng)化檢測十分必要。

幸運(yùn)的是,目前實(shí)現(xiàn)安卓系統(tǒng)漏洞檢測的基礎(chǔ)技術(shù)已經(jīng)成熟。cve的英文全稱是“commonvulnerabilities&exposures”,該庫公開了大量漏洞細(xì)節(jié),并提供了相應(yīng)的驗(yàn)證代碼,即poc代碼,通過執(zhí)行poc代碼即可以驗(yàn)證漏洞是否存在,從而達(dá)到漏洞檢測的目標(biāo);jni技術(shù)是android程序開發(fā)的一種技術(shù),通過該技術(shù)可以方便的實(shí)現(xiàn)java代碼和c代碼的混合編程,從而可以方便的實(shí)現(xiàn)安卓系統(tǒng)的內(nèi)核接口調(diào)用,達(dá)到深度檢測的目的。yaml是一種以數(shù)據(jù)為中心的標(biāo)記語言,是一種直觀的能夠被電腦識(shí)別的數(shù)據(jù)序列化格式,是一個(gè)可讀性高并且容易被人類閱讀,容易和腳本語言交互。使用該語言可以完善的描述漏洞細(xì)節(jié),同時(shí)又方便程序的處理。

現(xiàn)有技術(shù)中,針對(duì)安卓系統(tǒng)的漏洞檢測主要有以下幾種:a).基于特征匹配的漏洞檢測;b).基于公開庫的漏洞攻擊行為分析。

現(xiàn)有基于特征匹配的漏洞檢測方案中,檢測過程是一種被動(dòng)檢測,主要依靠漏洞規(guī)則,完成檢測過程,存在無動(dòng)態(tài)行為檢測的缺點(diǎn)。

基于公開庫的漏洞攻擊行為分析,通過分析各個(gè)公開庫的內(nèi)容,找到攻擊行為和攻擊過程的對(duì)應(yīng)關(guān)系,為系統(tǒng)加固提供知識(shí)積累。該方法應(yīng)用于系統(tǒng)漏洞檢測,存在應(yīng)用目標(biāo)不匹配,沒有與第三方系統(tǒng)的通信接口,與其他檢測設(shè)備集成不容易的缺點(diǎn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于:提供一種基于漏洞poc實(shí)現(xiàn)安卓系統(tǒng)漏洞檢測的方法,以解決現(xiàn)有技術(shù)中檢測效率低、檢測內(nèi)容不全面和用戶操作體驗(yàn)不佳的技術(shù)問題,彌補(bǔ)了現(xiàn)有方案的不足。

本發(fā)明采用的技術(shù)方案如下:

一種基于漏洞poc實(shí)現(xiàn)安卓系統(tǒng)漏洞檢測的方法,其特征在于,包括以下步驟:

步驟一:從公開漏洞網(wǎng)站爬取所需漏洞信息,使用yaml建立具體信息的漏洞描述文件;從公開漏洞網(wǎng)站爬取所需的poc文件,并針對(duì)性的轉(zhuǎn)化為c或java版本的poc代碼,使用yaml及poc代碼建立檢測所用的漏洞庫;

步驟二:開發(fā)用于檢測的app程序,并將步驟一獲得的poc代碼集成到app程序中;

步驟三:用戶通過上位檢測系統(tǒng)將app程序安裝到被檢測安卓終端上;app程序啟動(dòng),并通過adb橋建立與上位檢測系統(tǒng)的通信鏈路;

步驟四:上位檢測系統(tǒng)向app程序發(fā)送開始檢測指令;app程序接收開始檢測指令后,初始化漏洞庫管理引擎和漏洞檢測引擎;

步驟五:app程序獲取被檢測安卓終端的安卓系統(tǒng)信息,漏洞庫管理引擎根據(jù)安卓系統(tǒng)信息加載相應(yīng)的漏洞檢測單元列表;

步驟六:漏洞檢測引擎逐一執(zhí)行加載后的漏洞檢測單元,執(zhí)行檢測任務(wù);每一個(gè)漏洞檢測單元執(zhí)行相應(yīng)的poc代碼,記錄檢測結(jié)果,并由漏洞檢測引擎收集每個(gè)漏洞檢測單元的檢測結(jié)果;

步驟七:上位檢測系統(tǒng)向漏洞檢測引擎下達(dá)生成檢測報(bào)告的指令;漏洞檢測引擎接收到生成檢測報(bào)告的指令后,結(jié)合檢測結(jié)果和相應(yīng)的漏洞描述文件生成最終檢測報(bào)告,并將最終檢測報(bào)告通過通信鏈路發(fā)回上位檢測系統(tǒng),供用戶查看。

進(jìn)一步的,還包括步驟八:上位檢測系統(tǒng)自動(dòng)刪除安裝的app程序,斷開與被檢測安卓終端的連接,檢測完成。

進(jìn)一步的,采用增量式網(wǎng)絡(luò)爬蟲的方式爬取公開漏洞的網(wǎng)站,獲取漏洞信息。

進(jìn)一步的,待檢測安卓終端包括手機(jī)、平板、智能手表、機(jī)頂盒。

進(jìn)一步的,通信鏈路為socket鏈路。

進(jìn)一步的,建立adb橋與app程序的通信鏈路的步驟包括:

3.1:啟動(dòng)線程,并以管道的方式與adb創(chuàng)建鏈接;

3.2:啟動(dòng)工作者線程,負(fù)責(zé)發(fā)送adb命令;

3.3:創(chuàng)建兩個(gè)socket,并啟動(dòng)adb服務(wù);

3.4:執(zhí)行“adbdevices”列舉設(shè)備;

3.5:獲取設(shè)備的序列號(hào);

3.6:將服務(wù)器apk安裝到設(shè)備上,如果設(shè)備上已預(yù)置,此步驟忽略;

3.7:啟動(dòng)服務(wù)器;

3.8:啟動(dòng)一個(gè)后臺(tái)服務(wù)代碼;

3.9:創(chuàng)建socket連接,完成adb橋建立與app程序的通信鏈路搭建。

綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:

1.本發(fā)明采用爬蟲的方式獲取漏洞信息,有利于加快檢測速度,又采用檢測設(shè)備(上位檢測系統(tǒng))來安裝app程序的方式檢測,解決了現(xiàn)有技術(shù)中檢測效率低,檢測內(nèi)容不全面和用戶操作體驗(yàn)不佳的技術(shù)問題;本發(fā)明公開的方法不僅檢測效率高,穩(wěn)定性強(qiáng),檢測內(nèi)容全面,而且二次開發(fā)門檻低,漏洞維護(hù)工作量少,可方便地應(yīng)用于安卓系統(tǒng)漏洞檢測平臺(tái)建設(shè)或獨(dú)立檢測終端的集成。

2.上位檢測系統(tǒng)自動(dòng)刪除安裝的app程序,斷開與被檢測安卓終端的連接,不在被檢測安卓終端中留下該app程序,提高用戶體驗(yàn)。

3.采用socket通信的方式,能夠有效減少檢測時(shí)間。

附圖說明

圖1為一種基于漏洞poc實(shí)現(xiàn)安卓系統(tǒng)漏洞檢測方法的流程圖。

具體實(shí)施方式

本說明書中公開的所有特征,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。

下面結(jié)合圖1對(duì)本發(fā)明作詳細(xì)說明。

一種基于漏洞poc實(shí)現(xiàn)安卓系統(tǒng)漏洞檢測的方法,屬于主動(dòng)檢測范疇,檢測的執(zhí)行者為app程序,包括以下步驟:

步驟一(s1):從cve等公開漏洞網(wǎng)站爬取所需漏洞信息,使用yaml建立具體信息的漏洞描述文件;

步驟二:從公開漏洞網(wǎng)站爬取所需的poc文件,并針對(duì)性的轉(zhuǎn)化為c或java版本的poc代碼,使用yaml及poc代碼建立檢測所用的漏洞庫;

步驟三:開發(fā)用于檢測的app程序,該app程序具備漏洞庫管理、漏洞執(zhí)行、報(bào)表生成、socket通信等功能,并將步驟二獲得的poc代碼集成到app程序中;

步驟四:用戶通過上位檢測系統(tǒng)將app程序安裝到被檢測安卓終端(包括手機(jī)、平板、智能手表、機(jī)頂盒等)上;

步驟五:app程序啟動(dòng),并通過adb橋建立與上位檢測系統(tǒng)的通信鏈路(socket鏈路),基于該鏈路,app程序可以接受檢測命令,反饋檢測過程,返回檢測報(bào)表;

步驟六:上位檢測系統(tǒng)向安裝在待檢測安卓終端上的app程序發(fā)送開始檢測指令;

步驟七:app程序接收開始檢測指令后,初始化漏洞庫管理引擎和漏洞檢測引擎,準(zhǔn)備實(shí)際檢測;

步驟八:app程序獲取被檢測安卓終端安卓系統(tǒng)的版本等信息,漏洞庫管理引擎根據(jù)安卓系統(tǒng)信息加載相應(yīng)的漏洞檢測單元列表;

步驟九:漏洞檢測引擎逐一執(zhí)行加載后的漏洞檢測單元,執(zhí)行檢測任務(wù);

步驟十:每一個(gè)漏洞檢測單元執(zhí)行相應(yīng)的檢測代碼(即poc代碼),并記錄檢測結(jié)果;

步驟十一:漏洞檢測引擎收集每個(gè)漏洞檢測單元的檢測結(jié)果;

步驟十二:上位檢測系統(tǒng)向漏洞檢測引擎下達(dá)生成檢測報(bào)告的指令;

步驟十三:漏洞檢測引擎接收到上位檢測系統(tǒng)下達(dá)的生成檢測報(bào)告的指令后,結(jié)合檢測結(jié)果和相應(yīng)的漏洞描述文件生成最終檢測報(bào)告,并將最終檢測報(bào)告通過通信鏈路(socket鏈路)發(fā)回上位檢測系統(tǒng),供用戶上位檢測系統(tǒng)中查看最終檢測報(bào)告;

步驟十四:上位檢測系統(tǒng)自動(dòng)刪除安裝的app程序,斷開與被檢測安卓終端的連接,檢測完成。

漏洞檢測引擎收集每個(gè)漏洞檢測單元的檢測結(jié)果,為生成檢測報(bào)告做數(shù)據(jù)準(zhǔn)備整個(gè)檢測過程中,app程序與上位檢測系統(tǒng),保持連接狀態(tài),上位檢測系統(tǒng)下達(dá)具體指令,app程序執(zhí)行具體指令,反饋檢測過程,返回檢測結(jié)果;

所述方法中,檢測對(duì)象只適用于安卓系統(tǒng),不適用于windows、ios等系統(tǒng)的漏洞檢查;

所述方法中,檢測方法屬于主動(dòng)檢測范疇,檢測的執(zhí)行者為檢測app;

所述方法中,檢測依賴通過cve等漏洞網(wǎng)站建立的poc漏洞庫。

所述方法中,檢測應(yīng)用具有漏洞庫管理、漏洞檢測單元管理、通信通道、檢測報(bào)表動(dòng)態(tài)生成等功能。

所述方法中,漏洞檢測引擎負(fù)責(zé)檢測指令的接收和執(zhí)行,以及檢測結(jié)果的匯總收集工作,并可根據(jù)檢測結(jié)果和對(duì)應(yīng)的漏洞信息,動(dòng)態(tài)生成檢測報(bào)表。

所述方法中,漏洞庫管理引擎負(fù)責(zé)漏洞庫的加載、過濾、添加、刪除等工作,為漏洞檢測引擎提供用于檢測的漏洞列表,并提供poc代碼和相應(yīng)漏洞信息的關(guān)系維護(hù)功能;

所述方法中,通過socket方式提供檢測應(yīng)用與上位檢測系統(tǒng)等第三方系統(tǒng)的通信鏈路。

所述方法中,提供了友好的人機(jī)界面,大大降低了使用者的操作難度。

通過此方法可以完成安卓系統(tǒng)漏洞檢測,該方法操作系統(tǒng)兼容性好,檢測效率高,穩(wěn)定性強(qiáng),檢測內(nèi)容全面,二次開發(fā)門檻低,系統(tǒng)維護(hù)工作量少,可方便地應(yīng)用于安卓系統(tǒng)漏洞檢測平臺(tái)建設(shè)或獨(dú)立檢測終端的集成。

所述從公開漏洞的網(wǎng)站爬取所需漏洞信息,采用增量式網(wǎng)絡(luò)爬蟲的方式爬取公開漏洞的網(wǎng)站,獲取漏洞信息。

增量式網(wǎng)絡(luò)爬蟲(incrementalwebcrawler)是指對(duì)已下載網(wǎng)頁采取增量式更新和只爬行新產(chǎn)生的或者已經(jīng)發(fā)生變化網(wǎng)頁的爬蟲,它能夠在一定程度上保證所爬行的頁面是盡可能新的頁面。和周期性爬行和刷新頁面的網(wǎng)絡(luò)爬蟲相比,增量式網(wǎng)絡(luò)爬蟲只會(huì)在需要的時(shí)候爬行新產(chǎn)生或發(fā)生更新的頁面,并不重新下載沒有發(fā)生變化的頁面,可有效減少數(shù)據(jù)下載量,及時(shí)更新已爬行的網(wǎng)頁,減小時(shí)間和空間上的耗費(fèi),但是增加了爬行算法的復(fù)雜度和實(shí)現(xiàn)難度。增量式網(wǎng)絡(luò)爬蟲的體系結(jié)構(gòu)包含爬行模塊、排序模塊、更新模塊、本地頁面集、待爬行url集以及本地頁面url集。

增量式網(wǎng)絡(luò)爬蟲有兩個(gè)目標(biāo):保持本地頁面集中存儲(chǔ)的頁面為最新頁面和提高本地頁面集中頁面的質(zhì)量。為實(shí)現(xiàn)第一個(gè)目標(biāo),增量式網(wǎng)絡(luò)爬蟲需要通過重新訪問網(wǎng)頁來更新本地頁面集中頁面內(nèi)容,常用的方法有:1)統(tǒng)一更新法:爬蟲以相同的頻率訪問所有網(wǎng)頁,不考慮網(wǎng)頁的改變頻率;2)個(gè)體更新法:爬蟲根據(jù)個(gè)體網(wǎng)頁的改變頻率來重新訪問各頁面;3)基于分類的更新法:爬蟲根據(jù)網(wǎng)頁改變頻率將其分為更新較快網(wǎng)頁子集和更新較慢網(wǎng)頁子集兩類,然后以不同的頻率訪問這兩類網(wǎng)頁。

增量式網(wǎng)絡(luò)爬蟲需要對(duì)網(wǎng)頁的重要性排序,策略有:廣度優(yōu)先策略、pagerank優(yōu)先策略等。ibm開發(fā)的webfountain是一個(gè)功能強(qiáng)大的增量式網(wǎng)絡(luò)爬蟲,它采用一個(gè)優(yōu)化模型控制爬行過程,并沒有對(duì)頁面變化過程做任何統(tǒng)計(jì)假設(shè),而是采用一種自適應(yīng)的方法根據(jù)先前爬行周期里爬行結(jié)果和網(wǎng)頁實(shí)際變化速度對(duì)頁面更新頻率進(jìn)行調(diào)整。北京大學(xué)的天網(wǎng)增量爬行系統(tǒng)旨在爬行國內(nèi)web,將網(wǎng)頁分為變化網(wǎng)頁和新網(wǎng)頁兩類,分別采用不同爬行策略。為緩解對(duì)大量網(wǎng)頁變化歷史維護(hù)導(dǎo)致的性能瓶頸,它根據(jù)網(wǎng)頁變化時(shí)間局部性規(guī)律,在短時(shí)期內(nèi)直接爬行多次變化的網(wǎng)頁,為盡快獲取新網(wǎng)頁,它利用索引型網(wǎng)頁跟蹤新出現(xiàn)網(wǎng)頁。

網(wǎng)絡(luò)爬蟲的基本工作流程如下:

(1)首先選取一部分精心挑選的種子url;

(2)將這些url放入待抓取url隊(duì)列;

(3)從待抓取url隊(duì)列中取出待抓取在url,解析dns,并且得到主機(jī)的ip,并將url對(duì)應(yīng)的網(wǎng)頁下載下來,存儲(chǔ)進(jìn)已下載網(wǎng)頁庫中。此外,將這些url放進(jìn)已抓取url隊(duì)列。

(4)分析已抓取url隊(duì)列中的url,分析其中的其他url,并且將url放入待抓取url隊(duì)列,從而進(jìn)入下一個(gè)循環(huán)。

從爬蟲的角度對(duì)互聯(lián)網(wǎng)進(jìn)行劃分:

對(duì)應(yīng)的,可以將互聯(lián)網(wǎng)的所有頁面分為五個(gè)部分:

(1)已下載未過期網(wǎng)頁;

(2)已下載已過期網(wǎng)頁:抓取到的網(wǎng)頁實(shí)際上是互聯(lián)網(wǎng)內(nèi)容的一個(gè)鏡像與備份,互聯(lián)網(wǎng)是動(dòng)態(tài)變化的,一部分互聯(lián)網(wǎng)上的內(nèi)容已經(jīng)發(fā)生了變化,這時(shí),這部分抓取到的網(wǎng)頁就已經(jīng)過期了;

(3)待下載網(wǎng)頁:也就是待抓取url隊(duì)列中的那些頁面;

(4)可知網(wǎng)頁:還沒有抓取下來,也沒有在待抓取url隊(duì)列中,但是可以通過對(duì)已抓取頁面或者待抓取url對(duì)應(yīng)頁面進(jìn)行分析獲取到的url,認(rèn)為是可知網(wǎng)頁;

(5)還有一部分網(wǎng)頁,爬蟲是無法直接抓取下載的。稱為不可知網(wǎng)頁。

poc文件為一段說明或者是一個(gè)攻擊樣例,將之轉(zhuǎn)換為c或java代碼所采用的方法為:首先poco讀取配置文件:

使用yaml把poc文件建立漏洞文件庫,其特征在于:

(1)所有的消息都被存儲(chǔ)并通過類poco::message傳遞:

消息源用來描述日志消息的源。通常狀態(tài)下,使用poco::logger的名字來命名。因此應(yīng)該合理的命名poco::logger的名字。

a.一個(gè)新的logger將繼承它的上級(jí)日志組件的級(jí)別和通道。比如說,上例中"httpserver.requesthandler.cgi"會(huì)繼承"httpserver.requesthandler"的日志級(jí)別和通道。

b.一個(gè)logger被完全創(chuàng)建,它就將與它的上級(jí)無關(guān)。完全創(chuàng)建指,logger擁有自己的channel和日志級(jí)別,而不是和其它logger共用。換句話說,改變?nèi)罩炯?jí)別和通道將不會(huì)影響的到其他的已經(jīng)存在的logger對(duì)象。

c.盡可能的對(duì)日志對(duì)象一次設(shè)置所有的參數(shù),比如說日志級(jí)別和通道。

訪問日志對(duì)象:

poco庫在內(nèi)部管理了一個(gè)全局的日志map。用戶不需要自己創(chuàng)建logger對(duì)象,用戶可以向poco庫申請(qǐng)一個(gè)logger對(duì)象的引用。poco會(huì)根據(jù)需要?jiǎng)?chuàng)建新的日志對(duì)象。

staticlogger&get(conststd::string&name)

使用上面函數(shù)可以獲取到給定名稱所關(guān)聯(lián)的logger對(duì)象的引用,如果有必要,poco庫會(huì)在內(nèi)部創(chuàng)建一個(gè)logger對(duì)象。出于效率上的考慮,poco使用文檔推薦用戶保存所使用的logger對(duì)象的引用,而不是頻繁的調(diào)用此函數(shù)。理所當(dāng)然的,poco庫能保證logger對(duì)象的引用始終有效。

(2)通道的子類負(fù)責(zé)傳遞消息給最終目的地。比如說控制臺(tái)或者日志文件等。

每一個(gè)poco::logger類對(duì)象都對(duì)應(yīng)著一個(gè)poco::channel類對(duì)象。在poco庫內(nèi)部已經(jīng)實(shí)現(xiàn)了各種poco::channel子類,用于向不同的目標(biāo)輸出日志,比如說控制臺(tái),日志文件,或者系統(tǒng)日志工具。用戶可以定義自己的channel類。在內(nèi)部poco::channel使用了引用計(jì)數(shù)技術(shù)來實(shí)現(xiàn)內(nèi)存管理。

(3)控制臺(tái)通道把消息內(nèi)容寫入了標(biāo)準(zhǔn)輸出流,并且不支持配置屬性,它是根logger默認(rèn)關(guān)聯(lián)的通道。

(4)windows控制臺(tái)通道把消息內(nèi)容寫入window控制臺(tái),并且不支持配置屬性。向window控制臺(tái)輸出時(shí),支持utf-8編碼。

(5)空白通道會(huì)拋棄所有發(fā)向它的消息,并且忽略所有setproperty()函數(shù)設(shè)置的屬性。

(6)簡單文件通道實(shí)現(xiàn)了向日志文件輸出的簡單功能。對(duì)于每一個(gè)消息,其內(nèi)容都會(huì)被添加到文件中,并使用一個(gè)新行輸出。簡單日志文件支持文件循環(huán)覆蓋,一旦主日志文件超過確定的大小,第二個(gè)日志文件會(huì)被創(chuàng)建,如果第二個(gè)日志文件已經(jīng)存在,會(huì)被截?cái)?。而?dāng)?shù)诙€(gè)日志文件超過大小限制,主日志文件將被覆蓋。如此循環(huán)。

(7)文件通道提供了完整的日志支持。每一個(gè)消息的內(nèi)容都會(huì)被添加到文件中,并使用一個(gè)新行輸出。支持按文件大小和時(shí)間間隔對(duì)日志進(jìn)行循環(huán)覆蓋,支持自動(dòng)歸檔(使用不同的文件命名策略),支持壓縮(gzip)和清除(根據(jù)已歸檔文件的日期或數(shù)量)歸檔日志文件。

(8)事件日志通道使用于操作系統(tǒng)windowsnt中,它將把日志寫到"windows事件日志"中,使用window事件查看器來查看系統(tǒng)事件日志時(shí),事件查看器必須要找到pocofoundation.dll,否則記錄的日志消息將不能夠被正常顯示。

(9)統(tǒng)日志通道(syslogchannel)會(huì)把日志輸出到本地系統(tǒng)日志守護(hù)程序。

包含remotesyslogchannel類的網(wǎng)絡(luò)庫,可以通過基于udp的系統(tǒng)日志協(xié)議(syslogprotoco)把日志輸出到遠(yuǎn)程的日志守護(hù)程序上。

(10)異步通道:

poco::asyncchannel允許在另外一個(gè)分離的線程中去記錄通道的日志。這可以把產(chǎn)生日志的線程和記錄日志的線程分開而實(shí)現(xiàn)解耦。所有的消息先被存儲(chǔ)在一個(gè)先進(jìn)先出的消息隊(duì)列中,然后由一個(gè)單獨(dú)的線程從消息隊(duì)列中獲取,并最終把消息發(fā)送到輸出通道。

(11)拆分通道使用poco::splitterchannel可以把消息發(fā)送給一個(gè)或者多個(gè)其他的通道,即輸出日志在多個(gè)目標(biāo)中。使用下面的函數(shù)可以在splitterchannel中加入一個(gè)新通道:

poco::logstream類提供了一個(gè)日志的輸出流接口??梢栽谌罩玖髦?,格式化輸出日志記錄消息。日志消息必須以std::endl(或cr和lf字符)結(jié)尾。

在完成adb橋接并與app程序建立通信后,開始向app發(fā)送指令。具體操作如下:

當(dāng)app程序收到發(fā)送的命令時(shí),初始化漏洞管理引擎,漏洞管理引擎主要完成把之前收集到的漏洞打包成庫,待檢測時(shí)完成匹配工作。程序的機(jī)密性檢測:有代碼混淆檢測、dex保護(hù)監(jiān)測、so保護(hù)監(jiān)測、程序簽名檢測、完整性校驗(yàn)、權(quán)限管理檢測。組件安全檢測:有activity安全、broadcastreceiver安全、service安全、contentprovider安全、intent安全、webview安全。數(shù)據(jù)安全檢測:有調(diào)試信息、輸入檢查、數(shù)據(jù)傳輸完整性、遠(yuǎn)程數(shù)據(jù)通訊協(xié)議、證書驗(yàn)證、數(shù)據(jù)訪問控制、重放攻擊、會(huì)話安全。業(yè)務(wù)安全檢測:包括用戶登錄、密碼管理、支付安全、身份認(rèn)證、超時(shí)設(shè)置。其他檢測:模擬器檢測、鍵盤記錄、界面劫持、進(jìn)程保護(hù)、動(dòng)態(tài)調(diào)試。

設(shè)備中存在的漏洞可能涉及到有關(guān)android內(nèi)部的層面。例如,towelroot就是一個(gè)存在于內(nèi)核的漏洞,其也可能存在于特定的android框架。有時(shí)一些內(nèi)核漏洞很難進(jìn)行檢測,且可能導(dǎo)致系統(tǒng)不穩(wěn)定。這款工具所承擔(dān)的任務(wù)并不包括檢測可能導(dǎo)致用戶設(shè)備不穩(wěn)定的問題,因此可能忽略檢查可能會(huì)導(dǎo)致這些類型的問題。目前的框架十分簡單,包含一個(gè)漏洞檢測向量。對(duì)于漏洞的具體實(shí)現(xiàn)方法大相徑庭。

本發(fā)明未詳細(xì)闡述的部分屬于本領(lǐng)域公知技術(shù),本領(lǐng)域技術(shù)人員根據(jù)已有的描述已能夠在不付出創(chuàng)造性勞動(dòng)的前提下進(jìn)行實(shí)施,因此,不再贅述。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1