烏克蘭電力系統(tǒng)遭受攻擊事件綜合分析報告

時間:2016-03-18

來源:北京力控華康科技有限公司

導語:北京力控華康科技有限公司(簡稱"力控華康")專業(yè)從事工業(yè)網絡及安全產品研發(fā),提供整體安全解決方案

1 事件綜述
 
 
2015年12月23日,烏克蘭電力部門遭受到惡意代碼攻擊,烏克蘭新聞媒體TSN在24日報道稱:“至少有三個電力區(qū)域被攻擊,并于當地時間15時左右導致了數小時的停電事故”;“攻擊者入侵了監(jiān)控管理系統(tǒng),超過一半的地區(qū)和部分伊萬諾-弗蘭科夫斯克地區(qū)斷電幾個小時。”
 
Kyivoblenergo電力公司發(fā)布公告稱:“公司因遭到入侵,導致7個110KV的變電站和23個35KV的變電站出現故障,導致80000用戶斷電。”
 
安全公司ESET在2016年1月3日最早披露了本次事件中的相關惡意代碼,表示烏克蘭電力部門感染的是惡意代碼BlackEnergy(黑色能量),BlackEnergy被當作后門使用,并釋放了KillDisk破壞數據來延緩系統(tǒng)的恢復。同時在其他服務器還發(fā)現一個添加后門的SSH程序,攻擊者可以根據內置密碼隨時連入受感染主機。BlackEnergy曾經在2014年被黑客團隊“沙蟲”用于攻擊歐美SCADA工控系統(tǒng),當時發(fā)布報告的安全公司iSIGHT Partners在2016年1月7日發(fā)文,將此次斷電事件矛頭直指“沙蟲”團隊,而在其2014年關于“沙蟲”的報告中,iSIGHTPartners認為該團隊與俄羅斯密切相關。
 
俄烏兩國作為獨聯體中最重要的兩個國家,歷史關系糾纏復雜。前蘇聯解體后,烏克蘭逐漸走向“親西疏俄”的方向,俄羅斯總統(tǒng)普京于2008年在北約和俄羅斯的首腦會議上指出,如果烏克蘭加入北約,俄國將會收回烏克蘭東部和克里米亞半島(1954年由當時的蘇共領導人決定從俄羅斯劃歸到烏克蘭)。在2010年年初,由于親俄的亞努科維奇當選為烏克蘭總統(tǒng),兩國關系重新改善,但隨著烏克蘭國內政局,特別是在2014年發(fā)生了克里米亞危機等事件后,烏克蘭中斷了大部分與俄羅斯的合作,兩國關系再度惡化。而圍繞天然氣展開的能源供給問題,一直是兩國博弈的主要焦點。2014年3月16日,克里米亞發(fā)起全國公投,脫離烏克蘭,成立新的克里米亞共和國,加入俄羅斯聯邦。2015年11月22日凌晨,克里米亞遭烏克蘭斷電,近200萬人受影響。2015年12月23日,烏克蘭國家電力部門遭受惡意代碼攻擊導致斷電。
 
除ESET外,多個安全企業(yè)和安全組織跟進了相關系列事件,2016年1月9日,美國工控系統(tǒng)安全組織SANS ICS發(fā)布報告對烏克蘭變電站SCADA系統(tǒng)被攻擊過程進行了分析和猜測;2016年1月15日,根據CERT-UA的消息,烏克蘭最大機場基輔鮑里斯波爾機場網絡遭受BlackEnergy攻擊;2016年1月28日,卡巴斯基的分析師發(fā)現了針對烏克蘭STB電視臺攻擊的BlackEnergy相關樣本;2016年2月16日,趨勢科技安全專家在烏克蘭一家礦業(yè)公司和鐵路運營商的系統(tǒng)上發(fā)現了BlackEnergy和KillDisk樣本。
 
北京力控華康科技有限公司(簡稱"力控華康")專業(yè)從事工業(yè)網絡及安全產品研發(fā),提供整體安全解決方案,對此次事件進行了分析。
 
根據對整體事件的跟蹤、電力運行系統(tǒng)分析和相關樣本分析,認為這是一起以電力基礎設施為目標;以BlackEnergy等相關惡意代碼為主要攻擊工具;通過BOTNET體系進行前期的資料采集和環(huán)境預置;以郵件發(fā)送惡意代碼載荷為最終攻擊的直接突破入口;通過遠程控制SCADA節(jié)點下達指令為斷電手段;以摧毀破壞SCADA系統(tǒng)實現遲滯恢復和狀態(tài)致盲;以DDoS服務電話作為干擾,最后達成長時間停電并制造整個社會混亂的具有信息戰(zhàn)水準的網絡攻擊事件。
 
特別值得注意的是,本次攻擊的攻擊點并不在電力基礎設施的縱深位置,同時亦未使用0Day漏洞,而是完全通過惡意代碼針對PC環(huán)節(jié)的投放和植入達成的。其攻擊成本相對震網、方程式等攻擊,顯著降低,但同樣直接有效。
 
 
2 電力系統(tǒng)原理及斷電原因分析
 
 
2.1 電力系統(tǒng)概述
 
電力系統(tǒng)是一套由發(fā)電廠、送變電線路、供配電所和用電等環(huán)節(jié)組成的電能生產與消費系統(tǒng)。整體的運行過程是由電源(發(fā)電廠)的升壓變電站升壓到一定等級后,經輸電線路輸送到負荷中心變電站,通過變電站降壓至一定等級后,再經配電線路與用戶連接。在整體電力系統(tǒng)中,使用計算機的節(jié)點主要在發(fā)電、變電站以及調度中心部分。
 
 
圖1   電力系統(tǒng)示意圖
 
2.2 電力系統(tǒng)環(huán)節(jié)介紹
2.2.1 升壓變電站
 
圖2   升壓變電站
 
    升壓變電站可以將交流電從不大于20KV的電壓變換至需要的輸電電壓等級。其主要設備包括:升壓變壓器,斷路器、隔離開關、互感器、繼電保護等。
