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

?

輸入驗證漏洞檢測中的疑點標記和傳播方法研究

2016-05-23 01:39:15許慶光劉峻宇
關(guān)鍵詞:傳播路徑

許慶光,李 強,余 祥,劉峻宇

(合肥電子工程學(xué)院 網(wǎng)絡(luò)工程系,安徽 合肥 230037)

輸入驗證漏洞檢測中的疑點標記和傳播方法研究

許慶光,李強*,余祥,劉峻宇

(合肥電子工程學(xué)院 網(wǎng)絡(luò)工程系,安徽 合肥230037)

摘要:研究基于靜態(tài)污點分析技術(shù)可用于輸入驗證漏洞檢測的疑點分析方法以及疑點標記和疑點傳播路徑問題,定義疑點源、疑點傳播路徑概念和疑點屬性的4個狀態(tài),制定疑點屬性狀態(tài)間的轉(zhuǎn)換規(guī)則,設(shè)計疑點源標記與疑點傳播路徑獲取算法.實驗結(jié)果表明,該方法能夠較準確地標記程序中的疑點源并獲取其在程序中的傳播路徑.

關(guān)鍵詞:輸入驗證漏洞;漏洞檢測;靜態(tài)分析;傳播路徑

隨著社會信息化程度的日益提高,軟件應(yīng)用范圍越來越廣,人們對軟件的依賴程度也越來越高,軟件安全性問題也就越來越受到人們的關(guān)注.根據(jù)中國國家信息安全漏洞庫統(tǒng)計,2014年每月新增安全漏洞數(shù)在600個左右.在眾多安全漏洞中,應(yīng)用軟件誘發(fā)的安全漏洞占所有漏洞的68%左右,輸入驗證漏洞在其公布的20多種漏洞類型中始終居高不下,如表 1所示.

表1 2014年每月輸入驗證漏洞數(shù)量與排名統(tǒng)計表

輸入驗證漏洞是指在沒有對外部輸入數(shù)據(jù)進行驗證的前提下、對該數(shù)據(jù)進行安全敏感的使用所引發(fā)的安全性問題[1].輸入驗證漏洞形成的根源就是軟件中對各種輸入操作沒有進行驗證或是驗證不完備.輸入驗證漏洞引發(fā)的跨站腳本、SQL注入等漏洞攻擊導(dǎo)致數(shù)億用戶資料外泄和財產(chǎn)損失的現(xiàn)象比比皆是.因此,需要對應(yīng)用軟件中存在的輸入驗證漏洞進行檢測.可用于輸入驗證漏洞檢測的方法有:基于軟件需求規(guī)格說明的安全測試、基于程序切片的漏洞檢測、基于安全漏洞規(guī)則的漏洞檢測[2-8].

1疑點分析方法

基于軟件需求規(guī)格說明的安全測試、基于程序切片的漏洞檢測和基于安全漏洞規(guī)則的漏洞檢測的3種方法可以通過程序源碼的分析對輸入驗證漏洞進行檢測.分析程序源碼,將程序源碼的語法、語義特征、數(shù)據(jù)源、數(shù)據(jù)流向視為程序?qū)傩?通過這些屬性,采用某種分析方法,即可實現(xiàn)對輸入驗證漏洞的檢測,這就是靜態(tài)污點分析技術(shù).

靜態(tài)污點分析技術(shù)是通過對軟件接收的不可信數(shù)據(jù)屬性的標記,跟蹤不可信數(shù)據(jù)的輸入,記錄不可信數(shù)據(jù)的流向,跟蹤其在程序中的傳播,采用某種分析方法得到違反規(guī)則或者相應(yīng)約束的脆弱性代碼的一種信息流追蹤與分析技術(shù)[9-10].

