內容簡介
基於工業控製係統的特點,本書從滲透測試的角度介紹瞭針對工控係統進行安全研究涉及的諸多方麵內容,為工控係統的研究人員提供瞭有益參考。本書共分為三個部分:第壹部分介紹工控係統的架構與組成、工控係統的風險評估以及工控係統的威脅情報;第二部分介紹工控係統滲透測試、協議、設備、應用,以及針對工控係統的“0-day”漏洞挖掘與惡意代碼;第三部分介紹工控係統安全標準及風險緩解策略。
作者簡介
Clint Bodungen,(休斯頓,得剋薩斯州)Clint Bodungen是卡巴斯基實驗室的一名關鍵基礎設施安全高級研究員。在“網絡”(cyber)安全行業擁有二十餘年的從業經曆,專門從事風險評估、滲透測試以及脆弱性研究。Clint Bodungent過半的工作經曆都關注於工業控製係統。Clint Bodungen從11歲起開始編程,並在20世紀90年代中期為Unix/Linux操作係統開發應用程序與工具。在美國空軍服役期間,Clint Bodungen的職業生涯拉開瞭序幕,他擁有工業設計技術學位並先後擔任瞭單位的計算機係統安全官(Computer Systems Security Officer,CSSO)及OPSEC主管。Clint Bodungen在Symantec公司任職並對公司研發的IDS應用程序進行測試期間熱衷於威脅研究與係統測試。2003年,一傢工業自動化谘詢公司聘請Clint Bodungen來幫助某傢大型石油和天然氣公司對其SCADA(Supervisory Control and Data Acquisition)係統進行安全保障,自那以後Clint Bodungen開始對工業控製係統有所涉獵。此後,Clint Bodungen領導瞭多項美國 能源機構的工業控製係統風險評估和滲透測試項目,並繼續同工控係統廠商一起緻力於脆弱性研究。Clint Bodungen設計並教授瞭十多門工控係統安全培訓課程,並多次在工控係統網絡安全大會上發錶演講。
Bryan L. Singer,CISSP,CAP(濛特瓦洛,阿拉巴馬州)Bryan Singer是Kenexis安全公司的主要投資人之一,重點關注工控係統以及SCADA係統安全問題,是一名業內公認的工業安全專傢。Bryan Singer曾服役於美國陸軍,從一名空降兵成長為情報分析員。此後,Bryan Singer多次參與大型工業網絡架構及網絡安全架構的設計、開發與實施工作,並在全球多個關鍵基礎設施領域開展滲透測試與網絡安全評估工作,涵蓋領域包括電力、石油和天然氣、食品飲料、核能、汽車、化工及製藥等。Bryan Singer 2002年開始擔任ISA-99/62443標準委員會的創始主席,直到2012年卸任。Bryan Singer擅長的技術包括軟件開發、逆嚮工程、電子取證、網絡設計、滲透測試以及網絡安全脆弱性評估等等。Bryan Singer現居住於阿拉巴馬州的濛特瓦洛,多次就工控係統安全領域的問題撰寫文章、發錶演講並分享經驗。
Aaron Shbeeb,(休斯頓,得剋薩斯州)Aaron Shbeeb早在少年時期就對程序開發及計算機安全産生瞭興趣。他畢業於俄亥俄州立大學,獲得瞭計算機科學與工程理學學士學位。Aaron Shbeeb在軟件開發以及安全崗位擁有十多年的從業經驗,主要關注安全程序設計實踐。從2008年起,在職業發展以及個人興趣的雙重驅動下,Aaron Shbeeb開始從事針對工控係統/SCADA係統的滲透測試以及安全研究工作。
Stephen Hilt,(查塔努加,田納西州)Stephen Hilt在信息安全與工控係統安全領域工作瞭十餘年。從南伊利諾伊大學獲得學士學位後,Stephen Hilt供職於美國一傢大型電力公司。在該公司就職期間,Stephen Hilt在安全網絡工程、事件響應、電子取證、評估以及滲透測試領域積纍瞭豐富的經驗。隨後,Stephen Hilt開始關注工控係統評估以及NERC CIP(North American Electric Reliability Council,Critical Infrastructure Protection)評估工作。鑒於其從業經曆,世界上的工控係統安全谘詢公司Digital Bond聘請他擔任工控係統安全顧問與研究員。2014年至2015年期間,Stephen Hilt發布瞭針對工控係統的眾多Nmap腳本,通過本地命令對工控係統協議進行識彆。目前,Stephen Hilt擔任Trend Micro公司的高級威脅研究員,繼續從事工控係統研究工作,並在其他高級研究領域開展瞭深入的探索。
Kyle Wilhoit(費斯圖斯,密蘇裏州)Kyle Wilhoit是Trend Micro公司的一名高級威脅研究員,主要關注於捕獲互聯網上的惡意代碼。在加入Trend Micro公司之前,Kyle Wilhoit就職於FireEye公司,主要關注國傢層麵的攻擊者。隻要Kyle Wilhoit沒有去周遊世界,你就可以在他的傢鄉聖路易斯找到他。
目錄
譯者序
作者簡介
技術審校者簡介
前言
緻謝
第一部分 做好準備:工業控製係統滲透測試就位
案例研究 第一部分:無盡的災難2
第1章 工業控製係統安全概述4
1.1 信息物理係統:機器崛起5
1.1.1 傳統威脅的全新攻擊嚮量7
1.1.2 後果:這將導緻什麼呢8
1.1.3 理解工控係統所麵臨的現實威脅與風險9
1.2 工業控製係統概述12
1.2.1 畫麵12
1.2.2 監視12
1.2.3 控製12
1.2.4 用於工控係統的普渡參考模型13
1.2.5 常用控製係統、設備和組件的類型15
1.3 本章總結20
1.4 延伸閱讀20
第2章 工業控製係統風險評估22
2.1 工控係統風險評估入門22
2.1.1 難以確定的工控係統“風險度量標準”23
2.1.2 風險評估標準23
2.1.3 工控係統風險評估中評價和測量的內容24
2.1.4 工控係統風險評估過程概述27
2.2 工控係統風險評估過程步驟28
2.2.1 第1階段:資産識彆與評定30
2.2.2 第2階段:脆弱性識彆與威脅建模36
2.2.3 後續步驟51
2.3 本章總結51
2.4 延伸閱讀52
第3章 通過威脅建模獲取具有可操作性的工業控製係統威脅情報53
3.1 威脅信息與威脅情報54
3.2 威脅建模:將工控係統威脅信息轉化為“可操作”的威脅情報56
3.2.1 工控係統殺傷鏈56
3.2.2 工控係統威脅建模過程58
3.2.3 信息收集60
3.3 本章總結78
3.4 延伸閱讀78
案例研究 第二部分:威脅湧現79
延伸閱讀81
第二部分 工業控製係統入侵
案例研究 第三部分:乘虛而入84
延伸閱讀86
第4章 滲透測試策略87
4.1 滲透測試的目的88
4.2 黑盒測試、白盒測試與灰盒測試90
4.3 特殊考量:工控係統滲透測試不同於IT係統滲透測試91
4.4 實驗環境的部署93
4.4.1 從“類似”配置的係統中取樣93
4.4.2 虛擬化94
4.4.3 裝備99
4.5 測試規則100
4.6 風險場景的運用101
4.7 工控係統滲透測試:測試策略101
4.7.1 偵察(“踩點”)102
4.7.2 外部測試103
4.7.3 跳闆攻擊105
4.7.4 網絡之外的考慮:非對稱與可替換的攻擊嚮量107
4.7.5 內部測試:針對工控係統網絡的測試108
4.8 本章總結112
4.9 延伸閱讀112
第5章 工業控製係統協議攻擊114
5.1 Modbus協議114
5.1.1 Modbus協議中間人攻擊119
5.1.2Schneider終止CPU運行攻擊119
5.1.3 Schneider功能碼90鑒彆攻擊121
5.2 EtherNet/IP協議122
5.2.1 EtherNet/IP協議身份鑒彆請求攻擊124
5.2.2 EtherNet/IP協議中間人攻擊126
5.2.3 EtherNet/IP協議終止CPU運行攻擊126
5.3 DNP3協議127
5.3.1 DNP3 協議模糊測試攻擊131
5.3.2 DNP3協議鑒彆攻擊133
5.4 Siemens S7通信協議134
5.4.1 S7協議終止CPU運行攻擊135
5.4.2 S7協議鑒彆攻擊141
5.4.3 S7 協議口令暴力破解攻擊144
5.5 BACnet協議147
5.6 其他協議152
5.6.1 OMRON FINS協議鑒彆攻擊152
5.6.2 PCWORX協議鑒彆攻擊153
5.7 協議攻擊的對抗措施154
5.7.1 更新固件154
5.7.2 強網絡隔離和網絡安全155
5.7.3 口令暴力攻擊的對抗措施155
5.8 本章總結156
5.9 延伸閱讀156
第6章 工業控製係統設備與應用攻擊157
6.1 軟件的漏洞利用158
6.1.1 若乾基本原理158
6.1.2 緩衝區溢齣159
6.1.3 整型溢齣:上溢、下溢、截斷與符閤失配164
6.1.4 指針操縱168
6.1.5 格式化字符串172
6.1.6 目錄遍曆175
6.1.7 DLL劫持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 本章總結194
6.4 延伸閱讀195
第7章 工業控製係統“0-day”漏洞研究196
7.1 像攻擊者一樣思考197
7.2 步驟1:目標選取197
7.3 步驟2:文檔研究198
7.4 步驟3:可訪問接口的枚舉與優先級排序198
7.5 步驟4:逐接口分析與測試199
7.5.1 模糊測試199
7.5.2 靜態二進製分析205
7.5.3 動態二進製分析211
7.6 步驟5:漏洞利用214
7.7 融會貫通:MicroLogix案例研究216
7.7.1 漏洞研究的準備216
7.7.2 深入之前的工作217
7.7.3 打造定製固件218
7.8 本章總結223
7.9 延伸閱讀224
7.9.1 工具224
7.9.2 一般文獻224
第8章 工業控製係統惡意代碼225
8.1 工控係統惡意代碼入門225
8.1.1 代碼釋放器225
8.1.2 Rootkits227
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 工控係統惡意代碼分析234
8.2.1 實驗環境234
8.2.2 Stuxnet235
8.2.3 Flame237
8.2.4 Havex237
8.2.5 BlackEnergy239
8.2.6 僞裝為工控係統軟件的犯罪軟件241
8.2.7 Shamoon243
8.3 本章總結243
8.4 延伸閱讀244
案例研究 第四部分:立足之地245
延伸閱讀247
第三部分 融會貫通:風險緩解
案例研究 第五部分:何去何從250
延伸閱讀251
第9章 工業控製係統安全標準入門252
9.1 閤規性與安全性253
9.2 常見的工控係統網絡安全標準254
9.2.1 NIST SP 800-82254
9.2.2 ISA/IEC 6244325
前言/序言
黑客大曝光—工業力量毫無疑問,本書沿襲瞭《黑客大曝光》係列書籍的一貫風格。無論稱之為滲透測試(penetration testing或pentesting)、道德入侵(ethical hacking)還是紅隊測試(red team testing),本書主要從攻擊的角度研究網絡安全問題。而且,在本書中,我們主要研究工業控製係統(Industrial Control Systems,ICS)的網絡安全(不管讀者喜不喜歡,主題已經劇透齣來瞭),根據情況也可以稱之為in-security。
監控和數據采集係統(Supervisory Control and Data Acquisition,SCADA)、工業控製係統(ICS)以及運營技術(Operations Technology,OT)都是最近在提到工業係統時常用的“萬能”術語。如果真想深究營銷術語,還可以將工業物聯網(Industrial Internet of Things,IIoT)添加進去。不過,先將這些熱門詞匯拋在一邊,除瞭很多其他的行業術語,例如:過程控製域(Process Control Domain,PCD)、過程控製網絡(Process Control Network,PCN)、過程控製係統(Process Control System,PCS)、集散控製係統(Distributed Control System,DCS)等,還有監控和數據采集係統(SCADA)以及工業控製係統(ICS)也都旨在描述工業係統特定但又互不相同的方麵。但是,這兩個術語經常被錯誤地互換使用。有鑒於此,為瞭簡單起見,本書中我們使用“工控係統”(ICS)來指代工業係統的所有方麵,即便我們知道這個術語未必在每種場閤下都是正確的。
滲透測試……確定要在工業控製係統中進行嗎從傳統角度來講,當從“紅隊”或者說從攻擊角度來討論工控係統網絡安全時,通常會遭到持懷疑態度並且憂心忡忡的工業資産所有者和運營人員的強烈排斥。從“藍隊”或者說從單純的防禦角度已經齣版瞭若乾本內容翔實的工控係統安全圖書,然而在我遇到的來自不同工業部門的人員中,還是有人認為那些詳細介紹“工控係統入侵”(ICS hacking)技術的圖書壓根兒就不該齣版。這一“理論依據”主要是源自於這樣一支思想流派:他們認為類似的信息(甚至包括嚮部分人士披露有關工控係統的漏洞)都應該妥善保管起來,隻有特定的專業團隊還有信息共享和分析中心(Information Sharing and Analysis Centers,ISAC)纔能夠獲取這些信息。這一方法也被看作是一種阻止黑客獲取敏感信息的努力。因為很多人擔心這類信息會幫助黑客們製訂工控係統攻擊方案或者“入侵攻略”。而細究起來,這種“策略”其實是“不公開即安全”(security through obscurity)的另一種形式,IT社區早在20年前也是這樣的心態。這也正是整個行業中工控係統安全的領軍人物經常說“工控係統的安全落後於其他行業十多年”的原因之一。
但是,真相是黑客們已經知道瞭這些信息,或者最起碼知道如何獲取這類信息,不論業界已經盡瞭多大努力來隱藏它們。不管用戶喜不喜歡,通過主流的隔離措施與不公開的方法已經難以實現對工業係統的保護。正所謂木已成舟,已成定局。既然攻擊者已經知道瞭工控係統和SCADA係統的存在,並且瞭解瞭它們的重要性,而且坦率地講,攻擊者也清楚它們到底有多脆弱,那麼自然會對開展攻擊燃起狂熱的興趣。事實上,與資産所有者以及運營人員在學習入侵技術以及如何實施入侵方麵所付齣的時間相比,黑客們往往花費瞭更多時間來學習工控係統,以及如何入侵這些係統。支撐這一發現的證據可以從世界各地眾多“黑客”大會的會議日程中清晰地看到,例如著名的Black Hat和DefCon,而這隻是其中的兩個會議。事實上,大多數安全會議現在都會開闢齣特色鮮明的“工控係統小鎮”,讓與會者可以體驗一把工控係統設備的入侵。無論讀者是否相信,工控係統入侵正在迅速成為主流話題。實際情況是,限製該類信息的獲取不僅難以阻止黑客們獲取信息,反而阻礙瞭真正需要這類信息的人們獲取信息(工業資産所有者以及運營人員),更不要說工業社區中已經共享瞭大量關於安全事件和漏洞的信息。然而,關於工控係統漏洞利用以及入侵技術的重要信息往往會被忽視。
為什麼瞭解攻擊技術這麼重要?簡言之就是,如果能夠像攻擊者一樣思考,並且瞭解其做法,那麼就有更多的機會阻擋攻擊者的入侵。想想看,以讀者最喜歡的運動為例(無論是團隊的還是個人的),是否有人在不瞭解對手攻擊方式的情況下就踏上賽場?當然瞭,肯定會有這種情況,但是在這種情況下,通常是場有利於對手的一邊倒的比賽。在對對手的攻擊策略與攻擊方法一無所知的情況下,實施針對攻擊的有效防禦是相當睏難的一件事。在工控係統網絡安全領域中也是這樣。對攻擊、漏洞利用和惡意代碼感染的方法與技術細節越瞭解,有的放矢地開展防禦就越準確、越高效,性價比也越高。考慮一下,下麵哪種方法聽起來更加高效、性價比更高?1)以“層次防禦”以及網絡安全標準閤規性的名義,盡可能多地嘗試采用一攬子“最佳實踐”。
2)對於經過驗證得齣的的確存在漏洞的地方,根據其潛在影響的嚴重程度進行優先級排序,針對最有可能麵臨的威脅部署相應的對抗措施。
如果迴答是“1”,那麼恭喜啦,因為你肯定擁有巨額的網絡安全預算還有大量閤格的工作人員!但是即便如此
黑客大曝光:工業控製係統安全 下載 mobi epub pdf txt 電子書