亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于安全性測試的單元測試的自動合成的制作方法

文檔序號:6532985閱讀:194來源:國知局
用于安全性測試的單元測試的自動合成的制作方法
【專利摘要】本發(fā)明涉及對待測試計算機程序(CPUT)施行安全性分析??梢詫PUT進行分析,以便識別出與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)??梢宰詣雍铣杀慌渲贸蓽y試CPUT內(nèi)的特定程序代碼單元的至少第一單元測試。所述第一單元測試可以被配置成初始化由CPUT內(nèi)的所述特定程序代碼單元使用的至少一個參數(shù),并且可以為之提供被配置成利用CPUT的至少一項潛在安全性弱點的至少第一測試有效載荷??梢詣討B(tài)地處理第一單元測試,以便向CPUT內(nèi)的所述特定程序代碼單元傳送第一測試有效載荷。可以確定第一測試有效載荷是否利用了CPUT的實際安全性弱點,并且可以輸出安全性分析報告。
【專利說明】用于安全性測試的單元測試的自動合成

【背景技術(shù)】
[0001] 在本說明書中公開的一個或多個實施例涉及軟件的安全性測試。
[0002] 常常使用單元測試來確保軟件單元與其功能規(guī)格相符。單元測試是這樣一種方 法,其中對程序代碼的各個單獨單元進行測試,以便確定其是否正確運作并且按照原定方 式運轉(zhuǎn)。通常來說,一個單元是一項應(yīng)用的最小可測試部分。在程序化編程中,一個單元可 以是一整個模塊,但是更加常見的情況是一個單獨的函數(shù)或過程。在面向?qū)ο蟮木幊讨校?個單元常常是一整個接口(比如類),但是也可以是一種單獨的方法。單元測試通常由軟件 開發(fā)人員編寫和執(zhí)行。其實現(xiàn)方式可以包括從非常人工的操作到被形式化為構(gòu)造自動化的 一部分。


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

[0003] 在本說明書中公開的一個或多個實施例涉及對待測試計算機程序(CPUT)施行安 全性測試。
[0004] 一個實施例可以包括經(jīng)由處理器對CPUT進行分析,以便識別出與CPUT的潛在安 全性弱點相關(guān)的數(shù)據(jù)。所述方法還可以包括自動合成被配置成測試CPUT內(nèi)的特定程序代 碼單元的至少第一單元測試,所述第一單元測試被配置成初始化由CPUT內(nèi)的所述特定程 序代碼單元使用的至少一個參數(shù)。所述方法還可以包括向第一單元測試提供被配置成利用 CPUT的至少一項潛在安全性弱點的至少第一測試有效載荷。所述方法還可以包括動態(tài)地處 理第一單元測試以便向CPUT內(nèi)的所述特定程序代碼單元傳送第一測試有效載荷,確定第 一測試有效載荷是否利用了 CPUT的實際安全性弱點,以及輸出表明第一測試有效載荷是 否利用了 CPUT的實際安全性弱點的安全性分析報告。
[0005] 另一個實施例可以包括經(jīng)由處理器對CPUT施行靜態(tài)分析,以便識別出與CPUT的 潛在安全性弱點相關(guān)的數(shù)據(jù)。所述方法還可以包括自動合成被配置成測試CPUT內(nèi)的特定 程序代碼單元的至少第一單元測試,所述第一單元測試被配置成初始化由CPUT內(nèi)的所述 特定程序代碼單元使用的至少一個參數(shù)。所述方法還可以包括向第一單元測試提供被配置 成利用CPUT的至少一項潛在安全性弱點的至少第一測試有效載荷,動態(tài)地處理第一單元 測試以便經(jīng)由超文本傳輸協(xié)議(HTTP)請求向CPUT內(nèi)的所述特定程序代碼單元傳送第一測 試有效載荷,確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點,以及輸出表明第 一測試有效載荷是否利用了 CPUT的實際安全性弱點的安全性分析報告。
[0006] 另一個實施例可以包括用于對待測試計算機程序(CPUT)施行安全性分析的計算 機程序產(chǎn)品。所述計算機程序產(chǎn)品可以包括隨之具體實現(xiàn)計算機可讀程序代碼的計算機可 讀存儲介質(zhì),所述計算機可讀程序代碼包括被配置成施行在本說明書內(nèi)公開的各項操作和 /或功能的計算機可讀程序代碼。
[0007] 另一個實施例可以包括一種系統(tǒng),所述系統(tǒng)可以包括被配置成施行在本說明內(nèi)描 述的操作/可執(zhí)行操作等等的處理器。

【專利附圖】

【附圖說明】
[0008] 圖1是示出了根據(jù)在本說明書內(nèi)公開的一個實施例的用于自動合成用于安全性 測試的單元測試的系統(tǒng)的方框圖。
[0009] 圖2是示出了根據(jù)在本說明書內(nèi)公開的一個實施例的處理器的方框圖。
[0010] 圖3是示出了根據(jù)在本說明書內(nèi)公開的另一個實施例的用于對CPUT施行安全性 分析的方法的流程圖。