疑點分析方法是通過標記軟件接收的未經(jīng)驗證或驗證不充分的輸入數(shù)據(jù)屬性,記錄該輸入數(shù)據(jù)的流向,跟蹤其在程序中的傳播等過程檢測輸入驗證漏洞的一種方法.以程序接收疑點源的語句為起點,以疑點在程序中最后一次被執(zhí)行為終點的語句執(zhí)行路徑稱為疑點傳播路徑.需要說明的是,這里的“疑點”是指起點處疑點源傳播的疑點,而不是其他疑點源傳播的疑點.疑點分析方法包括:疑點源標記方法、疑點傳播路徑獲取方法、輸入驗證漏洞檢測方法.

2輸入驗證漏洞檢測中的疑點標記

2.1疑點源的確定

疑點源是指可能引起程序產(chǎn)生各類安全問題的數(shù)據(jù)來源[11],包括人機界面的輸入、程序間傳遞的數(shù)據(jù)、數(shù)據(jù)庫檢索的數(shù)據(jù)、存儲介質(zhì)讀取的數(shù)據(jù)、通過網(wǎng)絡(luò)接收的數(shù)據(jù)等.未經(jīng)驗證的輸入都被認為是不可信數(shù)據(jù),即為疑點源,輸入函數(shù)的參數(shù)是疑點的主要來源.

疑點源標記算法是在程序流程圖的基礎(chǔ)上對程序中輸入的變量進行疑點源標記的方法,對其進行算法描述如下:

算法1疑點源標記算法

1.fc.id=get-id(fc);//獲取輸入FC的ID.

2.startpoint=get-start(fc.id);//訪問FC的開始端點.

3.currentpoint=get-next(fc.id);//獲取FC中的下一個圖元.

4.if currentpoint==IO//如果當前圖元為輸入輸出框.

5.get-sem(currentpoint);//獲取當前圖元的語義.

6.if sem(currentpoint)==IN//若當前圖元表示輸入.

7.vi=get-input(currentpoint);//獲取輸入的變量名稱.

8.mark-vi=;//將輸入的變量標記為疑點源.

9.else return step3;//返回第3步.

10. else if sem(currentpoint)==END;//當前圖元是否為結(jié)束端點.

11. the algorithm is end;//算法結(jié)束.

12.else.

13. return step3;//返回第3步.

以上疑點源標記算法是識別程序流程圖中的輸入圖元并將其輸入的變量標記為疑點源的方法,疑點源在程序中傳播的過程中,其疑點屬性狀態(tài)的變化根據(jù)2.3節(jié)中的疑點屬性狀態(tài)間的轉(zhuǎn)換規(guī)則進行.

2.2疑點屬性的標記

確定了疑點源后,應(yīng)對疑點數(shù)據(jù)在程序中的傳播進行分析,需要對疑點數(shù)據(jù)進行疑點屬性的標記,確定疑點屬性狀態(tài).變量x的疑點屬性狀態(tài)表示為:初始狀態(tài)(initial)、凈化狀態(tài) (untainted)、污染狀態(tài)(tainted)、警報狀態(tài)(alerted)4個屬性特征狀態(tài).程序中變量的各個疑點屬性的狀態(tài)變化可用UML(unified modeling language)統(tǒng)一建模語言中的狀態(tài)圖來表示[12],如圖1所示.

2.3疑點屬性狀態(tài)間的轉(zhuǎn)換

將疑點分析方法用于輸入驗證漏洞檢測中,不僅要關(guān)注疑點數(shù)據(jù)的引入,更重要的是發(fā)現(xiàn)疑點數(shù)據(jù)的傳播和影響范圍[13-15].

定義疑點屬性在程序變量之間傳播,?vr、vt,當且僅當vr,vt∈V,并且vr到vt之間存在信息流.其中:V是包含程序中的變量實體集.

疑點傳播路徑中疑點屬性的轉(zhuǎn)換是通過程序中的賦值、運算、函數(shù)調(diào)用以及條件分支等操作來實現(xiàn)的,這些操作遵循如下規(guī)則:一是源規(guī)則TI(taint-import).源規(guī)則定義了不可信的數(shù)據(jù)進入程序中的位置,通過程序中的各類輸入函數(shù)將不可信數(shù)據(jù)引入程序中,包括scanf()類、cin類、Updatedata(TRUE)、read()類、recv()類、gets()類等輸入函數(shù).源規(guī)則有:變量未經(jīng)驗證被賦值,表示為TI.二是依賴規(guī)則TD(taint-deliver).依賴規(guī)則定義了程序中的操縱疑點數(shù)據(jù)的方式,以賦值、運算、函數(shù)調(diào)用以及條件分支等形式對疑點數(shù)據(jù)進行操作,其疑點屬性也隨之發(fā)生轉(zhuǎn)換.依賴規(guī)則包括:污染狀態(tài)變量未經(jīng)驗證傳遞給其他變量、凈化狀態(tài)變量經(jīng)過操作后被污染、凈化狀態(tài)變量傳遞給其他變量,分別表示為TD1、TD2、TD3.三是凈化規(guī)則TF(taint-filter).凈化規(guī)則定義了程序中對疑點數(shù)據(jù)的輸入驗證操作,經(jīng)過輸入驗證后的疑點數(shù)據(jù),其疑點屬性轉(zhuǎn)換為凈化狀態(tài).凈化規(guī)則包括:污染狀態(tài)變量經(jīng)過驗證后被凈化、初始狀態(tài)變量經(jīng)過驗證后被賦值,分別表示為TF1、TF2.四是警報規(guī)則TA(taint-alert).警報規(guī)則定義了當疑點數(shù)據(jù)在程序中被用于危險的操作時即發(fā)出漏洞警報,危險函數(shù)包括數(shù)據(jù)庫查詢、執(zhí)行系統(tǒng)命令、修改注冊表、地址轉(zhuǎn)移、系統(tǒng)調(diào)用、執(zhí)行系統(tǒng)命令、輸出信息等各類安全敏感的函數(shù).警報規(guī)則有:污染狀態(tài)變量被危險函數(shù)使用,表示為TA.在疑點屬性標記上定義的4個狀態(tài)之間在上述規(guī)則下可以相互轉(zhuǎn)化,如圖2所示.

圖1 疑點屬性狀態(tài)圖

圖2 疑點屬性狀態(tài)轉(zhuǎn)換圖

3疑點傳播路徑的獲取

根據(jù)源疑點數(shù)據(jù)(res)和目的疑點數(shù)據(jù)(tar)之間的傳播關(guān)系,疑點傳播路徑可以分為數(shù)值依賴傳播路徑和結(jié)構(gòu)依賴傳播路徑.通過變量實體間的賦值、函數(shù)調(diào)用等操作而產(chǎn)生的傳播路徑稱為數(shù)值依賴傳播路徑;通過程序變量實體間控制條件分支的選擇,以源疑點數(shù)據(jù)(res)作為判斷條件,決定程序條件分支執(zhí)行路徑確定目的疑點數(shù)據(jù)(tar)值而形成的傳播路徑,稱為分支結(jié)構(gòu)依賴傳播路徑,簡稱結(jié)構(gòu)依賴傳播路徑.

3.1數(shù)值依賴傳播路徑獲取算法

數(shù)值依賴傳播路徑獲取算法的功能是基于程序流程圖,獲取疑點在程序中的數(shù)值依賴傳播路徑.

3.1.1算法描述

算法2數(shù)值依賴傳播路徑獲取算法

1.訪問程序的一個疑點源,獲取其在程序流程圖中的位置,并標記疑點源為taint(R).

2.訪問所有taint(R)直接參與的數(shù)值依賴運算,并將其返回值標記為taint(R,i),R表示taint(R,i)是由taint(R)數(shù)值依賴運算得到的,i從1到n,表示第i個由taint(R)參與運算的返回值:

2.1.獲得當前語句的類型(TARi表示多個目的疑點數(shù)據(jù)tar的最終值);

2.2.獲得該語句中的源數(shù)據(jù)的疑點屬性;

2.3.若語句類型為簡單計算功能的語句,包括賦值或者簡單線性運算,則目標數(shù)據(jù)的疑點屬性與源數(shù)據(jù)相同;

2.4.若語句類型為函數(shù)調(diào)用的語句,res為調(diào)用的參數(shù),tar表示返回值,如果tar表示res作用是否成功,其值可能為0,1,則與res疑點屬性無關(guān);如果tar由res變化而來則目標數(shù)據(jù)的疑點屬性與源數(shù)據(jù)相同;

2.5.若語句為執(zhí)行輸入驗證功能的語句,則經(jīng)過輸入驗證后,tar的疑點屬性為untainted.

3.訪問taint(R,i)直接參與的數(shù)值依賴運算,并將其返回值標記為taint(R,i,j),R和i的含義同第2步,j從1到n,表示第j個由taint(1,i)參與運算的返回值.

4.按照第2、3步中的方法遍歷函數(shù)流程圖,直至路徑終點,該條路徑終止,按照廣度優(yōu)先算法的思想繼續(xù)訪問下一個節(jié)點.

5.當所有以taint(R)為源節(jié)點的疑點傳播路徑都傳播至路徑終點時,對于疑點taint(R)的數(shù)值依賴傳播算法結(jié)束,其疑點傳播有效路徑用疑點的標記表示為:taint(R)→taint(R,i)→taint(R,i,j) →taint(R,i,j,k)→taint(R,i,j,k,l).

算法2中,若有疑點參與的數(shù)值依賴運算發(fā)生在一個函數(shù)內(nèi),則根據(jù)本函數(shù)流程圖跟蹤疑點傳播路徑;若有疑點參與的數(shù)值依賴運算發(fā)生在同一個類的不同函數(shù)之間,則展開函數(shù)調(diào)用關(guān)系,再根據(jù)各個函數(shù)的流程圖跟蹤疑點傳播路徑;若有疑點參與的數(shù)值依賴運算發(fā)生在不同類之間,則展開類之間的使用關(guān)系圖,再按需展開類中函數(shù)之間的調(diào)用關(guān)系,再根據(jù)各個函數(shù)的流程圖跟蹤疑點傳播路徑.

以程序流程圖表示源碼的程序結(jié)構(gòu),對于每一個標記的疑點源,其在程序流程圖中傳播的次數(shù)與其在程序中參與數(shù)據(jù)依賴傳播的語句數(shù)n成正比,故對于一個疑點源來說,其執(zhí)行算法2的時間復(fù)雜度是Ο(n).對于程序中標記的m個疑點源來說,其執(zhí)算法2的時間復(fù)雜度是Ο(m*n).算法2的應(yīng)用如例1所示.

3.1.2一個示例

例1IOCheck軟件包中的一段代碼:

1.string str,str1;

//str1為str的副本,在str1上實現(xiàn)操作,然后再映射到str上

2.while(true)

3.{cout?"輸入字符串(可輸入一行任意多個字符): ";

4.getline(cin,str);

5.str1=str;//建立str的一個copy

6.system(str1);//執(zhí)行系統(tǒng)命令}

該段代碼的功能是對輸入字符串的函數(shù)調(diào)用,其流程如圖3所示.

圖3 IOCheck軟件示例代碼的流程圖及疑點傳播示意圖

根據(jù)算法1、2可得疑點源為str,第1行,變量str和str1的疑點屬性都是initial(初始狀態(tài));第5行,將輸入的字符串未經(jīng)任何驗證賦值給了str,str的疑點屬性變?yōu)閠ainted(污染狀態(tài));第6行,通過賦值語句str1=str,str將tainted(污染狀態(tài))傳播至str1;第7行,具有污染狀態(tài)屬性的str1又被system()函數(shù)調(diào)用,成為警報狀態(tài),這樣就形成了由疑點源str為起點的疑點傳播路徑,用程序語句行號表示疑點傳播路徑:1→4→5→6.

