G110西門子0.12KW變頻器6SL3211-0KB11-2BB1
 | 6SL3211-0KB11-2BB1 SINAMICS G110-CPM110 交流驅(qū)動,帶集成濾波器 B 200-240V+10/-10% 1AC 47-63Hz RS-485-接口 (USS-協(xié)議) CT:0.12kW;VT:0.12kW CT-過載:150% 60S 150x 90x 101(高x寬x深) IP20;帶扁平散熱器; 僅適用于散熱板安裝 環(huán)境溫度 -10+50°C 無 BOP 無模擬輸入端 |
SIEMENS西門子
*,質(zhì)量保證,保修一年
專業(yè)銷售及維修西門子各類工控自動化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機界面:觸摸屏
西門子變頻器:MM420、MM430、MM440、G110、G120、6SE70
西門子工業(yè)以太網(wǎng):通訊網(wǎng)卡、通訊電纜、通訊接頭、總線連接器 工控機、交換機、自動化軟件等系型號齊全,快速報價,買我們的產(chǎn)品無憂所值,我們的產(chǎn)品都承諾質(zhì)保一年,讓您買的省心舒心,用的放心!
摘要:眾說周知,工業(yè)生產(chǎn)過程是通過可編程邏輯控制器(PLC)來控制的。 現(xiàn)在市場上許多PLC 都配置了以太網(wǎng)口并且可以用 IP 進(jìn)行通信。 我們將以西門子 SIMATIC S7-1200 機器為例展示一個蠕蟲范例。此蠕蟲不需要依賴 PC 電腦去擴(kuò)散。該蠕蟲僅僅活躍并運行在 PLC 當(dāng)中。它可以通過網(wǎng)絡(luò)掃描來尋找新的目標(biāo)(新的 PLC),然后攻擊這些目標(biāo)并將自身拷貝到這些新的 PLC 中,而
且目標(biāo) PLC 上運行原主程序不會發(fā)生任何改變。這些 PLC 目標(biāo)一旦感染該蠕蟲后會再次進(jìn)行掃描感染。我們將分析蠕蟲對目標(biāo)的影響以及提出可能的緩解技術(shù)。
1. 介紹
IT 系統(tǒng)在當(dāng)今工業(yè)生產(chǎn)發(fā)展至關(guān)重要的一部分。 可以說,沒有現(xiàn)代化的通信網(wǎng)絡(luò),就不可能有現(xiàn)代化的工業(yè)生產(chǎn)。然而不幸的是,正由于工業(yè)系統(tǒng)對當(dāng)今 IT 系統(tǒng)和通信網(wǎng)絡(luò)的依賴,使得用戶也暴露于被攻擊的危險之中,而這早已是 IT 界久知的問題。IT 攻擊可能對工業(yè)系統(tǒng)造成多種傷害。比如他們可以造成工業(yè)生產(chǎn)的中斷以及高額的經(jīng)濟(jì)損失,與此同時還可能對生活環(huán)境以及生命健康造成負(fù)面影響。其攻擊的威力在 STUXNET 蠕蟲上得到了充分的展示。西門子的可編程控制器(PLC)受到惡意篡改以阻礙伊朗核燃料鈾濃縮。通過利用微軟操作系統(tǒng)漏洞,該蠕蟲感染進(jìn)入到鈾濃縮工廠的電腦當(dāng)中,PLC 的軟件被惡意篡改以摧毀鈾濃縮離心機。該蠕蟲需要一臺 PC 電腦來進(jìn)行傳播并且通過 PC 電腦來攻擊 PLC。這篇文章將將闡述一種可以在 PLC 之間傳播的蠕蟲。不需要任何 PC 電腦。蠕蟲可能通過一個已經(jīng)被感染過的 PLC 而被引入到工業(yè)工廠中,蠕蟲接下來便會通過自我復(fù)制來感染到其他 PLC 中,并且在修改目標(biāo) PLC 并執(zhí)行感染時添加到 PLC 用戶程序中…。這篇文章描述的蠕蟲是基于西門子 SIMATIC S7-1200v3,該蠕蟲通過結(jié)構(gòu)化文本(ST)編寫而成,該語言是一種用于開發(fā) PLC 軟件的編程語言。
2. 相關(guān)工作
2015 年在美國 BlackHat 大會上,Klick 公司展示了一款在 PLC 上運行的惡意軟件。他們使用PLC 的一個通信特征實現(xiàn)了代理服務(wù)。我們將用同樣的通信特性來實現(xiàn)了一個可以傳送一個蠕蟲程序的協(xié)議。通過使用該協(xié)議,該蠕蟲可以從一個 PLC 直接傳到另一個 PLC 中。這個蠕蟲不需要更多系統(tǒng)去支持。我們沒有用更加聞名的 SIMATIC S7-300,取而代之的是,我們的工作成果基于新的 S7-1200v3。PLC 使用的協(xié)議也與舊版不同。該文章也將會介紹這種新型的協(xié)議。
3. PLC 體系結(jié)構(gòu)
PLC 使用簡單系統(tǒng)結(jié)構(gòu)構(gòu)建而成。他們基于中央處理器(CPU)模塊,加上數(shù)字輸入和輸出的模塊組成。CPU 處理 PLC 操作系統(tǒng)以及運行用戶程序。此外 CPU 還負(fù)責(zé)與其他設(shè)備通訊以及管理過程圖(Process image)。
過程圖(Process image)儲存著所有的輸入和輸出的狀態(tài)。用戶程序不能直接操作物理的輸入輸出,而是通過操作過程圖像而實現(xiàn)的。用戶程序的運行是一個循環(huán)。每次循環(huán)的起始和結(jié)束的時候,CPU 會刷新過程圖像。循環(huán)上限指的是循環(huán)時間。如果(一個循環(huán)運行的時間)超過循環(huán)上*,PLC 會停止用戶程序運行并拋出一個異常。
Figure 1. Zyklus eines PLCs
用戶程序通過POU(程序組織單元)構(gòu)造而成。這些單元(程序組織單元)包含了控制PLC的使用說明,因而可控制工業(yè)生產(chǎn)。SIMATIC S7-1200支持以下的POU:
此外有幾個西門子提供的給用戶自定義的POU功能也可找到。這篇文章運用了系統(tǒng)POU TCON和TDISCON。使用這些POU,PLC可以初始化或者銷毀任意系統(tǒng)的TCP連接。也可以通過TRCV和TSEND來接收和發(fā)送緩沖區(qū)數(shù)據(jù)。
4. 電腦蠕蟲
電腦蠕蟲從1988年就已經(jīng)出現(xiàn)并且是惡意軟件中有名的一種。蠕蟲多種但都基本架構(gòu)相同。所有的蠕蟲攻擊都可以歸為一下幾個階段:可能目標(biāo)的搜索,感染目標(biāo),在目標(biāo)上執(zhí)行,添加惡意功能。在PLC上蠕蟲也同樣支持這些工功能。這篇文章將展示每個必須組件的實現(xiàn)方法。
5. 在 S7 1200 上實現(xiàn)一個蠕蟲
5.1 體系結(jié)構(gòu)
這個蠕蟲的編寫與其他限制性蠕蟲軟件一樣。在開發(fā)過程中,必須滿足特定的PLC的限制條件,尤其是循環(huán)上限。蠕蟲每幾微秒就必須中斷其執(zhí)行,并在接下來的每次循環(huán)中能夠繼續(xù)執(zhí)行。為了滿足這個要求,我們通過狀態(tài)機來設(shè)計該蠕蟲。當(dāng)前的狀態(tài)被存在全局變量里面,在每次循環(huán)開始開始時,蠕蟲的相關(guān)代碼將會被調(diào)用。所以永遠(yuǎn)不會超過循環(huán)上限的時間。
如圖2中所展示的步驟,蠕蟲首先初始化一個連接來連接可能目標(biāo)。一旦建立了連接,蠕蟲會檢測目標(biāo)是否已經(jīng)被感染,如果沒有感染,蠕蟲將暫停目標(biāo)機上的用戶主程序的執(zhí)行,使其能夠傳輸自己的代碼。用戶程序暫停后蠕蟲將自己復(fù)制到目標(biāo)PLC上,完成后啟動目標(biāo)PLC,接下來蠕蟲再測試下一個可能的目標(biāo)。

Figure 2. Execution sequence of the worm
5.2 目標(biāo)偵查
蠕蟲先掃描可能的目標(biāo),西門子的PLC可以通過102/tcp端口來識別。這個端口僅僅能夠被外部防火墻關(guān)閉,并且其他普通的服務(wù)不會使用這個端口。
S7-1200用POU TCON管理TCP連接。這個POU的的用法在圖3的第3行進(jìn)行了展示。任意一個IP地址和端口在第9行代碼中被傳遞。一旦POU被調(diào)用,PLC會試圖建立連接,并且這兩者是異步發(fā)生的。在之后的循環(huán)當(dāng)中會對當(dāng)前的連接狀態(tài)進(jìn)行驗證。返回值DONE(Zeile 5)信號表示該連接是否被建立,如果為true,繼續(xù)感染。如果IP地址和端口無法找到是不會有錯誤提示的。蠕蟲需要在每次循環(huán)中通過遞增計數(shù)器來檢測超時。
G110西門子0.12KW變頻器6SL3211-0KB11-2BB1