【具體實施方式】
[0011] 所屬【技術(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ì)中包含計算機可讀的程序代碼,例如存儲的代碼等等。
[0012] 可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算 機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限 于一電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或設(shè)備,或者任意以上的組合。計算 機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、 便攜式計算機盤、硬盤、固態(tài)盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程 只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、數(shù)字化視頻光盤 (DVD)、光存儲設(shè)備、磁存儲設(shè)備、或者上述的任意合適的組合。在本文件中,計算機可讀存 儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者設(shè) 備使用或者與其結(jié)合使用。
[0013] 計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號, 其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一但 不限于一電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是 計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者 傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與其結(jié)合使用的程序。
[0014] 計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限 于--無線、有線、光纜、RF等等,或者上述的任意合適的組合。可以以一種或多種程序設(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)連接)。
[0015] 下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖 和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖 中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計 算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計 算機程序指令在通過計算機、其它可編程數(shù)據(jù)處理裝置的處理器、或者其它設(shè)備執(zhí)行時,產(chǎn) 生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0016] 也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、 其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的 指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令 的制造品(article of manufacture) 〇
[0017] 計算機程序指令還可以被加載到計算機、其他可編程數(shù)據(jù)處理裝置或者其他設(shè)備 上,從而使得在所述計算機、其他可編程裝置或其他設(shè)備上施行一系列操作以產(chǎn)生計算機 實施的處理,從而使得在計算機或其他可編程裝置上執(zhí)行的指令提供用于實施在流程圖和 /或方框圖的一個或多個方框中規(guī)定的功能/動作的處理。
[0018] 這里所描述的設(shè)置涉及對于例如基于web的應(yīng)用之類的待測試計算機程序 (CPUT)的安全性分析和測試。更具體來說,可以提取并且處理與CPUT相關(guān)的數(shù)據(jù),以便動 態(tài)地創(chuàng)建被特別配置成測試可能存在于CPUT中的安全性弱點的單元測試??梢曰卺槍?CPUT的程序代碼所取回的數(shù)據(jù)自動合成單元測試。因此,自動創(chuàng)建的單元測試可以是特定 于CPUT的,并且可以鍛煉CPUT確定安全性弱點。具體來說,可以識別出CPUT的進入點,并 且對于每一個進入點可以確定對應(yīng)于該進入點的超文本傳輸協(xié)議(HTTP)參數(shù)??梢岳?一項或多項單元測試鍛煉這些進入點,以便將測試數(shù)據(jù)(例如包含惡意程序代碼、數(shù)值等 等的有效載荷)注入到由CPUT的進入點使用的一個或多個參數(shù)。相應(yīng)地,可以使用單元測 試對CPUT進行測試,以便確定CPUT對于惡意數(shù)據(jù)是否脆弱,所述惡意數(shù)據(jù)潛在地可以由末 端用戶在CPUT活躍時(即被布置并且正按照其原定方式操作)注入。
[0019] 這里所使用的單元測試是對CPUT的特定程序代碼單元(即CPUT的最小可測試部 分)施行測試的計算機可讀程序代碼,其初始化由所述特定單元使用的至少一個參數(shù)。程 序代碼的實例包括但不限于源代碼、字節(jié)碼(即可移植代碼或P代碼)、二進制碼等等???以將例如程序代碼(例如腳本)、數(shù)值等一項或多項有效載荷提供到單元測試,以便注入到 CPUT中以用于安全性測試。這里所使用的CPUT的單元是一個函數(shù)、模塊或者由施行特定操 作的一行或更多行CPUT程序代碼構(gòu)成的任何其他組。后面在說明書和/或所附權(quán)利要求 書內(nèi),CPUT的單元可以被稱作"程序代碼單元"。
[0020] 圖1是示出了根據(jù)在本說明書內(nèi)公開的一個實施例的用于自動合成用于安全性 測試的單元測試112的系統(tǒng)100的方框圖。所述系統(tǒng)可以包括安全性分析應(yīng)用110和CPUT 120,其中由安全性分析應(yīng)用110測試CPUT 120的安全性弱點。
[0021] 在一個實施例中,安全性分析應(yīng)用110和CPUT 120可以在同一處理系統(tǒng)上執(zhí)行。 相應(yīng)地可以消除用于安全性分析應(yīng)用110與CPUT120的通信帶寬成本。在圖示中,通信等 待時間可以被最小化,并且支持不同系統(tǒng)之間的通信所需的開銷處理可以被取消。
[0022] 在操作中,安全性分析應(yīng)用110可以對CPUT 120進行分析以便識別出與CPUT 120 的潛在安全性弱點相關(guān)的數(shù)據(jù)。舉例來說,安全性分析應(yīng)用110可以取回對應(yīng)于CPUT 120 的程序代碼并且對所述程序代碼施行靜態(tài)分析,以便識別并且提取出與CPUT 120的接收 用戶輸入的單元以及操縱這樣的用戶輸入的方式有關(guān)的未經(jīng)處理的數(shù)據(jù)。舉例來說,安全 性分析應(yīng)用110可以識別出對應(yīng)于CPUT中的將用戶輸入讀取到CPUT 120中的語句的程序 代碼,以及對應(yīng)于CPUT的與處理在所述進入點處接收自用戶的數(shù)據(jù)有關(guān)的單元的程序代 碼。
[0023] 在其中CPUT 120是web應(yīng)用的設(shè)置中,安全性分析應(yīng)用110可以分析并取回對應(yīng) 于CPUT的與接收HTTP請求有關(guān)的每一個單元(即程序代碼單元)的程序代碼,以及對應(yīng) 于CPUT的與處理這樣的HTTP請求有關(guān)的每一個單元的程序代碼。換句話說,除了分析與 提供用于與CPUT 120進行用戶交互的接口有關(guān)的程序代碼之外,安全性分析應(yīng)用110可以 對于與由CPUT 120施行的后端處理有關(guān)的程序代碼施行靜態(tài)分析。相應(yīng)地,由安全性分析 應(yīng)用110施行的靜態(tài)分析可以非常全面,并且識別出在僅使用動態(tài)分析的情況下可能會錯 過的潛在安全性弱點。此外,本發(fā)明的實施例可以通過在服務(wù)器側(cè)合成單元測試而取消對 于非常昂貴的HTTP通信的使用。
[0024] 基于這樣的識別,安全性分析應(yīng)用110可以動態(tài)地合成嘗試?yán)每赡軡撛诘卮嬖?于CPUT 120的一個或多個單元中的安全性弱點的單元測試112。更具體來說,每一項單元 測試112可以被配置成初始化由CPUT 120的特定單元使用的一個或多個參數(shù)。
[0025] 在其中單元測試112生成人為HTTP請求130的一個實施例中,安全性分析應(yīng)用 110可以實施一個模擬框架,其為安全性分析應(yīng)用110提供支持以便合成生成人為HTTP請 求130的單元測試112。這樣的模擬框架在本領(lǐng)域內(nèi)是已知的。在圖示中,取代使用末端用 戶借以與CPUT 120進行交互的由CPUT 120提供的傳統(tǒng)用戶接口,所述模擬框架可以包括 實施模擬對象的模擬類,所述模擬對象適當(dāng)?shù)貥?gòu)造由(多項)單元測試112生成的HTTP請 求以供CPUT 120使用。在這方面,所述模擬框架可以模仿傳統(tǒng)用戶接口接收來自用戶的參 數(shù)并且生成傳統(tǒng)HTTP請求的方式。模仿傳統(tǒng)用戶接口的操作的處理在本領(lǐng)域內(nèi)常常被稱 作"模擬"。
[0026] 此外,可以向每一項單元測試112提供一項或多項測試有效載荷,單元測試112可 以將其傳送到(例如注入到)CPUT,并且所述測試有效載荷可以在由CPUT 120接收和處理 時使得CPUT 120的目標(biāo)單元按照不合期望的方式執(zhí)行。安全性分析應(yīng)用110可以通過任 何適當(dāng)?shù)姆绞絼?chuàng)建測試有效載荷。舉例來說,安全性分析應(yīng)用110可以訪問一個測試有效 載荷數(shù)值庫,其可以對應(yīng)于在靜態(tài)分析期間識別出的由CPUT 120使用的各種參數(shù)。因此, 所述有效載荷可以被預(yù)先定義,但是本發(fā)明在這方面并不受限制。舉例來說,用戶可以選擇 將要運行哪些有效載荷,或者可以基于對CPUT程序代碼的分析動態(tài)地適配有效載荷。
[0027] 作為舉例,假設(shè)CPUT 120的一個單元被配置成使用由末端用戶提供的參數(shù)"名稱 (name)",這例如是利用CPUT 120的程序代碼中的"獲得名稱(get name)"指令實現(xiàn)的。由 于參數(shù)"名稱"例如由末端用戶利用HTTP請求提供,因此其可以被視為不受信任的參數(shù);某 些不道德的末端用戶可能會嘗試?yán)迷搮?shù)將惡意有效載荷注入到CPUT 120中。安全性 分析應(yīng)用110可以基于靜態(tài)分析識別出這樣的不受信任的參數(shù)由CPUT 120的一個單元使 用,并且合成單元測試112來定義參數(shù)"名稱"并且初始化該參數(shù)。此外,安全性分析應(yīng)用 110可以向單元測試112提供測試有效載荷,以便作為"名稱"參數(shù)被傳送到CPUT 120。有 效載荷的一個實例例如可以是腳本標(biāo)簽(例如"〈script type = 'text/javascript' name ='name'〉'alert'〈/script〉")。因此,測試有效載荷可以被配置成由CPUT 120使用, 以便對被測試的CPUT 120的單元中的"獲得名稱"指令施行特定測試。但是本發(fā)明不限于 這一具體實例。舉例來說,測試有效載荷可以包含被配置成測試CPUT的安全性弱點的任何 其他程序代碼、(多個)數(shù)值等等。
[0028] 安全性分析應(yīng)用110可以對(多項)單元測試112進行處理,以便向CPUT 120傳 送(多項)測試有效載荷。舉例來說,在一個實施例中,可以對單元測試112進行處理以便 生成一項或多項人為HTTP請求130,并且將所述人為HTTP請求130傳送到CPUT 120。每 一項人為HTTP請求130可以包括一項或多項測試有效載荷。這里所使用的人為HTTP請求 是出于測試CPUT的目的自動生成的HTTP請求,而不是由用戶直接生成。
[0029] 響應(yīng)于接收到人為HTTP請求130以及包含在人為HTTP請求130中或者與之相關(guān) 聯(lián)的任何測試有效載荷,CPUT 120可以生成HTTP響應(yīng)140。安全性分析應(yīng)用110可以對 HTTP響應(yīng)140進行分析,以便確定CPUT 120是否以不合期望的方式對人為HTTP請求130 做出響應(yīng)。此外,安全性分析應(yīng)用110還可以監(jiān)測由CPUT 120執(zhí)行的其他處理,以便確定 CPUT 120是否以不合期望的方式做出響應(yīng)。舉例來說,安全性分析應(yīng)用110可以實施驗證 邏輯以便監(jiān)測由CPUT 120施行的數(shù)據(jù)輸入/輸出活動,例如發(fā)送附加的人為HTTP請求、生 成數(shù)據(jù)、存儲數(shù)據(jù)、取回數(shù)據(jù)等等。
[0030] 在一種設(shè)置中,安全性分析應(yīng)用110可以對HTTP響應(yīng)140進行處理,以便識別出 與CPUT的潛在安全性弱點相關(guān)的附加數(shù)據(jù),比如CPUT中的附加安全性弱點,或者已被識別 出的特定弱點的附加方面?;谶@樣的識別,安全性分析應(yīng)用110可以動態(tài)地合成利用可 能潛在地存在于CPUT 120中的安全性弱點的一項或多項后續(xù)單元測試112。在圖示中,安 全性分析應(yīng)用110可以合成包括被配置成測試CPUT的潛在安全性弱點的其他(多項)測試 有效載荷的一項或多項其他單元測試112,并且動態(tài)地執(zhí)行所述其他(多項)單元測試112 以便經(jīng)由一項或多項其他人為HTTP請求將其他(多項)測試有效載荷傳送到CPUT 120, 正如前面所描述的那樣。安全性分析應(yīng)用110可以如前所述地接收后續(xù)HTTP響應(yīng)和/或 監(jiān)測CPUT 120,以便確定CPUT 120是否以不合期望的方式對后續(xù)的(多項)單元測試112 做出響應(yīng)。
[0031] 安全性分析應(yīng)用110可以對HTTP響應(yīng)140、接收自CPUT 120的任何其他響應(yīng)以 及/或者由CPUT 120施行的數(shù)據(jù)輸入/輸出活動進行分析,以便識別出CPUT 120中的安 全性弱點?;谶@樣的分析,安全性分析應(yīng)用110可以生成表明與CPUT 120有關(guān)的安全性 弱點的安全性分析報告150。在圖示中,安全性分析應(yīng)用110可以向用戶接口 160、計算機 可讀存儲介質(zhì)等等輸出安全性分析報告150。用戶接口 160可以由安全性分析應(yīng)用110在 其上執(zhí)行的處理系統(tǒng)呈現(xiàn),但是并不需要是這種情況。
[0032] 圖2是示出了根據(jù)在本說明書內(nèi)公開的一個實施例的處理系統(tǒng)200的方框圖。處 理系統(tǒng)200可以包括至少一個處理器205,其通過系統(tǒng)總線215或其他適當(dāng)電路耦合到存儲 器元件210。因此,處理系統(tǒng)200可以將計算機可讀程序代碼存儲在存儲器元件210內(nèi)。處 理器105可以執(zhí)行經(jīng)由系統(tǒng)總線215從存儲器元件210訪問的計算機可讀程序代碼。在一 個方面中,處理系統(tǒng)200例如可以被實施為適合于存儲和/或執(zhí)行程序代碼的計算機。但 是應(yīng)當(dāng)認(rèn)識到,處理系統(tǒng)200可以通過能夠施行在本說明書內(nèi)描述的各項功能和/或操作 的包括處理器和存儲器的任何系統(tǒng)的形式來實施。
[0033] 存儲器元件210可以包括一個或多個物理存儲器設(shè)備,比如本地存儲器220以及 一個或多個大容量存儲設(shè)備225。本地存儲器220指的是通常在程序代碼的實際執(zhí)行期間 使用的隨機存取存儲器或其他(多個)非永久性存儲器設(shè)備。所述(多個)大容量存儲設(shè) 備225可以被實施為硬盤驅(qū)動器(HDD)、固態(tài)驅(qū)動器(SSD)或者其他永久性數(shù)據(jù)存儲設(shè)備。 處理系統(tǒng)200還可以包括一個或多個高速緩沖存儲器(未示出),其提供對于至少一些程序 代碼的臨時存儲,以便減少在執(zhí)行期間必須從大容量存儲設(shè)備225取回程序代碼的次數(shù)。
[0034] 例如鍵盤230、顯示器235和指示設(shè)備240之類的輸入/輸出(I/O)設(shè)備可選地可 以耦合到處理系統(tǒng)200。所述I/O設(shè)備可以直接耦合到或者通過中間的I/O控制器耦合到 處理系統(tǒng)200。一個或多個網(wǎng)絡(luò)適配器245也可以耦合到處理系統(tǒng)200,以便使得處理系統(tǒng) 200能夠通過中間的私有或公共網(wǎng)絡(luò)變?yōu)轳詈系狡渌到y(tǒng)、計算機系統(tǒng)、遠程打印機和/或 遠程存儲設(shè)備。調(diào)制解調(diào)器、有線電視調(diào)制解調(diào)器、以太網(wǎng)卡、無線網(wǎng)絡(luò)適配器和個人區(qū)域 網(wǎng)絡(luò)設(shè)備是可以與處理系統(tǒng)200 -同使用的不同類型的網(wǎng)絡(luò)適配器245的實例。
[0035] 如圖2中所示,存儲器元件210可以存儲安全性分析應(yīng)用110和CPUT 120。通過 可執(zhí)行程序代碼的形式實施的安全性分析應(yīng)用110可以由處理系統(tǒng)200執(zhí)行,因此可以被 視為處理系統(tǒng)200的一部分。
[0036] 安全性分析應(yīng)用110可以由處理器205執(zhí)行,以便施行這里所描述的方法和處理。 舉例來說,安全性分析應(yīng)用110可以被執(zhí)行來分析CPUT 120以便識別出與CPUT的潛在安 全性弱點相關(guān)的數(shù)據(jù),自動/動態(tài)地合成至少一項單元測試112,以及動態(tài)地處理(多項) 單元測試112以便向CPUT 120傳送一項或多項測試有效載荷,從而測試存在于CPUT 120 中的潛在安全性弱點。
[0037] 安全性分析應(yīng)用110可以將這樣的測試的結(jié)果輸出到存儲器元件210并且將所述 結(jié)果存儲在存儲器元件210內(nèi)。這里所使用的"輸出"可以是指存儲在存儲器元件210中 (例如寫入到存儲在存儲器元件210中的一個或多個文件)、寫入到顯示器235或另一外圍 輸出設(shè)備、播放可聽通知、發(fā)送或傳送到另一系統(tǒng)、導(dǎo)出等等。在一個實施例中,安全性分 析應(yīng)用 110 可以被實施為 IBM? Rational? AppScan? Source Edition(IBM、 Rational和AppScan是美國、其他國家或者同時在美國和其他國家中的國際商業(yè)機器公司 (International Business Machines Corporation)的商標(biāo))。
[0038] 圖3是示出了根據(jù)在本說明書內(nèi)公開的另一個實施例的用于對CPUT施行安全性 分析的方法300的流程圖。方法300可以由圖2的處理系統(tǒng)實施。
[0039] 在步驟302處,可以經(jīng)由處理器對CPUT進行分析,以便識別出與CPUT的潛在安全 性弱點相關(guān)的數(shù)據(jù)。舉例來說,安全性分析應(yīng)用可以施行對于CPUT的靜態(tài)分析。更具體來 說,安全性分析應(yīng)用可以分析CPUT的與接收HTTP請求有關(guān)的程序代碼,并且分析CPUT的 與處理HTTP請求有關(guān)的程序代碼。
[0040] 在步驟304處,安全性分析應(yīng)用可以自動合成一項或多項單元測試,其中每一項 單元測試被配置成初始化由CPUT的特定程序代碼單元使用的一個或多個參數(shù)。舉例來說, 安全性分析應(yīng)用可以處理與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)以便合成(多項)單元測 試。安全性分析應(yīng)用還可以向每一項單元測試提供一項或多項測試有效載荷,其被配置成 測試CPUT的一項或多項潛在安全性弱點。正如所提到的那樣,測試有效載荷可以包括一個 或多個數(shù)值、程序代碼(例如腳本)等等,其意圖復(fù)制不道德的末端用戶可能在所布置的 CPUT的慣常操作期間注入到CPUT中的惡意有效載荷。
[0041] 在步驟306處,可以動態(tài)地處理所述(多項)單元測試,以便向CPUT傳送(多項) 第一有效載荷。舉例來說,可以動態(tài)地處理(多項)單元測試以便生成一項或多項人為HTTP 請求(其中的每一項人為HTTP請求包括一項或多項測試有效載荷),并且將包括測試有效 載荷的人為HTTP請求傳送到CPUT。響應(yīng)于接收到(多項)測試有效載荷,CPUT可以生成 一項或多項HTTP響應(yīng),并且將HTTP響應(yīng)傳送到安全性分析應(yīng)用。
[0042] 在步驟308處,安全性分析應(yīng)用可以從CPUT接收針對人為HTTP請求的HTTP響應(yīng)。 在步驟310處,安全性分析應(yīng)用可以確定(多項)測試有效載荷是否利用了 CPUT的實際安 全性弱點。舉例來說,安全性分析應(yīng)用可以在處理測試有效載荷的同時分析CPUT,并且/或 者分析由CPUT生成的(多項)HTTP響應(yīng),正如前面所描述的那樣。在圖示中,如果在處理 一項或多項測試有效載荷的同時CPUT以不合期望的方式施行操作,或者如果CPUT生成不 合期望的HTTP響應(yīng),則可以識別出CPUT的此類行為。
[0043] 在步驟312處,安全性分析應(yīng)用可以分析所述(多項)HTTP響應(yīng),以便確定是否存 在CPUT的附加的潛在安全性弱點。在圖示中,HTTP響應(yīng)可以包括表明在步驟302中可能 沒有識別出的與CPUT的潛在安全性弱點相關(guān)的附加數(shù)據(jù)的內(nèi)容。參照判定方框314,如果 通過分析(多項)HTTP響應(yīng)識別出附加的潛在安全性弱點,則在步驟316處可以識別出附 加的數(shù)據(jù)。在步驟318處,安全性分析應(yīng)用可以合成一項或多項附加的單元測試??梢韵?每一項附加的單元測試提供被配置成針對CPUT的至少一項潛在安全性弱點對CPUT進行測 試的至少一項其他的測試有效載荷。所述處理隨后可以繼續(xù)到步驟306,并且按照所描述的 那樣繼續(xù)。
[0044] 再次參照判定方框314,當(dāng)沒有識別出附加的潛在安全性弱點時,所述處理可以繼 續(xù)到步驟320,并且可以例如基于在步驟310處做出的確定輸出安全性分析報告。包含在安 全性分析報告中的安全性分析的結(jié)果可以表明(多項)測試有效載荷是否利用了 CPUT的 實際安全性弱點。正如所提到的那樣,所述結(jié)果可以被輸出到顯示器、打印機、存儲到存儲 器等等。
[0045] 整個說明書中相同的數(shù)字用于指定相同的項。附圖中的流程圖和框圖顯示了根據(jù) 本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。 在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模 塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng) 當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的 順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順 序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框 圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng) 來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0046] 這里所使用的術(shù)語僅僅是用于描述特定實施例的目的,而不意圖限制本發(fā)明。除 非上下文明確地另有所指,否則這里所使用的單數(shù)形式"一個"、"一項"和"所述"同樣意圖 包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解的是,在本說明書中使用的術(shù)語"包括"表明所述特征、證書、步 驟、操作、元件和/或組件的存在,而不排除存在或添加一個或多個其他特征、證書、步驟、 操作、元件、組件和/或其組合。
[0047] 所附權(quán)利要求書中的所有裝置或步驟加上功能元件的相應(yīng)結(jié)構(gòu)、材料、動作和等 效方案意圖包括用于與明確要求保護的其他要求保護的元件相組合來施行所述功能的任 何結(jié)構(gòu)、材料或動作。前面對于本發(fā)明的描述是出于說明和描述的目的而給出的,其并不意 圖進行窮舉或者把本發(fā)明限制到所公開的形式。在不背離本發(fā)明的范圍和精神的情況下, 本領(lǐng)域技術(shù)人員將認(rèn)識到許多修改和變型。前面對于實施例的選擇和描述是為了最佳地解 釋本發(fā)明的原理和實際應(yīng)用,并且使得本領(lǐng)域技術(shù)人員能夠理解本發(fā)明的具有適合于所設(shè) 想的特定用途的各種修改的各個實施例。
【權(quán)利要求】
1. 一種對待測試計算機程序CPUT施行安全性分析的方法,所述方法包括: 經(jīng)由處理器對CPUT進行分析,以便識別出與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù); 自動地合成被配置成測試CPUT內(nèi)的特定程序代碼單元的至少第一單元測試,所述第 一單元測試被配置成初始化由CPUT內(nèi)的所述特定程序代碼單元使用的至少一個參數(shù); 向第一單元測試提供被配置成利用CPUT的至少一項潛在安全性弱點的至少第一測試 有效載荷; 動態(tài)地處理第一單元測試,以便向CPUT內(nèi)的所述特定程序代碼單元傳送第一測試有 效載荷; 確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點;以及 輸出表明第一測試有效載荷是否利用了 CPUT的實際安全性弱點的安全性分析報告。
2. 權(quán)利要求1的方法,其中,確定第一測試有效載荷是否利用了 CPUT的實際安全性弱 點包括: 在CPUT處理第一測試有效載荷的同時分析由CPUT執(zhí)行的處理。
3. 權(quán)利要求1的方法,其中,動態(tài)地處理第一單元測試以便向CPUT傳送第一測試有效 載荷包括: 向CPUT傳送包括第一測試有效載荷的人為超文本傳輸協(xié)議HTTP請求。
4. 權(quán)利要求3的方法,其還包括: 從CPUT接收針對人為HTTP請求的HTTP響應(yīng); 其中,確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點包括分析所述HTTP 響應(yīng)。
5. 權(quán)利要求3的方法,其還包括: 從CPUT接收針對人為HTTP請求的HTTP響應(yīng); 對所述HTTP響應(yīng)進行分析,以便識別出與CPUT的潛在安全性弱點相關(guān)的附加數(shù)據(jù); 自動地合成至少第二單元測試,所述第二單元測試包括被配置成針對CPUT的至少一 項潛在安全性弱點來測試CPUT的至少第二測試有效載荷;以及 動態(tài)地處理第二單元測試,以便將第二測試有效載荷傳送到CPUT。
6. 權(quán)利要求3的方法,其中,向CPUT傳送人為HTTP請求包括: 第一單元測試自動地生成包括第一測試有效載荷的人為HTTP請求;以及 第一單元測試自動地向CPUT傳送人為HTTP請求。
7. 權(quán)利要求1的方法,其中,自動地合成至少第一單元測試包括: 對與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)進行處理,以便合成第一單元測試。
8. 權(quán)利要求1的方法,其中,對CPUT進行分析以便識別出與CPUT的潛在安全性弱點相 關(guān)的數(shù)據(jù)包括: 對CPUT施行靜態(tài)分析。
9. 權(quán)利要求8的方法,其中,對CPUT施行靜態(tài)分析包括: 對CPUT的與接收超文本傳輸協(xié)議HTTP請求有關(guān)的程序代碼進行分析;以及 對CPUT的與處理HTTP請求有關(guān)的程序代碼進行分析。
10. -種對待測試計算機程序CPUT施行安全性分析的方法,所述方法包括: 經(jīng)由處理器對CPUT施行靜態(tài)分析,以便識別出與CPUT的潛在安全性弱點相關(guān)的數(shù) 據(jù); 自動地合成被配置成測試CPUT內(nèi)的特定程序代碼單元的至少第一單元測試,所述第 一單元測試被配置成初始化由CPUT內(nèi)的所述特定程序代碼單元使用的至少一個參數(shù); 向第一單元測試提供被配置成利用CPUT的至少一項潛在安全性弱點的至少第一測試 有效載荷; 動態(tài)地處理第一單元測試,以便經(jīng)由超文本傳輸協(xié)議HTTP請求向CPUT內(nèi)的所述特定 程序代碼單元傳送第一測試有效載荷; 確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點;以及 輸出表明第一測試有效載荷是否利用了 CPUT的實際安全性弱點的安全性分析報告。
11. 一種用于對待測試計算機程序(CPUT)施行安全性分析的計算機程序產(chǎn)品,所述計 算機程序產(chǎn)品包括: 具有隨之具體實現(xiàn)的計算機可讀程序代碼的計算機可讀存儲介質(zhì),所述計算機可讀程 序代碼包括: 被配置成對CPUT進行分析以便識別出與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)的計算機 可讀程序代碼; 被配置成自動地合成被配置成測試CPUT內(nèi)的特定程序代碼單元的至少第一單元測試 的計算機可讀程序代碼,所述第一單元測試被配置成初始化由CPUT內(nèi)的所述特定程序代 碼單元使用的至少一個參數(shù); 被配置成向第一單元測試提供被配置成利用CPUT的至少一項潛在安全性弱點的至少 第一測試有效載荷的計算機可讀程序代碼; 被配置成動態(tài)地處理第一單元測試以便向CPUT內(nèi)的所述特定程序代碼單元傳送第一 測試有效載荷的計算機可讀程序代碼; 被配置成確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點的計算機可讀程 序代碼;以及 被配置成輸出表明第一測試有效載荷是否利用了 CPUT的實際安全性弱點的安全性分 析報告的計算機可讀程序代碼。
12. 權(quán)利要求11的計算機程序產(chǎn)品,其中,被配置成確定第一測試有效載荷是否利用 了 CPUT的實際安全性弱點的計算機可讀程序代碼包括: 被配置成在CPUT處理第一測試有效載荷的同時分析由CPUT執(zhí)行的處理的計算機可讀 程序代碼。
13. 權(quán)利要求11的計算機程序產(chǎn)品,其中,被配置成動態(tài)地處理第一單元測試以便向 CPUT傳送第一測試有效載荷的計算機可讀程序代碼包括: 被配置成向CPUT傳送包括第一測試有效載荷的人為超文本傳輸協(xié)議HTTP請求的計算 機可讀程序代碼。
14. 權(quán)利要求13的計算機程序產(chǎn)品,所述計算機可讀程序代碼還包括: 被配置成從CPUT接收針對人為HTTP請求的HTTP響應(yīng)的計算機可讀程序代碼; 其中,被配置成確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點的計算機 可讀程序代碼包括被配置成分析所述HTTP響應(yīng)的計算機可讀程序代碼。
15. 權(quán)利要求13的計算機程序產(chǎn)品,所述計算機可讀程序代碼還包括: 被配置成從CPUT接收針對人為HTTP請求的HTTP響應(yīng)的計算機可讀程序代碼; 被配置成對所述HTTP響應(yīng)進行分析以便識別出與CPUT的潛在安全性弱點相關(guān)的附加 數(shù)據(jù)的計算機可讀程序代碼; 被配置成自動地合成至少第二單元測試的計算機可讀程序代碼,所述第二單元測試包 括被配置成針對CPUT的至少一項潛在安全性弱點來測試CPUT的至少第二測試有效載荷; 以及 被配置成動態(tài)地處理第二單元測試以便將第二測試有效載荷傳送到CPUT的計算機可 讀程序代碼。
16. 權(quán)利要求13的計算機程序產(chǎn)品,其中,向CPUT傳送人為HTTP請求包括: 第一單元測試自動地生成包括第一測試有效載荷的人為HTTP請求;以及 第一單元測試自動地向CPUT傳送人為HTTP請求。
17. 權(quán)利要求11的計算機程序產(chǎn)品,其中,被配置成自動地合成至少第一單元測試的 計算機可讀程序代碼包括: 被配置成對與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)進行處理以便合成第一單元測試的 計算機可讀程序代碼。
18. 權(quán)利要求11的計算機程序產(chǎn)品,其中,被配置成對CPUT進行分析以便識別出與 CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)的計算機可讀程序代碼包括: 被配置成對CPUT施行靜態(tài)分析的計算機可讀程序代碼。
19. 權(quán)利要求18的計算機程序產(chǎn)品,其中,被配置成對CPUT施行靜態(tài)分析的計算機可 讀程序代碼包括: 被配置成對CPUT的與接收超文本傳輸協(xié)議HTTP請求有關(guān)的程序代碼進行分析的計算 機可讀程序代碼;以及 被配置成對CPUT的與處理HTTP請求有關(guān)的程序代碼進行分析的計算機可讀程序代 碼。
20. -種對待測試計算機程序CPUT施行安全性分析的計算機程序產(chǎn)品,所述計算機程 序廣品包括: 具有隨之具體實現(xiàn)的計算機可讀程序代碼的計算機可讀存儲介質(zhì),所述計算機可讀程 序代碼包括: 被配置成對CPUT施行靜態(tài)分析以便識別出與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù)的計 算機可讀程序代碼; 被配置成自動地合成被配置成測試CPUT內(nèi)的特定程序代碼單元的至少第一單元測試 的計算機可讀程序代碼,所述第一單元測試被配置成初始化由CPUT內(nèi)的所述特定程序代 碼單元使用的至少一個參數(shù); 被配置成向第一單元測試提供被配置成利用CPUT的至少一項潛在安全性弱點的至少 第一測試有效載荷的計算機可讀程序代碼; 被配置成動態(tài)地處理第一單元測試以便經(jīng)由超文本傳輸協(xié)議HTTP請求向CPUT內(nèi)的所 述特定程序代碼單元傳送第一測試有效載荷的計算機可讀程序代碼; 被配置成確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點的計算機可讀程 序代碼;以及 被配置成輸出表明第一測試有效載荷是否利用了 CPUT的實際安全性弱點的安全性分 析報告的計算機可讀程序代碼。
21. -種系統(tǒng),其包括: 被配置成發(fā)起包括以下可執(zhí)行操作的處理器: 對CPUT進行分析,以便識別出與CPUT的潛在安全性弱點相關(guān)的數(shù)據(jù); 自動地合成被配置成測試CPUT內(nèi)的特定程序代碼單元的至少第一單元測試,所述第 一單元測試被配置成初始化由CPUT內(nèi)的所述特定程序代碼單元使用的至少一個參數(shù); 向第一單元測試提供被配置成利用CPUT的至少一項潛在安全性弱點的至少第一測試 有效載荷; 動態(tài)地處理第一單元測試,以便向CPUT內(nèi)的所述特定程序代碼單元傳送第一測試有 效載荷; 確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點;以及 輸出表明第一測試有效載荷是否利用了 CPUT的實際安全性弱點的安全性分析報告。
22. 權(quán)利要求21的系統(tǒng),其中,確定第一測試有效載荷是否利用了 CPUT的實際安全性 弱點包括: 在CPUT處理第一測試有效載荷的同時分析由CPUT執(zhí)行的處理。
23. 權(quán)利要求21的系統(tǒng),其中,動態(tài)地處理第一單元測試以便向CPUT傳送第一測試有 效載荷包括: 向CPUT傳送包括第一測試有效載荷的人為超文本傳輸協(xié)議HTTP請求。
24. 權(quán)利要求23的系統(tǒng),所述處理器還被配置成發(fā)起包括以下各項的可執(zhí)行操作: 從CPUT接收針對人為HTTP請求的HTTP響應(yīng); 其中,確定第一測試有效載荷是否利用了 CPUT的實際安全性弱點包括分析所述HTTP 響應(yīng)。
25. 權(quán)利要求23的系統(tǒng),所述處理器還被配置成發(fā)起包括以下各項的可執(zhí)行操作: 從CPUT接收針對人為HTTP請求的HTTP響應(yīng); 對所述HTTP響應(yīng)進行分析,以便識別出與CPUT的潛在安全性弱點相關(guān)的附加數(shù)據(jù); 自動地合成至少第二單元測試,所述第二單元測試包括被配置成針對CPUT的至少一 項潛在安全性弱點來測試CPUT的至少第二測試有效載荷;以及 動態(tài)地處理第二單元測試,以便將第二測試有效載荷傳送到CPUT。
【文檔編號】G06F9/44GK104115117SQ201380008347
【公開日】2014年10月22日 申請日期:2013年1月17日 優(yōu)先權(quán)日:2012年2月7日
【發(fā)明者】O·特立普, O·塞伽爾, O·威斯曼, D·卡爾曼 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1