国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

分析Android應(yīng)用中SQL注入漏洞靜態(tài)檢測方法

2018-08-28 06:50
長治學(xué)院學(xué)報 2018年2期
關(guān)鍵詞:污點漏洞靜態(tài)

楊 芬

(長治職業(yè)技術(shù)學(xué)院 信息工程系,山西 長治 046000)

在網(wǎng)絡(luò)技術(shù)發(fā)展的背景下,Android智能手機得以廣泛應(yīng)用,而且越來越多的應(yīng)用系統(tǒng)融入到Android官方網(wǎng)站之中,但是,在一些軟件發(fā)展中并沒有采用安全性的檢測技術(shù),導(dǎo)致在軟件系統(tǒng)使用的過程中出現(xiàn)安全漏洞問題,為用戶帶來安全風(fēng)險。因此,在網(wǎng)絡(luò)系統(tǒng)運行中,為了保障用戶使用信息資源的安全性,應(yīng)該合理分配Android系統(tǒng)中的應(yīng)用程序,并通過獨立、虛擬的網(wǎng)絡(luò)環(huán)境,為用戶營造良好的應(yīng)用環(huán)境。在Android應(yīng)用中,可以為用戶提供靈活的通信機制,通過對通信系統(tǒng)方法的整合,進行用戶之間的信息傳遞,從而滿足信息的傳播需求。在Android應(yīng)用中,其安全程序是指在Android應(yīng)用程序的周期內(nèi),保障數(shù)據(jù)的有效性、完整性及安全性、隱私性。但是,無論對于何種系統(tǒng),都存在著漏洞形式,通過SQL注入漏洞靜態(tài)檢測方法的運用,可以提高系統(tǒng)運行的安全性。

1 Android應(yīng)用中漏洞分析

Android系統(tǒng)在運行的過程中,會為自身系統(tǒng)提供一定的保障價值,在權(quán)限機制整合的同時,實現(xiàn)對Android系統(tǒng)安全機制的確定,而且,在不同手機中Android系統(tǒng)都存在著不同的權(quán)限,實現(xiàn)對用戶系統(tǒng)數(shù)據(jù)資源的保護,避免資源濫用現(xiàn)象的發(fā)生。但是,在Android應(yīng)用系統(tǒng)中,并不是每個權(quán)限都是完備的,因此,系統(tǒng)開發(fā)中應(yīng)該認識到這一因素,通過對漏洞現(xiàn)象的問題,進行數(shù)據(jù)資源的整合。圖1所示為Android應(yīng)用系統(tǒng)中權(quán)限泄露漏洞。應(yīng)用A作為Android設(shè)備中已經(jīng)安裝的應(yīng)用,當(dāng)申請Send_SMS權(quán)限時,需要向SMS發(fā)送請求,并暴露這項服務(wù);而B作為一個惡意程序,會按照Android的權(quán)限設(shè)置問題,破壞所申請的信息,從而導(dǎo)致發(fā)送的信息沒有得到安全保護,嚴重的會對用戶的財產(chǎn)安全造成影響。

圖1 Android應(yīng)用權(quán)限泄露漏洞

2 Android應(yīng)用中SQL注入漏洞靜態(tài)檢測方法

2.1 靜態(tài)分析中的SQL