2.2.2 輸電線路
 
圖3   輸電線路
 
l 輸電網:將發(fā)電廠發(fā)的電通過變壓器轉變?yōu)楦邏弘妭鬏數礁鱾€變電所。
l 配電網:將變電所的高壓電變成低壓電供到各個用戶。
l 輸電線路:110KV,220KV,330KV,500KV,750KV,1000KV。
 
2.2.3 降壓變電站
圖4   降壓變電站
 
l 將輸電線路較高電壓等級電能降低,供區(qū)域電網、地區(qū)電網或終端用戶使用。
l 根據變電站在系統(tǒng)中的地位,可分為:樞紐變電站、中間變電站、地區(qū)變電站、終端變電站。
 
圖5   某500KV樞紐變電站
 
圖6   某220KV中間變電站
 
圖7   某110KV地區(qū)變電站
 
   
圖8   某35KV終端變電站
 
2.2.4 配電網
 
配電網在電力網中主要是把輸電網送來的電能再分配和送到各類用戶,擔任配送電能的任務。配電設施包括配電線路、配電變電所、配電變壓器等。
 
2.3 變電站自動化系統(tǒng)概述
 
此次分析工作的一個困難,是難以獲得烏克蘭地區(qū)電力系統(tǒng)更準確的資料。新中國在建國初期,得到了前蘇聯在專家、技術和設備上的支持,因此電網電壓等級有一部分沿襲自前蘇聯電壓等級,但之后由于特殊的歷史原因,雙方的技術聯系被長期切斷,改革開放后,中國又迅速轉向引進歐美技術。相關信息只透露了受到影響的變電站為110kV和35kV。聯合分析組只能據此做出部分“常識性”的判斷,通常來看,交流750kV和直流±400kV以上的高壓電網主要是跨區(qū)域輸電網絡,交流500kV、330kV、220kV和110kV電網主要作為區(qū)域內輸電主網,35kV和10kV電網主要作為配電網絡和農電網絡,而其中110kV和35kV變電站屬于接近最終用戶的變電站。
 
對于一個實際的變電站,通常習慣將隔離開關(刀閘)、斷路器、變壓器、PT、CT等直接與高壓(強電)相關的設備稱為一次設備,而將保護(繼電保護)、儀表、中央信號、遠動裝置等保護、測量、監(jiān)控和遠方控制設備稱為二次設備,二次設備所需的信號線路、通信線路等稱為二次接線。變電站綜合自動化系統(tǒng)(以下簡稱變電站自動化系統(tǒng))的核心是將二次設備系統(tǒng)進行計算機化,集變電站保護、測量、監(jiān)控和遠方控制于一體,替代常規(guī)變電站二次設備,簡化二次接線。變電站自動化系統(tǒng)是最終實現變電站無人值守化的基礎。
 
在化工等工業(yè)體系中,工業(yè)控制系統(tǒng)以過程控制系統(tǒng)(PCS)為主,屬于閉環(huán)自動控制系統(tǒng),儀表控制系統(tǒng)以及DCS均屬于PCS。但對于變電站自動化系統(tǒng),目前仍然以人工監(jiān)控(開環(huán)控制)為主,主要需要實現遙測、遙信、遙控和遙調“四遙”功能,除了繼電保護系統(tǒng)需要獨立完成保護自動控制之外,變電站自動化系統(tǒng)一般認為屬于以人工監(jiān)控為主的SCADA(數據采集和監(jiān)控系統(tǒng)),與屬于PCS的DCS系統(tǒng)有一定相似之處,但體系結構不完全相同,一個可能的變電站SCADA體系結構如圖9所示。
圖9   一個可能的變電站SCADA體系結構
 
如果將變電站SCADA與一般工業(yè)DCS做一個比較,則過程層相當于DCS中的現場儀表層面,直接連接斷路器、變壓器、PT、CT等一次設備,完成最終的遙測、遙控等功能;間隔層相當于DCS中的現場控制層面,特別是繼電保護裝置屬于自動控制,相當于DCS中的一個現場控制站;站控層相當于DCS中的HMI、組態(tài)等層面,目前都基于PC和相應軟件實現。站控層網絡相當于工業(yè)以太網(工控內網);過程層網絡相當于現場總線。對于智能變電站,目前一般統(tǒng)一使用基于以太網的IEC 61850標準通信協議;對于非智能變電站,過程層與間隔層沒有標準的通信協議,一般根據過程層設備(RTU等)確定通信協議。
 
2.3.1 PC以及Windows-Intel結構在變電站自動化系統(tǒng)中的地位
 
工控系統(tǒng)的歷史比PC的歷史更為悠久,早期的工控系統(tǒng)是相對低級、原始的模擬量控制系統(tǒng),以儀表為顯示回饋,其中自然沒有 PC系統(tǒng)的存在。PC系統(tǒng)進入到工控系統(tǒng)的初期,并非扮演核心中樞的角色,而主要是提供監(jiān)控人機界面(HMI工作站)。但隨著工業(yè)化和信息化的逐步融合,通用性PC(含服務器)以其標準的體系結構、豐富的軟件系統(tǒng)等優(yōu)勢,開始逐步在工業(yè)控制系統(tǒng)中扮演更關鍵的角色,特別是在承擔了自動控制的組態(tài)、配置等工作(工程師站、運維計算機等),從而具備了直接操作實際生產環(huán)節(jié)的能力。
 
