本公開涉及用于測試在測試系統(tǒng)中的計算機(jī)系統(tǒng)的計算機(jī)的測試系統(tǒng)及用于測試在測試網(wǎng)絡(luò)中的計算機(jī)系統(tǒng)的計算機(jī)的方法。本公開尤其涉及用于在通信網(wǎng)絡(luò)和仿真測試對象的仿真服務(wù)器(蜜罐(honeypot))中的自動化測試或安全性測試的方法。
背景技術(shù):
為了監(jiān)控諸如服務(wù)器、路由器、交換機(jī)等的網(wǎng)絡(luò)元件的狀態(tài)及測試?yán)畿浖顩r的適當(dāng)配置或時事性,基本上可以通過以下兩個方法進(jìn)行:第一,使用中心測試實(shí)體,該實(shí)體直接接入所有網(wǎng)絡(luò)元件;第二,使用所謂的代理,即在所有與中心測試實(shí)體通信的網(wǎng)絡(luò)元件上額外的軟件包。然而,關(guān)于安全性和復(fù)雜性的問題在將中心測試實(shí)體直接接入所有網(wǎng)絡(luò)元件或?qū)⒋戆惭b到網(wǎng)絡(luò)元件期間出現(xiàn)。通過直接接入網(wǎng)絡(luò)元件,可以在特定環(huán)境下識別和操作測試實(shí)體或代理的安全關(guān)鍵數(shù)據(jù)。在每一個網(wǎng)絡(luò)元件上安裝代理還施加了高復(fù)雜性的需求,特別在具有多個計算機(jī)或服務(wù)器的大型計算機(jī)系統(tǒng)的測試期間。
技術(shù)實(shí)現(xiàn)要素:
本公開的目的在于建立計算機(jī)系統(tǒng)的計算機(jī)的簡單安全測試的途徑。
前述的目的通過獨(dú)立權(quán)利要求的主題來實(shí)現(xiàn)。進(jìn)一步的實(shí)現(xiàn)形式的優(yōu)勢是從屬權(quán)利要求的主題。
以下描述的設(shè)備、方法和系統(tǒng)可能是不同類型的。每一個單獨(dú)描述的元件可以通過硬件或軟件部件來實(shí)現(xiàn),硬件或軟件部件諸如可以通過不同技術(shù)來產(chǎn)生的電子元件,以及可以包括例如半導(dǎo)體芯片、asic、微處理器、數(shù)字信號處理器、集成電路、電光電路和/或無源元件。
以下所描述的設(shè)備、方法和系統(tǒng)可以用于確定計算機(jī)系統(tǒng)的計算機(jī)軟件版本、補(bǔ)丁版本和配置。補(bǔ)丁在這里表示從終端用戶角度來看的軟件或數(shù)據(jù)的更新的糾正版本,以修補(bǔ)安全漏洞、糾正錯誤或升級迄今以前不可用的功能。這些更新在其包括多個組合的補(bǔ)丁時,也稱為來自一些制造商的服務(wù)包。
根據(jù)第一方面,本公開涉及用于測試在測試網(wǎng)絡(luò)中的特定計算機(jī)系統(tǒng)的特定計算機(jī)的測試系統(tǒng),其中測試網(wǎng)絡(luò)包括用于測試計算機(jī)系統(tǒng)的計算機(jī)的測試實(shí)體,其中特定計算機(jī)是測試對象,以及其中測試系統(tǒng)包括以下特征:仿真服務(wù)器,配置為仿真測試對象;以及控制實(shí)體,用于控制仿真服務(wù)器,其中控制實(shí)體配置為指示仿真服務(wù)器生成用于仿真測試對象的虛擬測試對象,其中控制實(shí)體進(jìn)一步配置為指示測試實(shí)體測試由代替特定計算機(jī)的仿真服務(wù)器生成的虛擬測試對象。
此類測試系統(tǒng)提供了計算機(jī)系統(tǒng)的計算機(jī)的簡單安全測試的優(yōu)勢。采用仿真服務(wù)器,可以仿真測試對象,從而可以測試代替真實(shí)測試對象的虛擬測試對象。在直接接入計算機(jī)期間存在的安全問題因而將會被移除,因?yàn)椴皇钦鎸?shí)計算機(jī)而是虛擬測試對象將被測試。如果安全威脅在測試實(shí)體出現(xiàn),那么這會打擊到在仿真服務(wù)器上的虛擬測試對象,而不是真實(shí)計算機(jī)本身。仿真服務(wù)器密封(seals)計算機(jī)使其隔離測試實(shí)體,并形成“蜜罐”,即仿真服務(wù)器用作分散裝置以引誘在測試實(shí)體上潛在的惡意軟件或病毒攻擊或影響代替真實(shí)計算機(jī)的仿真服務(wù)器。從而在計算機(jī)系統(tǒng)的測試期間提高了安全性。
此外,此類仿真服務(wù)器在沒有高度復(fù)雜性的情況下是可實(shí)現(xiàn)的。由于每一個計算機(jī)可以以相同的方式利用仿真服務(wù)器進(jìn)行測試,測試實(shí)體僅需要與仿真服務(wù)器通信以實(shí)現(xiàn)測試任務(wù)。這排除了對于在所有待測試的計算機(jī)上安裝特定軟件包的需求,例如,這對于在實(shí)現(xiàn)代理期間測試單獨(dú)計算機(jī)是有必要的。在完成計算機(jī)測試之后,仿真服務(wù)器上的虛擬測試對象可以以容易的方式再次刪除,并且下一個虛擬測試對象可以在仿真服務(wù)器上生成。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,測試系統(tǒng)配置為接收測試對象的數(shù)據(jù)并基于在仿真服務(wù)器上接收的數(shù)據(jù)來仿真測試對象。
這提供了以下優(yōu)勢:測試對象可以基于測試對象的數(shù)據(jù)進(jìn)行仿真,從而這里可以進(jìn)行與仿真有關(guān)的數(shù)據(jù)選擇。因而,整個測試對象,即具有所有安裝的軟件和所有數(shù)據(jù)的計算機(jī),不需要進(jìn)行復(fù)制,但是取而代之的是仿真可以基于數(shù)據(jù)選擇來生成,這就足夠了。例如,計算機(jī)可以傳送其當(dāng)前安裝的軟件、補(bǔ)丁和/或配置至仿真服務(wù)器,以使得虛擬測試對象可以復(fù)制安裝在計算機(jī)上的軟件、補(bǔ)丁、配置。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,測試對象的數(shù)據(jù)包括以下信息中的至少一者:安裝在測試對象上的軟件的軟件狀態(tài)、安裝在測試對象上的補(bǔ)丁的補(bǔ)丁狀態(tài)、測試對象的配置的配置狀態(tài)。
這提供了以下優(yōu)勢:計算機(jī)的仿真可以以當(dāng)前與測試實(shí)體有關(guān)的數(shù)據(jù)的選擇為基礎(chǔ)來生成。計算機(jī)可以傳送其當(dāng)前安裝的軟件、補(bǔ)丁和/或配置至仿真服務(wù)器,以使得虛擬測試對象可以復(fù)制安裝在計算機(jī)上的軟件、補(bǔ)丁、配置。選擇可以通過控制測試實(shí)體來進(jìn)行。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,測試系統(tǒng)配置為通過在測試對象與測試系統(tǒng)之間的直接文件傳遞或者基于與測試系統(tǒng)的用戶的交互來接收測試對象的數(shù)據(jù)。
這提供了以下優(yōu)勢:測試對象的數(shù)據(jù)可以靈活地帶給仿真服務(wù)器。首先,自動文件傳遞是可行的,這可以不僅通過測試對象而且通過仿真服務(wù)器來進(jìn)行初始化。其次,與用戶的手動交互是可行的,以使得例如在存在對此類計算機(jī)的安全懷疑時,測試系統(tǒng)的操作方可以使特定計算機(jī)被測試。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,控制實(shí)體配置為在新的測試對象的數(shù)據(jù)在仿真服務(wù)器上可用的情況下每隔固定時間進(jìn)行測試,以及在存在數(shù)據(jù)的情況下指示仿真服務(wù)器生成用于仿真新的測試對象的虛擬測試對象,并指示測試實(shí)體測試虛擬測試對象。
這提供了以下優(yōu)勢:計算機(jī)系統(tǒng)的計算機(jī)可以通過在仿真服務(wù)器上仿真相應(yīng)的虛擬測試對象而相繼進(jìn)行測試。因而可以經(jīng)由單個仿真服務(wù)器來測試大量的測試對象。因此,有效實(shí)現(xiàn)了測試系統(tǒng)并且用于測試大量測試對象的成本低。對于每一個測試對象來說,相同的方法還可以用于生成虛擬測試對象。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,控制實(shí)體配置為經(jīng)由應(yīng)用可編程接口接收數(shù)據(jù)和進(jìn)一步的用于控制的參數(shù),以及指示仿真服務(wù)器生成用于仿真新的測試對象的虛擬測試對象,并指示所述測試實(shí)體測試虛擬測試對象。
這提供了以下優(yōu)勢:控制實(shí)體可以編程或調(diào)整為用戶特定的并因而提供高靈活性。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,控制實(shí)體配置為從測試實(shí)體接收測試虛擬測試對象的測試結(jié)果。
這提供了以下優(yōu)勢:在控制實(shí)體上的所有測試結(jié)果是可用的并且容易接入的。例如,控制實(shí)體可以圖像處理測試結(jié)果以清楚地顯示結(jié)果。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,測試系統(tǒng)包括在控制實(shí)體與測試實(shí)體之間的第一測試接口,其中第一測試接口包括應(yīng)用可編程接口。
這提供了以下優(yōu)勢:測試實(shí)體可以經(jīng)由第一測試接口進(jìn)行控制或編程。因而,測試系統(tǒng)可以與不同的測試實(shí)體一起使用,不同的測試實(shí)體例如可以來自不同的制造商。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,測試系統(tǒng)包括在仿真服務(wù)器與測試實(shí)體之間的第二測試接口,其中第二測試接口配置為加載由測試實(shí)體提供的插件,以用于在仿真服務(wù)器上測試虛擬測試對象。
這提供了以下優(yōu)勢:測試實(shí)體可以經(jīng)由第二測試接口控制在仿真服務(wù)器上的虛擬測試對象的測試。在仿真服務(wù)器上進(jìn)行的測試任務(wù)可以經(jīng)由由測試實(shí)體提供的插件來定義。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,仿真服務(wù)器配置為根據(jù)預(yù)定的軟件狀態(tài)、補(bǔ)丁狀態(tài)或配置狀態(tài)經(jīng)由由測試實(shí)體提供的插件來掃描虛擬測試對象。
這提供了以下優(yōu)勢:對計算機(jī)系統(tǒng)的計算機(jī)的軟件狀態(tài)、補(bǔ)丁狀態(tài)和/或配置的查詢可以快速有效地執(zhí)行。因而,可以快速容易地獲得對諸如具有多個服務(wù)器的用于轉(zhuǎn)換通信連接的轉(zhuǎn)換中心、或具有多個處理器模塊的用于路由連接的路由器等的大計算機(jī)系統(tǒng)的軟件/補(bǔ)丁/配置狀態(tài)的洞察。
在根據(jù)第一方面本身的測試系統(tǒng)的實(shí)施方式中,仿真服務(wù)器具有至測試對象的接入數(shù)據(jù),接入數(shù)據(jù)僅在所述虛擬測試對象上有效且僅在虛擬測試對象的測試周期有效。
這提供了以下優(yōu)勢:增加安全性,由于例如可能源自于外部供應(yīng)商并因而可能劃分為不安全的測試系統(tǒng)不能獲得至計算機(jī)或真實(shí)的測試對象的直接接入。在接入數(shù)據(jù)僅在虛擬測試對象有效時,不能損害真實(shí)的測試對象的安全性。在接入數(shù)據(jù)僅在測試周期有效時,能夠排除了其他時間的濫用。
根據(jù)第二方面本身,本公開涉及用于測試在測試網(wǎng)絡(luò)中的特定計算機(jī)系統(tǒng)的特定計算機(jī)的方法,其中測試網(wǎng)絡(luò)包括用于測試計算機(jī)系統(tǒng)的計算機(jī)的測試實(shí)體,其中特定計算機(jī)是測試對象,并且其中該方法包括以下步驟:
生成用于在仿真服務(wù)器上仿真測試對象的虛擬測試對象;指示測試實(shí)體測試虛擬測試對象,該虛擬測試對象在代替特定計算機(jī)的仿真服務(wù)器上生成。
該方法提供了以下優(yōu)勢:計算機(jī)系統(tǒng)的計算機(jī)的簡單安全的測試??梢圆捎迷诜抡娣?wù)器上生成虛擬測試對象來仿真測試對象,以使得可以測試代替真實(shí)測試對象的虛擬測試對象。因而移除在直接接入計算機(jī)期間出現(xiàn)的安全問題,因?yàn)闇y試的不是真實(shí)計算機(jī)而是虛擬的測試對象。該方法因而在計算機(jī)系統(tǒng)的測試期間增加了安全性。
此外,采用該方法,每一個計算機(jī)可以以相同的方式利用仿真服務(wù)器進(jìn)行測試。在完成計算機(jī)測試之后,仿真服務(wù)器上的虛擬測試對象可以以容易的方式再次刪除,以及下一個虛擬測試對象可以在仿真服務(wù)器上生成并進(jìn)行測試。因而該方法在沒有高付出的情況下是容易實(shí)現(xiàn)的。
在根據(jù)第二方面本身的方法的實(shí)施方式中,方法進(jìn)一步包括:針對以下數(shù)據(jù)中的至少一者掃描虛擬測試對象:安裝在測試對象上的軟件的軟件狀態(tài)、安裝在測試對象上的補(bǔ)丁、測試對象的配置的配置狀態(tài)。
這提供了以下優(yōu)勢:對計算機(jī)系統(tǒng)的計算機(jī)的軟件狀態(tài)、補(bǔ)丁狀態(tài)和/或配置的查詢可以快速有效地執(zhí)行。因而,可以快速容易地獲得對大計算機(jī)系統(tǒng)的軟件/補(bǔ)丁/配置狀態(tài)的洞察。
在根據(jù)第二方面本身的方法的實(shí)施方式中,方法進(jìn)一步包括:測試測試對象的數(shù)據(jù)在仿真服務(wù)器上是否可用;在存在測試對象的數(shù)據(jù)的情況下:指示仿真服務(wù)器基于測試對象的數(shù)據(jù)生成虛擬測試對象;指示測試實(shí)體測試虛擬測試對象;接收測試虛擬測試對象的測試結(jié)果;以及刪除在仿真服務(wù)器上的虛擬測試對象。
這提供了以下優(yōu)勢:在這些步驟的幫助下,方法可以快速并且不復(fù)雜的方式實(shí)現(xiàn)。測試、指示仿真服務(wù)器、指示測試實(shí)體、接收和刪除這五個步驟可以相繼執(zhí)行或者還在特定環(huán)境下對任意數(shù)量的測試對象并行執(zhí)行,以快速獲得測試結(jié)果。
根據(jù)第三方面本身,本公開涉及用于應(yīng)用可編程接口的計算機(jī)程序,該應(yīng)用可編程接口在根據(jù)第一方面的測試系統(tǒng)的控制實(shí)體與在測試網(wǎng)絡(luò)中的測試實(shí)體之間,該計算機(jī)程序包括:第一程序模塊,配置為傳送由仿真服務(wù)器生成的虛擬測試對象的標(biāo)識至測試實(shí)體;第二程序模塊,配置為指示測試實(shí)體測試代替特定計算機(jī)的虛擬測試對象;以及第三程序模塊,配置為指示測試實(shí)體傳送虛擬測試對象的測試結(jié)果至控制實(shí)體。
此類計算機(jī)程序提供了以下優(yōu)勢:提供了與測試實(shí)體之間的應(yīng)用可編程接口。因而,任意的測試實(shí)體可以用于測試系統(tǒng)中,其中測試實(shí)體對仿真服務(wù)器的適用經(jīng)由應(yīng)用可編程接口進(jìn)行/執(zhí)行。
在根據(jù)第三方面本身的方法的實(shí)施方式中,計算機(jī)程序包括第四程序模塊,配置為指示測試實(shí)體針對以下數(shù)據(jù)中的至少一者掃描虛擬測試對象:安裝在測試對象上的軟件的軟件狀態(tài)、安裝在測試對象上的補(bǔ)丁的補(bǔ)丁狀態(tài)、測試對象的配置的配置狀態(tài)。
這提供了以下優(yōu)勢:對計算機(jī)系統(tǒng)的計算機(jī)的軟件狀態(tài)、補(bǔ)丁狀態(tài)和/或配置的查詢可以經(jīng)由應(yīng)用可編程接口快速有效地執(zhí)行。因而,可以快速容易地分配和執(zhí)行測試實(shí)體的必要測試任務(wù)。
附圖說明
進(jìn)一步的示例性實(shí)施方式參考附圖進(jìn)行闡述,附圖顯示了:
圖1第一實(shí)施方式的測試系統(tǒng)100的示意圖;
圖2第二實(shí)施方式的測試系統(tǒng)200的示意圖;
圖3實(shí)施方式的用于測試計算機(jī)系統(tǒng)的計算機(jī)的方法300的示意圖;以及
圖4實(shí)施方式的在控制實(shí)體與測試實(shí)體之間的應(yīng)用可編程接口的應(yīng)用程序400的示意圖。
具體實(shí)施方式
在以下具體的描述中,引用了形成本公開的一部分的所附附圖,并且通過示意的方式顯示了可以配置本公開的特定方面。應(yīng)當(dāng)理解可以利用其他實(shí)施方式并且在不背離本公開的構(gòu)思的情況下可以進(jìn)行結(jié)構(gòu)或邏輯的改變。因此,以下具體的描述并不具備限制性的意義。還應(yīng)當(dāng)進(jìn)一步理解于此描述的各個示例性方面的特征在沒有特別注明的情況下可以相互結(jié)合。
一些方面和實(shí)施方式參考附圖進(jìn)行描述,其中相同的參考標(biāo)記一般指的是相同的元件。在以下描述中,出于解釋的目的展示了許多特定細(xì)節(jié)以提供本公開的一個或多個方面的深入理解。然而,對于本領(lǐng)域技術(shù)人員來說,顯而易見的是一個或多個方面或?qū)嵤┓绞娇梢杂幂^低程度的特定細(xì)節(jié)來實(shí)施。在其他實(shí)例中,已知的結(jié)構(gòu)和元件以示意的形式示出,以使一個或多個方面或?qū)嵤┓绞降拿枋鋈菀?。?yīng)當(dāng)理解的是可以利用其他實(shí)施方式以及在不背離本公開的構(gòu)思的情況下可以進(jìn)行結(jié)構(gòu)或邏輯的改變。
雖然已經(jīng)僅針對多個實(shí)現(xiàn)中的一者公開了實(shí)施方式的特定特征或特定方面,但是該特征或方面還可以在需要并且對任意給定或特定應(yīng)用有益的情況下與其他實(shí)現(xiàn)的一個或多個其他特征或方面相結(jié)合。此外,就在具體的描述或權(quán)利要求中使用術(shù)語“包括”“具有”“帶有”或其他變化來說,這種術(shù)語可以是包括性的,類似于術(shù)語“包含”的形式。術(shù)語“耦合”和“連接”可以與衍生詞一起使用。應(yīng)當(dāng)理解的是可以使用這些術(shù)語來指示兩個元件相互配合或相互作用,而無論他們存在物理連接或電連接或者他們不相互直接接觸。并且,術(shù)語“示例性”、“例如”和“如”僅意為示例,而不是最佳或最優(yōu)。因此,以下描述不能理解為限制性的意義。
圖1顯示了第一實(shí)施方式的測試系統(tǒng)100的示意圖。測試系統(tǒng)100允許在測試網(wǎng)絡(luò)中測試特定計算機(jī)系統(tǒng)的特定計算機(jī)101,即可以是從計算機(jī)系統(tǒng)中選擇的特定計算機(jī)并進(jìn)行測試。此外,特定計算機(jī)系統(tǒng)可以從多個不同的計算機(jī)系統(tǒng)中選擇并進(jìn)行測試。測試網(wǎng)絡(luò)包括測試實(shí)體103,測試實(shí)體103用于測試計算機(jī)系統(tǒng)的計算機(jī)。特定計算機(jī)101從而是測試對象101。
測試系統(tǒng)100包括經(jīng)由控制接口108耦合的仿真服務(wù)器105和控制實(shí)體107。仿真服務(wù)器105允許仿真測試對象101??刂茖?shí)體107允許控制仿真服務(wù)器105??刂茖?shí)體107指示仿真服務(wù)器105生成虛擬測試對象來仿真測試對象101,并指示測試實(shí)體103來測試由仿真服務(wù)器105生成的虛擬測試對象,而不是特定計算機(jī)101。
測試系統(tǒng)100經(jīng)由在測試對象與測試系統(tǒng)100之間的測試接口102接收測試對象101的數(shù)據(jù)111,并基于所接收的數(shù)據(jù)111對測試對象101進(jìn)行仿真。測試對象101的數(shù)據(jù)111可以是安裝在測試對象101上的軟件的軟件狀態(tài)、安裝在測試對象101上的補(bǔ)丁的補(bǔ)丁狀態(tài)、測試對象101的配置的配置狀態(tài)或其他數(shù)據(jù)。測試接口102可以是簡單的文件傳遞接口(基于類似ftp、scp、smpt……的協(xié)議)以及應(yīng)用可編程的接口,經(jīng)由該接口不僅可以傳遞配置數(shù)據(jù),還可以傳遞進(jìn)一步的參數(shù),以用于控制測試系統(tǒng)。
測試系統(tǒng)100可以通過在測試對象101與測試系統(tǒng)100之間的直接文件傳遞或基于與測試系統(tǒng)100的用戶(圖1未示出)的交互來接收測試對象101的數(shù)據(jù)。如果測試系統(tǒng)100接收測試對象101的數(shù)據(jù)111,那么控制實(shí)體107指示仿真服務(wù)器105生成虛擬測試對象以仿真新的測試對象101,并指示測試實(shí)體103測試虛擬測試對象109??刂茖?shí)體101可以從測試實(shí)體接收測試虛擬測試對象的測試結(jié)果。
測試系統(tǒng)100包括在控制實(shí)體107與測試實(shí)體103之間的第一測試接口106。第一測試接口106可以是應(yīng)用可編程的接口。測試系統(tǒng)100包括在仿真服務(wù)器105與測試實(shí)體103之間的第二測試接口104。經(jīng)由第二測試接口104,可以加載由測試實(shí)體(103)提供的插件(plug-ins),測試實(shí)體(103)用于在仿真服務(wù)器105上測試虛擬測試對象109。根據(jù)預(yù)定的軟件狀態(tài)、補(bǔ)丁狀態(tài)或配置狀態(tài),仿真服務(wù)器105可以經(jīng)由由測試實(shí)體103提供的插件來掃描虛擬測試對象。
仿真服務(wù)器105具有至測試對象101的接入數(shù)據(jù)。這些接入數(shù)據(jù)可能例如僅在虛擬測試對象上是有效的。此外,這些接入數(shù)據(jù)可能僅在虛擬測試對象的測試周期是有效的。
圖2顯示了第二實(shí)施方式的測試系統(tǒng)200的示意圖。測試系統(tǒng)200可以對應(yīng)于以上在圖1中所描述的測試系統(tǒng)100。測試接口102可以直接在測試對象101與測試系統(tǒng)200之間實(shí)現(xiàn),從而可以直接經(jīng)由文件傳遞t1將在測試對象上生成的文件111a傳送至測試系統(tǒng)200。測試接口102可替換地經(jīng)由安裝在測試對象101與測試系統(tǒng)200之間的工作站計算機(jī)運(yùn)行,以使得在測試對象上生成的文件111a可以例如首先利用第一文件傳遞t2a傳送至工作站計算機(jī)117,并且然后例如利用第二文件傳遞t2并從工作站計算機(jī)117傳送至測試系統(tǒng)200。用戶可能改變工作站計算機(jī)117上所傳送的文件111a,從而測試系統(tǒng)200上現(xiàn)有的文件111在特定環(huán)境下可能與在測試對象101上生成的文件111a不同。
控制實(shí)體107可以在計算機(jī)上實(shí)現(xiàn),例如在服務(wù)器上實(shí)現(xiàn)。甚至還可以在仿真服務(wù)器105上實(shí)現(xiàn),以使得控制接口108形成內(nèi)部接口??刂茖?shí)體107可以進(jìn)一步實(shí)現(xiàn)為在例如是用于控制仿真服務(wù)器105的控制計算機(jī)的分開的計算機(jī)或處理器上的應(yīng)用軟件(app)。
在圖2中可見虛擬測試對象109在仿真服務(wù)器105上生成。
圖2顯示了測試系統(tǒng)200,其中使用了中心有源測試實(shí)體103,中心有源測試實(shí)體103還僅接入仿真服務(wù)器105,仿真服務(wù)器105使用預(yù)先從測試對象101接收的數(shù)據(jù)111對待測試的對象101進(jìn)行仿真。出于這個目的,數(shù)據(jù)111a在測試對象101上生成并在仿真服務(wù)器上傳遞。這可以經(jīng)由在測試對象101與仿真服務(wù)器105之間的直接文件傳遞t1來實(shí)現(xiàn)或者經(jīng)由使用可選的工作站計算機(jī)117(t2a和t2b)的用戶手動發(fā)起來實(shí)現(xiàn)。如果新數(shù)據(jù)111在仿真服務(wù)器上是可用的,控制實(shí)體107間隔固定時間進(jìn)行測試(處理步驟p1)。如果是這樣的話,那么在仿真服務(wù)器105上生成虛擬測試對象109,仿真服務(wù)器105使用測試對象101的數(shù)據(jù)111針對測試實(shí)體103仿真測試對象101(處理步驟p2)??刂茖?shí)體107然后觸發(fā)測試實(shí)體103并指示其測試虛擬測試對象109(處理步驟p3)。假使內(nèi)部測試是必要的,那么因此可以使用接入數(shù)據(jù),接入數(shù)據(jù)僅在虛擬測試對象109上并且僅在測試周期是有效的。在完成測試之后,測試實(shí)體103為控制實(shí)體107提供測試結(jié)果(處理步驟p4)。之后,控制實(shí)體結(jié)束仿真服務(wù)器105上的虛擬測試對象109的運(yùn)行(處理步驟p5)。
這種測試系統(tǒng)200提供了將測試實(shí)體103直接接入測試對象101的多種優(yōu)勢,特別在即將測試多個測試對象101的時候。例如在將測試實(shí)體103用作中心實(shí)體時,要求接入許多網(wǎng)絡(luò)元件的中心實(shí)體還一直與安全風(fēng)險相關(guān)聯(lián),因?yàn)橐环矫鎻木W(wǎng)絡(luò)技術(shù)角度來說需要接入所有網(wǎng)絡(luò)元件,而另一方面在許多情況下必須還具有測試對象101的接入數(shù)據(jù)(例如用戶名和密碼)。在測試實(shí)體103讓步的情況下,攻擊方會借此接入多個網(wǎng)絡(luò)元件。這種風(fēng)險不存在于所介紹的測試系統(tǒng)中,由于測試實(shí)體103未直接接入網(wǎng)絡(luò)元件而經(jīng)由包括仿真服務(wù)器105和控制實(shí)體107的測試系統(tǒng)200進(jìn)行接入。
在測試系統(tǒng)200的實(shí)施方式中,仿真服務(wù)器105形成蜜罐,即服務(wù)器,其對計算機(jī)的網(wǎng)絡(luò)服務(wù)、整個計算機(jī)網(wǎng)絡(luò)或用戶行為進(jìn)行仿真。除了劃分測試對象101,蜜罐還可以用于針對攻擊方,從而獲得關(guān)于攻擊模式和攻擊方行為的信息。如果發(fā)生接入此類虛擬服務(wù)或用戶,可以記錄所有相關(guān)的動作并且可以在必要的時候觸發(fā)警報。有價值的真實(shí)網(wǎng)絡(luò)或計算機(jī)系統(tǒng)盡可能避免攻擊意圖,因?yàn)槠浔让酃藁蚍抡娣?wù)器105更值得保障。在仿真服務(wù)器105的蜜罐服務(wù)背后的理念是在網(wǎng)絡(luò)中安裝一個或多個蜜罐,其未提供用戶自身或其通信伙伴需要的服務(wù),并因此不會進(jìn)行正常操作。不能在真實(shí)服務(wù)器或程序與蜜罐之間進(jìn)行區(qū)分且常規(guī)地檢查所有網(wǎng)絡(luò)部件的弱點(diǎn)的攻擊方將遲早利用蜜罐提出的服務(wù)并因而由蜜罐進(jìn)行記錄。由于其是不使用的系統(tǒng),所以對其進(jìn)行的每一個接入將會評估為可能的攻擊意圖。仿真服務(wù)器105因此用作虛擬測試對象,以使計算機(jī)系統(tǒng)的計算機(jī)能夠進(jìn)行測試,并且還用作蜜罐以擊退攻擊并同時記錄計算機(jī)網(wǎng)絡(luò)上的攻擊。
測試實(shí)體103可以是制造商特定的服務(wù)器,計算機(jī)系統(tǒng)的測試經(jīng)由該服務(wù)器進(jìn)行。例如,測試實(shí)體103可以包括nessus服務(wù)器。nessus是網(wǎng)絡(luò)安全性服務(wù)器。其基于客戶端-服務(wù)器原理,這意為nessus服務(wù)器開始于計算機(jī)并且隨后可能從本地或遠(yuǎn)程計算機(jī)連接至一個或多個客戶端。這由ssl證書和密碼保障。在服務(wù)器啟動的時候,自動加載插件。采用這些插件,可以發(fā)現(xiàn)即將被掃描的操作系統(tǒng)的各個安全漏洞或在主機(jī)上運(yùn)行的服務(wù)。插件用nessus特定的腳本語言“nessus攻擊腳本語言(nessusattackscriptinglanguage)”(nasl)來創(chuàng)建。在客戶端程序的幫助下,可以連接至服務(wù)器并創(chuàng)建會話(會話),其中一方可以注冊或改變插件、目標(biāo)主機(jī)和其他設(shè)置。如果在主機(jī)上執(zhí)行掃描,那么nessus客戶端提供開放端口的綜述和可能發(fā)現(xiàn)的安全漏洞。
例如,測試實(shí)體103可以包括qualys服務(wù)器。采用這種服務(wù)器,可以掃描計算機(jī)系統(tǒng)??梢园l(fā)現(xiàn)安全漏洞或潛在危險,并且可以提供合適的補(bǔ)丁以糾正安全漏洞。采用qualys服務(wù)器可以記錄交互掃描報告,例如每一個威脅或每一個補(bǔ)丁都有報告??梢葬槍ψ畲箫L(fēng)險和惡意軟件測試網(wǎng)站和應(yīng)用。此外,可以評估計算機(jī)的安全性,例如關(guān)于scap(安全內(nèi)容自動化協(xié)議)或owasp(開放式web應(yīng)用程序安全項(xiàng)目)。scap是將特定標(biāo)準(zhǔn)用于自動化漏洞管理、測量和政策遵從評估的方法。owasp是標(biāo)準(zhǔn)化機(jī)構(gòu),目的是改善萬維網(wǎng)上的應(yīng)用和服務(wù)的安全性。
圖3顯示了實(shí)施方式的用于測試計算機(jī)系統(tǒng)的計算機(jī)的方法300的示意圖。
采用方法300,可以測試測試網(wǎng)絡(luò)中的特定計算機(jī)系統(tǒng)的特定計算機(jī)101,其中測試網(wǎng)絡(luò)包括用于測試計算機(jī)系統(tǒng)的計算機(jī)的測試實(shí)體103,并且其中特定計算機(jī)101是測試對象101,如以上在圖1和圖2中所描述的。方法300包括以下步驟:生成301用于在仿真服務(wù)器105上仿真測試對象101的虛擬測試對象109,例如相應(yīng)地在圖1和圖2中所描述的;以及指示測試實(shí)體103測試在代替特定計算機(jī)101的仿真服務(wù)器105上生成的虛擬測試對象109,例如相應(yīng)地在圖1和圖2中所描述的。
方法300可以進(jìn)一步包括以下步驟:針對以下數(shù)據(jù)中的至少一者掃描虛擬測試對象109:安裝在測試對象101上的軟件的軟件狀態(tài)、安裝在測試對象101上的補(bǔ)丁的補(bǔ)丁狀態(tài)、測試對象101的配置的配置狀態(tài),例如相應(yīng)地在圖1和圖2中所描述的。
方法300可以進(jìn)一步包括以下五個步驟p1、p2、p3、p4、p5,其例如可以如以上在圖1和圖2中所描述的在控制實(shí)體107上實(shí)現(xiàn):測試(p1)測試對象101的數(shù)據(jù)111是否在仿真服務(wù)器105上是可用的;在存在測試對象101的數(shù)據(jù)111的情況下:指示仿真服務(wù)器105基于測試對象101的數(shù)據(jù)111生成(p2)虛擬測試對象109;指示測試實(shí)體103測試(p3)虛擬測試對象109;接收(p4)測試虛擬測試對象109的測試結(jié)果;以及刪除(p5)在仿真服務(wù)器105上的虛擬測試對象109。
圖4顯示了實(shí)施方式的在控制實(shí)體與測試實(shí)體之間的應(yīng)用可編程接口的應(yīng)用程序400的示意圖。應(yīng)用可編程接口例如可以是如以上在圖1和圖2中具體描述的在測試系統(tǒng)100、200中的控制實(shí)體107與測試實(shí)體103之間的測試接口106。
計算機(jī)程序400包括第一程序模塊401、第二程序模塊402和第三程序模塊403。第一程序模塊401配置為傳送由仿真服務(wù)器105生成的虛擬測試對象109的標(biāo)識至測試實(shí)體103,仿真服務(wù)器105例如是具有測試對象101的數(shù)據(jù)的文件111的地址。第二程序模塊402配置為指示測試實(shí)體103測試代替特定計算機(jī)101的虛擬測試對象109。第三程序模塊403配置為指示測試實(shí)體103傳送虛擬測試對象303的測試結(jié)果至控制實(shí)體107,以例如存放在用于該目的的控制實(shí)體107的存儲器中。
計算機(jī)程序400可以進(jìn)一步包括第四程序模塊,第四程序模塊配置為指示測試實(shí)體103針對以下數(shù)據(jù)中的至少一者掃描虛擬測試對象101:安裝在測試對象101上的軟件的軟件狀態(tài)、安裝在測試對象101上的補(bǔ)丁的補(bǔ)丁狀態(tài)、測試對象101的配置的配置狀態(tài)。
本發(fā)明的另一方面包括計算機(jī)程序產(chǎn)品,該產(chǎn)品可以直接加載在數(shù)字計算機(jī)的內(nèi)部存儲器中,并包括軟件代碼部分,在該產(chǎn)品在計算機(jī)上運(yùn)行的情況下在圖3中描述的方法300可以利用該產(chǎn)品執(zhí)行。計算機(jī)程序產(chǎn)品可以存儲在計算機(jī)兼容介質(zhì)上并且包括以下:計算機(jī)可讀程序裝置,該裝置促進(jìn)仿真服務(wù)器生成用于仿真測試對象的虛擬測試對象;以及指示測試實(shí)體測試在代替特定計算機(jī)的仿真服務(wù)器上生成的虛擬測試對象。
計算機(jī)可以是pc,例如計算機(jī)網(wǎng)絡(luò)的pc。計算機(jī)可以實(shí)現(xiàn)為芯片、asic、微處理器或數(shù)字處理器,并且可以安排在計算機(jī)網(wǎng)絡(luò)中,例如在圖1至圖2中的一者中所描述的計算機(jī)系統(tǒng)中。
應(yīng)當(dāng)理解于此示例性描述的不同實(shí)施方式的特征可以相互結(jié)合,除了另外特別指定的情況。如在說明書和附圖中所示的,已經(jīng)顯示為處于連接中的單獨(dú)元件相互間不直接相關(guān);可以在所連接的元件之間提供中間元件。進(jìn)一步地,應(yīng)當(dāng)理解本發(fā)明的實(shí)施方式可以在單獨(dú)的電路、局部集成電路或完全集成電路或編程的裝置中實(shí)現(xiàn)。術(shù)語“例如”僅意為示例,而不是最佳或最優(yōu)。于此已經(jīng)示出并描述了特定實(shí)施方式,但是對本領(lǐng)域技術(shù)人員來說顯而易見的是在不背離本公開的構(gòu)思的情況下,各個可替換的和/或類似實(shí)現(xiàn)可以代替所示的和所描述的實(shí)施方式來實(shí)現(xiàn)。
參考標(biāo)記列表
100:測試系統(tǒng)
101:特定計算機(jī)系統(tǒng)的測試對象或特定計算機(jī)
102:測試接口
103:測試實(shí)體
104:第二測試接口(在仿真服務(wù)器與測試實(shí)體之間)
105:仿真服務(wù)器
106:第一測試接口(在控制實(shí)體與測試實(shí)體之間)
107:控制實(shí)體
108:控制接口(在控制實(shí)體與仿真服務(wù)器之間)
109:虛擬測試對象
111a:在測試對象上生成的測試對象的數(shù)據(jù)
111:在仿真服務(wù)器上接收的測試對象的數(shù)據(jù)
117:工作站計算機(jī)
t1:在測試對象與仿真服務(wù)器之間的文件傳遞
t2a:在測試對象與工作站計算機(jī)之間的文件傳遞
t2b:在工作站計算機(jī)與仿真服務(wù)器之間的文件傳遞
300:用于測試的方法
301:方法的第一步驟:生成虛擬測試對象
302:方法的第二步驟:指示測試實(shí)體
400:用于在控制實(shí)體與測試實(shí)體之間的應(yīng)用可編程接口的計算機(jī)程序
401:第一程序模塊
402:第二程序模塊
403:第三程序模塊