• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Chopping的Web應(yīng)用SQL注入漏洞檢測方法①

      2018-02-07 02:41:25馬金慧張雅峰
      關(guān)鍵詞:污點(diǎn)二階漏洞

      尤 楓,馬金慧,張雅峰

      (北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京 100029)

      1 概述

      隨著互聯(lián)網(wǎng)的普及與發(fā)展,Web技術(shù)以其廣泛性、交互性、快捷性和易用性等特點(diǎn)迅速風(fēng)靡全球,已滲透到社會生活的各個領(lǐng)域.與此同時,Web應(yīng)用的安全也越來越受到人們的關(guān)注,SQL注入、XSS等Web 安全問題層出不窮[1].作為 OWASP (Open Web Application Security Project)Top 10 Project[2]中排名靠前的Web應(yīng)用安全隱患,SQL注入漏洞一直困擾著廣大的Web應(yīng)用用戶.目前,針對SQL注入漏洞檢測的研究可以為兩類:一類是通過靜態(tài)分析程序源代碼,匹配漏洞的編碼規(guī)則查找漏洞[3,4];另一類是通過動態(tài)爬蟲爬取所有的網(wǎng)頁鏈接,逐個網(wǎng)頁查找注入點(diǎn),提交攻擊,使用黑盒的方法進(jìn)行檢測[5,6].目前,大多數(shù)相關(guān)研究主要是針對一階SQL注入,二階SQL注入由于其原理的復(fù)雜性及發(fā)作的潛伏性,較難發(fā)現(xiàn)和檢測,因此,針對二階SQL注入的研究較少,且效果不理想.

      Dahse和Holz[7]提出了一個較完整的針對PHP語言應(yīng)用程序的二階SQL注入檢測方法.該方法將數(shù)據(jù)庫、session以及文件等數(shù)據(jù)持久存儲介質(zhì)作為污點(diǎn)信息的輸入源,能夠檢測存儲型XSS、SQL注入等幾種二階漏洞.但由于PHP是解釋執(zhí)行的服務(wù)器腳本語言,采用面向過程的開發(fā)方法,所以該文提出的檢測方法對Java等其他語言開發(fā)的應(yīng)用程序并不完全適用.Yan L等人[8]提出先查找源代碼中的SQL語句,然后為SQL語句的每個操作字段建立數(shù)據(jù)項(xiàng),通過對比數(shù)據(jù)項(xiàng)將二階SQL注入的存入和觸發(fā)過程查找出來,以達(dá)到檢測二階SQL注入的目的.但是該方法的靜態(tài)分析階段未實(shí)現(xiàn)自動化,檢測效果也并不理想.W.G.Halfond和A.Orso[9]提出通過對正常和異常查詢代碼建模,與運(yùn)行時查詢動態(tài)建模進(jìn)行對比,以檢測當(dāng)前查詢是否異常.該方法檢測的準(zhǔn)確性取決于建模的準(zhǔn)確性,且運(yùn)行時系統(tǒng)消耗太大.

      本文針對Java Web應(yīng)用程序,提出了基于chopping技術(shù)、綜合利用靜態(tài)分析和動態(tài)檢測技術(shù)的二階SQL注入漏洞檢測方法,以提高檢測的自動化程度和檢測效果.

      2 相關(guān)背景介紹

      2.1 污點(diǎn)分析

      污點(diǎn)分析是一種針對源程序文件進(jìn)行的分析方法,廣泛應(yīng)用于軟件測試等領(lǐng)域.污點(diǎn)分析的過程是將所有外部輸入程序的數(shù)據(jù)標(biāo)記為污點(diǎn)數(shù)據(jù),識別污點(diǎn)數(shù)據(jù)在程序中的傳播路徑,即在數(shù)據(jù)進(jìn)入source點(diǎn)(污點(diǎn)數(shù)據(jù)接收點(diǎn))時進(jìn)行標(biāo)記,利用特定的規(guī)則跟蹤分析污點(diǎn)數(shù)據(jù)在程序中的傳播過程,當(dāng)數(shù)據(jù)傳播到sink點(diǎn)(對污點(diǎn)數(shù)據(jù)進(jìn)行分析的點(diǎn))時檢查關(guān)鍵操作是否會受到污點(diǎn)數(shù)據(jù)的影響.

      污點(diǎn)分析有靜態(tài)和動態(tài)之分,靜態(tài)污點(diǎn)分析是指不考慮特定輸入,所有污點(diǎn)傳播過程中可能涉及到的語句都進(jìn)行查找,優(yōu)點(diǎn)是能夠快速定位污點(diǎn)在程序中的所有出現(xiàn)情況.動態(tài)污點(diǎn)分析是在程序有特定輸入的情況下,對運(yùn)行過程涉及到的數(shù)據(jù)流或控制流進(jìn)行監(jiān)控,從而實(shí)現(xiàn)對數(shù)據(jù)傳播、使用進(jìn)行跟蹤和檢測.

      2.2 SQL注入漏洞

      SQL注入就是通過把故意設(shè)計(jì)的SQL語句插入到表單提交或頁面請求的查詢字符串中,欺騙服務(wù)器執(zhí)行惡意的SQL命令,而不是按照合法用戶的原本意圖去執(zhí)行SQL命令.

      SQL注入漏洞包括一階SQL注入漏洞和二階SQL注入漏洞.

      對于一階的SQL注入來說,污點(diǎn)數(shù)據(jù)的傳播路徑為數(shù)據(jù)從source點(diǎn)輸入,經(jīng)過路徑傳播到達(dá)sink點(diǎn)并執(zhí)行SQL語句,從而引發(fā)SQL注入攻擊.

      二階SQL注入的傳播路徑為數(shù)據(jù)從source點(diǎn)輸入,經(jīng)過路徑傳播到達(dá)sink點(diǎn)并存入數(shù)據(jù)庫,但不會立即執(zhí)行,而是等待下一個調(diào)用該數(shù)據(jù)的SQL語句執(zhí)行,數(shù)據(jù)再次從sink點(diǎn)流出并引發(fā)SQL注入攻擊.

      2.3 程序切片

      程序切片最早是由Mark W.提出的[10],經(jīng)過多年的不斷研究,程序切片技術(shù)從后向切片發(fā)展到前向切片,也從一開始的面向過程的程序切片發(fā)展到面向?qū)ο蟮某绦蚯衅夹g(shù)[11],還衍生出程序削片(dicing)[12]、程序砍片(chopping)[13]等新型程序切片技術(shù).

      后向程序切片就是查找影響到某條語句的所有語句的程序切片的過程.前向程序切片就是查找被某條語句所影響到的所有語句的程序切片的過程.

      Chopping 是由 D.Jackson 等[14]提出的,chopping準(zhǔn)則由變量定義集和變量引用集兩個變量集合組成,對一個程序進(jìn)行砍片的過程就是識別程序中所有說明在定義集中的變量影響引用集中變量值的語句子集的過程,即查找定義集中的點(diǎn)的前向切片與引用集中的點(diǎn)的后向切片的交集的過程.當(dāng)與污點(diǎn)分析結(jié)合使用時,定義集即是source點(diǎn)集,引用集即是sink點(diǎn)集.

      程序切片過程分為程序內(nèi)切片和程序間切片過程.程序內(nèi)切片是指針對一個程序進(jìn)行的切片,程序間切片是指針對不同程序進(jìn)行的切片.

      3 Web 應(yīng)用 SQL 注入漏洞檢測

      本文所提出方法的具體流程如圖1所示,主要分為四個部分.首先進(jìn)行程序預(yù)處理,將Java代碼進(jìn)行詞法和語法分析,并轉(zhuǎn)化為含有數(shù)據(jù)依賴邊和控制依賴邊的系統(tǒng)依賴圖;然后通過chopping規(guī)則獲取含有疑似一階SQL注入數(shù)據(jù)傳播路徑的chop;再后通過對一階疑似路徑分析匹配,獲取二階SQL注入疑似路徑;最后針對疑似路徑,自動生成攻擊向量并提交運(yùn)行,驗(yàn)證二階疑似路徑是否為二階SQL注入漏洞.

      圖1 系統(tǒng)總體框圖

      3.1 預(yù)處理

      JavaCC (Java Compiler Compiler)[15]是一個用 Java開發(fā)的詞法和語法分析生成器.通過使用由JavaCC生成的詞法分析和語法分析器對Java Web應(yīng)用程序的后端代碼進(jìn)行分析,根據(jù)得到的抽象語法樹進(jìn)行數(shù)據(jù)依賴分析、控制依賴分析以及函數(shù)調(diào)用關(guān)系分析生成系統(tǒng)依賴圖 (SDG,System Dependence Graph)[16].一個系統(tǒng)依賴圖由程序中的所有程序依賴圖(PDG,Program Dependence Graph)組成,其反映的是系統(tǒng)內(nèi)程序之間的調(diào)用關(guān)系.程序依賴圖是有向圖G=(N,E),其中N是表示給定程序的語句的節(jié)點(diǎn)集合,E是控制依賴邊和數(shù)據(jù)依賴邊的集合.

      3.2 一階SQL注入疑似路徑獲取

      針對Java語言的特點(diǎn),本文對所有接收外部輸入和操作數(shù)據(jù)庫的函數(shù)進(jìn)行了詳細(xì)分析,歸納形成與漏洞相關(guān)的source點(diǎn)集和sink點(diǎn)集,作為后續(xù)分析的基礎(chǔ).

      根據(jù)chopping規(guī)則對系統(tǒng)依賴圖進(jìn)行chopping,獲取source點(diǎn)和sink點(diǎn)之間的污點(diǎn)數(shù)據(jù)傳播路徑,經(jīng)過chopping之后獲得的程序片段(chop)即為一階SQL注入疑似路徑,也就是符合一階SQL注入污點(diǎn)數(shù)據(jù)傳播方式的路徑,數(shù)據(jù)在這些路徑上傳播時,有可能會觸發(fā)一階SQL注入.一階SQL注入疑似路徑獲取算法如算法1所示.

      算法1.一階SQL注入疑似路徑獲取算法輸入:SDG =(V,E)輸出:一階SQL注入疑似路徑(chop)1.S、T為給定的chopping準(zhǔn)則,S是source點(diǎn),T為sink點(diǎn),SV,TV 2.t∈T,s∈S 3.while T不為空5. 從T刪除一個元素t 6. for each j→t∈E 7. if j尚未標(biāo)記8. then將j添加到到t后向切片集,為j添加后向訪問階段標(biāo)記,繼續(xù)添加該路徑的后向訪問邊節(jié)點(diǎn)9. 查找所有的后向切片集10.end 11.while S不為空12. 從S刪除一個元素s 13 for each s→j∈E 14. if j未被標(biāo)記前向階段標(biāo)志15. then將j添加到到s前向切片集,j添加前向階段標(biāo)記,繼續(xù)添加該路徑上的前向訪問邊節(jié)點(diǎn)16.查找所有的前向切片集17.end 18.求交集19.return chop(s,t)

      Chopping過程采用由source點(diǎn)進(jìn)行前向切片和sink點(diǎn)進(jìn)行后向切片求交集的方法來獲取.區(qū)別于單純基于sink點(diǎn)進(jìn)行后向切片,或者基于source點(diǎn)進(jìn)行前向切片,程序chop是后向切片集合和前向切片集合的交集,能夠過濾掉一部分從source出發(fā)不能到達(dá)sink點(diǎn)以及從sink點(diǎn)回溯不能到達(dá)source點(diǎn)的無效路徑,在接下來的檢測中,能夠減少相當(dāng)一部分的審計(jì)工作,對于程序分析和漏洞查找提供更精確的結(jié)果,降低分析成本.由于SDG中包含了同一項(xiàng)目不同文件之間的函數(shù)調(diào)用關(guān)系,在分析過程中會涉及到程序內(nèi)切片和程序間切片.

      3.3 二階SQL注入疑似路徑查找

      對一階SQL注入疑似路徑進(jìn)行分析,根據(jù)路徑中SQL語句所操作的數(shù)據(jù)庫表對語句進(jìn)行歸類,將有相同操作對象的SQL語句進(jìn)行匹配分析,從而查找出對相同數(shù)據(jù)庫表進(jìn)行存、取操作的路徑.

      定義1.二階注入操作對:由一個將攻擊代碼存入數(shù)據(jù)庫的SQL操作和一個從數(shù)據(jù)庫中將攻擊代碼取出使用的SQL操作組成的SQL操作對.

      數(shù)據(jù)寫入:攻擊者將攻擊性代碼寫入數(shù)據(jù)庫的過程.

      此時的數(shù)據(jù)傳播路徑是:source→sink→數(shù)據(jù)庫.惡意數(shù)據(jù)寫入數(shù)據(jù)庫之后不會被立刻使用.

      數(shù)據(jù)取出再使用:將數(shù)據(jù)寫入階段已存儲在數(shù)據(jù)庫中的攻擊代碼取出來,拼接到新的SQL語句中,隨后運(yùn)行,導(dǎo)致執(zhí)行結(jié)果出現(xiàn)異常.

      此時的數(shù)據(jù)傳播路徑是:數(shù)據(jù)庫→sink→數(shù)據(jù)使用,攻擊“發(fā)作”,造成數(shù)據(jù)庫惡意訪問.

      查找二階SQL注入漏洞的關(guān)鍵就是查找二階注入操作對.

      通過分析一階SQL注入疑似路徑,分別查找數(shù)據(jù)寫入部分和數(shù)據(jù)取出再使用部分,通過對一階SQL注入疑似路徑中構(gòu)造的SQL語句進(jìn)行分析,若兩條一階疑似路徑中的SQL語句所操作的數(shù)據(jù)庫表相同,且兩條語句分別為存操作和取操作,則將這兩個SQL語句匹配為二階注入操作對,這兩條一階的疑似路徑匹配為一條二階SQL注入疑似路徑.具體實(shí)施步驟如下:

      步驟1.將一階疑似路徑中所包含的SQL語句根據(jù)所操作對象及數(shù)據(jù)庫表進(jìn)行匯總.

      步驟2.確定每個SQL語句的操作類型,若有嵌套查詢,則以外層為基準(zhǔn).通過判斷SQL語句中的是否有from子句以及where子句判斷SQL語句是屬于數(shù)據(jù)寫入還是取出再使用,分別標(biāo)記操作類型為存或取.

      步驟3.將操作對象相同且操作類型不同的SQL語句結(jié)合為二階SQL注入操作對,SQL語句所在的兩條一階的疑似路徑匹配為一條二階SQL注入疑似路徑.

      通過一階SQL注入疑似路徑獲取二階SQL注入疑似路徑的算法如算法2所示.

      算法2.二階SQL注入疑似路徑獲取算法輸入:一階SQL注入疑似路徑FP輸出:二階SQL注入疑似路徑SP 1.分析FP中所有fp的數(shù)據(jù)庫操作對象表db(fp)2.while FP不為空3. if db(fp1)=db(fp2)4. then分析fp1和fp2的數(shù)據(jù)庫操作類型m(fp1)和m(fp2)5. if fp中含有from子句6. if fp中含有where子句7.fp標(biāo)記為存8. else fp標(biāo)記為取9. if (m(fp1)=存AND m(fp2)=取)OR(m(fp1)=取AND m(fp2)=存)10.fp1和fp2匹配為一個二階SQL注入疑似路徑sp(fp1,fp2)11. SP=SP∪sp(fp1,fp2)12.end 13.return SP

      3.4 二階SQL注入漏洞的驗(yàn)證

      對于查找到的二階SQL注入疑似路徑,需要進(jìn)行實(shí)際驗(yàn)證,確認(rèn)是否是真正的二階SQL注入漏洞.

      3.4.1 攻擊向量的設(shè)計(jì)與執(zhí)行

      攻擊向量是指包含異常攻擊字段的SQL語句.攻擊字段的設(shè)計(jì)方法有七類[17],分別是:大小寫混合、替換關(guān)鍵字、使用編碼、使用注釋、等價函數(shù)與命令、特殊符號、整合繞過,這些攻擊向量同樣適用于二階SQL注入漏洞.

      對收集到的攻擊向量進(jìn)行整理分類,并在其基礎(chǔ)上按照規(guī)則進(jìn)行變異處理.

      變異遵循以下規(guī)則:在保證邏輯關(guān)系合理的情況下,分別進(jìn)行字母大小寫替換、編碼處理、數(shù)字和字符串值隨機(jī)化、添加多個重復(fù)的標(biāo)簽、添加“+”“–”或“.”等用于連接字符的符號.經(jīng)過組合及變異后的攻擊向量的多樣性會得到很大提升.

      BurpProxy是瀏覽器代理工具BurpSuite的核心部分,是一個攔截HTTP/HTTPS請求的代理服務(wù)器,作為一個在瀏覽器和目標(biāo)應(yīng)用程序之間的中間代理,允許攔截、查看和修改兩個方向上的原始數(shù)據(jù)流.

      通過使用BurpProxy運(yùn)行異常的SQL代碼;截獲瀏覽器的http請求,修改參數(shù),將攻擊代碼嵌入到請求參數(shù)中,最終提交到數(shù)據(jù)庫.

      3.4.2 攻擊向量的執(zhí)行結(jié)果分析

      運(yùn)行異常攻擊向量,查看數(shù)據(jù)庫日志中的SQL語句執(zhí)行記錄,然后提交正常的SQL命令,再次查看數(shù)據(jù)庫日志,將兩次運(yùn)行結(jié)果進(jìn)行對比,若兩條數(shù)據(jù)庫結(jié)果不同,則說明提交的異常請求發(fā)生了篡改,確認(rèn)程序存在漏洞.

      4 實(shí)驗(yàn)結(jié)果及分析

      4.1 實(shí)驗(yàn)設(shè)計(jì)

      本實(shí)驗(yàn)的硬件配置為 2.20 GHz,2.20 G RAM 筆記本計(jì)算機(jī);系統(tǒng)環(huán)境是 Windows7,使用 JDK 1.8.0_91_、MySQL 5.6.28、Java語言在 Eclipse下完成.

      根據(jù)本文提出的方法,開發(fā)了一個二階SQL注入漏洞檢測程序,實(shí)現(xiàn)對應(yīng)用程序后臺代碼進(jìn)行chopping以查找一階SQL注入疑似路徑以及進(jìn)一步匹配查找二階SQL注入疑似的路徑.最后通過生成大量的攻擊向量并利用瀏覽器代理工具運(yùn)行,從而驗(yàn)證所查找到的二階SQL注入疑似路徑,確定二階SQL注入漏洞的存在.

      下面針對4個Java Web應(yīng)用程序進(jìn)行實(shí)驗(yàn).

      4.2 實(shí)驗(yàn)結(jié)果及分析

      本文實(shí)驗(yàn)基于4個Java Web應(yīng)用程序,基本信息如表1所示.

      表1 應(yīng)用程序基本信息表

      4.2.1 一階 SQL 注入疑似路徑查找

      程序首先以四個應(yīng)用程序后臺代碼作為輸入,進(jìn)行預(yù)處理并針對source點(diǎn)和sink點(diǎn)進(jìn)行chopping,四個應(yīng)用程序查找到的一階SQL注入疑似路徑數(shù)如表2所示.

      表2 一階疑似路徑數(shù)列表

      4.2.2 確定有效的二階 SQL 注入操作對

      接下來,程序?qū)η耙徊剿@取的四個應(yīng)用程序中的一階SQL注入疑似路徑進(jìn)行分析.按照存、取操作的劃分原則,通過字符匹配,對每個切片所操縱的數(shù)據(jù)庫表進(jìn)行歸類,確定每個切片操作的類型,即存操作還是取操作,操作對象相同且操作類型不同的匹配為二階SQL注入操作對.最終得到結(jié)果如表3所示.

      表3中數(shù)據(jù)表示在一應(yīng)用程序中,操作對所在的文件名及操作針對的數(shù)據(jù)庫以及操作類型.

      由表3中數(shù)據(jù)可見,四個應(yīng)用程序中的二階注入操作對個數(shù)分別為1個、3個、4個、5個,即四個應(yīng)用程序中分別匹配出1個、3個、4個和5個二階SQL注入疑似路徑.

      4.2.3 攻擊向量驗(yàn)證實(shí)驗(yàn)

      針對二階注入操作對進(jìn)行模擬攻擊,通過與數(shù)據(jù)庫日志中的SQL語句記錄進(jìn)行對比,驗(yàn)證攻擊向量是否觸發(fā)了二階SQL注入.

      表3 二階注入操作對分析結(jié)果

      如下為針對程序Dormitory Manager自動生成的異常攻擊向量的示例:

      (1)http://localhost/sushe/StudentDel.action?Student_ID=6 uNIoNsELecT 1,2,3,4

      (2)http://localhost/sushe/StudentDel.action?Student_ID=6UNIunionONSELselectECT 1,2,3,4

      (3)http://localhost/sushe/StudentDel.action?Student_ID=6/*!u%6eion*//*!se%6cect*/ 1,2,3,4…

      (4)http://localhost/sushe/StudentDel.action?Student_ID=6%55nION/**/%53ElecT 1,2,3,4

      (5)select+id-1+1.from users.

      經(jīng)過運(yùn)行攻擊向量驗(yàn)證,確認(rèn)的二階SQL注入漏洞個數(shù)如表4所示.

      表4 檢測出的二階 SQL 注入漏洞個數(shù)

      由表4中數(shù)據(jù)可知,通過攻擊實(shí)驗(yàn)驗(yàn)證,一些二階SQL注入疑似漏洞被證實(shí)為二階SQL注入漏洞.在實(shí)際中,二階SQL注入的檢測難度較大,完全檢測出來或完全確認(rèn)是很困難的.本文的方法在相應(yīng)的觸發(fā)概率下,能夠有效地檢測出二階SQL注入漏洞.

      5 結(jié)語

      本文提出了一種基于chopping技術(shù)的靜態(tài)分析Web應(yīng)用程序源代碼與設(shè)計(jì)攻擊向量動態(tài)驗(yàn)證相結(jié)合的二階SQL注入漏洞檢測方法,該算法將程序切片技術(shù)的變種形式程序chopping應(yīng)用到靜態(tài)分析過程,通過獲取污點(diǎn)傳播路徑并設(shè)計(jì)攻擊向量運(yùn)行的方式驗(yàn)證漏洞,實(shí)現(xiàn)了二階SQL注入漏洞的檢測.

      當(dāng)應(yīng)用程序規(guī)模較大時,構(gòu)造的系統(tǒng)依賴圖規(guī)模龐大而且結(jié)構(gòu)復(fù)雜,不利于獲取切片.因此,在今后的工作中可針對系統(tǒng)依賴圖設(shè)計(jì)約減算法,對本文方法進(jìn)行優(yōu)化.

      1 王青國.淺析Web應(yīng)用軟件開發(fā)安全.計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(2):5–9.

      2 OWASP Top10 object. https://www.owasp.org/index.php/Top_10_2013-Top_10,2013.

      3 Kim MY,Lee DH.Data-mining based SQL injection attack detection using internal query trees.Expert Systems with Applications,2014,41(11):5416 –5430.[doi:10.1016/j.eswa.2014.02.041]

      4 Jang YS,Choi JY.Detecting SQL injection attacks using query result size.Computers &Security,2014,44:104–118.

      5 Lounis O,Guermeche SEB,Saoudi L,et al.A new algorithm for detecting SQL injection attack in Web application.Proceedings of 2014 Science and Information Conference(SAI).London,UK.2014.589–594.

      6 Thomé J,Shar LK,Briand L.Security slicing for auditing XML,XPath,and SQL injection vulnerabilities.2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE). Gaithersbury,MD,USA. 2015.553–564.

      7 Dahse J,Holz T. Static detection of second-order vulnerabilities in web applications.Proceedings of the 23rd USENIX Security Symposium.San Diego,CA,USA.2014.989–1003.

      8 Yan L,Li XH,Feng RT,et al.Detection method of the second-order SQL injection in web applications.International Workshop on Structured Object-Oriented Formal Language and Method.Queenstown,New Zealand.2013.154–165.

      9 Halfond WGJ,Orso A.AMNESIA:Analysis and monitoring for NEutralizing SQL-injection attacks.Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering.New York,NY,USA.2005.174–183.

      10 Weiser MD. Program slices:Formal,psychological,and practical investigations of an automatic program abstraction method[Doctoral Dissertation]. Michigan:University of Michigan,1979.

      11 CodeSurfer .http//www.grammatech.com/products/codesurfer.

      12 Chen TY,Cheung YY. Dynamic program dicing.Proceedings of 1993 Conference on Software Maintenance.Montreal,Quebec,Canada.1993.378–385.

      13 Krinke J.Barrier slicing and chopping.Proceedings 3rd IEEE International Workshop on Source Code Analysis and Manipulation.Amsterdam,Netherlands.2003.81–87.

      14 Jackson D,Rollins EJ.A new model of progrm dependences for reverse engineering. ACM SIGSOFT Software Engineering Notes,1994,19(5):2–10.[doi:10.1145/195274]

      15 Download JavaCC.http://javacc.org.

      16 Horwitz S,Reps T,Binkley D.Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems (TOPLAS),1990,12(1):26 –60.[doi:10.1145/77606.77608]

      17 Halfond WGJ,Viegas J,Orso A.A classification of SQL-injection attacks and countermeasures.Proceedings of the IEEE International Symposium on Secure Software Engineering.Arlington,VA,USA.2006,1.13–15.

      猜你喜歡
      污點(diǎn)二階漏洞
      漏洞
      基于代碼重寫的動態(tài)污點(diǎn)分析
      一類二階迭代泛函微分方程的周期解
      一類二階中立隨機(jī)偏微分方程的吸引集和擬不變集
      二階線性微分方程的解法
      一類二階中立隨機(jī)偏微分方程的吸引集和擬不變集
      使用Lightroom污點(diǎn)去除工具清理照片中的瑕疵
      三明:“兩票制”堵住加價漏洞
      漏洞在哪兒
      兒童時代(2016年6期)2016-09-14 04:54:43
      高鐵急救應(yīng)補(bǔ)齊三漏洞
      汝州市| 志丹县| 资溪县| 婺源县| 宾阳县| 香河县| 芷江| 临沧市| 大名县| 克东县| 教育| 临城县| 泸州市| 蒲城县| 五台县| 浦东新区| 永康市| 安泽县| 山阴县| 锦州市| 武乡县| 禄劝| 咸阳市| 洪雅县| 资阳市| 安化县| 巴里| 休宁县| 禄丰县| 襄樊市| 勐海县| 潮州市| 黎平县| 虹口区| 收藏| 东兰县| 宣化县| 和龙市| 汕头市| 文安县| 苏尼特左旗|