新四季網

一種Android平臺下手機應用程式的安全漏洞挖掘方法與流程

2023-08-08 06:38:12 1


本發明涉及一種android平臺下手機應用程式的安全漏洞挖掘方法,屬於原始碼檢測領域技術領域。



背景技術:

android是一種以linux為基礎的開放源碼作業系統,主要使用於便攜設備。目前尚未有統一中文名稱,中國大陸地區較多人使用android。android作業系統最初由andyrubin開發,最初主要支持手機。2005年由google收購注資,並聯合多家製造商組成開放手機聯盟開發改良,逐漸擴展到平板電腦及其他領域上。2010年末數據顯示,僅正式推出兩年的android作業系統已經超越稱霸十年的諾基亞symbian系統,躍居全球最受歡迎的智慧型手機平臺。android的主要競爭對手是蘋果的ios,微軟的wp7以及rim的blackberryos。

面對移動智能終端市場日新月異的發展,隨之而來的移動智能終端信息安全問題卻日益凸顯,給國家安全、社會穩定和用戶隱私保護等帶來新的安全隱患。android是目前最流行的智能終端開發平以,依靠google的強大開發和媒體資源,android成為眾多移動智能終端廠商競相追逐的對象。隨意android平臺在智能終端作業系統市場份額的日益增加,android平臺下應用軟體的安全性成為了智能終端安全研究的緊要任務。

由於受到移動智能終端較低的硬體處理能力的限制,移動智能終端上的應用有著體積小、升級快、功能專一等特點,移動智能終端與傳統終端如pc機存在較大區別,pc機上的安全漏洞挖掘技術不能直接應用於智能終端上。目前,android平臺下手機應用程式的漏洞發掘還是個新的領域,開發者一般基於junit框架和androidsdk中android.test等命名空間下對android平臺下手機應用程式的進行測試,專門針對android平臺下手機應用程式的安全漏洞發掘自動化工具還很少。



技術實現要素:

本發明要解決的技術問題在於,提供一種針對android平臺下應用軟體的安全漏洞挖掘自動化方法。

本發明的技術方案如下:一種android平臺下手機應用程式的安全漏洞挖掘方法,包括漏洞規則庫生成單元、字節碼生成文件單元、控制流圖構建單元、數據流圖構建單元、漏洞檢測單元和漏洞報告生成單元,所述的方法包括以下步驟:

步驟一、利用漏洞規則庫生成單元提取多種android平臺下手機應用程式原始碼的漏洞規則,形成漏洞規則庫;

步驟二、利用字節碼生成文件單元針對android平臺下手機應用程式的原始碼構建ant腳本,對步驟(一)所述的原始碼進行編譯,形成字節碼文件;

步驟三、利用控制流圖構建單元責解析所述的字節碼文件,根據所述的字節碼文件中的指令信息構建控制流圖,為不安全方法的定位提供基礎;

步驟四、利用數據流圖構建單元在控制項流圖的基礎上,分析變量中數據的傳遞過程,構建數據流圖,為逆向動態追蹤數據提供基礎;

步驟五、利用漏洞檢測單元根據漏洞規則庫中的規則,調用控制流引擎和數據流引擎,分析不安全方法的調用位置,逆向動態追蹤變量中的數據傳遞過程,進行漏洞檢測;

步驟六、利用漏洞報告生成單元將挖掘的安全漏洞過程及相關數據信息生成報告。

方法所述的步驟(二)與步驟(三)之間還包括:判斷編譯是否成功,若編譯成功,則進入步驟(三),並將編譯後的字節碼文件存放在與原始碼同級目錄下;若編譯不成功,則通過漏洞報告部件編譯不成功原因。

方法所述的步驟(五)與步驟(六)之間還包括:判斷逆向動態追蹤變量中的數據是否進行過安全驗證操作,如果進行過安全驗證操作,放棄追蹤,如果未進行過安全驗證操作,則判斷該數據的方法調用處存在安全漏洞,隨即進入步驟(六)。

所述的控制流引擎至少有一個。

所述的數據流引擎至少有一個。

所述的字節碼生成文件單元與控制流圖構建單元之間包括編譯判斷單元。

所述的漏洞檢測單元與漏洞報告生成單元之間包括安全驗證單元。

實施本發明的一種android平臺下手機應用程式的安全漏洞挖掘方法和裝,具有以下有益的技術效果:

該技術從android平臺下手機應用程式的原始碼入手,分析安全漏洞產生的機理,挖掘軟體中存在的安全漏洞。本發明方法關注android平臺下手機應用程式原始碼中的不安全方法的使用和程序外部輸入的數據,通過構建android平臺下手機程序的原始碼中方法的控制流圖、數據流圖,逆向追蹤程序外部數據的輸入,挖掘android平臺下應用軟體的安全漏洞。

從問題的源頭開始關注android平臺下手機應用程式的安全,及早發現軟體中存在的安全漏洞,有利於android平臺下應用軟體的安全開發。

附圖說明:

圖1是本發明流程圖;

圖2是本發明各部件結構圖;

圖3是本發明模塊方框圖。

具體實施方式

下面結合附圖對本發明作進一步詳述。

為詳細說明本發明的技術內容、構造特徵、所實現目的及效果,以下結合實施方式並配合附圖1-3作詳細說明。