通常220kV及以上等級的變電站,監(jiān)控系統(tǒng)(屬于變電站SCADA站控層)使用的操作系統(tǒng)通常是Unix、Linux等系統(tǒng),110kV和35kV變電站,監(jiān)控系統(tǒng)操作系統(tǒng)中則有較高比例的Windows操作系統(tǒng)?,F階段俄羅斯和其它前蘇聯加盟共和國大量存在110kV和35kV變電站,其監(jiān)控系統(tǒng)操作系統(tǒng)目前以Windows為主。需要指出的是,沒有任何操作系統(tǒng)能夠對攻擊百分百“免疫”,任何關鍵位置的節(jié)點系統(tǒng)及其上的軟件與應用,必然會面臨安全挑戰(zhàn)。這與其是何種操作系統(tǒng)沒有本質關系。鑒于APT等攻擊發(fā)起者所擁有的資源、承擔攻擊成本的能力和鑒定的攻擊意志,不會有任何一種操作系統(tǒng)能憑借其自身的安全能力就可以使其上的業(yè)務系統(tǒng)免受攻擊。
 
SCADA系統(tǒng)是以計算機為基礎的生產過程控制與調度自動化系統(tǒng)。它可以對現場的運行設備進行監(jiān)視和控制,以實現數據采集、設備控制、測量、參數調節(jié)以及各類信號報警等各項功能。隨著智能電網的廣泛應用,PC節(jié)點在整個電網體系中作用日趨重要。在變供電站的SCADA系統(tǒng)中,PC收集大量的實時電網數據,并進行匯總和分析后,送到人機交互界面進行相應的展示。同時PC根據統(tǒng)計分析數據,對電網進行電力的實時負載調配,并且針對調配對電網下達相應的控制指令。另外PC在SCADA系統(tǒng)中同樣可以對系統(tǒng)中DCS的相關配置進行遠程配置。
 
在部分工業(yè)控制系統(tǒng)設計者的認知中:自動控制的核心,對于DCS是由工控機、嵌入式系統(tǒng)或者PLC實現的現場控制站,屬于現場控制層面;對于變電站SCADA,是繼電保護裝置(35kV及其以下電壓等級的變電站可能使用保護測控一體化裝置),屬于間隔層,無論是現場控制站還是繼電保護裝置,都是獨立運行的?,F場控制站、繼電保護裝置等能夠獨立運行,完成控制、保護等功能。這一體系結構設計稱為集散原則或者分布式原則,又稱為“分散控制+集中監(jiān)控”模式。在這種模式下,如果只是出現了上層SCADA系統(tǒng)的故障,有可能全系統(tǒng)依然能夠正常運行一段時間。這種風險控制模式的效性是建立在應對非主觀破壞帶來的單點失效和突發(fā)事故的前提假定下的;但對高級網絡攻擊乃至在信息戰(zhàn)場景,攻擊者基于環(huán)境預置、定向入侵滲透等方式取得了SCADA系統(tǒng)的控制權的情況下,僅靠這種簡單的集散原則是遠遠不夠的。
 
2.4 攻擊導致斷電的方法分析
 
目前變電站SCADA系統(tǒng)可以實現遠程數據采集、遠程設備控制、遠程測量、遠程參數調節(jié)、信號報警等功能。同時有多種方式可以通過SCADA導致斷電,如:
1.控制遠程設備的運行狀態(tài)。例如斷路器、閘刀狀態(tài),這種方式比較直接,就是直接切斷供電線路,導致對應線路斷電。
2.修改設備運行參數。例如修改繼電保護裝置的保護整定值,過電流保護的電流整定值減小,這樣會使得繼電保護裝置將正常負荷稍重的情況誤判為過電流,引發(fā)保護動作進而造成一定破壞,如使斷路器跳閘等。
對于烏克蘭停電事件中的攻擊者來講,在取得了對SCADA系統(tǒng)的控制能力后,可完成上述操作的手法也有多種:
1.通過惡意代碼直接對變電站系統(tǒng)的程序界面進行控制
當攻擊者取得變電站SCADA系統(tǒng)的控制權(如SCADA管理人員工作站節(jié)點)后,可取得與SCADA操作人員完全一致的操作界面和操作權限(包括鍵盤輸入、鼠標點擊、行命令執(zhí)行以及更復雜的基于界面交互的配置操作),操作員在本地的各種鑒權操作(如登錄口令等),也是可以被攻擊者通過技術手段獲取的,而采用USB KEY等登錄認證方式的USB設備,也可能是默認接入在設備上的。因此,攻擊者可像操作人員一樣,通過操作界面遠程控制對遠程設備進行開關控制,以達到斷電的目的;同樣也可以對遠程設備參數進行調節(jié),導致設備誤動作或不動作,引起電網故障或斷電。
2.通過惡意代碼偽造和篡改指令來控制電力設備
除直接操作界面這種方式外,攻擊者還可以通過本地調用API接口、或從網絡上劫持等方式,直接偽造和篡改指令來控制電力設備。目前變電站SCADA站控層之下的通信網絡,并無特別設計的安全加密通信協議。當攻擊者不同位置的控制權(如SCADA站控層PC、生產網絡相關網絡設備等)后,可以直接構造和篡改SCADA監(jiān)控軟件與間隔層設備的通信,例如IEC 61850通信明碼報文,IEC 61850屬于公開協議、明碼通信報文,截獲以及偽造IEC 61850通信報文并不存在技術上的問題,因此攻擊者可以構造或截獲指令來直接遙控過程層電力設備,同樣可以完成遠程控制設備運行狀態(tài)、更改設備運行參數引起電網故障或斷電。
上述兩種方式都不僅可以在攻擊者遠程操控情況下交互作業(yè),同樣可以進行指令預設、實現定時觸發(fā)和條件觸發(fā),從而在不能和攻擊者實時通訊的情況下發(fā)起攻擊。即使是采用操控程序界面的方式,同樣可以采用鍵盤和鼠標的行為的提前預設來完成。
 
2.5 攻擊全程分析
 
通過以上對變電站系統(tǒng)的分析并基于目前公開的樣本,我們分析攻擊者可能采用的技術手法為:通過魚叉式釣魚郵件或其他手段,首先向“跳板機”植入BlackEnergy,隨后通過BlackEnergy建立據點,以“跳板機”作為據點進行橫向滲透,之后通過攻陷監(jiān)控/裝置區(qū)的關鍵主機。同時由于BlackEnergy已經形成了具備規(guī)模的僵尸網絡以及定向傳播等因素,亦不排除攻擊者已經在烏克蘭電力系統(tǒng)中完成了前期環(huán)境預置和持久化。
 