3.2結(jié)構(gòu)依賴傳播路徑獲取算法

結(jié)構(gòu)依賴傳播路徑獲取算法的功能是基于程序流程圖,跟蹤由于分支結(jié)構(gòu)依賴引起的疑點傳播,獲取疑點在程序中的結(jié)構(gòu)依賴傳播路徑.

3.2.1算法描述

算法3結(jié)構(gòu)依賴傳播路徑獲取算法

1.訪問程序的一個疑點源,獲取其在程序流程圖中的位置,并標記疑點源為taint(R).

2.訪問所有taint(R)參與的結(jié)構(gòu)依賴運算,在結(jié)構(gòu)依賴的各個分支中新引入的不可信數(shù)據(jù)標記為taint(R-i);i從1到n,表示結(jié)構(gòu)依賴于taint(R)的第i個疑點.

2.1.獲取目的數(shù)據(jù)的匯合點TARi;

2.2.若TARi的值在匯合前存在兩個不同的值,則TARi被標記為污染狀態(tài);

2.3.若TARi的值在匯合前所有條件分支的值均相同,則目標數(shù)據(jù)在匯合點處為常量,被標記為凈化狀態(tài).

3.訪問所有taint(R-i)參與的結(jié)構(gòu)依賴運算,在結(jié)構(gòu)依賴的各個分支中新引入的不可信數(shù)據(jù)標記為taint(R-i-j);i的含義同第2步,j從1到n,表示結(jié)構(gòu)依賴于taint(R-i)的第j個疑點.

4.按照第2、3步中的方法遍歷函數(shù)流程圖,直至訪問完所有taint(R)經(jīng)過1次或多次參與的結(jié)構(gòu)依賴運算,算法結(jié)束.若算法結(jié)束時的疑點標記為taint(R-i-j-k-l),則結(jié)構(gòu)依賴疑點傳播路徑用疑點的標記表示為taint(1)→ taint(R-i)→ taint(R-i-j)→ taint(R-i-j-k)→ taint(R-i-j-k-l).

5.對于每個新增加的疑點,采用數(shù)值依賴疑點傳播路徑算法繼續(xù)獲取程序中的疑點傳播路徑.

算法3中,以程序流程圖表示源碼的程序結(jié)構(gòu),對于每一個標記的疑點源,其在程序流程圖中傳播的次數(shù)與其在程序中參與條件依賴傳播的語句數(shù)n成正比,同時還跟條件分支數(shù)m成正比,故對于一個疑點源來說,其執(zhí)行疑點屬性顯式傳播算法的時間復(fù)雜度是Ο(m*n).對于實際的軟件開發(fā)程序來講,結(jié)構(gòu)依賴傳播的分支和傳播的次數(shù)都比較小,所以其時間復(fù)雜度是可以接受的.算法3的應(yīng)用如例2所示.

3.2.2一個示例

例2BankSystem軟件包中的一段代碼:

1.CString strUserName,m-strPin,strSQL;//定義用戶名、密碼及數(shù)據(jù)庫查詢語句

2.UpdateData(TRUE);//將數(shù)據(jù)更新到變量

3.if(strUserName=="admin")//根據(jù)用戶名判斷是否是管理員,對不同的數(shù)據(jù)庫表進行查詢

4.{strSQL.Format("select * from ADMINTABLE where USERNAME=‘%s’",strUserName);}

5.else

6.{strSQL.Format("select * from USERTABLE where USERNAME=‘%s’",strUserName);}

7.g-dataoperate.Operate(strSQL);//執(zhí)行數(shù)據(jù)庫查詢語句

該段代碼的功能是通過輸入用戶名字符串構(gòu)造數(shù)據(jù)庫查詢語句,其流程如圖4所示.

圖4 BankSystem 軟件示例代碼的流程圖

