昨天下午,我接到了另一位安全專家的通知,這讓我有一點吃驚。像大家一樣,我也認(rèn)為如果修補(bǔ)了SCADA或ICS系統(tǒng)上的Windows電腦,那么所有可以被修補(bǔ)的存在漏洞的服務(wù)都會被修補(bǔ)。但實際上仍有可能存在一些被Windows更新服務(wù)遺漏的漏洞。更可怕的是,你又做不了什么。
現(xiàn)場不運(yùn)行Microsoft Office等微軟產(chǎn)品的計算機(jī)無法自動接收針對此次兩個關(guān)鍵漏洞的更新。
圖片來源:Lewis Technical Engineering LLC
歡迎來到Windows通用控件世界
為了理解存在這種可能的原因,了解一些Windows通用控件的知識會很有幫助。通用控件是微軟提供的可執(zhí)行例程,使不同開發(fā)商的應(yīng)用程序有一個統(tǒng)一的外觀和感受。例如,當(dāng)你將光標(biāo)放在某個按鈕或選項卡上并等待幾毫秒時,工具提示控件就會創(chuàng)建小的矩形窗口來顯示幫助文本。 通用控件從微軟早期就開始使用了。像Word、SQL Server等應(yīng)用程序都普遍使用了通用控件,許多第三方應(yīng)用程序的開發(fā)商也使用了通用控件。在SCADA和ICS領(lǐng)域,估計多數(shù)在Windows平臺上的工業(yè)服務(wù)器或客戶端的應(yīng)用程序軟件也都使用了通用控件。
什么情況下你可以打補(bǔ)丁
當(dāng)微軟公司公布MSCOMCTL.OCX的ActiveX控件存在兩個嚴(yán)重漏洞 (MS12-027和MS12-060)時,問題就出現(xiàn)了。
根據(jù)通用漏洞披露(CVE)數(shù)據(jù)庫可知,在2012年4月這些漏洞被利用進(jìn)行針對性攻擊,攻擊方式是通過郵件發(fā)送特制的惡意RTF文件。
不久微軟公司就在其4月和8月的程序補(bǔ)丁發(fā)布中提供了修補(bǔ)這些漏洞的補(bǔ)丁。此時,有趣的事情開始了。
似乎只有檢測到經(jīng)過授權(quán)的微軟產(chǎn)品如MS Office時,Windows才提供這些補(bǔ)丁。如果你的電腦沒有運(yùn)行MS Office, Microsoft SQL Server 或 Microsoft BizTalk Server等微軟產(chǎn)品,就接收不到補(bǔ)丁。如果你的電腦上的某個關(guān)鍵SCADA應(yīng)用程序使用了存在漏洞的OCX文件,那你就太不幸了。
更糟的是,除非檢測到合格的微軟產(chǎn)品,否則即使是獨(dú)立更新,安裝也會失敗。微軟基準(zhǔn)安全分析器(MBSA)之類的工具也會遺漏這一點,因為一旦MBSA確認(rèn)你沒有安裝授權(quán)的應(yīng)用程序(如MS Office),它就不會費(fèi)心去檢查MSCOMCTL.COM文件是否是最新的,就直接退出了。
怎樣檢查電腦是否有漏洞
1.搜索C盤,查找文件MSCOMCTL.OCX。
2. 注意文件的日期戳。
3. 如果C:\Windows32\System下的文件副本是2012年5月之前的,那么你的電腦就沒打過補(bǔ)丁。
上面的屏幕截圖中,文件日期是2012年6月,表明該計算機(jī)已經(jīng)打過補(bǔ)丁了。
4. 如果其他副本是2012年5月之前的,那么即使該電腦已經(jīng)打了補(bǔ)丁,相關(guān)的應(yīng)用程序使用的也有可能是存在漏洞的版本,上面的截圖中就有一個可能存在漏洞的應(yīng)用程序(Lotus Notes)。
像我之前指出的一樣,這些Windows通用控件被廣泛用在SCADA和ICS產(chǎn)品中。但是,工業(yè)自動化環(huán)境中卻只有很少的電腦使用了Microsoft Office等應(yīng)用程序。只有少數(shù)運(yùn)行Microsoft SQL Server的計算機(jī)可以得到修補(bǔ),但是99%的SCADA和ICS電腦都無法獲取此關(guān)鍵補(bǔ)丁。
根據(jù)MS12-060的常見問答,獨(dú)立軟件供應(yīng)商(ISVs)的產(chǎn)品如果使用了Windows通用控件應(yīng)該使用最近的更新對其產(chǎn)品進(jìn)行重新打包。但是會有多少ICS供應(yīng)商這樣做呢?又有多少控制系統(tǒng)用戶會及時安裝這些更新呢?
記住,這很可能不僅僅牽扯到一個單獨(dú)文件的自動更新-而是需要安裝一個新的程序包。即使可以獲取補(bǔ)丁,也需要對補(bǔ)丁進(jìn)行測試和認(rèn)證。我認(rèn)為SCADA/ICS領(lǐng)域正面臨這樣一種情況:接下來的一兩年內(nèi),運(yùn)行關(guān)鍵系統(tǒng)的計算機(jī)會出現(xiàn)大量的沒有打過補(bǔ)丁或存在漏洞的情況。我認(rèn)為這不是個好消息。
修補(bǔ)ICS和SCADA安全失敗了
對我來說,這是修補(bǔ)SCADA和ICS安全的整體策略失敗的另一個例子。供應(yīng)商不愿意提供許多控制產(chǎn)品(尤其是舊產(chǎn)品)的補(bǔ)丁,而用戶獲取補(bǔ)丁后,又不愿意安裝補(bǔ)丁。
接下來的幾個月我打算談?wù)撘幌驴商娲a(bǔ)丁的可選方案。
根據(jù)這一信息,對于廠里的Windows電腦,你有何打算?歡迎分享一切竅門!
聯(lián)系客服