攻擊者在獲得了SCADA系統(tǒng)的控制能力后,通過相關方法下達斷電指令導致斷電:其后,采用覆蓋MBR和部分扇區(qū)的方式,導致系統(tǒng)重啟后不能自舉;采用清除系統(tǒng)日志的方式提升事件后續(xù)分析難度;采用覆蓋文檔文件和其他重要格式文件的方式,導致實質性的數據損失。這一組合拳不僅使系統(tǒng)難以恢復,而且在失去SCADA的上層故障回饋和顯示能力后,工作人員被“致盲”,從而不能有效推動恢復工作。
 
攻擊者一方面在線上變電站進行攻擊的同時,另一方面在線下還對電力客服中心進行電話DDoS攻擊,兩組“火力”共同配合發(fā)起攻擊完成攻擊者的目的。整體的攻擊全景如下圖所示:
 
 圖10  烏克蘭停電事件攻擊全程示意圖
 
3 攻擊組織及BlackEnergy分析 
 
 
3.1 SandWorm(沙蟲組織)
 
SandWorm(沙蟲組織)是由iSIGHT于2014年10月首次發(fā)現,iSIGHT認為該組織與俄羅斯有關,該組織使用漏洞和惡意軟件對感興趣的目標進行攻擊,主要的目標包括:北大西洋公約組織、烏克蘭政府組織、西歐的政府組織、能源部門的公司(特別是波蘭)、歐洲電信公司、美國學術組織等。
 
在此次烏克蘭變電站遭受攻擊事件中,攻擊者采用了帶有惡意宏代碼的xls文檔,我們通過對該文檔的分析,發(fā)現其釋放的惡意代碼及相關特性與沙蟲組織的攻擊特性十分相似,比如:釋放FONTCACHE.DAT文件、啟動目錄添加CLSID格式名稱的快捷方式、釋放的文件都是BlackEnergy僵尸網絡程序。因此,力控華康認為本次攻擊事件可能與沙蟲組織有關。
 
3.2 BlackEnergy(黑色能量)
 
BlackEnergy是一種頗為流行的攻擊工具,主要用于實施自動化犯罪活動,通常販賣于俄羅斯的地下網絡,其最早出現的時間可追溯到2007年。該軟件最初被設計用于創(chuàng)建僵尸網絡、實施DDoS攻擊和竊取銀行憑證的一款惡意軟件,逐漸演變?yōu)橹С侄喾N組件的工具,其組件可根據不同攻擊意圖組合使用。
 
因為BlackEnergy具有多組件、多用途的特點,它已被多個團伙用于不同目的。例如,發(fā)送DDoS攻擊、發(fā)送垃圾郵件、密碼偷竊、盜取銀行證書和搜索特定的文件類型等。近幾年多次被利用攻擊烏克蘭政府、攻擊工控系統(tǒng)、甚至攻擊路由器等設備。
BlackEnergy已經形成了BOTNET(僵尸網絡)體系,它成為采集相關基礎設施和重要目標節(jié)點相關信息,建設在目標基礎資源體系中建立持久化能力的重要利器。它通過配置build_id的值來甄別受感染的目標,再從中選取脆弱系統(tǒng)進行內網縱深攻擊。
 
3.3  版本演進歷史
 
3.3.1 BlackEnergy1
 
 
BlackEnergy工具帶有一個構建器(builder)應用程序,下圖是2007年發(fā)現的BlackEnergy構建器程序,稱之為BlackEnergy1,主要用于實施DDoS攻擊。
 
圖11   BlackEnergy1構建程序
 
DDoS攻擊的BlackEnergy僵尸網絡可以啟動控制的“洪水”命令的參數,例如:ICMPping洪水、TCP SYN洪水、UDP流量洪水、二進制包洪水、DNS請求洪水等。
該版本服務器程序為WEB版本,將受害者機器相關信息Base64編碼后回傳C&C服務器中。
圖12   Base64加密
圖13   解密后數據
 
Base64解碼后的內容為服務器上的配置信息加上一個上線ID號,BlackEnergy配置還包含一個叫build_id的值,該字符串是個特殊字符串,是用來甄別受感染個體的,比如:
 
build_id
猜測針對的部門
en
能源
tel
電信
trk
交通
...
其他未知意義ID
表 1   build_id
BlackEnergy1本惡意代碼釋放的文件名通常為mssrv32.exe,并將該進程注入Svchost.exe中,隱藏自身,伺機發(fā)動DDoS攻擊。
 
3.3.2 BlackEnergy2
 
BlackEnergy2依然是一個具備DDoS功能的僵尸網絡程序,該樣本新增類加密軟件以對自身加密處理,防止反病毒軟件查殺。該版本程序首先釋放驅動文件以服務方式運行,將驅動程序注入系統(tǒng)進程,隨后樣本連接遠程服務器,下載DDoS攻擊組件,根據配置文件對目標發(fā)起DDoS攻擊。
圖 14   BlackEnergy2 工作原理圖
 
BlackEnergy2惡意程序不僅功能強大,實用性廣,而且非常易于部署和管理。支持可升級的組件(附加模塊),使得黑客更容易修改和擴展其功能。黑客可以通過遠程控制中心發(fā)布命令,實現組件的快速安裝和升級。
BlackEnergy2擁有3個組件,分別SYN、HTTP、DDoS攻擊組件,組件下載后樣本會將其加載到內存中執(zhí)行,然后對遠程服務器配置展開攻擊。
對于大部分BlackEnergy2安裝程序來說,安裝程序名均為msiexec.exe。msiexec.exe是系統(tǒng)進程,是Windows Installer的一部分,用于安裝Windows Installer安裝包(MSI)用途,被BlackEnergy惡意混淆利用。
 
3.3.3  BlackEnergy3
 
2014年9月F-Secure發(fā)布報告稱,發(fā)現了一個以前未曾見到過的變種,該版本已經重寫了代碼而且對配置數據采用了不同的保存格式。該版本不再使用驅動組件。我們把這個新變種稱之為BlackEnergy 3。但目前對該版本的攻擊事件,還并不常見。
 
3.4 攻擊裝備/組件介紹
 
BlackEnergy組件是DLL庫文件,一般通過加密方式發(fā)送到僵尸程序,一旦組件DLL被接收和解密,將被置于分配的內存中。然后等待相應的命令。例如:可以通過組件發(fā)送垃圾郵件、竊取用戶機密信息、建立代理服務器、伺機發(fā)動DDoS攻擊等。
 
組件名稱
功能
SYN
SYN攻擊
HTTP
http攻擊
DDOS
DDoS攻擊
spm_v1
垃圾郵件
Ps
密碼偷竊
ibank.dll
竊取銀行證書
VSNET
傳播和發(fā)射有效載荷
weap_hwi
編譯ARM系統(tǒng)上運行的DDoS工具
FS
搜索特定的文件類型
DSTR
這通過用隨機數據重寫它破壞
RD
遠程桌面
Ciscoapi.tcl
針對思科路由器
KillDisk
刪除MBR,導致系統(tǒng)無法啟動
表2   BlackEnergy目前流行已知攻擊組件
 
3.5 歷史事件及攻擊對象回顧
 
圖15   BlackEnergy歷史事件
 
 
 2007年
BlackEnergy最初版本出現在2007年,主要在俄羅斯地下網絡流行,實現DDoS攻擊、創(chuàng)建僵尸網絡、竊取銀行憑證等。
 2008年
俄格沖突期間,該工具被用來對格魯吉亞實施網絡攻擊。
 2009年
BlackEnergy攻擊美國花旗銀行,盜取數千萬美金。
 2010年
BlackEnergy2在2010年發(fā)布,支持更多的插件功能。
  2014年
BlackEnergy的最新樣本目標鎖定在烏克蘭和波蘭的攻擊。
  2014年10月
BlackEnergy惡意軟件針對不同廠商的HMI進行攻擊,被攻擊廠商的系統(tǒng)已包括GE、研華WebAccess、西門子WinCC。
  2014年10月14日
SandWorm被iSIGHT發(fā)現利用CVE-2014-4114傳播的BlackEnergy樣本。安天于2014年10月15日發(fā)布“沙蟲(CVE-2014-4114)相關威脅綜合分析報告”對相關漏洞和樣本進行復盤分析。
  2014年11月
攻擊Linux和Cisco思科設備。
 2014年12月
德國聯邦信息安全辦公室(BSI)發(fā)布2014年的信息安全報告,報告中披露了一起針對德國鋼廠基礎設施的網絡攻擊,并造成重大物理傷害,相關報道指出該事件可能與BlackEnergy有關。安天隨后跟進分析,于次日形成關于BlackEnergy的分析報告。
 2015年11月
烏克蘭大選期間曾遭受過黑客的攻擊,導致資料被竊取。
  2015年12月
烏克蘭稱電網遭遇黑客攻擊,相關報告稱這起事件和BlackEnergy有關。
 
4 相關樣本分析
 
 
4.1前導文檔
 
通過對公開的樣本進行關聯,關聯到發(fā)送前導文檔的原始郵件。該郵件在2015年3月被用于攻擊烏克蘭媒體,其中一個包含惡意代碼的文檔,攻擊者在文檔中嵌入了惡意宏代碼,一旦用戶打開文檔并運行宏就會對目標系統(tǒng)進行感染。
 
這與我們過去看到的大量APT攻擊中出現的格式溢出文檔所不同的是,盡管其也使用了郵件和Office文檔作為攻擊手段,但并沒有使用0Day,甚至相關載荷都沒有使用格式溢出方式,而是類似一個傳統(tǒng)的宏病毒。這說明高級攻擊中是否使用0Day與相關組織的作業(yè)能力、0Day儲備、以及對目標的適應性有關,高級的攻擊未必需要使用“高級攻擊技術”(如格式溢出、0Day)。
圖16   郵件內容
 
郵件譯文:
 
烏克蘭總統(tǒng)對部分動員令
 
據烏克蘭總統(tǒng)2015年第15號局部動員令,法令從15年1月14日開始。為了保持烏克蘭武裝部隊和其他軍事單位進行戰(zhàn)斗動員和動員準備。
 
烏克蘭公民組織負責人必須提供的組織示例(附件1),當地政府雇員的列表、用戶類別。不包含烏克蘭總統(tǒng)令中附錄2和信息附錄3所列的順序動員。
 
 
這是一種針對性攻擊常用的手法,首先攻擊者在一封郵件中嵌入一個惡意文檔發(fā)送給目標,如果目標主機存在安全隱患,則在打開附件時就會自動運行宏代碼,附件(Excel)打開后顯示如下圖,為了誘導受害者啟用宏,攻擊者還使用烏克蘭語進行了提醒,圖中文字含義為:“注意!該文檔由較新版本的Office創(chuàng)建,為顯示文檔內容,必須啟用宏。”
 
圖17     Excel內容
 
經分析人員對宏代碼進行提取分析,發(fā)現宏代碼主要分為兩個部分,首先通過25個函數定義768個數組,在數組中寫入二進制數據(PE文件)備用,如下圖:
圖18   宏代碼
 
然后通過一個循環(huán)將二進制數據寫入到指定的磁盤文件,對應的路徑為:%TEMP%\vba_macro.exe,隨后執(zhí)行此文件,即BlackEnergy Dropper,在經過多次解密后,其會釋放BlackEnergy,并利用BlackEnergy下載插件對系統(tǒng)進行攻擊。
 
圖19   生成PE
 
4.2 Dropbear SSH
 
