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