隨著(zhù)“兩化”融合的不斷深入,傳統IT的安全威脅不斷涌向工業(yè)控制系統,讓原本封閉和脆弱的工業(yè)控制系統雪上加霜。據美國國土安全部下屬的工業(yè)控制系統網(wǎng)絡(luò )應急響應小組(ICS-CERT)發(fā)布的報告披露,2014年9月至2015年2月期間共發(fā)生了245起網(wǎng)絡(luò )安全事件, 其中的154起影響了關(guān)鍵制造業(yè)、能源系統、化工和核設施。這些事件在發(fā)生頻率、復雜性和嚴重性上均有不同程度增加,且超過(guò)一半屬于高級持續性威脅(APT)。盡管企業(yè)在安全防護、監控和檢測能力上已有所增強,但伴隨著(zhù)工控系統攻擊行為的集團化、精準性特點(diǎn)越來(lái)越顯著(zhù),可被利用的安全漏洞在過(guò)去幾年逐年增多,充分了解自身安全風(fēng)險顯得尤為必要。滲透測試作為發(fā)現工控系統脆弱性的有效補充手段,可驗證安全管理流程和技術(shù)防護措施的有效性,增強工業(yè)控制系統網(wǎng)絡(luò )安全性。
圖1 ICS-CERT公布的發(fā)生在2014年9月到2015年2月期間的網(wǎng)絡(luò )安全事件
什么是滲透測試?
滲透測試是通過(guò)模擬惡意黑客的攻擊手段和方法,來(lái)評估網(wǎng)絡(luò )系統安全性的一種方法。不同于漏洞評估偏重于檢查系統和服務(wù)是否存在安全問(wèn)題,滲透測試主要通過(guò)執行漏洞利用來(lái)驗證系統確實(shí)存在漏洞。
基于滲透測試的特點(diǎn),在對工業(yè)控制系統進(jìn)行滲透測試時(shí)需特別注意,因為傳統的滲透測試方法可能會(huì )對工業(yè)控制系統基礎設施和生產(chǎn)過(guò)程產(chǎn)生嚴重影響。
為什么要,什么時(shí)候執行滲透測試?
在工業(yè)控制系統環(huán)境中,滲透測試常常面臨質(zhì)疑、恐懼,甚至被徹底否定。在不采取必要預防措施的情況下,滲透測試確實(shí)可能會(huì )對生產(chǎn)系統產(chǎn)生嚴重后果,但準確評估系統安全性的唯一途徑就是驗證生產(chǎn)系統面臨嚴重攻擊時(shí)的防護能力。工業(yè)控制網(wǎng)絡(luò )普遍采取多層結構的縱深安全防御體系,需要通過(guò)滲透測試來(lái)判斷防護措施的有效性。
滲透測試應貫穿風(fēng)險評估工作的整個(gè)生命周期,包括:
驗證漏洞評估結果,剔除錯誤信息;
評判前期制定的安全策略是否合理;
評估漏洞修復是否成功執行。
工業(yè)控制系統滲透測試安全標準
工業(yè)控制系統安全防護標準已逐漸完善,包括NIST SP800-82, ISA-99/IEC 62443,《工業(yè)控制系統信息安全防護指南》等,但針對工業(yè)控制系統滲透測試的標準卻幾乎沒(méi)有,NIST SP800-115提供了漏洞評估和滲透測試的指導,但并未針對工業(yè)控制系統給出相關(guān)建議。工業(yè)控制系統滲透測試應結合傳統的滲透測試手段、工業(yè)控制系統現場(chǎng)經(jīng)驗以及工業(yè)控制系統安全防護標準來(lái)完成。
識別“0-day”漏洞
滲透測試最能體現專(zhuān)業(yè)性和技術(shù)性的方面之一就是“0-day”漏洞的研究和發(fā)現?!?-day”漏洞研究只適合于擁有最高專(zhuān)業(yè)技能的滲透測試人員,旨在發(fā)現尚未報道,甚至是還未發(fā)現,更不用說(shuō)修復的安全漏洞。
在傳統IT領(lǐng)域,漏洞發(fā)現、補丁修復以及漏洞發(fā)布已非常成熟,但在工業(yè)控制系統領(lǐng)域,其研究和發(fā)現工作卻遠遠落后,主要因為:
工業(yè)控制系統設備和協(xié)議在設計之初未充分考慮安全設計;
設備生產(chǎn)廠(chǎng)商不愿修復漏洞或重新進(jìn)行安全設計;
已發(fā)現的工控漏洞并未完全發(fā)布到漏洞共享平臺。
工控系統漏洞發(fā)現和防護工作不能僅僅依靠各漏洞共享平臺,需結合工控設備或系統的滲透測試成果,實(shí)現最準確的工控漏洞態(tài)勢感知,最大限度做好安全防護工作。
工控滲透測試原則
滲透測試工作的前提是不能影響工業(yè)控制系統安全和正常生產(chǎn)過(guò)程。對滲透測試過(guò)程中允許和禁止使用的方法、技術(shù)要進(jìn)行明確規定,同時(shí)根據不同行業(yè)、系統、生產(chǎn)環(huán)節等制定各自不同的測試原則。
工控滲透測試策略
滲透測試過(guò)程除了需遵循相關(guān)原則外,還需采取必要的策略,并綜合考慮工業(yè)控制系統的特殊設計、功能、應用系統、協(xié)議以及使用的設備等,充分利用設計或功能方面的缺陷或漏洞進(jìn)行切入。所有滲透測試的結論應基于合法、真實(shí)有效的成功結果(如:在不影響系統的前提下獲得關(guān)鍵系統訪(fǎng)問(wèn)權限)。
偵查
工控滲透測試環(huán)節的第一步,也是最重要的一環(huán),直接影響后續的滲透測試的策略制定。工控滲透測試的偵查階段與傳統IT滲透測試相同,如在互聯(lián)網(wǎng)上搜索企業(yè)的所有相關(guān)信息,分析與測試目標相關(guān)的IP地址、BBS、電子郵件、網(wǎng)頁(yè)快照等。
外部測試
外部測試指的是通過(guò)互聯(lián)網(wǎng)對面向互聯(lián)網(wǎng)的網(wǎng)絡(luò )環(huán)境進(jìn)行測試。應盡量避免直接對工業(yè)控制系統進(jìn)行滲透,選擇面向互聯(lián)網(wǎng)的臨近網(wǎng)絡(luò ),如管理信息網(wǎng),然后通過(guò)管理信息網(wǎng)進(jìn)入生產(chǎn)控制網(wǎng)。根據大多數工業(yè)安全標準,尤其是ISA-99/ IEC 62443,不僅要求生產(chǎn)網(wǎng)需與其它網(wǎng)絡(luò )隔離,還規定了數據流向不能從高級別管理區域(levels 4 and 5)流向低級別生產(chǎn)區域(levels 0 to 3)(如圖2)。
圖2 ISA-99/IEC 62443 Purdue模型
盡管ISA-99/IEC 62443等對數據流向進(jìn)行了規定,但不遵守安全分區和數據流向規則的網(wǎng)絡(luò )大量存在,多網(wǎng)卡以及允許全網(wǎng)ICMP通訊的情況也非常普遍,外部滲透測試方法依舊可行。
其它可選滲透測試方法
除了上面提到的互聯(lián)網(wǎng)和相鄰連接網(wǎng)絡(luò )滲透測試方法,其它可考慮的滲透點(diǎn)包括物理安全脆弱性和社會(huì )工程學(xué)。社會(huì )工程學(xué)利用了任何安全程序中最薄弱的環(huán)節之一:人的因素。技術(shù)性社會(huì )工程學(xué)方法(如釣魚(yú)網(wǎng)站)結合專(zhuān)業(yè)的工具可實(shí)現最有效的滲透測試,工業(yè)控制系統需綜合終端防護、入侵檢測及加強人員安全意識培訓等來(lái)防范社會(huì )工程學(xué)攻擊。
測試模擬的真實(shí)工業(yè)控制網(wǎng)絡(luò )
在實(shí)驗室或者測試環(huán)境搭建模擬真實(shí)生產(chǎn)控制系統的平臺,采用相同的設備類(lèi)型、型號和版本,并盡可能采用真實(shí)系統的備份鏡像進(jìn)行測試,采取各項滲透測試手段,盡最大可能發(fā)現模擬環(huán)境的問(wèn)題,而無(wú)需太關(guān)心安全問(wèn)題。
測試工控設備
取得控制設備操作權限或破壞控制設備是黑客攻擊的重要目的。由于前期未進(jìn)行安全設計,大部分基于IP的工業(yè)控制協(xié)議都缺乏加密認證機制,很容易被修改、劫持、破壞,甚至造成設備被直接控制。需對工控設備進(jìn)行安全性和健壯性測試,挖掘其未知安全漏洞。
測試工控服務(wù)器和工作站
工控服務(wù)器和工作站大部分是Windows系統,且很大一部分為XP等老舊系統。用戶(hù)由于擔心系統兼容性問(wèn)題,通常不升級補丁,系統長(cháng)期運行后會(huì )積累大量的安全漏洞,也為滲透測試提供了豐富的研究素材。
小結
本文簡(jiǎn)單介紹了工控系統滲透測試方法,并分析了工業(yè)控制系統的特定威脅、攻擊行為以及風(fēng)險點(diǎn),幫助客戶(hù)優(yōu)化安全防護策略,減少安全隱患。
威努特作為工控安全行業(yè)領(lǐng)頭羊,組建了一支由工控系統專(zhuān)家和工控安全專(zhuān)家組成的滲透小組,運用網(wǎng)絡(luò )安全知識和工業(yè)控制系統專(zhuān)業(yè)技能,深入不同行業(yè)開(kāi)展滲透測試調研。最終形成了“一事一議”的工業(yè)控制系統滲透測試原則,為工控系統滲透測試工作的開(kāi)展提供了新思路。