根據(jù)算法1、3可得疑點源為m-strPin、m-strUserName.第1行,變量m-strPin、m-strUserName和strSQL的疑點屬性都是初始狀態(tài);第2行,將輸入的內(nèi)容未經(jīng)任何驗證賦值給了m-strPin和m-strUserName,然后m-strPin和m-strUserName的疑點屬性變?yōu)槲廴緺顟B(tài);第3行,根據(jù)輸入的用戶名的不同,在第4行和第6行分別對strSQL進行了賦值,但是兩條分支的賦值結(jié)果是不同的,所以strSQL的疑點屬性變?yōu)槲廴緺顟B(tài);在第7行,具有污染狀態(tài)屬性的strSQL又被Operate()函數(shù)調(diào)用成為警報狀態(tài),這樣就形成了由疑點源m-strUserName為起點的疑點傳播路徑,用程序語句行號表示疑點傳播路徑:1→2→4→7和1→2→6→7,如圖5所示.

圖5 例2中疑點傳播示意圖

根據(jù)算法2、3生成的疑點傳播路徑中由源疑點數(shù)據(jù)(res)直接流向目的疑點數(shù)據(jù)(tar),是直接疑點傳播路徑.疑點傳播路徑具有傳遞性的特征[16],多條直接疑點傳播路徑通過中間疑點數(shù)據(jù)傳播構(gòu)成的疑點傳播路徑稱為疑點間接傳播路徑.

4實例分析與驗證

為了驗證提出的疑點分析方法中疑點標記算法和疑點傳播路徑獲取算法的正確性和有效性,選取開源社區(qū)網(wǎng)站CSDN[11]中可下載的3個開源軟件包IOCheck、BankSystem、LibrarySystem,對輸入驗證漏洞檢測模型進行分析驗證.

實例:IOCheck、BankSystem、LibrarySystem等3個軟件包,其功能、程序大小和有效代碼行數(shù)如表2所示.

表2 用來測試的軟件包信息

驗證內(nèi)容:通過3個開源軟件包,檢測疑點傳播路徑獲取算法的正確性和有效性.

驗證環(huán)境:兼容機,Pentium(R) Dual-Core CPU,Microsoft Windows XP SP3,2.00 GB內(nèi)存,Visual C++6.0,Logiscope6.0.其中,Logiscope6.0工具用來讀取C/C++源碼以及獲取源碼的程序流程圖.

驗證方法:先使用疑點傳播路徑獲取算法1、2,再采用人工分析的方法獲取開源軟件包IOCheck、BankSystem、LibrarySystem中的疑點源數(shù)和疑點傳播路徑數(shù),對用這兩個不同方法疑點傳播路徑獲取結(jié)果進行對比和分析,如表3所示.

表3 兩種不同方法獲取疑點傳播路徑的分析結(jié)果對比

從表3可以看出,采用疑點標記算法、疑點傳播路徑獲取算法和人工分析標記與跟蹤方法獲取的疑點源數(shù)、疑點傳播路徑數(shù)是基本一致的.特別是在程序規(guī)模比較小的情況下,算法獲取與人工獲取一致,如IOCheck軟件包.由于疑點標記算法、疑點傳播路徑獲取算法不含輸入驗證漏洞的識別,而采用人工分析標記與跟蹤方法時,人為去除一些不會產(chǎn)生漏洞的疑點傳播路徑,產(chǎn)生疑點傳播路徑獲取算法和人工分析標記與跟蹤方法獲取的疑點源數(shù)、疑點傳播路徑數(shù)不相同的情況,如BankSystem、LibrarySystem軟件包.

5結(jié)束語

論文提出的基于靜態(tài)疑點分析技術(shù)的疑點分析方法通過疑點源識別、疑點屬性標記、疑點數(shù)據(jù)在程序中傳播路徑的獲取,解決了輸入驗證漏洞在程序中的位置問題.在此基礎(chǔ)上,設(shè)計輸入驗證漏洞的檢測算法,即可實現(xiàn)對輸入驗證漏洞的檢測.對一些開源程序進行驗證的結(jié)果表明,疑點屬性標記和疑點傳播路徑獲取方法能有效地獲取疑點傳播路徑,從而確定了輸入驗證漏洞在程序源碼中的位置,這為程序源碼中輸入驗證漏洞的檢測奠定了基礎(chǔ).下一步需要研究的工作是建立輸入驗證漏洞檢測模型.

