西門子PLC的隱藏功能可以被用來攻擊
西門子公司的一些新型可編程邏輯控制器(PLC)具有隱藏功能,使設備面臨被攻擊的風險。修理已經(jīng)提上日程。
研究人員發(fā)現(xiàn),一些新型西門子可編程邏輯控制器(PLC)的一個非正式訪問功能,可以作為攻擊者的攻擊武器,也可以作為辯護人的取證工具。
德國波鴻魯爾大學的研究人員在研究西門子S7-1200 PLC的啟動程序時,發(fā)現(xiàn)了這種基于硬件的特殊訪問功能。當設備啟動時,可編程邏輯控制器引導程序處理軟件更新并驗證可編程邏輯控制器固件的完整性。
研究人員發(fā)現(xiàn),使用這種特殊訪問功能的攻擊者可以在PLC啟動的半秒鐘內繞過啟動程序的固件完整性檢查,加載惡意代碼來奪取對PLC進程的控制。
但是為什么這種特殊的訪問功能會存在于這些PLC中,仍然是個謎。沒有供應商在嵌入式設備中留下隱藏維護端口的例子,但西門子PLC中留下的這個例子讓研究人員感到困惑。
我們不知道西門子為什么會有這個功能。從安全角度來說,是有問題的,因為你還可以讀寫內存,從RAM中傳輸內存的內容。
研究人員向西門子報告了他們的發(fā)現(xiàn),西門子表示正在開發(fā)漏洞補丁。
該公司在一份媒體聲明中表示:西門子已經(jīng)注意到波鴻魯爾大學對SIMATIC S7-1200 CPU硬件特殊訪問的研究,專家組正在制定解決這個問題的方案。西門子將在安全咨詢中發(fā)布關于該漏洞的更多信息,并通過西門子產(chǎn)品計算機應急響應團隊的通信渠道通知客戶。
一個關鍵問題是修復是否需要硬件替換而不是軟件更新。當被問及此次PLC維修是硬件還是軟件更新時,西門子表示,其“專家正在評估替代方案?!?/span>
但是西門子PLC的特殊訪問功能也不是完全沒有任何好的方面:這個功能對于那些保護設備安全的人很有用,可以用于PLC內存取證。
研究人員可以使用這種特殊的訪問功能來查看PLC內存的內容,即工廠操作員可以發(fā)現(xiàn)可能植入他們設備中的惡意代碼。西門子不允許用戶查看PLC內存內容,但您可以使用此特殊訪問功能查看。
下個月在倫敦舉行的歐洲黑帽會議上,研究人員將展示他們的研究成果,并發(fā)布一個工具來執(zhí)行這種法醫(yī)記憶轉儲。
他們做了什么?
在沒有觸發(fā)引導程序校驗和檢測的情況下,研究人員通過PLC固件更新功能成功將自己的代碼寫入閃存芯片。他們說,問題是如何減輕這種攻擊,因為惡意代碼可以嵌入到引導閃存中。'
看西門子能否通過軟件更新修復。如果西門子能用軟件修復,就意味著攻擊者也可以覆蓋啟動程序。換句話說,沒有辦法徹底解決這個問題。
這也是研究人員想要發(fā)布這個固件內容轉儲工具的原因之一。借助這個工具,攻擊者再也無法隱藏在PLC中。
能在供應鏈制造過程中實際接觸這個端口或組裝PLC的攻擊者,可以利用這種技術讀寫設備內存。通過這種方式,他們可以操縱PLC操作,例如提供錯誤的讀數(shù)或其他儀器數(shù)據(jù)。
'
這種信任概念在新交付的PLC中的存在是一個很大的問題。
并不是這個特殊的訪問功能本身允許用戶讀寫閃存。閃存讀寫的實現(xiàn)是一系列功能巧妙組合的結果,可以讓用戶在設備上執(zhí)行自己的代碼。一旦可以執(zhí)行自己的代碼,就可以完全控制這個PLC了。
支持西門子安全
研究人員表示,他們之所以選擇研究西門子PLC,是因為西門子是市場領導者,也是因為公眾對PLC操作系統(tǒng)知之甚少。
雖然很多嵌入式系統(tǒng)的安全防護還是很差,但是西門子在安全方面做的工作比其他供應商多。
說實話,西門子PLC是行業(yè)頂尖的。他們一直在添加研究人員必須繞過的各種功能和安全特性。西門子為保持其在嵌入式安全領域的領先地位做了大量工作。
盡管如此,研究人員堅持認為,需要做更多的工作來保護工廠運營商的可編程邏輯控制器免受攻擊者或供應鏈腐敗的影響。如果有類似于西門子PLC的特殊功能,供應商應通知其客戶??蛻魬摿私膺@些信息,以便在風險評估中考慮到這些信息。
波鴻魯爾大學團隊的研究工作是PLC系列研究項目的最新成果。今年夏天,在發(fā)現(xiàn)使用相同固件的現(xiàn)代S7系列PLC共享相同的公共加密密鑰后,另一組安全研究人員建立了一個假冒的工程工作站,可以欺騙和篡改西門子S7 PLC的操作。
在2016年,該研究團隊的安全研究員Abbasi創(chuàng)建了一個PLC rootkit,可以在任何品牌的PLC上執(zhí)行。