基于工業(yè)控制系統(tǒng)的特點(diǎn),本書從滲透測試的角度介紹了針對工控系統(tǒng)進(jìn)行安全研究涉及的諸多方面內(nèi)容,為工控系統(tǒng)的研究人員提供了有益參考。本書共分為三個(gè)部分:第壹部分介紹工控系統(tǒng)的架構(gòu)與組成、工控系統(tǒng)的風(fēng)險(xiǎn)評估以及工控系統(tǒng)的威脅情報(bào);第二部分介紹工控系統(tǒng)滲透測試、協(xié)議、設(shè)備、應(yīng)用,以及針對工控系統(tǒng)的"0-day"漏洞挖掘與惡意代碼;第三部分介紹工控系統(tǒng)安全標(biāo)準(zhǔn)及風(fēng)險(xiǎn)緩解策略。
About the Authors 作 者 簡 介Clint Bodungen(休斯頓,得克薩斯州)Clint Bodungen是卡巴斯基實(shí)驗(yàn)室的一名關(guān)鍵基礎(chǔ)設(shè)施安全高級研究員。在"網(wǎng)絡(luò)"(cyber)安全行業(yè)擁有二十余年的從業(yè)經(jīng)歷,專門從事風(fēng)險(xiǎn)評估、滲透測試以及脆弱性研究。Clint Bodungent過半的工作經(jīng)歷都關(guān)注于工業(yè)控制系統(tǒng)。Clint Bodungen從11歲起開始編程,并在20世紀(jì)90年代中期為Unix/Linux操作系統(tǒng)開發(fā)應(yīng)用程序與工具。在美國空軍服役期間,Clint Bodungen的職業(yè)生涯拉開了序幕,他擁有工業(yè)設(shè)計(jì)技術(shù)學(xué)位并先后擔(dān)任了單位的計(jì)算機(jī)系統(tǒng)安全官(Computer Systems Security Officer,CSSO)及OPSEC主管。Clint Bodungen在Symantec公司任職并對公司研發(fā)的IDS應(yīng)用程序進(jìn)行測試期間熱衷于威脅研究與系統(tǒng)測試。2003年,一家工業(yè)自動(dòng)化咨詢公司聘請Clint Bodungen來幫助某家大型石油和天然氣公司對其SCADA(Supervisory Control and Data Acquisition)系統(tǒng)進(jìn)行安全保障,自那以后Clint Bodungen開始對工業(yè)控制系統(tǒng)有所涉獵。此后,Clint Bodungen領(lǐng)導(dǎo)了多項(xiàng)美國 能源機(jī)構(gòu)的工業(yè)控制系統(tǒng)風(fēng)險(xiǎn)評估和滲透測試項(xiàng)目,并繼續(xù)同工控系統(tǒng)廠商一起致力于脆弱性研究。Clint Bodungen設(shè)計(jì)并教授了十多門工控系統(tǒng)安全培訓(xùn)課程,并多次在工控系統(tǒng)網(wǎng)絡(luò)安全大會(huì)上發(fā)表演講。
Bryan L. Singer,CISSP,CAP(蒙特瓦洛,阿拉巴馬州)Bryan Singer是Kenexis安全公司的主要投資人之一,重點(diǎn)關(guān)注工控系統(tǒng)以及SCADA系統(tǒng)安全問題,是一名業(yè)內(nèi)公認(rèn)的工業(yè)安全專家。Bryan Singer曾服役于美國陸軍,從一名空降兵成長為情報(bào)分析員。此后,Bryan Singer多次參與大型工業(yè)網(wǎng)絡(luò)架構(gòu)及網(wǎng)絡(luò)安全架構(gòu)的設(shè)計(jì)、開發(fā)與實(shí)施工作,并在全球多個(gè)關(guān)鍵基礎(chǔ)設(shè)施領(lǐng)域開展?jié)B透測試與網(wǎng)絡(luò)安全評估工作,涵蓋領(lǐng)域包括電力、石油和天然氣、食品飲料、核能、汽車、化工及制藥等。Bryan Singer 2002年開始擔(dān)任ISA-99/62443標(biāo)準(zhǔn)委員會(huì)的創(chuàng)始主席,直到2012年卸任。Bryan Singer擅長的技術(shù)包括軟件開發(fā)、逆向工程、電子取證、網(wǎng)絡(luò)設(shè)計(jì)、滲透測試以及網(wǎng)絡(luò)安全脆弱性評估等等。Bryan Singer現(xiàn)居住于阿拉巴馬州的蒙特瓦洛,多次就工控系統(tǒng)安全領(lǐng)域的問題撰寫文章、發(fā)表演講并分享經(jīng)驗(yàn)。
Aaron Shbeeb(休斯頓,得克薩斯州)Aaron Shbeeb早在少年時(shí)期就對程序開發(fā)及計(jì)算機(jī)安全產(chǎn)生了興趣。他畢業(yè)于俄亥俄州立大學(xué),獲得了計(jì)算機(jī)科學(xué)與工程理學(xué)學(xué)士學(xué)位。Aaron Shbeeb在軟件開發(fā)以及安全崗位擁有十多年的從業(yè)經(jīng)驗(yàn),主要關(guān)注安全程序設(shè)計(jì)實(shí)踐。從2008年起,在職業(yè)發(fā)展以及個(gè)人興趣的雙重驅(qū)動(dòng)下,Aaron Shbeeb開始從事針對工控系統(tǒng)/SCADA系統(tǒng)的滲透測試以及安全研究工作。
Stephen Hilt(查塔努加,田納西州)Stephen Hilt在信息安全與工控系統(tǒng)安全領(lǐng)域工作了十余年。從南伊利諾伊大學(xué)獲得學(xué)士學(xué)位后,Stephen Hilt供職于美國一家大型電力公司。在該公司就職期間,Stephen Hilt在安全網(wǎng)絡(luò)工程、事件響應(yīng)、電子取證、評估以及滲透測試領(lǐng)域積累了豐富的經(jīng)驗(yàn)。隨后,Stephen Hilt開始關(guān)注工控系統(tǒng)評估以及NERC CIP(North American Electric Reliability Council,Critical Infrastructure Protection)評估工作。鑒于其從業(yè)經(jīng)歷,世界上的工控系統(tǒng)安全咨詢公司Digital Bond聘請他擔(dān)任工控系統(tǒng)安全顧問與研究員。2014年至2015年期間,Stephen Hilt了針對工控系統(tǒng)的眾多Nmap腳本,通過本地命令對工控系統(tǒng)協(xié)議進(jìn)行識(shí)別。目前,Stephen Hilt擔(dān)任Trend Micro公司的高級威脅研究員,繼續(xù)從事工控系統(tǒng)研究工作,并在其他高級研究領(lǐng)域開展了深入的探索。
Kyle Wilhoit(費(fèi)斯圖斯,密蘇里州)Kyle Wilhoit是Trend Micro公司的一名高級威脅研究員,主要關(guān)注于捕獲互聯(lián)網(wǎng)上的惡意代碼。在加入Trend Micro公司之前,Kyle Wilhoit就職于FireEye公司,主要關(guān)注國家層面的攻擊者。只要Kyle Wilhoit沒有去周游世界,你就可以在他的家鄉(xiāng)圣路易斯找到他。
目錄 Contents
譯者序
作者簡介
技術(shù)審校者簡介
前言
致謝
及時(shí)部分做好準(zhǔn)備:工業(yè)控制系統(tǒng)滲透測試就位
案例研究及時(shí)部分:無盡的災(zāi)難2
第1章工業(yè)控制系統(tǒng)安全概述4
1.1信息物理系統(tǒng):機(jī)器崛起5
1.1.1傳統(tǒng)威脅的全新攻擊向量7
1.1.2后果:這將導(dǎo)致什么呢8
1.1.3理解工控系統(tǒng)所面臨的現(xiàn)實(shí)威脅與風(fēng)險(xiǎn)9
1.2工業(yè)控制系統(tǒng)概述12
1.2.1畫面12
1.2.2監(jiān)視12
1.2.3控制12
1.2.4用于工控系統(tǒng)的普渡參考模型13
1.2.5常用控制系統(tǒng)、設(shè)備和組件的類型15
1.3本章總結(jié)20
1.4延伸閱讀20
第2章工業(yè)控制系統(tǒng)風(fēng)險(xiǎn)評估22
2.1工控系統(tǒng)風(fēng)險(xiǎn)評估入門22
2.1.1難以確定的工控系統(tǒng)"風(fēng)險(xiǎn)度量標(biāo)準(zhǔn)"23
2.1.2風(fēng)險(xiǎn)評估標(biāo)準(zhǔn)23
2.1.3工控系統(tǒng)風(fēng)險(xiǎn)評估中評價(jià)和測量的內(nèi)容24
2.1.4工控系統(tǒng)風(fēng)險(xiǎn)評估過程概述27
2.2工控系統(tǒng)風(fēng)險(xiǎn)評估過程步驟28
2.2.1第1階段:資產(chǎn)識(shí)別與評定30
2.2.2第2階段:脆弱性識(shí)別與威脅建模36
2.2.3后續(xù)步驟51
2.3本章總結(jié)51
2.4延伸閱讀52
第3章通過威脅建模獲取具有可操作性的工業(yè)控制系統(tǒng)威脅情報(bào)53
3.1威脅信息與威脅情報(bào)54
3.2威脅建模:將工控系統(tǒng)威脅信息轉(zhuǎn)化為"可操作"的威脅情報(bào)56
3.2.1工控系統(tǒng)殺傷鏈56
3.2.2工控系統(tǒng)威脅建模過程58
3.2.3信息收集60
3.3本章總結(jié)78
3.4延伸閱讀78
案例研究第二部分:威脅涌現(xiàn)79
延伸閱讀81
第二部分工業(yè)控制系統(tǒng)入侵
案例研究第三部分:乘虛而入84
延伸閱讀86
第4章滲透測試策略87
4.1滲透測試的目的88
4.2黑盒測試、白盒測試與灰盒測試90
4.3特殊考量:工控系統(tǒng)滲透測試不同于IT系統(tǒng)滲透測試91
4.4實(shí)驗(yàn)環(huán)境的部署93
4.4.1從"類似"配置的系統(tǒng)中取樣93
4.4.2虛擬化94
4.4.3裝備99
4.5測試規(guī)則100
4.6風(fēng)險(xiǎn)場景的運(yùn)用101
4.7工控系統(tǒng)滲透測試:測試策略101
4.7.1偵察("踩點(diǎn)")102
4.7.2外部測試103
4.7.3跳板攻擊105
4.7.4網(wǎng)絡(luò)之外的考慮:非對稱與可替換的攻擊向量107
4.7.5內(nèi)部測試:針對工控系統(tǒng)網(wǎng)絡(luò)的測試108
4.8本章總結(jié)112
4.9延伸閱讀112
第5章工業(yè)控制系統(tǒng)協(xié)議攻擊114
5.1Modbus協(xié)議114
5.1.1Modbus協(xié)議中間人攻擊119
5.1.2Schneider終止CPU運(yùn)行攻擊119
5.1.3Schneider功能碼90鑒別攻擊121
5.2EtherNet/IP協(xié)議122
5.2.1EtherNet/IP協(xié)議身份鑒別請求攻擊124
5.2.2EtherNet/IP協(xié)議中間人攻擊126
5.2.3EtherNet/IP協(xié)議終止CPU運(yùn)行攻擊126
5.3DNP3協(xié)議127
5.3.1DNP3 協(xié)議模糊測試攻擊131
5.3.2DNP3協(xié)議鑒別攻擊133
5.4Siemens S7通信協(xié)議134
5.4.1S7協(xié)議終止CPU運(yùn)行攻擊135
5.4.2S7協(xié)議鑒別攻擊141
5.4.3S7 協(xié)議口令暴力破解攻擊144
5.5BACnet協(xié)議147
5.6其他協(xié)議152
5.6.1OMRON FINS協(xié)議鑒別攻擊152
5.6.2PCWORX協(xié)議鑒別攻擊153
5.7協(xié)議攻擊的對抗措施154
5.7.1更新固件154
5.7.2強(qiáng)網(wǎng)絡(luò)隔離和網(wǎng)絡(luò)安全155
5.7.3口令暴力攻擊的對抗措施155
5.8本章總結(jié)156
5.9延伸閱讀156
第6章工業(yè)控制系統(tǒng)設(shè)備與應(yīng)用攻擊157
6.1軟件的漏洞利用158
6.1.1若干基本原理158
6.1.2緩沖區(qū)溢出159
6.1.3整型溢出:上溢、下溢、截?cái)嗯c符合失配164
6.1.4指針操縱168
6.1.5格式化字符串172
6.1.6目錄遍歷175
6.1.7DLL劫持178
6.1.8注入182
6.1.9跨站腳本186
6.1.10跨站請求偽造189
6.1.11硬編碼值利用191
6.1.12暴力攻擊192
6.2所有軟件皆有漏洞194
6.3本章總結(jié)194
6.4延伸閱讀195
第7章工業(yè)控制系統(tǒng)"0-day"漏洞研究196
7.1像攻擊者一樣思考197
7.2步驟1:目標(biāo)選取197
7.3步驟2:文檔研究198
7.4步驟3:可訪問接口的枚舉與優(yōu)先級排序198
7.5步驟4:逐接口分析與測試199
7.5.1模糊測試199
7.5.2靜態(tài)二進(jìn)制分析205
7.5.3動(dòng)態(tài)二進(jìn)制分析211
7.6步驟5:漏洞利用214
7.7融會(huì)貫通:MicroLogix案例研究216
7.7.1漏洞研究的準(zhǔn)備216
7.7.2深入之前的工作217
7.7.3打造定制固件218
7.8本章總結(jié)223
7.9延伸閱讀224
7.9.1工具224
7.9.2一般文獻(xiàn)224
第8章工業(yè)控制系統(tǒng)惡意代碼225
8.1工控系統(tǒng)惡意代碼入門225
8.1.1代碼釋放器225
8.1.2Rootkits227
8.1.3病毒228
8.1.4廣告軟件與間諜程序228
8.1.5蠕蟲229
8.1.6木馬229
8.1.7勒索軟件231
8.1.8感染途徑232
8.2工控系統(tǒng)惡意代碼分析234
8.2.1實(shí)驗(yàn)環(huán)境234
8.2.2Stuxnet235
8.2.3Flame237
8.2.4Havex237
8.2.5BlackEnergy239
8.2.6偽裝為工控系統(tǒng)軟件的犯罪軟件241
8.2.7Shamoon243
8.3本章總結(jié)243
8.4延伸閱讀244
案例研究第四部分:立足之地245
延伸閱讀247
第三部分融會(huì)貫通:風(fēng)險(xiǎn)緩解
案例研究第五部分:何去何從250
延伸閱讀251
第9章工業(yè)控制系統(tǒng)安全標(biāo)準(zhǔn)入門252
9.1合規(guī)性與安全性253
9.2常見的工控系統(tǒng)網(wǎng)絡(luò)安全標(biāo)準(zhǔn)254
9.2.1NIST SP 800-82254
9.2.2ISA/IEC 6244325