請參閱圖1,本發明實施例一種android平臺下手機應用程式的安全漏洞挖掘方法,包括:

s1.提取多種android平臺下應用軟體原始碼的漏洞方法,形成漏洞規則庫;

漏洞規則庫部件:本發明針對androidsdk進行深入研究,提取出大量可能產生的漏洞的方法,進行整理最終形成漏洞規則庫,為檢測器部件進行漏洞分析提供基礎。

s2.針對android平臺下手機應用程式的原始碼構建ant腳本,以所述的原始碼進行編譯,形成字節碼文件;

s21.判斷編譯是否成功,若是,進入步驟s22,將編譯後的字節碼文件存放在與原始碼同級目錄下,為後續的分析、檢測提供便利:若否,進入步驟s23,通過漏洞報告部件報告編譯不成功原因。

步驟s2及s21屬於安全漏洞挖掘的預處理部件完成的步驟。

s3.控制流分析引擎負責解析經過所述的字節碼文件,根據所述的字節碼文件中的指令信息構建控制流圖,為不安全方法的定位提供基礎;

對android平臺下手機應用程式的字節碼進行安全漏洞模式掃描,並確定代碼中不安全方法調用的位置。

s4.數據流分析引擎是在所述的控制流圖的基礎上,分析變量中的傳遞過程,構建數據流圖,為逆向動態追蹤數據提供基礎;

步驟s3及s4中控制流分析引擎及數據流分析引擎共同組成分析引擎部件。

對掃描後不安全方法中的變量進行逆向數據流分析。

s5.根據所述漏洞規則庫中的規則,調用所述的控制流引擎和數據流引擎,分析不安全方法的調用位置,逆向追蹤變量中數據的傳遞過程,進行漏洞檢測;

步驟s5為檢測器部件完成的動作。

s51.判斷逆向追蹤變量中的數據是否進行過安全驗證操作,如果是,進入步驟s52:放棄追蹤,如果否,進入步驟s53:該數據的方法調用處存在安全漏洞,進入步驟s6。

s6.將挖掘的安全漏洞過程及相關數據信息生成報告。

所述的控制流分析引擎具有多個。所述的數據流分析引擎具有多個。

請參閱圖2,本發明實施例一種android平臺下手機應用程式的安全漏洞挖掘各部件結構圖。android平臺下手機程序原始碼經過預處理器後進入多個分析引擎多個檢測器進行數據交換,以挖掘漏洞,並從android平臺下手機應用程式漏洞規則調用規則,形成檢測結果加以顯示。

請參閱圖3、一種android平臺下手機應用軟體的安全漏洞挖掘模塊,用於實現上述的方法,包括:漏洞規則庫生成單元10、字節碼生成單元20、編譯判斷單元25、控制流圖構建單元30、數據填充圖構建單元40、漏洞檢測單元50、安全驗證單元55、漏洞報告生成單元60。

漏洞規則庫生成單元10:提取多種android平臺下手機應用程式的漏洞規則,形成漏洞規則庫;

字節碼生成文件單元20:針對android平臺下手機應用程式的原始碼構建ant腳本,對所述的原始碼進行編譯,形成字節碼文件;

控制流圖構建單元30:與字節碼生成文件單元20相連,用於控制流分析引擎負責解析經過所述的字節碼文件,根據所述的字節碼文件中的指令信息構建控制流圖,為不安全方法的定位提供基礎;

數據流圖構建單元40:數據流分析引擎是在所述的控制流圖的基礎上,分析變量中數據的傳遞過程,構建數據流圖,為逆向動態追蹤數據提供基礎;

漏洞檢測單元50:與數據流圖構建單元40相連,用於根據所述漏洞規則庫中的規則,調用所述的控制流引擎和數據流引擎,分析不安全方法的調用位置,逆向追蹤變量中數據的傳遞過程,進行漏洞檢測;

漏洞報告生成單元60:將挖掘的安全漏洞過程及相關數據信息生成報告。

還包括設置於字節碼生成文件單元與控制流圖構建單元間的用於判斷編譯是否成功的編譯判斷單元25,還包括設置於漏洞檢測單元與漏洞報告生成單元間的安全驗證單元55。

進一步地,所述的數據流分析引擎及控制流分析引擎均具有多個,且安置於多具分析引擎中。

由此,可以看出,本發明的目的是提供一種採用原始碼靜態分析技術挖掘android平臺下手機應用程式的安全漏洞的技術,該技術從android平臺下手機應用程式的原始碼入手,分析安全漏洞產生的機理,挖掘軟體中存在的安全漏洞。本發明方法關注android平臺下手機應用程式原始碼中的不安全方法的使用和程序外部輸入的數據,通過構建android平臺下手機程序的原始碼中方法的控制流圖、數據流圖,逆向追蹤程序外部數據的輸入,挖掘android平臺下應用軟體的安全漏洞。

實施本發明的一種android平臺下應用軟體的安全漏洞挖掘方法和裝置,具有以下有益的技術效果:

從問題的源頭開始關注android平臺下手機應用程式的安全,及早發現軟體中存在的安全漏洞,有利於android平臺下應用軟體的安全開發。

上面結合附圖對本發明的實施例進行了描述,但是本發明並不局限於上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領域的普通技術人員在本發明的啟示下,在不脫離本發明宗旨和權利要求所保護的範圍情況下,還可做出很多形式,這些均屬於本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