該樣本是攻擊者使用組件,一個攻擊者篡改的SSH服務端程序,該程序是基于開源的SSH軟件Dropbear SSH,改動部分代碼后生成。
攻擊者利用VBS文件啟動這個SSH服務端,VBS內容如
圖20    VBS內容
 
VBS腳本啟動SSH程序,開啟6789端口等待連接,這樣攻擊者可以在內網中連接到受害機。
這個SSH程序是攻擊者使用Dropbear SSH源碼重新編譯的,在其中添加了固定密碼“passDs5Bu9Te7”,因此只有使用這個密碼才能連接上SSH服務,下圖是原版Dropbear SSH源碼和攻擊者修改后的代碼:
圖21   Dropbear SSH
 
圖22   添加后門的Dropbear SSH代碼
 
分析工程師認為不排除DropbearSSH正是烏克蘭電力部門使用的SSH管理工具,假定,相關帶有后門的Dropbear SSH的出現,也不排除是此次攻擊的環(huán)境預置的一部分。同時攻擊者使用開源代碼為基礎,構造可疑功能,可以起到躲避安全軟件的檢測的目的。通過圖23所示該文件的檢測歷史情況,可以看出該樣本剛出現時,所有的安全軟件都不能檢測,之后由于ESET最早獲得樣本,而能夠獨家檢測,其后各廠商才陸續(xù)檢出。
 
圖23   歷史檢測結果
 
4.3 KillDisk
 
KillDisk也是攻擊者使用的組件,主要目的是擦除證據,破壞系統(tǒng)。樣本運行后會遍歷文件進行擦除操作,還會擦寫磁盤MBR、破壞文件,最后強制關閉計算機。
 
4.3.1樣本標簽
 
病毒名稱
Trojan/Win32.KillDisk
原始文件名
c7536ab90621311b526aefd56003ef8e1166168f038307ae960346ce8f75203d
MD5
7361B64DDCA90A1A1DE43185BD509B64
處理器架構
X86-32  
文件大小
96.0  KB (98,304 字節(jié))
文件格式
BinExecute/Microsoft.EXE[:X86]
時間戳
3693DD58->1999-01-07  06:02:00
數字簽名
加殼類型
無t *
編譯語言
Microsoft  Visual C++ 8.0
表3   樣本標簽
 
4.3.2 樣本安裝流程
 
 
樣本具有延遲觸發(fā)的功能,在啟動樣本時,需要添加一個參數,用來指定樣本在多少分鐘之后執(zhí)行惡意操作。樣本會將輸入的參數乘以60轉為秒數,再使用函數RtlTimeToSecondsSince1970獲取當前的秒數相加,將此值寫入到注冊表中。
圖24   寫入注冊表
 
利用ShellExecuteW調用cmd.exe來執(zhí)行安裝操作,參數如下:
 
圖25    添加服務
 
安裝完成之后,樣本會執(zhí)行一個循環(huán)操作,判斷當前系統(tǒng)時間是否已經大于注冊表中的數值,若已經大于,則執(zhí)行惡意操作;若未達到,則繼續(xù)執(zhí)行循環(huán)操作。
圖26   延時操作
 
4.3.3 樣本功能分析
4.3.3.1 覆蓋MBR和部分扇區(qū)
 
樣本會將系統(tǒng)中的磁盤進行破壞,將磁盤的前0x20000字節(jié)寫入“\x00”,使系統(tǒng)重啟之后無法正常啟動。
對系統(tǒng)中的前十塊磁盤進行擦除操作,打開磁盤,獲取
圖27   遍歷磁盤
 
從磁盤的起始位置開始進行擦除,每次寫入0x200字節(jié)的“\x00”,執(zhí)行0x100次操作。
圖28   磁盤擦除
 
4.3.3.2 清理系統(tǒng)日志
 
如對部分扇區(qū)的擦除工作能夠正常完成,該樣本會對系統(tǒng)的日志進行清理,以增加事后分析的難度,如圖29:
圖29   清理日志
 
4.3.3.3 進程遍歷和清理進程
 
此后樣本會遍歷系統(tǒng)中的進程,若進程名存在于下面的列表中,則會放行;否則會結束進程的運行。
 
圖30   進程列表
從表中可以看出,多數為系統(tǒng)的關鍵進程,只有komut.exe不是系統(tǒng)進程。樣本中止掉其他進程,應是為榨取更多的系統(tǒng)資源,以使下一個動作(文件擦除)產生更好的效果,但同時又避免誤殺系統(tǒng)進程導致系統(tǒng)運行受到影響。
 
4.3.3.4   文件擦除
 
 
該部分操作是由一個新創(chuàng)建的線程所執(zhí)行。它會先對磁盤中的文件進行全盤遍歷,根據文件后綴的不同分為兩類,最后使用隨機數字對文件進行擦除。圖31為部分代碼:
 
圖31  文件擦除
 
通過函數m_FileSearch對文件的遍歷,得到inList、outList。若文件后綴存在于下面的表中,則文件路徑存放到inList中;否則存放到outList中。
 
表4   后綴列表
 
由于該部分運行在線程中,無法保證所有文件都被破壞。樣本首先擦除的是inList中的文件,可見攻擊者是想先破壞掉帶有上面后綴的文件,如果有時間,再去破壞系統(tǒng)中的其它文件,被擦除后的文件大小均為8.03kb。
 
4.3.3.5   結束進程
 
通過遍歷系統(tǒng)進程,查找sec_service.exe,若存在該進程,則將其結束掉,并執(zhí)行兩次。
圖32   結束進程
 
若不存在該進程,則判斷是否存在sec_service服務,若存在,則將其關閉并刪除該服務。
 
4.3.3.6   關機操作
當執(zhí)行完上面的操作之后,樣本會執(zhí)行關機操作。
圖33   關機操作
 
該條指令執(zhí)行之后,會在5秒后關機,樣本在這5秒內還會進行一次系統(tǒng)遍歷,結束三個系統(tǒng)進程csrss.exe、smss.exe、lsass.exe,猜測攻擊者是擔心因為這些進程的干擾導致無法達到重啟的目的。
而在關機后,由于MBR已經被破壞,系統(tǒng)將不能完成自舉。
 
4.3.3.7   其它樣本
 
關于KillDisk的樣本共有四個,上面的分析是功能最為強大的一個樣本。對另外三個樣本,我們也進行了分析,發(fā)現它們之間功能基本一致,多個函數都完全一樣,前三個樣本的時間戳信息接近,推斷這四個樣本是由同一個團隊,對同一套代碼的不斷修改所編譯出來的,而且最后一個樣本的時間戳是被修改的。下面是它們之間的對比信息:
 
樣本MD5
樣本大小
PE時間戳
功能
 
CD1AA880F30F9B8BB6CF4D4F9E41DDF4
88 KB(90,112 字節(jié))
562B8636->2015-10-24 21:23:02
擦寫磁盤的前256個扇區(qū)
擦除16類特定后綴的文件
結束非列表中的進程
重啟系統(tǒng)
 
66676DEAA9DFE98F8497392064AEFBAB
124 KB(126,976 字節(jié))
562B8C4F->2015-10-24 21:49:03
從16類特定后綴的文件增加到18045類。
 
72BD40CD60769BAFFD412B84ACC03372
108 KB(110,592 字節(jié))
562BCBB2->2015-10-25 02:19:30
增加將自身添加為服務的功能,增加注冊表操作,并使用動態(tài)獲取函數地址的方式,增加分析難度。
 
7361B64DDCA90A1A1DE43185BD509B64
96 KB(98,304 字節(jié))
3693DD58->1999-01-07 06:02:00
增加定時啟動功能,增加對進程komut.exe的判斷,增加結束進程sec_service.exe,增加關閉服務sec_service,對字符串進行變形,增加分析難度。
表5    文件對比
 
4.4 硬盤破壞程度
 
樣本會對磁盤的前0x20000字節(jié)進行擦寫。每個扇區(qū)的大小為0x200字節(jié),換句話說,樣本會擦寫磁盤的前256個扇區(qū)。
第1個扇區(qū)為主引導扇區(qū)(MBR),其結構如下:
圖34    MBR結構
分區(qū)項的結構如下:
圖35   分區(qū)項結構
 
系統(tǒng)引導扇區(qū)(BOOT區(qū))存放在哪個扇區(qū)一般由分區(qū)項1決定。我們使用WinXP與Win7分別進行了測試。結果如下:
操作系統(tǒng)
磁盤格式
MBR地址
引導扇區(qū)地址
破壞結果
WinXP
NTFS
0x00-0x200
0x7E00-0x8000
MBR及引導扇區(qū)被破壞
FAT32
0x00-0x200
0x7E00-0x8000
Win7
NTFS
0x00-0x200
0x100000-0x100200
只有MBR被破壞
FAT32
因FAT32分區(qū)格式無法安裝Win7系統(tǒng)而未測試
表6   測試結果
 
樣本一定會破壞掉MBR,使系統(tǒng)無法正常啟動,但是否會破壞到系統(tǒng)引導扇區(qū)以及破壞的程度大小無法確定,這取決于磁盤的大小、所使用的分區(qū)工具、所安裝的操作系統(tǒng)等等多種因素。
 
4.5 可恢復程度測試
 
以下測試僅針對擦寫磁盤MBR后,樣本未將磁盤文件擦除的前提下所進行的。我們對被樣本擦寫后的磁盤進行了恢復測試,首先使用工具PTDD Partition Table Doctor對磁盤MBR進行重建,再對分區(qū)表進行重建,測試修復后的磁盤是否可以正常啟動系統(tǒng),文件是否完整。
這兩項修復工作只會對磁盤的第一個扇區(qū)進行修改,包含主引導程序的出錯信息、四個分區(qū)項和結束字。
對兩塊硬盤進行了測試:一是XP系統(tǒng)的,分區(qū)項1的內容在前256個扇區(qū)內,已經被破壞;二是Win7系統(tǒng)的,分區(qū)項1的內容不在前256個扇區(qū)內,未被破壞。
· 
l XP系統(tǒng)磁盤修復
· 
該磁盤在修復前,因為MBR被破壞,找不到系統(tǒng)分區(qū),系統(tǒng)顯示的錯誤信息如下:
圖36    MBR丟失
 
將MBR進行修復之后,但由于系統(tǒng)啟動文件被破壞,會出現下面的錯誤:
圖37   系統(tǒng)文件破壞
 
l Win7系統(tǒng)磁盤修復
 
對磁盤MBR進行重建之后,利用工具無法找到磁盤分區(qū),這時需要人工查找系統(tǒng)盤所在分區(qū),確定所有位置及大小,并將這些信息寫入到MBR扇區(qū)對應位置。
 
圖38    MBR扇區(qū)
這時運行系統(tǒng)會出現如下錯誤:
圖39   系統(tǒng)錯誤
再使用WinPE進入系統(tǒng),利用命令bcdedit進行修復,命令如下:
表7   修復命令
 
可正常啟動開機。
通過以上的測試可以看出,如果MBR與分區(qū)項1的內容都被樣本擦寫,只可以對MBR進行修復,分區(qū)項1中的內容無法進行修復,也無法開機;若只有MBR被擦寫,可以對其修復并正常開機。
但樣本運行之后,對系統(tǒng)中磁盤的文件進行了擦除,即使MBR修復之后,由于系統(tǒng)文件的損壞,也無法進行恢復,可見樣本的破壞性之大。
 
5 事件總結
 
圖40   烏克蘭停電攻擊事件過程總結
 
正如我們開篇指出的那樣:這是一起以BlackEnergy等相關惡意代碼為主要攻擊工具;通過BOTNET體系進行前期的資料采集和環(huán)境預置;以郵件發(fā)送惡意代碼載荷為最終攻擊的直接突破入口;通過遠程控制SCADA節(jié)點下達指令為斷電手段;以摧毀破壞SCADA系統(tǒng)實現遲滯恢復和狀態(tài)致盲;以DDoS電話作為干擾,最后達成長時間停電并制造整個社會混亂的具有信息戰(zhàn)水準的網絡攻擊事件。
 
此次攻擊的對象為關鍵基礎設施,這就使人們很自然地聯想到六年前的“震網蠕蟲”。我們把相關事件的要素放在一起對比,則會看到不同的攻擊組織帶有完全迥異的風格,如果說“震網”這樣的A2PT攻擊讓人看到更多的是0Day、復雜嚴密的加密策略、PLC與固件等等;而烏克蘭停電事件的“戰(zhàn)果”,是攻擊者在未使用任何0Day,也未使用位于生產系統(tǒng)側的攻擊組件,僅僅依托PC端的惡意代碼作業(yè)的情況下取得的,顯然其攻擊成本和“震網”相比要低得多。
表8   震網事件與烏克蘭變電站遭受攻擊事件對比
 
這也再一次提醒我們需要重新審視所謂APT攻擊或CyberWar的評價標準,事件的定性不在于刻板的字面意義,而是其背后深層次的動機與能力的綜合因素,對攻擊集團來說,只要可以完成作業(yè)目的,一切手段皆可用,我們依然會遭遇“震網”、“方程式”風格的對手,但通用網絡攻擊工具、商用惡意代碼、被改造的開源工具、1Day漏洞、傳統(tǒng)的宏病毒等等,也將更多地被用于對關鍵目標的攻擊當中。在商業(yè)軍火和開源工具被廣泛應用的場景下,通過惡意代碼本身來確定攻擊來源將面臨更多的干擾項,而放在更大的攻防態(tài)勢上來看,地下黑產的基礎設施也正在形成,并構成了一個惟利是圖的多邊信息共享機制,被普通僵尸網絡采集竊取到的信息,有著巨大的流向不確定性,從而成為戰(zhàn)略攻擊者的信息采集源;而一般性的惡意代碼感染、弱化安全性的盜版鏡像、夾帶惡意代碼漢化、破解工具等等,都在客觀上起到降低戰(zhàn)略攻擊者門檻的作用。對那些“普通的”惡意代碼感染擴散事件予以漠視,而幻想依托威脅情報就可以發(fā)現攔截高級威脅的想法無疑是幼稚的。
 
對于關鍵基礎設施特別是工控系統(tǒng)的IT管理者們來說,需要走入“物理隔離”帶來的虛假安全感:傳統(tǒng)的內網隔離安全很大程度上是受到封閉空間保障的,封閉空間的場景依托物理安全措施提升攻擊成本,提升了接觸式攻擊的成本。但社會基礎設施則是需要向社會縱深進行有效覆蓋的,特別是像電網這樣的注定呈現出巨大的物理空間覆蓋力體系,必然需要大量使用無人值守設備的方式。因此,這些孤點的風險不止在于他們可能是失能的末梢,也在于它們可能是攻擊的入口。
 
而在對關鍵基礎設施防御點和投入配比上,當人們認為對關鍵基礎設施的攻擊必然在“縱深位置”時,烏克蘭停電事件則提醒我們,隨著儀表盤和操控面板被更多的PC設備替代。PC環(huán)境已經在工業(yè)控制體系中,扮演“一覽眾山小”的位置。如果SCADA等PC節(jié)點失守,攻擊者幾乎可以為所欲為。為有效改善基礎設施體系中PC節(jié)點和TCP/IP網絡,需要通過網絡捕獲與檢測、沙箱自動化分析、白名單+安全基線等綜合方式改善防御縱深能力;同時,也要和防火墻、補丁與配置強化、反病毒等傳統(tǒng)手段有效結合,改善IT治理;需要把更多更細膩的工作放到內部的安全策略與管理以及外部供應鏈安全等環(huán)節(jié)中去。
 
以國土安全的視野,以應對為信息戰(zhàn)為要求,提升對關鍵基礎設施的防御能力,是中國在走向網絡強國過程中必須完成的工作。
 
對一個國家來說,最幸運的是在別人間的戰(zhàn)爭中學習戰(zhàn)爭和理解防御。
 
人無遠慮,必有近憂;前事不遠,吾輩之師。
北京力控華康科技有限公司(簡稱"力控華康")成立于2009年,是專業(yè)從事工業(yè)網絡及安全產品研發(fā),提供整體安全解決方案,通過"雙軟"認證的高新技術企業(yè)。力控華康?立足于自主研發(fā),始終致力于工業(yè)安全和數據通信的創(chuàng)新與領先。
 
借助多年積淀的工業(yè)領域行業(yè)經驗,以及工控行業(yè)監(jiān)控軟件和工業(yè)協議分析處理技術,成功研發(fā)出適用于工業(yè)控制系統(tǒng)的工業(yè)隔離網關pSafetyLink?、工業(yè)通信網關pFieldComm?和工業(yè)防火墻HC-ISG?等系列產品。廣泛應用于各個行業(yè),其中包括核設施、鋼鐵、有色、化工、石油石化、電力、天然氣、先進制造、水利樞紐、環(huán)境保護、鐵路、城市軌道交通、民航、城市供水供氣供熱以及其他與國計民生緊密相關領域的工業(yè)控制系統(tǒng)。
 
在"兩化"深度融合的背景下,力控華康堅持以自主創(chuàng)新、持續(xù)發(fā)展為原則,圍繞"以客戶為中心不斷為客戶創(chuàng)造價值"的服務理念,為數據采集與監(jiān)控(SCADA)、分布式控制系統(tǒng)(DCS)、過程控制系統(tǒng)(PCS)、可編程邏輯控制器(PLC)等所有工業(yè)控制系統(tǒng)(ICS)的信息安全接入和智能化數據交換,提供安全、可靠的解決方案和工業(yè)產品。
 
關于力控華康相關產品信息及解決方案請訪問:
http://www.huacon.com.cn
中傳動網版權與免責聲明:

凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.connectcrack.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0