Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)程序的漏洞檢測(cè)技術(shù)領(lǐng)域,尤其涉及一種Android系統(tǒng)源碼漏 洞關(guān)聯(lián)影響的追蹤方法。
【背景技術(shù)】
[0002] Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè) 備,如智能手機(jī)和平板電腦。隨著最近幾年的電子市場(chǎng)的發(fā)展,移動(dòng)端設(shè)備推陳出新,不斷 有更新的應(yīng)用發(fā)布,使得體驗(yàn)者在生活、學(xué)習(xí)、社交等領(lǐng)域越來(lái)越方便快捷。而Android相 對(duì)其他操作系統(tǒng)Windows Phone和iOS等,具有非常大的優(yōu)點(diǎn)和優(yōu)勢(shì)。在優(yōu)勢(shì)方面,Android 平臺(tái)首先就是其開放性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到Android中來(lái)。同時(shí)也 因?yàn)锳ndroid性價(jià)比高,機(jī)型多,開發(fā)者更多,方便開發(fā),系統(tǒng)開源等特點(diǎn)使其市場(chǎng)占有率 非常之高,所以受眾群體廣大,體驗(yàn)測(cè)試出的問題也會(huì)隨之較多,很多的應(yīng)用程序也需要 Android系統(tǒng)的支持,所以當(dāng)發(fā)現(xiàn)問題如系統(tǒng)漏洞或模塊功能更新問題時(shí),如何考慮修正或 更新全面的問題就顯得非常重要。
【發(fā)明內(nèi)容】
[0003] 針對(duì)現(xiàn)有技術(shù)存在的不足,本發(fā)明所要解決的技術(shù)問題是,提供一種用于追溯或 查找系統(tǒng)漏洞的關(guān)聯(lián)點(diǎn),可以將漏洞的修補(bǔ)做到更加的全面和完善,方便、快捷的定位漏洞 關(guān)聯(lián)問題,解決系統(tǒng)模塊功能更新修復(fù)不完善的缺陷的Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的 追蹤方法。
[0004] 為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:一種Android系統(tǒng)源碼漏洞 關(guān)聯(lián)影響的追蹤方法,其特征在于:包括如下步驟:
[0005] -、生成組件
[0006] (1)、人為分析并對(duì)Android源碼劃分多個(gè)層次、模塊;
[0007] (2)、掃描Android源碼目錄,將各模塊下的文件夾及文件作為組件,生成多個(gè)相 應(yīng)的組件,定義一套組件規(guī)則;
[0008] 二、軟件元素存儲(chǔ)與展示查看
[0009] (1)、依據(jù)doxygen文檔系統(tǒng)對(duì)Android源碼進(jìn)行分析,并得出結(jié)果,根據(jù)結(jié)果將 類、結(jié)構(gòu)體、接口、名空間、文件等軟件元素的定義信息、關(guān)系信息,函數(shù)定義信息、函數(shù)間關(guān) 系等信息提出出來(lái),分別設(shè)計(jì)數(shù)據(jù)庫(kù)表進(jìn)行處理存儲(chǔ);
[0010] (2)、對(duì)以上各種軟件元素內(nèi)部的引用關(guān)系進(jìn)行處理、匯總、合并處理后,將關(guān)聯(lián)的 關(guān)系及詳細(xì)信息進(jìn)行展示查看;
[0011] 三、鎖定及修正漏洞
[0012] (1)、在以上數(shù)據(jù)及數(shù)據(jù)接口的準(zhǔn)備基礎(chǔ)上,通過源碼樹的聯(lián)動(dòng)找到相應(yīng)的 Android系統(tǒng)漏洞所在的位置;
[0013] (2)、然后通過查看上下文、引用關(guān)系,詳細(xì)的定位與漏洞位置相關(guān)連的文件、模 塊、層次因素,全面的覆蓋漏洞的影響范圍;
[0014] (3)、根據(jù)該范圍對(duì)漏洞進(jìn)行詳盡的分析和修正。
[0015] 上述的Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法,在展示的同時(shí),可通過右鍵 點(diǎn)擊查看該軟件元素相關(guān)的所有同層次的軟件元素,以及該軟件元素的上下文的軟件元 素。
[0016] 上述的Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法,所述源碼樹包括文件、類、全 局函數(shù)、成員函數(shù)。
[0017] 上述的Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法,待分析的Android源碼文件 類型包括· c、· C、· java、· h、· cpp、 .cxx、·hpp〇
[0018] 述的Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法,所述組件規(guī)則包括如下情況:
[0019] (1)、一個(gè)文件夾作為一個(gè)組件,組件名取文件夾名;
[0020] (2)、模塊葉子節(jié)點(diǎn)下包含多個(gè)文件夾,每個(gè)文件夾作為一個(gè)組件;
[0021] (3)、最底層無(wú)源碼文件,刪除組件;
[0022] (4)、單層深入的組件合并,名字命名為包的形式;
[0023] (5)、模塊葉子節(jié)點(diǎn)下包含文件夾和文件并行的情況,文件合并為一個(gè)組件,組件 名為:模塊名+_base,依次類推,再往下層的零散文件合并為"父組件名+_base";
[0024] (6)、模塊葉子節(jié)點(diǎn)下直接包含多個(gè)文件,直接展示文件;
[0025] (7)、提供的數(shù)據(jù)中,某個(gè)模塊葉子對(duì)應(yīng)多條路徑的情況,只存在一個(gè)X_base的情 況,就命名為X_base,存在一個(gè)以上的,按照阿拉伯?dāng)?shù)字在其后編號(hào);
[0026] (8)、關(guān)于.h文件聲明及定義的函數(shù),在倒推文件依賴關(guān)系時(shí),以函數(shù)定義的位置 為準(zhǔn),文件間調(diào)用關(guān)系避免出現(xiàn).h文件。
[0027] 本發(fā)明Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法的優(yōu)點(diǎn)是:Android系統(tǒng)的大 部分結(jié)構(gòu)在升級(jí)過程中不會(huì)大變化,可劃分為多個(gè)模塊,如Application、kernel層,然后 層次下劃分出多個(gè)模塊,模塊下文件夾及文件可作為組件,文件組件下有類或函數(shù)等軟件 元素,依據(jù)doxygen分析工具對(duì)Android源碼進(jìn)行分析,然后對(duì)分析結(jié)果按照軟件元素分類 處理,將關(guān)聯(lián)的關(guān)系及詳細(xì)信息進(jìn)行展示查看。對(duì)于Android系統(tǒng)的廠商在開發(fā)或升級(jí)新 產(chǎn)品時(shí),能夠更方便,快捷的定位漏洞關(guān)聯(lián)問題,使得系統(tǒng)功能更加完善。依據(jù)此系統(tǒng)可以 查看相關(guān)的相關(guān)元素關(guān)聯(lián)信息,如在系統(tǒng)產(chǎn)品漏洞或模塊功能更新的時(shí)候,可追溯所有與 漏洞或模塊功能相關(guān)的軟件元素,實(shí)現(xiàn)全面、準(zhǔn)確的定位,為系統(tǒng)的安全和穩(wěn)定作出更多的 保證。本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。
【附圖說(shuō)明】
[0028] 圖1為Android源碼生成相應(yīng)的組件結(jié)構(gòu)圖;
[0029] 圖2為查看某軟件元素的所有同類型元素間的引用關(guān)系方法示意圖;
[0030] 圖3為某軟件元素的所有同類型元素間的引用關(guān)系展示示意圖;
[0031] 圖4為其中一同類元素查看源碼方法示意圖。
【具體實(shí)施方式】
[0032] 下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明;
[0033] 如圖I、2、3、4所示,一種Android系統(tǒng)源碼漏洞關(guān)聯(lián)影響的追蹤方法,包括如下步 驟:
[0034] -、生成組件
[0035] (1)、人為分析并對(duì)Android源碼劃分多個(gè)層次、模塊,Android系統(tǒng)的大部分結(jié)構(gòu) 在升級(jí)過程中不會(huì)大變化,可劃分為多個(gè)模塊,如Application、kernel層,然后層次下劃 分出多個(gè)模塊,模塊下文件夾及文件可作為組件,文件組件下有類或函數(shù)等軟件元素;
[0036] (2)、掃描Android源碼目錄,將各模塊下的文件夾及文件作為組件,生成多個(gè)相 應(yīng)的組件,定義一套組件規(guī)則;
[0037] 組件規(guī)則一般情況下,一個(gè)文件夾認(rèn)為是一個(gè)組件,組件名取文件夾名,除非遇到 以下幾種情況:
[0038] (1)、模塊葉子節(jié)點(diǎn)下包含多個(gè)文件夾,每個(gè)文件夾作為一個(gè)組件;
[0039] (2)、最底層無(wú)源碼文件,刪除組件,例如: