日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

通過使用web流量信息動態(tài)掃描web應(yīng)用的制作方法

文檔序號:7791025閱讀:237來源:國知局
通過使用web流量信息動態(tài)掃描web應(yīng)用的制作方法
【專利摘要】從至少一個日志文件采集日志文件數(shù)據(jù)??梢愿鶕?jù)采集的日志文件數(shù)據(jù)生成對練習web應(yīng)用以執(zhí)行web應(yīng)用的安全分析的至少一個HTTP請求??梢韵騱eb應(yīng)用傳達HTTP請求??梢越邮諏TTP請求的至少一個HTTP響應(yīng)??梢苑治鯤TTP響應(yīng)以執(zhí)行web應(yīng)用的驗證??梢暂敵鲵炞C的結(jié)果。
【專利說明】通過使用WEB流量信息動態(tài)掃描WEB應(yīng)用

【技術(shù)領(lǐng)域】
[0001] 在本說明書內(nèi)公開的一個或者多個實施例涉及Web安全掃描器。

【背景技術(shù)】
[0002] Web應(yīng)用安全掃描器是自動測試web應(yīng)用的安全狀況的軟件工具。這些掃描器嘗 試對在web應(yīng)用內(nèi)的安全問題、比如結(jié)構(gòu)化查詢語言(SQL)注入、跨站點腳本編寫、命令注 入和其它安全弱點進行定位。為了使用這樣的掃描器,用戶通常配置掃描的范圍和限制,并 且提供登錄信息。用戶然后可以人工或者自動爬取web應(yīng)用以允許掃描器采集關(guān)于web應(yīng) 用的結(jié)構(gòu)的信息、與web應(yīng)用關(guān)聯(lián)的統(tǒng)一資源定位符(URL)、cookie和目錄。爬取的目的是 從web應(yīng)用采集資源以便對這些資源中的每個資源的弱點檢測。然后操縱并且向web應(yīng)用 提交在爬取web應(yīng)用期間獲得的信息以對web應(yīng)用執(zhí)行測試,并且對從web應(yīng)用接收的響 應(yīng)執(zhí)行驗證。
[0003] 因此,在本領(lǐng)域中需要解決前述問題。


【發(fā)明內(nèi)容】

[0004] 在本說明書內(nèi)公開的一個或者多個示例涉及動態(tài)掃描web應(yīng)用。一個實施例可以 包括從至少一個日志文件采集日志文件數(shù)據(jù)??梢愿鶕?jù)采集的日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí)行web應(yīng)用的安全分析的至少一個超文本傳送協(xié)議(HTTP)請求??梢韵騱eb 應(yīng)用傳達HTTP請求??梢越邮諏TTP請求的至少一個HTTP響應(yīng)??梢苑治鯤TTP響應(yīng)以 執(zhí)行web應(yīng)用的驗證??梢暂敵鲵炞C的結(jié)果。
[0005] 從第一方面來看,本發(fā)明提供一種用于動態(tài)掃描web應(yīng)用的方法,該方法包括:從 至少一個日志文件采集日志文件數(shù)據(jù);根據(jù)采集的日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí) 行web應(yīng)用的安全分析的至少一個HTTP請求;向web應(yīng)用傳達HTTP請求;接收對HTTP請 求的至少一個HTTP響應(yīng);分析HTTP響應(yīng)以執(zhí)行web應(yīng)用的驗證;以及輸出驗證的結(jié)果。
[0006] 從又一方面來看,本發(fā)明提供一種動態(tài)掃描web應(yīng)用的系統(tǒng),該系統(tǒng)包括:計算機 可讀存儲介質(zhì);被配置為發(fā)起可執(zhí)行操作的處理器;可操作用于從至少一個日志文件采集 日志文件數(shù)據(jù)的采集裝置;可操作用于根據(jù)采集的日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí) 行web應(yīng)用的安全分析的至少一個HTTP請求的生成裝置;可操作用于向web應(yīng)用傳達HTTP 請求的傳達裝置;可操作用于接收對HTTP請求的至少一個HTTP響應(yīng)的接收裝置;可操作 用于分析HTTP響應(yīng)以執(zhí)行web應(yīng)用的驗證的分析裝置;以及可操作用于輸出驗證的結(jié)果的 輸出裝置。
[0007] 從又一方面來看,本發(fā)明提供一種動態(tài)掃描web應(yīng)用的系統(tǒng),該系統(tǒng)包括:計算機 可讀存儲介質(zhì);以及被配置為發(fā)起可執(zhí)行操作的處理器,可執(zhí)行操作包括:從至少一個日 志文件采集日志文件數(shù)據(jù);根據(jù)采集的日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí)行web應(yīng)用 的安全分析的至少一個HTTP請求;向web應(yīng)用傳達HTTP請求;接收對HTTP請求的至少一 個HTTP響應(yīng);分析HTTP響應(yīng)以執(zhí)行web應(yīng)用的驗證;并且輸出驗證的結(jié)果。
[0008] 從又一方面來看,本發(fā)明提供一種用于動態(tài)掃描web應(yīng)用的計算機程序產(chǎn)品,該 計算機程序產(chǎn)品包括能由處理電路讀取并且存儲指令的計算機可讀存儲介質(zhì),指令用于由 處理電路執(zhí)行以用于執(zhí)行方法,該方法用于執(zhí)行本發(fā)明的步驟。
[0009] 從又一方面來看,本發(fā)明提供一種在計算機可讀介質(zhì)上存儲的并且能向數(shù)字計算 機的內(nèi)部存儲器中加載的計算機程序,該計算機程序包括當所述程序在計算機上被運行時 用于執(zhí)行本發(fā)明的步驟的軟件代碼部分。
[0010] 另一實施例可以包括一種動態(tài)掃描web應(yīng)用的系統(tǒng)。該系統(tǒng)可以包括計算機可讀 存儲介質(zhì)和處理器。處理器可以被配置為發(fā)起可執(zhí)行操作以執(zhí)行在本說明內(nèi)公開的各種過 程和/或功能。
[0011] 另一實施例可以包括一種用于動態(tài)掃描web應(yīng)用的計算機程序產(chǎn)品。該計算機程 序產(chǎn)品可以包括具有隨其體現(xiàn)的計算機可讀程序代碼的計算機可讀存儲介質(zhì),該計算機可 讀程序代碼被配置為執(zhí)行在說明書內(nèi)公開的各種操作和/或功能。

【專利附圖】

【附圖說明】
[0012] 現(xiàn)在將參照如以下各圖中所示優(yōu)選實施例僅通過示例描述本發(fā)明:
[0013] 圖1是圖示根據(jù)本發(fā)明的一個優(yōu)選實施例的用于動態(tài)掃描web應(yīng)用的系統(tǒng)的框 圖;
[0014] 圖2是圖示根據(jù)本發(fā)明的一個優(yōu)選實施例的動態(tài)掃描web應(yīng)用的方法的流程圖; 并且
[0015] 圖3是圖示根據(jù)本發(fā)明的一個優(yōu)選實施例的安全客戶端的框圖。

【具體實施方式】
[0016] 所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。 因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件 實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以 統(tǒng)稱為"電路"、"模塊"或"系統(tǒng)"。此外,在一些實施例中,本發(fā)明的各個方面還可以實現(xiàn)為 在任何一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含 計算機可用的程序代碼。
[0017] 可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算 機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限 于一電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置、器件或者任意以上的組合。計算機 可讀存儲介質(zhì)的更具體的示例(非窮舉的列表)包括:具有一個或多個導線的電連接、便 攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器 (EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者 上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的 有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0018] 計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號, 其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一但 不限于一電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是 計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者 傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0019] 可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算 機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++ 等,還包括常規(guī)的過程式程序設(shè)計語言一諸如"C"語言或類似的程序設(shè)計語言。程序代碼可 以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、 部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。 在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)--包括局域網(wǎng)(LAN) 或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù) 提供商來通過因特網(wǎng)連接)。Java以及所有基于Java的商標和標識為Oracle和/或其附 屬機構(gòu)的商標或注冊商標。
[0020] 下面將參照根據(jù)本發(fā)明示例實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流 程圖和/或框圖描述本發(fā)明。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或 框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通 用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這 些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn) 流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0021] 也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、 其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的 指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令 的制造品(article of manufacture) 〇
[0022] 也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備 上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計 算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖和/ 或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。
[0023] 本實施例涉及動態(tài)掃描web應(yīng)用。更具體而言,可以訪問來自通過在先使用和/ 或開發(fā)文本應(yīng)用而生成的信息日志的數(shù)據(jù)。這一信息可以由web應(yīng)用安全掃描器訪問以采 集關(guān)于web應(yīng)用的結(jié)構(gòu)的信息。取代爬取web應(yīng)用或者除了爬取web應(yīng)用之外,web應(yīng)用安 全掃描器可以使用訪問的信息以使用從與web應(yīng)用的先前現(xiàn)實交互中生成的已知信息來 練習(exercise) web應(yīng)用。因此,可以基于這些先前現(xiàn)實交互來測試web應(yīng)用的安全。這 些先前交互可以指示如果僅實施web應(yīng)用的爬取則原本可能遺漏的境況。例如使用傳統(tǒng)爬 取功能可能未到達web應(yīng)用的基于用戶交互的某些領(lǐng)域,并且使用先前已知的安全測試解 決方案可能遺漏這樣的領(lǐng)域。然而本發(fā)明經(jīng)由來自信息日志的采集的信息可以標識web應(yīng) 用的這樣的領(lǐng)域,并且在安全測試期間訪問這樣的領(lǐng)域。因此,通過使用信息日志,web應(yīng) 用安全掃描器可以標識web應(yīng)用中的原本不會察覺的安全弱點、由此增強web應(yīng)用安全掃 描器執(zhí)行的安全分析。
[0024] 圖1是圖不根據(jù)本發(fā)明的一個優(yōu)選實施例的用于動態(tài)掃描web應(yīng)用的系統(tǒng)100的 框圖。該系統(tǒng)可以包括被配置為通信地鏈接一個或者多個系統(tǒng)、比如web服務(wù)器120、一個 或者多個應(yīng)用客戶端130和/或安全客戶端160的通信網(wǎng)絡(luò)110。通信網(wǎng)絡(luò)110可以是任 何類型的網(wǎng)絡(luò)、比如先前描述的網(wǎng)絡(luò)中的任何網(wǎng)絡(luò)。
[0025] 系統(tǒng)100可以包括web服務(wù)器120。Web服務(wù)器120可以是包括至少一個處理器 的任何處理系統(tǒng)。Web服務(wù)器120還可以包括如這里將描述的存儲器單元、比如本地存儲 器和/或一個或者多個體存儲設(shè)備。Web服務(wù)器120可以被配置為主控或者執(zhí)行web應(yīng)用 122。web應(yīng)用122可以是可經(jīng)由通信網(wǎng)絡(luò)110訪問的應(yīng)用。Web服務(wù)器120也可以被配置 為在一個或者多個日志文件124中存儲與對web應(yīng)用122的客戶端訪問有關(guān)的信息和/或 與對這樣的客戶端訪問的響應(yīng)有關(guān)的信息。
[0026] 系統(tǒng)100也可以包括一個或者多個應(yīng)用客戶端130。應(yīng)用客戶端130可以是包括 至少一個處理器的任何處理系統(tǒng)。應(yīng)用客戶端130還可以包括如這里將描述的存儲器單 元、比如本地存儲器和/或一個或者多個體存儲設(shè)備。應(yīng)用客戶端130可以被配置為執(zhí)行 客戶端應(yīng)用132的一個或者多個實例??蛻舳藨?yīng)用132可以是如下應(yīng)用,該應(yīng)用被配置為 經(jīng)由通信網(wǎng)絡(luò)110訪問web應(yīng)用122以便取回web應(yīng)用122提供的信息和/或向web應(yīng)用 122提供信息。例如在開發(fā)web應(yīng)用122期間,客戶端應(yīng)用132可以按照測試web應(yīng)用122 的功能的web應(yīng)用開發(fā)員的要求或者按照web應(yīng)用122的任何其他用戶的要求訪問web應(yīng) 用122。在本發(fā)明的一個優(yōu)選實施例中,客戶端應(yīng)用132可以是web瀏覽器,但是本發(fā)明在 此方面不受限制。在示例中,客戶端應(yīng)用132可以是適合用于經(jīng)由通信網(wǎng)絡(luò)110與web應(yīng) 用122交換信息的任何其它應(yīng)用。
[0027] 應(yīng)用客戶端130也可以被配置為在一個或者多個日志文件134中存儲與客戶端應(yīng) 用132對web應(yīng)用122的訪問有關(guān)的信息。例如在本發(fā)明的一個優(yōu)選實施例中,應(yīng)用客戶端 130可以在日志文件134中存儲從客戶端應(yīng)用132向web應(yīng)用122傳達的HTTP請求136有 關(guān)的信息和/或響應(yīng)于HTTP請求136從web應(yīng)用122向客戶端應(yīng)用132傳達的HTTP響應(yīng) 138。在其它實施例中,這樣的信息可以被存儲于web服務(wù)器120維護的日志文件124或者 這里將描述的其它日志文件中。HTTP請求136可以包括從客戶端應(yīng)用130向web應(yīng)用122 傳達的初始HTTP請求以及響應(yīng)于HTTP響應(yīng)138傳達的postHTTP請求。相似地,HTTP響 應(yīng)138可以包括從web應(yīng)用122向客戶端應(yīng)用130傳達的初始HTTP響應(yīng)以及響應(yīng)于post HTTP請求傳達的post HTTP響應(yīng)。
[0028] HTTP請求136和HTTP響應(yīng)138可以統(tǒng)稱為通信流量。通信流量可以包括統(tǒng)一資 源定位符(URL)、異步JavaScript和XML (AJAX)請求以及對應(yīng)響應(yīng)、向web應(yīng)用的領(lǐng)域的請 求、HTTP動詞、參數(shù)、數(shù)據(jù)、表單值、cookie、post請求、查詢和/或正文參數(shù)、用戶標識符、 口令等??梢詣討B(tài)生成(例如基于用戶與客戶端應(yīng)用132的交互)、人工生成(例如基于用 戶輸入生成)、自動或者人工選擇等URL。如這里所用,用戶是人。
[0029] 在本發(fā)明的一個優(yōu)選實施例中,可以經(jīng)由通信網(wǎng)絡(luò)110通信地鏈接web服務(wù)器120 和應(yīng)用客戶端130。在另一實施例中,web服務(wù)器120和特定應(yīng)用客戶端130可以是相同機 器。在其中web服務(wù)器120不是與應(yīng)用客戶端130中的一個或者多個應(yīng)用客戶端相同的機 器的一個實施例中,可以提供用于通信地鏈接web服務(wù)器120和應(yīng)用客戶端130的網(wǎng)絡(luò)基 礎(chǔ)設(shè)施。例如可以提供用于將web服務(wù)器120鏈接到通信網(wǎng)絡(luò)110的服務(wù)器側(cè)網(wǎng)絡(luò)基礎(chǔ)設(shè) 施140,并且可以提供用于將應(yīng)用客戶端130中的一個或者多個應(yīng)用客戶端通信地鏈接到 通信網(wǎng)絡(luò)110的客戶端側(cè)基礎(chǔ)設(shè)施150。
[0030] 網(wǎng)絡(luò)構(gòu)架140、150可以包括但不限于網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、接入點、路由 器、交換機、防火墻、網(wǎng)關(guān)、代理設(shè)備或者服務(wù)器、反代理設(shè)備或者服務(wù)器等。就這一點而言, 網(wǎng)絡(luò)基礎(chǔ)設(shè)施140、150可以是通信網(wǎng)絡(luò)110的節(jié)點??梢栽趙eb服務(wù)器120與應(yīng)用客戶端 130之間共享網(wǎng)絡(luò)基礎(chǔ)設(shè)施140、150的部件。例如如果web服務(wù)器120和應(yīng)用客戶端130 在相同子網(wǎng)上,則它們各自可以具有或者可以鏈接到相應(yīng)網(wǎng)絡(luò)適配器、但是共享公共路由 器、交換機、防火墻、網(wǎng)關(guān)等。就這一點而言,服務(wù)器側(cè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施140和客戶端側(cè)基礎(chǔ)設(shè) 施150的部件可以是web服務(wù)器120和應(yīng)用客戶端130二者公共的,但是無需是這樣的情 況。
[0031] 服務(wù)器側(cè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施140和/或客戶端側(cè)基礎(chǔ)設(shè)施150也可以被配置為在一個 或者多個日志文件134中存儲與客戶端應(yīng)用132對web應(yīng)用122的訪問有關(guān)的信息和/或 與對這樣的訪問的響應(yīng)有關(guān)的信息。例如服務(wù)器側(cè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施140可以向一個或者多個 日志文件144存儲這樣的信息,并且客戶端側(cè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施150可以向一個或者多個日志 文件154存儲這樣的信息。由于可以提供多個應(yīng)用客戶端130,所以可以在系統(tǒng)100的一個 或者多個部件之中分布日志文件134、154。
[0032] 可以在日志文件124、134、144和/或154中存儲與在客戶端應(yīng)用132的實例與 web應(yīng)用122之間的交互有關(guān)的各種類型的信息。這樣的信息可以包括但不限于嗅探器日 志數(shù)據(jù)(例如Ethereal和/或Wireshark日志數(shù)據(jù))、入侵保護系統(tǒng)(IDS)數(shù)據(jù)和/或入 侵保護系統(tǒng)(IPS)數(shù)據(jù)、防火墻日志數(shù)據(jù)、web應(yīng)用防火墻日志數(shù)據(jù)、HTTP代理日志數(shù)據(jù)、 HTTP流量日志數(shù)據(jù)等。另外,信息可以包括URL、AJAX請求和/或響應(yīng)、HTTP動詞、參數(shù)、數(shù) 據(jù)、表單值、cookie、post請求、查詢和/或正文參數(shù)、用戶標識符、密碼或者可以經(jīng)由HTTP 傳達的任何其它信息。日志文件124、134、144和/或154可以實施任何適當數(shù)據(jù)結(jié)構(gòu)。這 樣的結(jié)構(gòu)的示例包括但不限于萬維網(wǎng)聯(lián)盟(W3C)日志文件、可擴展標記語言(XML)文檔、逗 號分離值(CSV)、HTTP檔案文件(HAR文件)等。
[0033] 系統(tǒng)100也可以包括安全客戶端160。在本發(fā)明的一個優(yōu)選實施例中,安全客戶端 160可以是與應(yīng)用客戶端130不同的機器。在另一實施例中,安全客戶端160可以是與應(yīng)用 客戶端130相同的機器。在其中安全客戶端160是與應(yīng)用客戶端130不同的實施例中,安 全客戶端160可以是包括至少一個處理器的任何處理系統(tǒng)。在這樣的實施例中,安全客戶 端160還可以包括如這里將描述的存儲器單元、比如本地存儲器和/或一個或者多個體存 儲設(shè)備。
[0034] 安全客戶端160可以包括安全掃描器162。安全掃描器162可以是如下應(yīng)用,該應(yīng) 用被配置為經(jīng)由通信網(wǎng)絡(luò)110訪問web應(yīng)用122以便取回web應(yīng)用122提供的信息,和/ 或向web應(yīng)用122提供信息。更具體而言,安全掃描器162可以與web應(yīng)用122自動交互 以分析web應(yīng)用122以便確定可能在web應(yīng)用122中存在的安全弱點。在與web應(yīng)用122 交互時,安全掃描器162可以訪問采集的日志文件數(shù)據(jù)164。采集的日志文件數(shù)據(jù)164可以 是從日志文件124、134、144和/或154采集的數(shù)據(jù)匯集、采集的日志文件數(shù)據(jù)164可以包 括與124、134、144和/或154對應(yīng)的數(shù)據(jù)和/或與124、134、144和/或154對應(yīng)的數(shù)據(jù)。
[0035] 在本發(fā)明的一個優(yōu)選實施例中,安全掃描器162可以取回日志文件124、134、144 和/或154并且采集在日志文件124、134、144和/或154中包含的數(shù)據(jù)并且在適當數(shù)據(jù)存 儲設(shè)備中本地或者遠程存儲這樣的數(shù)據(jù)而在需要時訪問這樣的信息以分析web應(yīng)用122。 在另一實施例中,安全掃描器162可以在需要時取回日志文件124、134、144和/或154并 且采集在日志文件124、134、144和/或154中包含的數(shù)據(jù)。在更多另一實施例中,用戶可 以采集在日志文件124、134、144和/或154中包含的數(shù)據(jù),并且在適當數(shù)據(jù)存儲設(shè)備中存 儲這樣的數(shù)據(jù),安全掃描器162可以從該數(shù)據(jù)存儲設(shè)備訪問這樣的信息。在本領(lǐng)域中已知 的導出和導入操作可以用來采集數(shù)據(jù),但是本發(fā)明在此方面不受限制。
[0036] 可以用任何適當方式標識從日志文件124、134、144和/或154采集的數(shù)據(jù)用于采 集。例如可以在日志文件124、134、144和/或154中搜尋與web應(yīng)用122關(guān)聯(lián)的特定URL、 可以應(yīng)用數(shù)據(jù)模式匹配以搜索日志文件124、134、144和/或154以標識與web應(yīng)用122關(guān) 聯(lián)的特定數(shù)據(jù)模式或者參數(shù)名等。另外,可以向一個或者多個XML文檔、HAR文件或者任何 其它適當數(shù)據(jù)文件中錄入來自日志文件124、134、144和/或154的數(shù)據(jù)以有助于安全掃描 器162掃描數(shù)據(jù)以標識相關(guān)信息。
[0037] 為了分析web應(yīng)用122,安全掃描器162可以基于采集的日志文件數(shù)據(jù)164創(chuàng)建 HTTP請求166并且接收對HTTP請求166的HTTP響應(yīng)168。因而,安全掃描器162可以使 用在web應(yīng)用與客戶端應(yīng)用132中的一個或者多個客戶端應(yīng)用之間先前交換的信息來對 web應(yīng)用122執(zhí)行安全分析。這樣的信息可以例如是在開發(fā)web應(yīng)用122期間交換的信息、 比如用戶錄入的實際表單值、從用戶與web應(yīng)用122的實際交互(經(jīng)由客戶端應(yīng)用132)中 創(chuàng)建的動態(tài)生成的URL、作為用戶交互的結(jié)果而恰當提交的并且包括實際參數(shù)值的AJAX請 求。因此,安全掃描器162可以使用已知與web應(yīng)用相關(guān)的信息來練習 web應(yīng)用122、由此 保證在這樣的測試期間使用的信息與web應(yīng)用122高度地相關(guān)。
[0038] 在示例中,安全掃描器162可以處理采集的日志文件數(shù)據(jù)164以提煉與安全測試 有關(guān)的信息。例如安全掃描器162可以標識在采集的日志文件數(shù)據(jù)164中包含的HTTP請求 136并且生成對應(yīng)HTTP請求166。安全掃描器162可以在HTTP請求166中包括URL、HTTP 動詞、AJAX請求和/或響應(yīng)、參數(shù)、數(shù)據(jù)、表單值、cookie、post請求、查詢和/或正文參數(shù)、 用戶標識符、密碼或者可以經(jīng)由HTTP傳達的任何其它信息。就這一點而言,安全掃描器162 可以包括被配置為從采集的日志文件數(shù)據(jù)164解析ASCII文本并且提取相關(guān)HTTP信息的 HTTP消息解析器。HTTP消息解析器也可以匹配來自先前HTTP響應(yīng)168的信息,這造成生 成后續(xù)HTTP請求166 (即有狀態(tài)的解析)??梢詫嵤┯袪顟B(tài)的解析以例如通過標記HTTP請 求166的某個參數(shù)為源于表單或者超鏈接的參數(shù)來利用關(guān)于HTTP參數(shù)類型的信息。在一 些情況下,cookie可以到期或者可以僅與原有HTTP請求136關(guān)聯(lián)。安全掃描器162可以 刷新從采集的日志文件數(shù)據(jù)164使用的cookie以關(guān)聯(lián)這樣的cookie與HTTP請求166并 且保證cookie有效用于與HTTP請求166 -起使用。
[0039] 采集的日志文件數(shù)據(jù)164可以包含冗余信息。在這樣的情況下,安全掃描器162 可以過濾在采集的日志文件數(shù)據(jù)164中包含的信息以例如去除與HTTP請求136和HTTP響 應(yīng)138對應(yīng)的冗余信息。另外,在生成HTTP請求166時,安全掃描器162可以將來自采集 的日志文件數(shù)據(jù)164的數(shù)據(jù)或者數(shù)據(jù)的至少一部分變換成web應(yīng)用122可識別的一個或者 多個數(shù)據(jù)結(jié)構(gòu)。
[0040] 在本發(fā)明的一個優(yōu)選實施例中,HTTP請求136中的各種HTTP請求可能在它們訪 問web應(yīng)用提供的相同網(wǎng)頁并且向相同表單中錄入數(shù)據(jù)這一點上是冗余的。雖然向相同表 單中錄入的數(shù)據(jù)可以不同,但是可以過濾HTTP請求136以排除使另一 HTTP請求136已經(jīng) 解決的向表單中錄入數(shù)據(jù)的過程重復的HTTP請求136,但是無需是這樣的情況。
[0041] 另外,在生成HTTP請求166時,安全掃描器162可能重復一個或者多個對應(yīng)HTTP 請求136錄入的數(shù)據(jù)和/或錄入與對應(yīng)HTTP請求136錄入的數(shù)據(jù)不同的數(shù)據(jù)。例如安全 掃描器162可以用與在對應(yīng)HTTP請求136中包含的表單數(shù)據(jù)不同的表單數(shù)據(jù)生成HTTP請 求166、但是被配置為具體對于在web應(yīng)用122中的安全弱點進行測試。在示例中,HTTP請 求166標識的URL和表單參數(shù)名可以與一個或者多個HTTP請求136標識的URL和表單參數(shù) 名相同,但是在HTTP請求166中提交的與相同表單參數(shù)名對應(yīng)的參數(shù)可以不同。例如可以 在HTTP請求166中提交一個或者多個危險凈荷(hazardous payloads)以對于可以在web 應(yīng)用122中存在的安全弱點進行測試。因而,可以經(jīng)由HTTP請求166向標識的URL提交一 個或者多個危險凈荷。危險凈荷可以例如是被配置為執(zhí)行SQL注入、跨站點腳本編寫、命令 注入的數(shù)據(jù)或者被配置為對于安全弱點測試web應(yīng)用122的任何其它數(shù)據(jù)。
[0042] 在一些實例中,HTTP響應(yīng)168可以標識需要的用戶輸入。如果在采集的日志文件 數(shù)據(jù)164中包含這樣的用戶輸入,則安全掃描器162可以用HTTP請求166對這樣的HTTP 響應(yīng)168做出響應(yīng),這些HTTP請求包括來自采集的日志文件數(shù)據(jù)164的采集的數(shù)據(jù)。然而 本發(fā)明在此方面不受限制。例如,如果HTTP響應(yīng)168需要涉及在計算(CAPTCHA)時使用的 挑戰(zhàn)-響應(yīng)測試,則安全掃描器162可以被配置為提示安全掃描器162的用戶錄入CAPTCHA 請求的用戶輸入。在其它境況中,安全掃描器可以用如下HTTP響應(yīng)168對HTTP響應(yīng)168 做出響應(yīng),該HTTP響應(yīng)168包含被配置為對于web應(yīng)用122的安全弱點進行測試的一個或 者多個危險凈荷。
[0043] 在生成HTTP請求166和接收HTTP響應(yīng)168之時,安全掃描器162可以例如通過 分析HTTP響應(yīng)168來執(zhí)行web應(yīng)用的安全驗證。安全掃描器162還可以例如通過向另一 日志文件輸出結(jié)果和/或向用戶呈現(xiàn)結(jié)果輸出驗證的結(jié)果。
[0044] 圖2是圖示根據(jù)本發(fā)明的另一實施例的動態(tài)掃描web應(yīng)用的方法200的流程圖。 在步驟202,可以從一個或者多個日志文件采集日志文件數(shù)據(jù)。如指出的那樣,這樣的日志 文件可以由各種系統(tǒng)來維護,各種系統(tǒng)例如應(yīng)用客戶端(客戶端應(yīng)用在該應(yīng)用客戶端上被 執(zhí)行以訪問web應(yīng)用)主控web應(yīng)用的web服務(wù)器、在其上執(zhí)行有客戶端應(yīng)用的應(yīng)用客戶 端被通信地鏈接到的通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施、和/或主控web應(yīng)用的web服務(wù)器被通信 地鏈接到的通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。網(wǎng)絡(luò)基礎(chǔ)設(shè)施可以包括通信網(wǎng)絡(luò)的一個或者多個節(jié) 點。
[0045] 在步驟204,可以根據(jù)采集的日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí)行web應(yīng)用的 安全分析的至少一個HTTP請求。例如HTTP請求可以標識URL、HTTP動詞、AJAX請求和/ 或響應(yīng)、參數(shù)、數(shù)據(jù)、表單值、cookie、post請求、查詢和/或正文參數(shù)、用戶標識符、密碼或 者可以經(jīng)由HTTP傳達的任何其它信息。在步驟206,可以向web應(yīng)用傳達HTTP請求。
[0046] 在步驟208,可以接收對HTTP請求的至少一個HTTP響應(yīng)。例如可以從web應(yīng)用接 收HTTP響應(yīng)。在步驟210,可以分析HTTP響應(yīng)以執(zhí)行web應(yīng)用的驗證。在步驟212,可以 例如向數(shù)據(jù)文件或者例如經(jīng)由被配置為執(zhí)行安全掃描器的安全客戶端的顯示器向用戶輸 出驗證的結(jié)果。
[0047] 圖3是圖示根據(jù)本發(fā)明的一個優(yōu)選實施例的安全客戶端160的框圖。安全客戶端 160包括可以通過系統(tǒng)總線315或者其它適當電路裝置耦合到存儲器單元310的至少一個 處理器305。這樣,安全客戶端160可以在存儲器單元310內(nèi)存儲程序代碼。處理器305可 以經(jīng)由系統(tǒng)總線315執(zhí)行從存儲器單元310訪問的程序代碼。例如在一個方面中,可以實 施安全客戶端160為適合用于存儲和/或執(zhí)行程序代碼的計算機。然而應(yīng)當理解可以用能 夠執(zhí)行在本說明書內(nèi)描述的功能和/或操作的包括處理器和存儲器的任何系統(tǒng)的形式實 施安全客戶端160。
[0048] 存儲器單元310可以包括一個或者多個物理存儲器設(shè)備、如比如本地存儲器320 和一個或者多個體存儲設(shè)備325。本地存儲器320是指一般在實際執(zhí)行程序代碼期間使用 的隨機存取存儲器或者其它非持續(xù)存儲器設(shè)備。可以實施體存儲設(shè)備325為硬驅(qū)動或者其 它持久數(shù)據(jù)存儲設(shè)備。安全客戶端160也可以包括一個或者多個高速緩存存儲器(未示 出),該一個或者多個高速緩存存儲器提供至少一些程序代碼的暫時存儲以便減少在執(zhí)行 期間必須從體存儲設(shè)備325取回程序代碼的次數(shù)。
[0049] 輸入/輸出(I/O)設(shè)備、比如鍵盤330、顯示器335和指示設(shè)備340可選地可以耦 合到安全客戶端360。I/O設(shè)備可以直接或者通過居間I/O控制器耦合到安全客戶端160。 一個或者多個網(wǎng)絡(luò)適配器345也可以耦合到安全客戶端160以使安全客戶端160能夠變成 通過居間專有或者公用網(wǎng)絡(luò)耦合到其它系統(tǒng)、計算機系統(tǒng)(例如web服務(wù)器)、遠程打印機 和/或遠程存儲設(shè)備。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡是可以與安全客戶端160 一起使用的不同類型的網(wǎng)絡(luò)適配器345的示例。
[0050] 如在圖3中描繪的那樣,存儲器單元310可以存儲安全掃描器162。以可執(zhí)行程 序代碼的形式實施的安全掃描器162可以由安全客戶端160執(zhí)行,并且這樣可以被視為安 全客戶端160的一部分。安全客戶端160可以訪問采集的日志文件數(shù)據(jù)164。采集的日志 文件數(shù)據(jù)164可以存儲于存儲器單元310中或者存儲于另一數(shù)據(jù)存儲設(shè)備或者系統(tǒng)上,安 全客戶端160可以從該數(shù)據(jù)存儲設(shè)備或者系統(tǒng)訪問采集的日志文件數(shù)據(jù)164。例如安全客 戶端160可以在需要時從對應(yīng)數(shù)據(jù)日志直接訪問采集的日志文件數(shù)據(jù)164,用戶可以采集 日志文件數(shù)據(jù)164并且向安全客戶端160提供采集的日志文件數(shù)據(jù)164。安全掃描器162 可以執(zhí)行這里描述的過程和方法以執(zhí)行web應(yīng)用的安全掃描、執(zhí)行web應(yīng)用的安全驗證并 且輸出安全驗證的結(jié)果。如這里所用,"正在輸出"和/或"輸出"可以意味著在存儲器單元 310中存儲、例如向在存儲器單元310中存儲的文件寫入、向顯示器335或者其它外圍輸出 設(shè)備寫入、播放可聽通知、向另一系統(tǒng)發(fā)送或者傳輸、導出等。
[0051] 相似編號已經(jīng)用來貫穿本說明書指代相同項。在本發(fā)明的一個優(yōu)選實施例中,可 以將工作流服務(wù)器實現(xiàn)為丨BM? Rationa丨⑧AppScan?。IBM、Rational和AppScan 是國際商務(wù)機器公司在全球許多轄區(qū)中注冊的商標。
[0052] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程 序產(chǎn)品的可能實現(xiàn)的體系構(gòu)架、功能和操作。在這點上,流程圖或框圖中的每個方框可以 代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個 用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所 標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以 基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的 是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行 規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的 組合來實現(xiàn)。
[0053] 這里所用術(shù)語僅為了描述具體實施例而未旨在于限制公開內(nèi)容的示例實施例。如 這里所用,除非上下文另有明示,單數(shù)形式"一個"和"該"旨在于也包括復數(shù)形式。還將理 解術(shù)語"包括"在說明書中使用時指定存在陳述的特征、整件、步驟、操作、單元和/或部件、 但是未排除存在或者添加一個或者多個其它特征、整件、步驟、操作、單元、部件和/或其組 合。
[0054] 所附權(quán)利要求中的所有裝置或者步驟加上功能要素的對應(yīng)結(jié)構(gòu)、材料、動作和等 效物旨在于包括用于與如具體要求保護的其它權(quán)利要求要素組合執(zhí)行功能的任何結(jié)構(gòu)、材 料或者動作。已經(jīng)出于示例的目的而呈現(xiàn)本公開內(nèi)容的描述,但是該描述未旨在于窮舉公 開內(nèi)容或者使公開內(nèi)容限于公開的實施例。許多修改和變化將為本領(lǐng)域普通技術(shù)人員所清 楚而未脫離公開內(nèi)容的范圍和精神實質(zhì)。選擇和描述實施例以便最好地說明公開內(nèi)容的原 理和實際應(yīng)用并且使本領(lǐng)域其他普通技術(shù)人員能夠?qū)τ诰哂腥缗c設(shè)想的特定使用相配的 各種修改的各種實施例理解公開內(nèi)容。
【權(quán)利要求】
1. 一種用于動態(tài)掃描web應(yīng)用的方法,所述方法包括: 從至少一個日志文件采集日志文件數(shù)據(jù); 根據(jù)采集的所述日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí)行所述web應(yīng)用的安全分析的 至少一個HTTP請求; 向所述web應(yīng)用傳達所述HTTP請求; 接收對所述HTTP請求的至少一個HTTP響應(yīng); 分析所述HTTP響應(yīng)以執(zhí)行所述web應(yīng)用的驗證;以及 輸出所述驗證的結(jié)果。
2. 根據(jù)權(quán)利要求1所述的方法,還包括: 過濾采集的所述日志文件數(shù)據(jù)以從采集的所述日志文件數(shù)據(jù)去除冗余信息。
3. 根據(jù)前述權(quán)利要求中的任一權(quán)利要求所述的方法,還包括: 將采集的所述日志文件數(shù)據(jù)的至少一部分變換成能由所述web應(yīng)用識別的至少一個 數(shù)據(jù)結(jié)構(gòu);以及 在所述HTTP請求中包括所述數(shù)據(jù)結(jié)構(gòu)。
4. 根據(jù)前述權(quán)利要求中的任一權(quán)利要求所述的方法,其中所述至少一個日志文件包括 由應(yīng)用客戶端維護的日志文件,客戶端應(yīng)用在所述應(yīng)用客戶端上被執(zhí)行以訪問所述web應(yīng) 用。
5. 根據(jù)權(quán)利要求1至3中的任一權(quán)利要求所述的方法,其中所述至少一個日志文件包 括由主控所述web應(yīng)用的web服務(wù)器維護的日志文件。
6. 根據(jù)權(quán)利要求1至3中的任一權(quán)利要求所述的方法,其中所述至少一個日志文件包 括由通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施維護的日志文件,在其上執(zhí)行有客戶端應(yīng)用的應(yīng)用客戶端被 通信地鏈接到所述通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
7. 根據(jù)權(quán)利要求1至3中的任一權(quán)利要求所述的方法,其中所述至少一個日志文件包 括由通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施維護的日志文件,主控所述web應(yīng)用的web服務(wù)器被通信地 鏈接到所述通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
8. 根據(jù)前述權(quán)利要求中的任一權(quán)利要求所述的方法,其中所述日志文件數(shù)據(jù)包括至少 一個cookie,所述方法還包括: 刷新用于所述HTTP請求的所述cookie。
9. 根據(jù)前述權(quán)利要求中的任一權(quán)利要求所述的方法,還包括: 標識在采集的所述日志文件數(shù)據(jù)中標識的至少一個URL ; 其中生成所述至少一個HTTP請求包括在所述HTTP請求中向所述URL提交危險凈荷。
10. -種動態(tài)掃描web應(yīng)用的系統(tǒng),包括: 計算機可讀存儲介質(zhì); 處理器,被配置為發(fā)起可執(zhí)行操作; 采集裝置,可操作用于從至少一個日志文件采集日志文件數(shù)據(jù); 生成裝置,可操作用于根據(jù)采集的所述日志文件數(shù)據(jù)生成對練習 web應(yīng)用以執(zhí)行所述 web應(yīng)用的安全分析的至少一個HTTP請求; 傳達裝置,可操作用于向所述web應(yīng)用傳達所述HTTP請求; 接收裝置,可操作用于接收對所述HTTP請求的至少一個HTTP響應(yīng); 分析裝置,可操作用于分析所述HTTP響應(yīng)以執(zhí)行所述web應(yīng)用的驗證;以及 輸出裝置,可操作用于輸出所述驗證的結(jié)果。
11. 根據(jù)權(quán)利要求10所述的系統(tǒng),還包括: 過濾裝置,可操作用于過濾采集的所述日志文件數(shù)據(jù)以從采集的所述日志文件數(shù)據(jù)去 除冗余信息。
12. 根據(jù)權(quán)利要求10或者11所述的系統(tǒng),還包括: 變換裝置,可操作用于將采集的所述日志文件數(shù)據(jù)的至少一部分變換成能由所述web 應(yīng)用識別的至少一個數(shù)據(jù)結(jié)構(gòu);以及 包括裝置,可操作用于將所述數(shù)據(jù)結(jié)構(gòu)包括在所述HTTP請求中。
13. 根據(jù)權(quán)利要求10至12中的任一權(quán)利要求所述的系統(tǒng),其中所述至少一個日志文 件包括由應(yīng)用客戶端維護的日志文件,客戶端應(yīng)用在所述應(yīng)用客戶端上被執(zhí)行以訪問所述 web應(yīng)用。
14. 根據(jù)權(quán)利要求10至12中的任一權(quán)利要求所述的系統(tǒng),其中所述至少一個日志文件 包括由主控所述web應(yīng)用的web服務(wù)器維護的日志文件。
15. 根據(jù)權(quán)利要求10至12中的任一權(quán)利要求所述的系統(tǒng),其中所述至少一個日志文件 包括由通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施維護的日志文件,在其上執(zhí)行有客戶端應(yīng)用的應(yīng)用客戶端 被通信地鏈接到所述通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
16. 根據(jù)權(quán)利要求10至12中的任一權(quán)利要求所述的系統(tǒng),其中所述至少一個日志文件 包括由通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施維護的日志文件,主控所述web應(yīng)用的web服務(wù)器被通信 地鏈接到所述通信網(wǎng)絡(luò)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
17. 根據(jù)權(quán)利要求10至16中的任一權(quán)利要求所述的系統(tǒng),其中: 所述日志文件數(shù)據(jù)包括至少一個cookie ;并且 所述系統(tǒng)還包括刷新裝置,所述刷新裝置可操作用于刷新用于所述HTTP請求的所述 cookie。
18. 根據(jù)權(quán)利要求10所述的系統(tǒng),所述系統(tǒng)還包括: 標識裝置,可操作用于標識在采集的所述日志文件數(shù)據(jù)中標識的至少一個URL ;并且 其中用于生成所述至少一個HTTP請求的所述生成裝置包括用于在所述HTTP請求中向 所述URL提交危險凈荷的提交裝置。
19. 一種用于動態(tài)掃描web應(yīng)用的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括:能由處 理電路讀取并且存儲指令的計算機可讀存儲介質(zhì),所述指令用于由所述處理電路執(zhí)行以用 于執(zhí)行根據(jù)權(quán)利要求1至9中的任一權(quán)利要求所述的方法。
20. -種在計算機可讀介質(zhì)上存儲的并且能向數(shù)字計算機的內(nèi)部存儲器中加載的計算 機程序,包括軟件代碼部分,當所述程序在計算機上被運行時,所述軟件代碼部分用于執(zhí)行 根據(jù)權(quán)利要求1至9中的任一權(quán)利要求所述的方法。
【文檔編號】H04L12/26GK104067561SQ201380006346
【公開日】2014年9月24日 申請日期:2013年1月11日 優(yōu)先權(quán)日:2012年1月24日
【發(fā)明者】O·塞加爾, R·巴查, R·薩爾茨曼, R·諾丹, I·克雷馳曼, Y·阿米特, G·洛特姆 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1