參考文獻:

[1]郭瑞杰. 未輸入驗證安全漏洞檢測系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京: 北京郵電大學(xué)網(wǎng)絡(luò)技術(shù)研究院, 2009.

[2]HAYES J H, OFFUTT J. Input validation analysis and testing[J]. Empirical Software Engineering, 2012, 11 (4): 493-522.

[3]ALKHALAF M, BULTAN T, GALLEGOS J L. Verifying client-side input validation functions using string analysis[C]// IEEE ICSE, 2012: 947-948.

[4]RUI M, LINGKUI C, CHANGZHEN H, et al. A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis[C]// IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, Beijing, 2013: 52-57.

[5]QU B, LIANG B, JIANG S, et al. Design of automatic vulnerability detection system for Web application program[C]// IEEE 4th International Conference on Software Engineering and Service Science (ICSESS),Wuhan, 2013: 89-92.

[6]EDWARD J S, THANASSIS A, DAVID B. All you ever wanted to know about dynamic taint analysis and forward symbolic execution [J]. IEEE Symposium on Security and Privacy, 2010,15(6):317-331.

[7]戚蘭蘭,溫江濤,陳渝,等. 動靜結(jié)合的整數(shù)溢出漏洞分析方法[J]. 清華大學(xué)學(xué)報(自然科學(xué)版), 2014, 54 (9): 1173-1178.

[8]PADMANABHUNI B M, TAN H B K. Predicting buffer overflow vulnerabilities through mining light-weight static code attributes[C]// IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), Nanyang, 2014: 317-322.

[9]YOUNG H C, TAI-MYOUNG C. A framework for dynamic taint analysis of binary executable File[C]// International Conference on Digital Object Identifier, ICTSA, 2013: 1-2.

[10]SUN F. A buffer overflow detection method based on taint analysis[J]. Science&Technology Vision, 2012, 24 (1): 119-120.

[11]孔德光,鄭烇,帥建梅. 基于污點分析的源代碼脆弱性檢測技術(shù)[J]. 小型微型計算機系統(tǒng), 2009 (1): 78-82.

[12]吳建,鄭潮,汪杰. UML基礎(chǔ)與Rose建模案例[M]. 2版. 北京: 人民郵電出版社, 2007: 76.

[13]ZHIGANG Z, FAN G. Malicious code detection by taint analysis[C]// International Conference on Multimedia Communications, RAID, 2010:206-209.

[14]LIU Z, ZHANG X, LI X. Proactive vulnerability finding via information flow tracking[C]// International Conference on Multimedia Information Network and Security, Florida, 2010:481-485.

[15]JIA W, WANG Y, SHI F, et al. Detecting DOM based XSS vulnerability based on dynamic taint propagation model[J]. Application Research of Computers, 2014, 31 (7): 2119-2122.

[16]LIU Y, MILANOVA A. Static analysis for inference of explicit information flow[C]// Proc of the ACM Sigplan-Sigsoft Workshop on Program Analysis for Software Tools and Engineering(PASTE), 2008: 50-56.

(責(zé)任編輯朱夜明)

Received date:2015-10-15

Foundation item:Supported by Anhui Provincial Natural Science Foundation of China (1508085SME219)

Author’s brief:MENG Fanming (1966-), male, born in Hefei of Anhui Province, Professor of Anhui University, Master student supervisor.

CLC number:O484.1Document code:AArticle ID:1000-2162(2016)03-0037-07

Controllable synthesis of anatase TiO2nanosheets and their photocatalytic mechanism

MENG Fanming, FAN Zhenghua, GONG Jinfeng, YUAN Jiangtao, LI Huijie

