999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

簡談MC7字節(jié)碼

2017-09-20 09:54:28楊柳鵬
網(wǎng)絡安全技術與應用 2017年9期
關鍵詞:指令程序

◆楊柳鵬

(河北大學 河北 071002)

簡談MC7字節(jié)碼

◆楊柳鵬

(河北大學 河北 071002)

本文簡單介紹MC7字節(jié)碼和已知的MC7文件格式,并且說明對MC7文件進行修飾的過程,闡述基于SNAP7庫的PLC注入程序,最后給出一個成功的范例來進一步佐證MC7字節(jié)碼對PLC的影響。

MC7字節(jié)碼;西門子PLC;注入

0 引言

Stuxnet是一個具有劃時代意義的病毒。作為世界上首個以關鍵工業(yè)設施為目標的破壞性病毒,它的出現(xiàn)標志著工業(yè)級黑客登上歷史舞臺。直到今天,Stuxnet的感染方式仍舊是不少針對工業(yè)控制系統(tǒng)的病毒的模仿對象。其在西門子PLC中執(zhí)行的惡意代碼由MC7字節(jié)碼構成。

1 MC7字節(jié)碼簡介

西門子PLC的編程語言主要有五種:LAD、STL、FBD、SCL、GRAPH。其中,LAD和STL是常用的兩種基本語言。然而無論采用哪種語言編程,編碼完成后源碼都將自動地轉化為STL。最后編程軟件將由MC7字節(jié)碼構建產(chǎn)生MC7文件。簡單來說就是把代碼包裝成二進制文件。MC7字節(jié)碼是西門子PLC的CPU可以理解并執(zhí)行的原生代碼。

2 例子

這是FC100塊:

其STL如下:

其中有意義的字節(jié)和其對應位置的作用:

0707 :(第1-2字節(jié))MC7文件開始標志

01:(第3字節(jié))塊標識,01表示用戶塊、03表示系統(tǒng)塊

01:(第4字節(jié))塊類型,01為常規(guī)類型、03為配置文件、05為背景數(shù)據(jù)

01:(第5字節(jié))程序語言種類,STL對應01、LAD對應02、FBD對應03、SCL對應04、GRAPH對應06、05和07表示編寫DB塊或SDB塊(即用數(shù)據(jù)類型、地址、大小描述)

0C:(第6字節(jié))塊種類,OB塊對應08、DB塊對應0A、SDB塊對應0B、FC塊對應0C、SFC塊對應0D、FB塊對應0E、SFB塊對應0F

0064 :(第7-8字節(jié))塊號

0000 0074 :(第9-12字節(jié))文件總長度。將74化為十進制116,對應此MC7文件字節(jié)總數(shù)(116個字節(jié))

0000 :(第13-14字節(jié))數(shù)據(jù)類型。0800表示系統(tǒng)配置文件,0000表示用戶數(shù)據(jù)文件

0000 :(第15-16字節(jié))塊是否處于保護狀態(tài)。0003表示塊被保護,0000表示塊不被保護

02ab 2735 2d03:(第17-22字節(jié))最后修改時間。其中02ab 2735(第17-20字節(jié))表示毫秒(44771125毫秒),2d03(第21-22字節(jié))表示天數(shù)(11523天)。基準時間為1984年1月1日。此段代碼表示該MC7文件最后修改時間為2015年7月20日12:26:11.125

03a1 6383 21a7:(第23-28字節(jié))最后創(chuàng)建時間。計算方法等同于最后修改時間

001 c:(第29-30字節(jié))內部塊數(shù)據(jù)表長度

0006 :(第31-32字節(jié))跳轉指令內存

0014 :(第33-34字節(jié))本地數(shù)據(jù)長度

000 a:(第35-36字節(jié))執(zhí)行代碼長度

c000:(第37-38字節(jié))對應語句A I0.0

c100:(第39-40字節(jié))對應語句A I0.1。對于A I指令,字節(jié)碼占用兩個字節(jié),以c開頭,用緊跟c后的半個字節(jié)表示位地址(即I0.1的.1),用一個字節(jié)表示字節(jié)地址(即I0.1的0)

ca00:(第41-42字節(jié))對應語句O I0.2。對于O I指令,字節(jié)碼占用兩個字節(jié),以c開頭,用緊跟c后的半個字節(jié)-8的值表示位地址(即I0.2的.2),用一個字節(jié)表示字節(jié)地址(即I0.2的0)

d880:(第43-44字節(jié))對應語句= Q0.0.對于= Q指令,字節(jié)碼占用兩個字節(jié),以d開頭,用緊跟c后的半個字節(jié)-8的值表示位地址(即Q0.0的.0),用后一個字節(jié)-80的值表示字節(jié)地址(即Q0.0的0)

6500 :(第45-46字節(jié))對應語句BE。中止在當前塊中的程序掃描,跳轉到調用當前塊的程序塊

0100 :(第47-48字節(jié))執(zhí)行代碼區(qū)結束標志。

3 注入

MC7字節(jié)碼可以用于設計西門子PLC的仿真程序,或脫離西門子PLC官方編譯器S7kafapx.exe實現(xiàn)對程序的修改(Stuxnet核心功能)。

3.1.注入原理

3.1.1 西門子S7Comm協(xié)議

S7Comm協(xié)議是S7通訊協(xié)議簇中的一種,用以傳輸塊。

3.1.2 SNAP7庫函數(shù)

SNAP7是一個直接和西門子S7系列PLC對接的開源的多平臺的以太網(wǎng)通信軟件。我們主要用兩個函數(shù):

Cli_FullUpload(),從PLC的CPU上傳一個完整的塊

