基于外部資源捕獲及分析的web應用發(fā)現(xiàn)系統(tǒng)與方法
【專利摘要】本發(fā)明提出基于外部資源捕獲及分析的WEB應用發(fā)現(xiàn)系統(tǒng)與方法,包括生成一個對外部資源HTTP請求的Web應用;捕獲對外部資源的請求;從所捕獲請求中抽取有意義的數(shù)據(jù);以及對所抽取數(shù)據(jù)的分析。本發(fā)明的系統(tǒng)是對這個方法的一個參考實現(xiàn)。
【專利說明】基于外部資源捕獲及分析的WEB應用發(fā)現(xiàn)系統(tǒng)與方法
【技術領域】
[0001]提交的發(fā)明涉及計算機安全,具體來說,基于外部資源捕獲及分析的WEB應用發(fā)現(xiàn)系統(tǒng)與方法,是對Web應用的拓撲發(fā)現(xiàn),能被用于對應用更健壯的安全掃描,增強漏洞檢測及相關補救。
【背景技術】
[0002]隨著因特網普及,電子商務得到巨大發(fā)展。如圖1所示,眾多用戶102可以在家中通過網站104的因特網入口(如yahoo)、在線購物站點(如ΑΜΖ0Ν.COM)、在線拍賣站點(如EBAY)、以及網上銀行等享受購物的便利。許多原來要求當面交互或電話交互的行為可以通過因特網106以在線的方式進行,如購買保險、買賣股票等。
[0003]此類在線行為一般需要對信用卡號或銀行信息等消費者個人信息進行交互或存儲,相應地,消費者也希望能夠相信所訪問站點是在線安全的,如可以有效抵御黑客對消費者個人信息的訪問等惡意行為。
[0004]所提發(fā)明的相關技術有漏洞檢測、評估及管理。例如,對網站執(zhí)行漏洞檢測,根據(jù)掃描結果保存并控制標記庫的內容,網站訪問者可通過標記信息得知網站的安全程度。這些漏洞掃描方法主要針對常用的意圖在非授權情況下獲得網站設備及系統(tǒng)訪問的黑客攻擊,這些方法有進一步改進的空間。
[0005]例如,某些漏洞掃描的范圍僅限于可被傳統(tǒng)的爬行方法識別的入口點,同時,一部分網站功能或Web應用僅在用戶瀏覽該站點時才能獲得,如購物車等。因此,利用這些信息提高網站知識是可取的,進而擴大了對網站的漏洞掃描范圍。
【發(fā)明內容】
[0006]本發(fā)明提供基于外部資源捕獲及分析的WEB應用發(fā)現(xiàn)系統(tǒng)與方法,一方面,本發(fā)明平衡了普遍的安全公司信任標記,該標記可用于一個可信的Web應用且其引用嵌入到Web應用的不同部分。安全公司負責對信任標記的維護,當用戶使用某個Web應用時,用戶瀏覽器自動對信任標記進行請求,這些用戶對安全公司提供的Web應用信任標記的請求將記入日志并進行分析。
[0007]在實施例中,一個發(fā)現(xiàn)Web應用的結構、狀態(tài)轉換及用戶行為模式的方法包括生成一個對外部資源HTTP請求的Web應用;捕獲對外部資源的請求;從所捕獲請求中抽取有意義的數(shù)據(jù);對所抽取數(shù)據(jù)的分析及結論。本發(fā)明中的系統(tǒng)提供了一個所提方法的參考實現(xiàn),系統(tǒng)及方法所獲得的信息可被用于安全公司推測應用入口點及遍歷模式,進一步提高掃描服務質量,確保信任標記頒發(fā)。
【專利附圖】
【附圖說明】
[0008]在看完下列對本發(fā)明具體實現(xiàn)例的圖例描述后,對本發(fā)明所屬領域有了解的人可清楚了解本發(fā)明的特點。其中:[0009]圖1闡述了用戶如何與傳統(tǒng)網站進行交互;
[0010]圖2用框圖的方式闡述了一個根據(jù)本發(fā)明對目標系統(tǒng)分析的系統(tǒng)實現(xiàn)例;
[0011]圖3用流程圖闡述了本發(fā)明的一個目標系統(tǒng)分析方法的實現(xiàn)例。
[0012]具體描述
[0013]將結合圖例對本發(fā)明的一個實現(xiàn)例進行詳細闡述,方便對本領域較為熟悉的人對本發(fā)明的實現(xiàn)。要指出的是,所闡述的例子不代表本發(fā)明僅局限于該實現(xiàn),通過所闡述的細節(jié)及要素,本發(fā)明可以有多種實現(xiàn)形式。同時,本發(fā)明的某些要素可通過已知組件實現(xiàn),但只對那些有助于了解本發(fā)明的必要組件進行闡述。在詳述中,包含一個組件的實現(xiàn)例不應當對本發(fā)明形成限制,本發(fā)明的意圖是包含其它有相同組件的實現(xiàn)例,反之亦然,除非另有明確規(guī)定。而且,除非有明確規(guī)定,否則 申請人:不希望在詳述或聲明中的任何術語被賦予特殊含義。同時,本發(fā)明包含闡述中涉及到的知名組件及這些組件現(xiàn)在及以后的等效物。
[0014]概言之,本發(fā)明提供了一個系統(tǒng)及通過平衡安全公司信任標記發(fā)現(xiàn)Web應用拓撲的方法。安全公司提供通過HTTP服務器對信任標記的訪問,此訪問由安全公司或安全公司的授權方進行控制。web應用信任標記被其所有者嵌入到web應用的內容中,用戶訪問web應用所發(fā)出的對信任標記的HTTP請求被安全公司存儲并分析,提供了 web應用拓撲的更多細節(jié)。
[0015]在實現(xiàn)例中,嵌入的信任標記引用包括統(tǒng)一資源定位符(URL),用戶瀏覽器使用該URL構建從安全公司的HTTP服務器獲取信任標記的HTTP請求。在HTTP請求中一般包含Referer頭指明引起HTTP請求發(fā)送的引用所在的源URL,實際上,很少有瀏覽器不包括Referer頭,通過Referer數(shù)據(jù)和其它輔助信息可以顯示一個web應用的拓撲。這些信息可被用于安全公司推測應用入口點及遍歷模式,進一步提高掃描服務質量,確保信任標記頒發(fā)。
[0016]圖2為本發(fā)明的一個系統(tǒng)實例。
[0017]安全系統(tǒng)為每個web應用生產信任標記220。如相關應用中所述,信任標記在建立時非常復雜,使web應用的所有者難以通過惡意復制在不滿足要求的情況下提供擔保標記。安全系統(tǒng)使通過HTTP服務器獲取信任標記在安全公司或授權方的控制下,授權方代表安全公司可提供信任標記。
[0018]在實現(xiàn)例中,系統(tǒng)202可以是一個分布式掃描服務器的網絡,可位于分布在全球的數(shù)據(jù)中心。系統(tǒng)202包含一個受中樞漏洞管理系統(tǒng)控制的本地掃描裝置,這樣最適合的掃描裝置可被分配進行目標系統(tǒng)測試。此外,除了如ScanAlert等傳統(tǒng)的掃描服務提供的漏洞檢測方法,包含本發(fā)明漏洞檢測技術的遠程文件可用于實現(xiàn)檢測系統(tǒng)。
[0019]目標系統(tǒng)206—個或多個web應用208,可配置為靜態(tài)或動態(tài)生成包括頁面210的web內容。如圖所示,部分或全部頁面210可以包括到一個或多個由系統(tǒng)托管且存儲在標記庫220的信任標記的引用(如URL212)。
[0020]用戶通過瀏覽器230及因特網204與web應用208進行交互。當瀏覽器在呈現(xiàn)應用內容(如頁210)時,遇到嵌入的URL212并自動從系統(tǒng)中生成基于該URL的信任標記HTTP請求。頁210也可能包括其它資源的URL引用,瀏覽器遇到其它URL引用時,同樣為這些資源生產HTTP請求。
[0021]在本實現(xiàn)例中,瀏覽器230對標記庫220中標記的請求包括與頁210有關的URL,通知HTTP服務器引用信任標記的應用所在地。信任標記被當作一個附加的參考資源,瀏覽器230對信任標記的請求包含Referer頭,顯示了包含信任標記引用(如URL212)的內容的URL (或頁210)。
[0022]HTTP服務器224將對標記庫220中信任標記的請求記錄到請求日志222,例如Apache等傳統(tǒng)HTTP服務器的標準日志功能均可生產請求日志。日志為分析模塊226對應用拓撲的分析提供數(shù)據(jù),這點在后文中將詳述。
[0023]系統(tǒng)202包括web或其它類型的應用,這些應用通過關系數(shù)據(jù)庫或相似的存儲機制監(jiān)視并維護信任標記請求,使捕獲HTTP請求更快速,提供了掃描服務及在線分析的實時反饋(忽略中間存儲與尚線分析)。
[0024]下面結合圖3的流程圖步驟解釋分析模塊所實現(xiàn)的方法實例。
[0025]如圖3所示,處理過程從步驟S302開始,先按照相對順序對捕獲的請求進行檢查,并根據(jù)HTTP協(xié)議進行解析。對每個請求(步驟S304),抽取其HTTP請求頭(步驟S306)。這些頭信息實質上是一個二元組列表。給定二元組的第一個元素是通過步驟S306抽取的Referer頭名字,第二個元素是頭的值,該值為與web應用內容相關的負責使瀏覽器或其它HTTP應用產生信任標記請求的URL。
[0026]相應地,步驟S306抽取的Referer頭是對web應用內容的引用。安全性掃描要求配置入口點來初始化web應用的遍歷及漏洞檢測,在本發(fā)明中,Referer URL為安全性掃描提供了有價值的輸入。例如,一個Referer URL的值中包括一些沒有被使用其它入口點配置安全掃描遍歷的引用,同時,Referer URL也使安全掃描速度更快,提高了掃描效率。
[0027]Referer URL的使用頻率也反映了相關聯(lián)web內容的受歡迎程度,此信息對安全掃描有較大價值。一些安全等級依賴于對具體web應用的攔截,修改應用內容經常會導致用戶瀏覽器執(zhí)行一些惡意代碼。增加流量自然導致攔截概率的增加,對高頻訪問內容的了解可以使安全掃描較好地安排web應用的那個部分得到最徹底、最及時的檢測。
[0028]如圖3所示,檢查完所有請求后,步驟S310將所有關于目標系統(tǒng)的Referer URL分組,并在步驟S312中提供了對每個Referer URL的計數(shù)。
[0029]在本發(fā)明的實現(xiàn)例中,HTTP服務器使用HTTP會話。HTTP是個無狀態(tài)協(xié)議,不提供跟蹤會話的內在機制,一些會話狀態(tài)必須與HTTP請求一起傳送,Cookies為此提供了一個便利的機制。Cookies允許將會話標識符放入HTTP請求頭部,也允許在HTTP響應的頭部包含指令來實現(xiàn)HTTP服務器與客戶端間的會話狀態(tài)同步。利用HTTP cookies,信任標記服務器224為每個向系統(tǒng)202請求信任標記的HTTP客戶(如瀏覽器230)建立一個唯一標識符。
[0030]相應地,步驟S308從捕獲的HTTP請求中抽取出會話標識符及請求序列的相關信息,在步驟S316中,利用會話標識符對與具體目標系統(tǒng)關聯(lián)的請求進行組織,并在步驟S318中對會話中的請求進行排序。
[0031]會話的請求順序顯示了 HTTP客戶端(如瀏覽器230)遍歷站點的部分內容,會話遍歷表明了 web應用的業(yè)務方式,通過會話標識符,安全掃描可以知道資源的訪問順序。
[0032]為了使遍歷web應用更完整,本發(fā)明中的會話信息允許掃描器通過web應用內容的結構發(fā)現(xiàn)事務處理過程。例如使用購物車功能時,用戶必須先進行搜索、選擇、在線支付等過程,每一步都為用戶會話增加了一些狀態(tài),在沒有達到要求的狀態(tài)前后續(xù)步驟不能執(zhí)行。利用訪問順序的知識可提高安全掃描成功遍歷事務處理的概率。此類知識允許對與通過會話Referer URL分析得到的順序相一致的會話資源訪問順序進行掃描。
[0033]從另一方面來看,本發(fā)明中web應用的資源遍歷序可用來增加安全掃描的資源請求選擇,URL訪問頻率作為檢測的基礎依據(jù)可與web應用內容的結構相結合。通過有向圖對遍歷進行分析,標出臨界節(jié)點相關資源,臨界節(jié)點是有最大度的節(jié)點,這些點表示到web應用內容中重要結構部分的路標或網關。與對Referer URL進行標識及計數(shù)的優(yōu)點相似,臨界節(jié)點表明了安全掃描中需加強關注的重要資源。
[0034]上述內容是對本發(fā)明及其實現(xiàn)例的闡述,對該領域較為熟悉的人在上述內容及建議基礎上對本發(fā)明進行修改不會偏離本發(fā)明思路與范圍,附加聲明意圖包含這些修改。
【權利要求】
1.一個基于外部資源捕獲及分析的WEB應用發(fā)現(xiàn)系統(tǒng)與方法,包含:不受web應用所有者控制的對服務器標記庫信任標記的訪問,web應用信任標記被其所有者嵌入到web應用的內容中;服務器收到一個或多個用戶對一個或多個web應用信任標記的請求,這些請求是在遇到web應用中內嵌的信任標記引用時由用戶瀏覽器生成的;通過檢查這些請求得到的信息可用來作為安全掃描的輸入。
2.在聲明I中,web應用內嵌的信任標記引用包括URL,該URL被web瀏覽器用于構建請求及從服務器獲取信任標記,每一個所構建的請求均包括一個包含該URL及輔助信息的Referrer 頭。
3.聲明I的方法包括在關系數(shù)據(jù)庫中對所接收的信任標記請求的記錄與維護。
4.聲明I的方法中,對所接收請求的檢測包括根據(jù)HTTP協(xié)議對請求進行解析。
5.聲明I的方法中,檢測所接收請求并標明web應用的一部分將作為安全掃描的一部分,該掃描判定含信任標記的應用中某部分的訪問頻率,賦予高頻訪問部分高的掃描優(yōu)先級。
6.聲明I的方法中,對所接收請求的檢測包含:抽取會話標識符、會話分組、抽取會話中請求序列的相關信息、對請求進行排序以及根據(jù)會話及順序信息判斷web應用的業(yè)務模式。
7.聲明6的方法中,判斷web應用的業(yè)務模式包括判斷與該web應用相關聯(lián)的業(yè)務處理過程。
8.聲明I的方法中,檢測所接收請求并標明web應用的一部分將作為安全掃描的一部分包括:判定含信任標記的應用中某部分的訪問頻率、抽取會話中請求序列的相關信息并根據(jù)會話及順序信息判斷w·eb應用的業(yè)務模式、根據(jù)訪問頻率及業(yè)務模式標明一個或多個臨界節(jié)點的安全掃描優(yōu)先級。
9.一個發(fā)現(xiàn)網絡應用拓撲的系統(tǒng)包括:存放一個或多個信任標記的庫;一個服務器在收到一個或多個用戶對web應用的請求后可以訪問信任標記,每個請求是在遇到web應用中內嵌的信任標記引用時由用戶瀏覽器生成的;存放所接收請求的請求日志;一個分析模塊檢查所接收請求并獲取web應用相關信息,這些信息將作為安全掃描的輸入。
10.聲明9中的系統(tǒng)是分布式掃描服務器網絡的一部分。
11.聲明9中的系統(tǒng)包含一個受中樞漏洞管理系統(tǒng)控制的本地掃描裝置。
12.聲明9的系統(tǒng)中,web應用內嵌的信任標記引用包括URL,該URL被web瀏覽器用于構建請求及從服務器獲取信任標記,每一個所構建的請求均包括一個包含該URL及輔助信息的Referrer頭。
13.聲明9中的服務器是HTTP服務器。
14.聲明9中存放所接收請求的請求日志由關系數(shù)據(jù)庫構成。
15.聲明9中系統(tǒng)中檢測所接收請求并標明web應用的一部分將作為安全掃描的一部分包括:判定含信任標記的應用中某部分的訪問頻率、抽取會話中請求序列的相關信息并根據(jù)會話及順序信息判斷web應用的業(yè)務模式、根據(jù)訪問頻率及業(yè)務模式標明一個或多個臨界節(jié)點的安全掃描優(yōu)先級。
16.聲明9中系統(tǒng)的分析模塊檢查所接收請求并獲取web應用相關信息,這些信息通過以下措施作為安全掃描的輸入:抽取會話標識符、會話分組、抽取會話中請求序列的相關信息、對請求進行排序以及根據(jù)會話及順序信息判斷web應用的業(yè)務模式。
17.聲明16中系統(tǒng)的分析模塊用來判定與web應用相關聯(lián)的事務處理過程。
18.聲明9系統(tǒng)中分析模塊對所接收請求進行檢查并獲得一些與web應用相關的信息作為安全掃描的輸入,主要過程為:判定含信任標記的應用中某部分的訪問頻率、抽取會話中請求序列的相關信息并根據(jù)會話及順序信息判斷web應用的業(yè)務模式、根據(jù)訪問頻率及業(yè)務模式標明一個或多個臨界節(jié)點的安全掃描優(yōu)先級。
19.web應用拓撲發(fā)現(xiàn)方法包括:在不受web應用所有者控制下,提供對服務器信任標記的訪問,信任標記嵌入到web引用的各部分;一個服務器在收到一個或多個用戶對web應用的請求后可以訪問信任標記,每個請求是在遇到web應用中內嵌的信任標記引用時由用戶瀏覽器生成的,每個生成的請求有一個包含URL的Referrer頭;所接收請求進行檢查并獲得一些與web應用相關的信息作為安全掃描的輸入。
20.聲明19的方法中,聲明9中系統(tǒng)中檢測所接收請求并標明web應用的一部分將作為安全掃描的一部分包括:判定含信任標記的應用中某部分的訪問頻率、抽取會話中請求序列的相關信息并根據(jù)會話及順序信息判斷web應用的業(yè)務模式、根據(jù)訪問頻率及業(yè)務模式標明一個或多個臨界節(jié)點·的安全掃描優(yōu)先級。
【文檔編號】H04L29/08GK103856523SQ201210512355
【公開日】2014年6月11日 申請日期:2012年12月4日 優(yōu)先權日:2012年12月4日
【發(fā)明者】郭江波, 羅笑南, 楊艾琳, 劉海亮, 湯武驚, 吳超如, 李圳龍 申請人:中山大學深圳研究院