(School of Physics and Materials Science, Anhui University, Hefei 230601, China)

The research on the taint mark and propagation method in input validation vulnerability detection

XU Qingguang, LI Qiang*,YU Xiang, LIU Junyu

(Internet Engineering Department, Electronic Engineering Institute, Hefei 230037, China)

Abstract:Based on the static taint analysis technology that can be applied to input validation vulnerabilities detection, this paper analyzed issues related to taint mark and the taint propagation paths. Defined taint seed, taint propagation paths and the four different taint properties, formulated the rules of transferring between different properties, and further designed the algorithms to mark taints and get the taint propagation paths. Experimental results showed that these algorithms can precisely mark the taint seed in the program and get its propagation paths. AnataseTiO2 nanostructures were synthesized by a facile solvothermal method. The effects of ethanol, ethylene glycol, and glycerol on the morphology and photocatalytic activity of TiO2 nanostructures were investigated. The as-synthesized nanostructures have been characterized by X-ray diffraction (XRD), scanning electron microscopy (SEM), Raman spectroscopy (Raman), and UV-Vis absorption spectra (UV-Vis). It was found that the morphology changes from nanosheets to nanorods, and then to nanoparticles with the increase of viscosity. TiO2 nanosheets obtained with ethanol solution exhibited excellent photocatalytic activity, which could be attributed to the high UV light absorption resulted from multiple bounces of particles of UV light.

Key words:input validation vulnerability; vulnerability detection; static analysis; propagation path solvothermal method; synthesis; morphology; photocatalytic activity

中圖分類號:TP393

文獻標志碼:A

文章編號:1000-2162(2016)03-0029-08

作者簡介:許慶光(1989-),男,山東聊城人,電子工程學(xué)院碩士研究生;*李強(通信作者),電子工程學(xué)院教授,碩士生導(dǎo)師,E-mail:lychfeei@163.com.

基金項目:技術(shù)基礎(chǔ)項目基金資助(72131022);電子工程學(xué)院科研基金資助項目(KY131546)

收稿日期:2015-01-06

doi:10.3969/j.issn.1000-2162.2016.03.006 10.3969/j.issn.1000-2162.2016.03.007

猜你喜歡
傳播路徑
習(xí)近平總書記系列重要講話精神在高校學(xué)生中有效傳播的路徑研究
新媒體時代馬克思主義思想的傳播路徑
人民論壇(2017年4期)2017-02-23 21:46:34
高校思想政治教育“正能量”傳播的路徑研究
都市報傳播城市文化的創(chuàng)新路徑
新聞世界(2016年11期)2016-12-10 08:24:48
新媒體時代科普類微博的傳播路徑探析
新聞世界(2016年11期)2016-12-10 08:13:50
英文學(xué)術(shù)期刊辦刊策略與傳播路徑研究
出版廣角(2016年8期)2016-08-11 16:49:44
網(wǎng)民介入公共政策傳播的路徑及其風(fēng)險規(guī)避
新聞世界(2016年8期)2016-08-11 08:14:30
淺析高校網(wǎng)絡(luò)輿情的傳播路徑與應(yīng)對策略
媒介融合背景下黃酒非遺文化數(shù)字記憶的內(nèi)容、路徑與問題
戲劇之家(2016年11期)2016-06-22 13:49:41
新媒體背景下廬山云霧茶旅游品牌傳播路徑研究
博罗县| 长岛县| 若羌县| 和林格尔县| 南部县| 连云港市| 阿合奇县| 增城市| 吕梁市| 潼南县| 宜春市| 淅川县| 阳西县| 紫阳县| 科技| 定州市| 滦平县| 安西县| 公主岭市| 平远县| 许昌市| 泉州市| 绥中县| 枞阳县| 陇西县| 东山县| 华池县| 婺源县| 民丰县| 德安县| 措勤县| 宁武县| 洪江市| 师宗县| 宁晋县| 宜章县| 会宁县| 呼玛县| 巴彦县| 读书| 镇原县|