Cli_Download(),從我們的PC向PLC的CPU下載MC7文件

具體使用方法請查詢《SNAP7-refman》。

3.2 修飾

這里的修飾指對自由循環(huán)組織塊OB1的修飾。在注入前,參照上文給出的文件格式用十六進制編輯器手動寫出完成含有攻擊代碼的MC7文件(在這里我把它稱作Payload),以“被調用塊名_被調用塊號.mc7”格式保存。注入時可注入MC7文件所在的整個文件夾,但被調用塊只能唯一。由于PLC在設計時考慮了生產(chǎn)線的連續(xù)工作問題,所以接收一般程序時不會重啟,我們便在OB1的原始執(zhí)行代碼前插入一個用來調用塊的函數(shù)調用寫好的Payload。這樣在下一個刷新周期,CPU便會執(zhí)行我們的攻擊代碼。

這里需要注意,CALL函數(shù)調用塊時需要添加程序塊參數(shù)和背景數(shù)據(jù)塊,所以我采用UC函數(shù),即無條件調用。

構建注入器時采用如下代碼定義調用FC塊代碼:

uint8_tuc[] = {

0xFB, 0x70, 0x00, 0x00,

0x70 , 0x0B, 0x00, 0x02,

0xFE, 0x03, 0x00, 0x00, 0x00, 0x00,

0xFE, 0x0B, 0x00, 0x00, 0x00, 0x00,

0x30 , 0x03, 0x00, 0x00,

0x30 , 0x03, 0x00, 0x00,

0x70 , 0x07

};

除了插入調用塊函數(shù),我們還應按照插入代碼大小修改OB1的原始MC7文件的“執(zhí)行代碼長度”和“文件的總長度”區(qū)域。

3.3 情景假設

假設我們已獲得一個由許多PLC、監(jiān)控計算機、傳感器、HMI和其它一些設備組成的ICS結構中的網(wǎng)絡訪問權限。在這種情形下,我們可獲得目的PLC地址,進而篡改邏輯。

4 范例

范例采用PLCSIM仿真器模擬被注入的PLC。使用NetToPLCSIM軟件建立物理網(wǎng)絡接口和仿真PLC的連接,模擬和仿真PLC的通信。

采用上文例子“FC_100.mc7”。

注入完成后打開Step7主面板選擇“在線”,此時會發(fā)現(xiàn)OB1塊后新增FC100塊。觀察OB1塊會發(fā)現(xiàn)調用函數(shù)“UCFC100”已插入其中。由于存在塊調用PLCSIM增加了邏輯:

I0.0和I0.1同時置1則Q0.0置1;I0.2置1則Q0.0置1。

[1]Dillon Beresford. Black hat. In Siemens Simatic S7 PLC Exploitation[M].NSS Labs, 2011.

[2]DavideNardella.SNAP7[EB/OL]. http://snap7.sourceforg e.net/.

猜你喜歡
指令程序
聽我指令:大催眠術
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
創(chuàng)衛(wèi)暗訪程序有待改進
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 又黄又湿又爽的视频| 国产日韩欧美一区二区三区在线| 色欲色欲久久综合网| 情侣午夜国产在线一区无码| 色天堂无毒不卡| 久久国产精品无码hdav| 亚洲无码不卡网| 亚洲欧美综合精品久久成人网| 91在线精品麻豆欧美在线| 国产自产视频一区二区三区| 欧美日本在线一区二区三区| 欧美天堂在线| 亚洲成人精品| 日本爱爱精品一区二区| 操操操综合网| 国产福利小视频高清在线观看| 热久久这里是精品6免费观看| 日韩精品久久久久久久电影蜜臀| 亚洲av片在线免费观看| 特黄日韩免费一区二区三区| 亚洲av日韩av制服丝袜| 精品人妻系列无码专区久久| 国产在线一二三区| 波多野结衣久久精品| 免费在线观看av| 日本久久网站| 亚洲自偷自拍另类小说| 亚洲欧美日韩另类在线一| 成人在线综合| 欧美综合区自拍亚洲综合天堂| 国产久操视频| 熟妇人妻无乱码中文字幕真矢织江 | 91精选国产大片| 狠狠色丁香婷婷| 97久久精品人人做人人爽| 国产自在线播放| 国产喷水视频| 67194亚洲无码| 国产黄网永久免费| 欧美19综合中文字幕| 在线国产综合一区二区三区| 99久视频| 国产精品久久精品| 日本91在线| 99久久国产综合精品2020| 香蕉精品在线| 亚洲中文字幕国产av| 欧美综合区自拍亚洲综合绿色 | 国产丝袜啪啪| 国产精品人成在线播放| 99久久无色码中文字幕| 国产制服丝袜无码视频| 日本三区视频| 久久人搡人人玩人妻精品一| 视频在线观看一区二区| 午夜视频www| 99re这里只有国产中文精品国产精品| 亚洲国产成人综合精品2020| 欧美精品高清| 曰韩人妻一区二区三区| www.91在线播放| 亚洲国产亚综合在线区| 欧美精品另类| 黑色丝袜高跟国产在线91| 色老二精品视频在线观看| 成人国产精品2021| 国产精欧美一区二区三区| 亚洲欧美日韩另类| 国产一级二级三级毛片| 亚洲精品视频在线观看视频| 欧美区国产区| 日韩欧美国产另类| 福利国产微拍广场一区视频在线| 小13箩利洗澡无码视频免费网站| 色视频久久| 亚洲不卡无码av中文字幕| 亚洲丝袜中文字幕| 亚洲欧美日韩色图| 97国产成人无码精品久久久| 正在播放久久| 国产成人亚洲无码淙合青草| 国产经典免费播放视频|