

只要是軟件產(chǎn)品就會(huì)有漏洞,就看你是否去尋找那些漏洞。由于漏洞是普遍而廣泛的存在著的,漏洞可能存在于系統(tǒng)層面,也可能存在于軟件層面。大量存在的漏洞,可能一部分被發(fā)現(xiàn)出來(lái)了,成為了公開(kāi)的漏洞信息,需要打補(bǔ)丁。另外一部分則潛伏于我們的系統(tǒng)當(dāng)中。由于我們每天的操作,都是按正常的固定軌跡去進(jìn)行的,這些大量潛伏的漏洞則很難被發(fā)現(xiàn)出來(lái)。鑒于此,模糊化測(cè)試,用于發(fā)現(xiàn)漏洞的思想,慢慢被提出。
大量的系統(tǒng)使用網(wǎng)絡(luò)進(jìn)行相互通信,這些系統(tǒng)也普遍存在著潛伏的漏洞。工控漏洞挖掘系統(tǒng),兼容支持ARP、ICMP、IGMP、IP、IPV6、 LLDP、MODBUS-TCP、TCP、UDP、EDPF-NT+通信協(xié)議。并可以持續(xù)集成更多的通信協(xié)議;谝延械拇罅繙y(cè)試用例,可以對(duì)各種網(wǎng)絡(luò)設(shè)備、系統(tǒng)進(jìn)行漏洞挖掘測(cè)試,尋找網(wǎng)絡(luò)設(shè)備潛伏存在的網(wǎng)絡(luò)通信漏洞。
工業(yè)系統(tǒng)中,由于不存在復(fù)雜的互聯(lián)網(wǎng)環(huán)境,很多企業(yè)則存在有僥幸心理,認(rèn)為自己只要做好了網(wǎng)絡(luò)隔離管控,則不需要太關(guān)心漏洞問(wèn)題。但是,現(xiàn)在發(fā)生越來(lái)越多的針對(duì)工業(yè)設(shè)備的攻擊事件,表明工控系統(tǒng)的漏洞問(wèn)題并沒(méi)有因?yàn)榫W(wǎng)絡(luò)隔離管控就比互聯(lián)網(wǎng)的少,尤其是工業(yè)系統(tǒng)中各種設(shè)備相互信任的關(guān)系,使得漏洞一旦被利用則可以造成巨大的危害。
根據(jù)漏洞出現(xiàn)在的工控系統(tǒng)組件的不同,工控安全漏洞可劃分為.
(1)工控設(shè)備漏洞
(2)工控網(wǎng)絡(luò)協(xié)議漏洞
(3)工控軟件系統(tǒng)漏洞
(4)工控安全防護(hù)設(shè)備漏洞
根據(jù)是否可能帶來(lái)直接隱患,工控安全漏洞也可劃分為:
(1)SCADA系統(tǒng)軟件漏洞
(2)操作系統(tǒng)安全漏洞
(3)網(wǎng)絡(luò)通信協(xié)議安全漏洞
(4)安全策略和管理流程漏洞
工控漏洞挖掘系統(tǒng)在模糊測(cè)試的思想下,針對(duì)工業(yè)控制設(shè)備和系統(tǒng)進(jìn)行了專門(mén)的優(yōu)化,制定了專門(mén)的測(cè)試用例。用于發(fā)現(xiàn)工業(yè)設(shè)備系統(tǒng)中潛在的漏洞。
1) 漏洞發(fā)現(xiàn)能力
工控漏洞挖掘系統(tǒng)是目前先進(jìn)的模糊化測(cè)試思想的新產(chǎn)品,可以對(duì)被測(cè)系統(tǒng)進(jìn)行大量的隨機(jī)測(cè)試。通過(guò)廣撒網(wǎng)的方式,輸入各種非正常的輸入和操作。以此來(lái)探測(cè)被測(cè)系統(tǒng)潛伏存在的漏洞。
2) 多協(xié)議支持
工控漏洞挖掘系統(tǒng)內(nèi)置集成了ARP、ICMP、IGMP、IP、IPV6、 LLDP、MODBUS-TCP、TCP、UDP、EDPF-NT+通信協(xié)議的漏洞挖掘功能。對(duì)于使用了這些協(xié)議的系統(tǒng)和設(shè)備可以進(jìn)行測(cè)試。
3) 內(nèi)置大量測(cè)試用例
工控漏洞挖掘系統(tǒng)內(nèi)置了百萬(wàn)級(jí)的模糊化測(cè)試用例。這些測(cè)試用例,涵蓋了基于這些協(xié)議的大量應(yīng)用系統(tǒng)場(chǎng)景。使用這些測(cè)試用例,即可一點(diǎn)點(diǎn)探索發(fā)現(xiàn)系統(tǒng)存在的未知漏洞。
4) 易用性
工控漏洞挖掘系統(tǒng)使用簡(jiǎn)明直觀的UI界面,將漏洞挖掘的全過(guò)程,完全展示出來(lái)?梢灾庇^的看到,發(fā)送了哪些測(cè)試數(shù)據(jù)包,并實(shí)時(shí)探測(cè)被測(cè)設(shè)備或系統(tǒng)是否依舊工作正常。
5) 支持自定義協(xié)議
工控漏洞挖掘系統(tǒng),提供了自定義協(xié)議的功能,用戶可以根據(jù)自己的需求,自定義網(wǎng)絡(luò)通信協(xié)議,傳入自定義協(xié)議的數(shù)據(jù)包。并基于此進(jìn)行漏洞挖掘測(cè)試。
6) 支持工控協(xié)議
工控漏洞挖掘系統(tǒng)作為一款主要針對(duì)工業(yè)系統(tǒng)的漏洞挖掘軟件,支持基于MODBUS-TCP設(shè)備的漏洞挖掘。
7) 支持私有協(xié)議
工控漏洞挖掘系統(tǒng)作為一款專門(mén)針對(duì)電力系統(tǒng)進(jìn)行優(yōu)化的設(shè)備,支持電力EDPF-NT+的私有協(xié)議漏洞挖掘,可以對(duì)采用了該私有協(xié)議的設(shè)備進(jìn)行測(cè)試。
漏洞挖掘的技術(shù)主要是使用模糊測(cè)試,由于軟件的漏洞可能是隨機(jī)存在的,而應(yīng)用軟件的執(zhí)行過(guò)程,通常是按照設(shè)定的參數(shù)要求輸入輸出,很少有畸變的參數(shù)。這導(dǎo)致,漏洞在普通過(guò)程中,極難發(fā)現(xiàn)。而模糊測(cè)試,就是將輸入進(jìn)行極大量的隨機(jī),通過(guò)隨機(jī)來(lái)探尋被測(cè)對(duì)象可能的漏洞。這一點(diǎn)區(qū)別于常見(jiàn)的漏洞掃描技術(shù)。
網(wǎng)絡(luò)安全漏洞掃描技術(shù)是一種基于Internet遠(yuǎn)程檢測(cè)目標(biāo)網(wǎng)絡(luò)或本地主機(jī)安全性脆弱點(diǎn)的技術(shù)。漏洞掃描服務(wù)(Vulnerability Scan Service,簡(jiǎn)稱VSS)是針對(duì)網(wǎng)站進(jìn)行漏洞掃描的一種安全檢測(cè)服務(wù),目前提供通用漏洞檢測(cè)、漏洞生命周期管理、自定義掃描多項(xiàng)服務(wù)。用戶新建任務(wù)后,即可人工觸發(fā)掃描任務(wù),檢測(cè)出網(wǎng)站的漏洞并給出漏洞修復(fù)建議。
通過(guò)網(wǎng)絡(luò)安全漏洞掃描,系統(tǒng)管理員能夠發(fā)現(xiàn)所維護(hù)的Web服務(wù)器的各種TCP/IP端口的分配、開(kāi)放的服務(wù)、Web服務(wù)軟件版本和這些服務(wù)及軟件呈現(xiàn)在Internet上的安全漏洞。網(wǎng)絡(luò)安全漏洞掃描技術(shù)也是采用積極的、非破壞性的辦法來(lái)檢驗(yàn)系統(tǒng)是否有可能被攻擊崩潰。其利用了一系列的腳本模擬對(duì)系統(tǒng)進(jìn)行攻擊的行為,并對(duì)結(jié)果進(jìn)行分析。這種技術(shù)通常被用來(lái)進(jìn)行模擬攻擊實(shí)驗(yàn)和安全審計(jì)。
注:網(wǎng)絡(luò)安全漏洞掃描技術(shù)與防火墻、安全監(jiān)控系統(tǒng)互相配合就能夠?yàn)榫W(wǎng)絡(luò)提供很高的安全性。
一次完整的網(wǎng)絡(luò)安全漏洞掃描分為三個(gè)階段:
l 第一階段:發(fā)現(xiàn)目標(biāo)主機(jī)或網(wǎng)絡(luò)。
l 第二階段:發(fā)現(xiàn)目標(biāo)后進(jìn)一步搜集目標(biāo)信息,包括操作系統(tǒng)類型、運(yùn)行的服務(wù)以及服務(wù)軟件的版本等。如果目標(biāo)是一個(gè)網(wǎng)絡(luò),還可以進(jìn)一步發(fā)現(xiàn)該網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、路由設(shè)備以及各主機(jī)的信息。
l 第三階段:根據(jù)搜集到的信息判斷或者進(jìn)一步測(cè)試系統(tǒng)是否存在安全漏洞。
網(wǎng)絡(luò)安全漏洞掃描技術(shù)包括有PING掃射(Ping sweep)、操作系統(tǒng)探測(cè)(Operating system identification)、如何探測(cè)訪問(wèn)控制規(guī)則(firewalking)、端口掃描(Port scan)以及漏洞掃描(vulnerability scan)等。這些技術(shù)在網(wǎng)絡(luò)安全漏洞掃描的三個(gè)階段中各有體現(xiàn)。
PING掃描用于網(wǎng)絡(luò)安全漏洞掃描的第一階段,可以幫助我們識(shí)別系統(tǒng)是否處于活動(dòng)狀態(tài)。
操作系統(tǒng)探測(cè)、如何探測(cè)訪問(wèn)控制規(guī)則和端口掃描用于網(wǎng)絡(luò)安全漏洞掃描的第二階段,其中操作系統(tǒng)探測(cè)顧名思義就是對(duì)目標(biāo)主機(jī)運(yùn)行的操作系統(tǒng)進(jìn)行識(shí)別;如何探測(cè)訪問(wèn)控制規(guī)則用于獲取被防火墻保護(hù)的遠(yuǎn)端網(wǎng)絡(luò)的資料;而端口掃描是通過(guò)與目標(biāo)系統(tǒng)的TCP/IP端口連接,并查看該系統(tǒng)處于監(jiān)聽(tīng)或運(yùn)行狀態(tài)的服務(wù)。
網(wǎng)絡(luò)安全漏洞掃描第三階段采用的漏洞掃描通常是在端口掃描的基礎(chǔ)上,對(duì)得到的信息進(jìn)行相關(guān)處理,進(jìn)而檢測(cè)出目標(biāo)系統(tǒng)存在的安全漏洞。
網(wǎng)絡(luò)安全漏洞掃描技術(shù)的兩大核心技術(shù)就是端口掃描技術(shù)和漏洞掃描技術(shù),這兩種技術(shù)廣泛運(yùn)用于當(dāng)前較成熟的網(wǎng)絡(luò)掃描器中。
端口掃描的原理其實(shí)非常簡(jiǎn)單,只是簡(jiǎn)單的利用操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用,與目標(biāo)計(jì)算機(jī)的端口進(jìn)行連接。如果端口處于偵聽(tīng)狀態(tài),那么connect()能夠成功,否則,這個(gè)端口是不能用的,就是沒(méi)有提供服務(wù)。
端口掃描器只是單純的用來(lái)掃描目標(biāo)主機(jī)的服務(wù)端口和端口相關(guān)信息。這類掃描器并不能直接給出可以利用的漏洞,而是給出突破系統(tǒng)相關(guān)的信息,這些信息對(duì)于普通人來(lái)說(shuō)是極為平常的,絲毫不能對(duì)安全造成威脅,但是一旦到了高手手里,它就成為系統(tǒng)所必須的關(guān)鍵信息。
漏洞掃描工具則更加直接,它檢測(cè)掃描目標(biāo)主機(jī)中可能大量已知的漏洞,如果發(fā)現(xiàn)潛在漏洞可能,就報(bào)告掃描者。這種掃描器的威脅更大,因?yàn)楹诳涂梢灾苯永脪呙杞Y(jié)果進(jìn)行攻擊。
模糊測(cè)試(fuzzing),簡(jiǎn)而言之,就是為了出發(fā)新的或不可預(yù)見(jiàn)的代碼執(zhí)行路徑或者過(guò)程,而對(duì)程序進(jìn)行異常的,非預(yù)期的,甚至是隨機(jī)的輸入。因?yàn)槟:郎y(cè)試涉及到為目標(biāo)提供大量的測(cè)試樣例,因此,測(cè)試的過(guò)程是一個(gè)簡(jiǎn)單的重復(fù)勞動(dòng)。需要對(duì)測(cè)試的進(jìn)行部分自動(dòng)化。
模糊測(cè)試可以引用于程序執(zhí)行本身如在程序中插入,或程序的接口處,如參數(shù)或指令接收端。
模糊測(cè)試是對(duì)其他測(cè)試技術(shù)的一個(gè)補(bǔ)充,由模糊測(cè)試揭露的問(wèn)題,往往是使用人員,開(kāi)發(fā)人員,甚至一般測(cè)試人員都不太可能去構(gòu)建的測(cè)試用例觸發(fā)的。在常規(guī)自動(dòng)化測(cè)試的過(guò)程中,模糊測(cè)試擴(kuò)大了測(cè)試用例的覆蓋范圍,提高了代碼的覆蓋率和測(cè)試程度。通過(guò)模糊測(cè)試,使用非預(yù)期的輸入,通常會(huì)觸發(fā)一些平時(shí)不會(huì)觸發(fā)的執(zhí)行過(guò)程。
1) 漏洞挖掘與漏洞掃描技術(shù)都是漏洞發(fā)現(xiàn)的方式,只是漏洞挖掘通常目標(biāo)是未知漏洞,而漏洞掃描主要是針對(duì)已知漏洞。
2) 漏洞挖掘和漏洞掃描技術(shù)是相輔相成的技術(shù)。通常漏洞都不會(huì)單獨(dú)的存在,而是具有某種聯(lián)系性。比如,如果設(shè)備或者系統(tǒng)具有某一個(gè)功能的漏洞,那么該功能相關(guān)的功能,通常也會(huì)有漏洞;蛘撸骋粋(gè)協(xié)議具有漏洞,那么就意味著,使用該協(xié)議的所有不同設(shè)備都具有該漏洞。這種漏洞的聚集性,使得漏洞挖掘不會(huì)是漫無(wú)目的工作,而是可以基于某些已知漏洞,在已知漏洞的基礎(chǔ)上,再演進(jìn)的去發(fā)現(xiàn),新的可能具有的漏洞。這就會(huì)大大提高漏洞發(fā)現(xiàn)的能力。
3) 漏洞挖掘與漏洞掃描可以相互作為補(bǔ)充。漏洞掃描,主要技術(shù)是基于已有的漏洞庫(kù),對(duì)待測(cè)對(duì)象進(jìn)行掃描,對(duì)未知的漏洞則無(wú)能為力。此時(shí),工控漏洞挖掘系統(tǒng)則可以對(duì)未知的漏洞進(jìn)行發(fā)現(xiàn)。在發(fā)現(xiàn)以后的漏洞,即可作為已知漏洞,用于對(duì)更多系統(tǒng)的漏洞掃描。
系統(tǒng)主要由測(cè)試用例、測(cè)試任務(wù)、任務(wù)隊(duì)列、任務(wù)管理器、發(fā)包機(jī)、流量采集器、被測(cè)對(duì)象監(jiān)控器組成。
1) 測(cè)試用例
測(cè)試用例包含內(nèi)置和自定義的。內(nèi)置的測(cè)試用例為,系統(tǒng)出廠之前,預(yù)添加的測(cè)試用例。自定義用例由使用用戶根據(jù)測(cè)試需要添加。
2) 測(cè)試任務(wù)
測(cè)試任務(wù)由操作人員,由前端輸入各個(gè)信息形成。添加以后,測(cè)試任務(wù)即可添加到任務(wù)隊(duì)列中。
3) 任務(wù)隊(duì)列
任務(wù)執(zhí)行過(guò)程,為了防止相互干擾和影響,需要執(zhí)行的任務(wù)需要進(jìn)入任務(wù)隊(duì)列排隊(duì)。
4) 任務(wù)管理器
任務(wù)創(chuàng)建以后,所有的模糊測(cè)試任務(wù)都由該管理器進(jìn)行管理。管理任務(wù)的執(zhí)行過(guò)程,并且接收前端的暫停和停止命令。
5) 發(fā)包機(jī)
執(zhí)行的過(guò)程中,需要進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送,發(fā)包的過(guò)程處理,由發(fā)包機(jī)模塊完成調(diào)用。
6) 流量采集器
發(fā)包過(guò)程中的實(shí)時(shí)通信流量由包采集器進(jìn)行采集,并格式化處理為可查看的格式。
7) 被測(cè)對(duì)象監(jiān)控器
測(cè)試過(guò)程中,將需要實(shí)時(shí)掌握被測(cè)對(duì)象的工作狀態(tài),如果發(fā)包以后被測(cè)對(duì)象工作不正常了,那么被測(cè)對(duì)象即可能因剛剛的發(fā)包導(dǎo)致了當(dāng)機(jī),即可將剛剛發(fā)送的數(shù)據(jù)包保存下來(lái)作為有效的數(shù)據(jù)包。
系統(tǒng)默認(rèn)自帶ARP、ICMP、IGMP、IP、IPV6、 LLDP、MODBUS-TCP、TCP、UDP、EDPF-NT+協(xié)議,內(nèi)置了協(xié)議的模糊測(cè)試用例。支持查看這些測(cè)試用例的包payload部分。
工控漏洞挖掘系統(tǒng)支持漏洞挖掘的模糊測(cè)試任務(wù)創(chuàng)建。基于該漏洞測(cè)試用例,生成模糊測(cè)試任務(wù)。
工控漏洞挖掘系統(tǒng)支持自定義協(xié)議的模糊測(cè)試,使用自定義協(xié)議用例管理功能,可以錄入自定義協(xié)議的模糊測(cè)試數(shù)據(jù)包。
工控漏洞挖掘系統(tǒng),支持自定義的模糊測(cè)試功能。支持基于IP,TCP,UDP協(xié)議的自定義協(xié)議,創(chuàng)建模糊測(cè)試任務(wù)。