在Android系統(tǒng)運用的過程中,為了實現(xiàn)對數(shù)據(jù)代碼的靜態(tài)化檢測,需要通過對用戶程序以及結(jié)構(gòu)進行靜態(tài)化分析,從而使數(shù)據(jù)結(jié)構(gòu)代碼得到展現(xiàn)。為了在數(shù)據(jù)分析檢測中擴大數(shù)據(jù)的使用范圍,靜態(tài)分析中會采用Android系統(tǒng)中的字節(jié)碼文件[1]。如圖2所示,整個分析過程應(yīng)該做到:第一,對程序靜態(tài)進行分析,體現(xiàn)控制流分析、數(shù)據(jù)流分析技術(shù)的運用;第二,將Android系統(tǒng)中注入SQL漏洞檢測技術(shù),然后按照檢測流程進行檢測方法的執(zhí)行。在檢測中對于所引用的jar文件,需要進行字節(jié)碼的控制,流程控制中需要對單個詞語、指令以及函數(shù)進行順序的調(diào)用,并通過對控制流的確定,進行控制流程圖的設(shè)計。在控制流程圖選擇中,需要通過對基本塊以及基本執(zhí)行關(guān)系的分析,進行流程的控制。在基礎(chǔ)控制流約束法使用中,可以在基本塊之內(nèi),將語句輸出數(shù)據(jù)輸出,進入到下一流程。在流程控制中,需要對每個SQL參數(shù)進行位置及參數(shù)的確定。最后使用定位程序進行SQL方法的選擇,合理調(diào)整靜態(tài)污點的分析功能,并對SQL參數(shù)進行數(shù)據(jù)的輸入及輸出,完善系統(tǒng)程序的檢查機制[2]。

圖2 靜態(tài)分析中的SQL流程圖

2.2 針對SQL注入漏洞靜態(tài)檢測進行污點分析

2.2.1 特殊數(shù)據(jù)的污點傳播

在特殊數(shù)據(jù)的污點傳播中,應(yīng)該認識到系統(tǒng)傳播的規(guī)律性。例如,在外部輸入數(shù)據(jù)中,一些程序會直接選擇字符進行儲存及修改,但是,也有一些數(shù)據(jù)會使用特定的程序進行數(shù)據(jù)的儲存。因此,在對結(jié)構(gòu)狀態(tài)整合及分析中,應(yīng)該將資源作為一個整體結(jié)構(gòu)進行處理,然后將污點數(shù)據(jù)傳遞給數(shù)組元素,將其標記為污染。改組中的所有數(shù)據(jù)都會被污染傳播,數(shù)組結(jié)構(gòu)污點傳播規(guī)則如下:

(1).String[]spreadArray=new String[2];

(2).spreadArray[0]=“constant”;

(3).spreadArray[1]=taintStr;

(4).String str=spreadArray[0];

2.2.2 Collection接口以及Map接口

通過對Android系統(tǒng)運用狀況的分析可以發(fā)現(xiàn),Java中對語言系統(tǒng)進行定義,并確定了Collection接口以及Map接口。開發(fā)者在對數(shù)據(jù)分析中,需要整合復(fù)雜性的項目確定,從而實現(xiàn)復(fù)雜數(shù)據(jù)的整合及分析。在該種檢測方法確定中,系統(tǒng)會針對污點進行傳播,而且在傳播中污點傳播方法與數(shù)組類型存在著一定的相似性。對于這種狀況,只需要將污點數(shù)據(jù)傳遞給結(jié)構(gòu)體,即可將整個結(jié)構(gòu)視為污染,從而實現(xiàn)對污染信息的計算[3]。

2.3 傳播污點檢測

2.3.1 傳播過程的污點傳播

在對過程內(nèi)污點傳播中,其方法主要是在單位時間內(nèi)進行的,該種方法利用中,需要對污點數(shù)據(jù)進行污點信息的確定。因此,在整個過程中應(yīng)該做到以下幾點內(nèi)容:第一,對初始化的污點數(shù)據(jù)進行整合,然后將污點信息進行傳播,確定外部傳輸?shù)姆椒?、變量以及污點數(shù)據(jù),并通過對指令類型進行操作;第二,在對變量讀取的過程中,需要及時記錄變量中的污點信息;第三,在對普通賦值指令分析中,應(yīng)該結(jié)合當(dāng)前變量內(nèi)容,進行污點數(shù)據(jù)的集中處理;第四,針對特殊性的數(shù)據(jù)內(nèi)容,需要進行指令的讀寫,然后實現(xiàn)污點信息的實時性傳輸;第五,在對返回指令分析中,需要記錄數(shù)據(jù)參數(shù),然后輸出整個污點數(shù)據(jù),其基本算法如表1所示。

表1 污點數(shù)據(jù)集算法

2.3.2 傳播過程間的傳播方法

在過程間污點傳播中,需要通過對過程內(nèi)污點傳播方法的分析,對傳播的參數(shù)以及返回值信息進行確定,并及時記錄相關(guān)參數(shù)[4]。檢測中,系統(tǒng)會對被調(diào)用的闡述進行確定,若發(fā)現(xiàn)數(shù)據(jù)為之前掃描過的需要利用之前方法,與之相反的需要將闡參數(shù)的污點信息傳遞給被調(diào)用方法,然后將其返回值的污點進行該種調(diào)用方法的確定。

2.4 合法信息檢測方法

2.4.1 參數(shù)法

參數(shù)法在很多數(shù)據(jù)庫中得以運用。該種技術(shù)會使系統(tǒng)在執(zhí)行SQL語句時對SQL進行編譯,然后將其參數(shù)進行帶入。在一些惡性參數(shù)檢測中,也可以避免程序的執(zhí)行,從而提高Android應(yīng)用系統(tǒng)的穩(wěn)定性。

2.4.2 白名單驗證方法

在項目開發(fā)著的信息整合中,雖然一些參數(shù)不會導(dǎo)致SQL出現(xiàn)漏洞,但是也需要在程序運行之前進行數(shù)據(jù)庫項目的操作,充分保證系統(tǒng)運行的安全性[5]。例如,在Pattern.matcher系統(tǒng)中,需要與程序模塊進行匹配,或是通過String方法的使用,進行數(shù)據(jù)整合闡述的判斷,及時分析敏感字符,從而實現(xiàn)對系統(tǒng)數(shù)據(jù)的有效整合。若在系統(tǒng)運行中執(zhí)行了白名單驗證方法,需要將檢測的數(shù)據(jù)庫污點參數(shù)進行分析,以便提高SQL檢測方法的合法性。

2.4.3 敏感字符的轉(zhuǎn)化

在Android系統(tǒng)運行的過程中,當(dāng)出現(xiàn)敏感詞匯問題時,通過SQL漏洞檢測方法的運用,可以實現(xiàn)對敏感詞匯的轉(zhuǎn)換。在轉(zhuǎn)化中需要使用replace的檢測方法,也就是系統(tǒng)通過對敏感詞匯的確定,進行敏感字符的過濾及轉(zhuǎn)義。這種操作方法可以被認為是合法性的項目檢驗。

3 結(jié)束語

總而言之,在Android應(yīng)用系統(tǒng)的SQL注入漏洞靜態(tài)檢測方法確定中,應(yīng)該通過對安全分析框架的分析,進行靜態(tài)檢測方法的確定,實現(xiàn)對動態(tài)框架分析不足問題的彌補。而且,該種檢測也可以為用戶提供安全性的數(shù)據(jù)保障信息,并對數(shù)據(jù)采用加固的處理方法,實現(xiàn)對數(shù)據(jù)信息的逆向化分析,提高SQL注入漏洞靜態(tài)檢測的有效性。通過檢測及時發(fā)現(xiàn)Android應(yīng)用系統(tǒng)中的漏洞問題,并針對相關(guān)問題進行技術(shù)的構(gòu)建,從而提高數(shù)據(jù)分析的精確性,為Android用戶營造良好的軟件使用環(huán)境。

猜你喜歡
污點漏洞靜態(tài)
漏洞
基于代碼重寫的動態(tài)污點分析
最新進展!中老鐵路開始靜態(tài)驗收
靜態(tài)隨機存儲器在軌自檢算法
污點
使用Lightroom污點去除工具清理照片中的瑕疵
三明:“兩票制”堵住加價漏洞
漏洞在哪兒
高鐵急救應(yīng)補齊三漏洞
具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器