當前位置:
首頁 > 新聞 > 應急響應的整體思路和基本流程

應急響應的整體思路和基本流程

2018 年信息安全事件頻發,信息安全的技能、人才需求大增。現在,不管是普通的企業,還是專業的安全廠商,都不可避免的需要掌握和運用好信息安全的知識、技能,以便在需要的時候,能夠禦敵千里。所謂養兵千日,用兵一時,擁有一支完善的團隊或完整的流程,可以保障企業在出現重大安全事件時,能有條不紊的進行處置,及時把破壞範圍縮小。


深信服EDR安全團隊,全年參與了各種重大流行病毒和安全事件的應急響應,在此,我們將團隊一整年的思考和所形成的流程,共享出來,期望能給未來即將從事,或者長期從事應急響應、安全研究的人,一些啟迪。


我們大致從八個方面闡述,分別是:應急響應的整體思路、應急響應的基本流程、應急工具集簡介、系統日誌及日誌分析、威脅情報的作用、常見病毒及分類、理解漏洞和補丁、技能提升建議。


一、應急響應的整體思路

應急響應的整體思路,就是上層有指導性原則和思想,下層有技能、知識點與工具,共同推進和保障應急響應流程的全生命周期。



原則和指導性思路



3W1H原則:

3W即Who、What、Why,1H即How,做應急響應要帶著疑問來做事,一定要收集清楚這些信息。網路拓撲是怎麼樣的?需求是啥?發生了什麼事?你能做什麼?用戶用了什麼產品?產品版本多少?病毒庫版本多少?多少主機中了?主機是普通PC還是伺服器?伺服器是做什麼的?……信息收集越多,對應急響應越有利。


易失性原則:

做應急響應免不了要做信息收集和取證的,但這裡是有一定的先後順序的,即最容易丟失的據,應該最先收集,其它的依次類推。


要素原則:

做應急響應,主要是抓關鍵證據,即要素,這些要素包括樣本、流量、日誌、進程及模塊、內存、啟動項。

避害原則:

做應急響應,要做到趨利避害,不能問題還沒有解決,反而引入了新的問題。譬如,自己使用的工具被感染而不知情;給用戶使用不恰當的工具或軟體造成客戶主機出現問題;給別人發樣本,不加密,不壓縮,導致別人誤點中毒,最極端的場景就是給別人發勒索樣本不加密壓縮,導致別人誤點中毒。


技能、知識點與工具



應急工具集:

應急響應必要的一套工具集合,可協助應急人員做分析,提高效率。


日誌分析:

能對日誌進行分析,包括但不限於系統日誌(Windows/Linux等)、應用日誌、安全設備日誌(防火牆、防

病毒、態勢感知等)。

威脅情報:

安全事件可能不是孤立的,安全站點或搜索站點能找到安全事件的關聯信息。


漏洞補丁知識:

知道漏洞與補丁的關係,它們在應急響應中的角色,了解常見漏洞及補丁。


常見病毒及分類:

知道病毒大致的分類以及常見的病毒。


樣本分析:

至少能對樣本進行一次簡單動態的分析。


操作系統知識:

至少對Windows系統和Linux系統的有一定的知識儲備,知道其基礎的工作原理。


二、應急響應的基本流程


應急響應大致可以分為五個部分,其基本流程包括收集信息、判斷類型、深入分析、清理處置、產出報告。       




收集信息:

收集客戶信息和中毒主機信息,包括樣本。


判斷類型:

判斷是否是安全事件,何種安全事件,勒索、挖礦、斷網、DoS等等。


深入分析:

日誌分析、進程分析、啟動項分析、樣本分析。

清理處置:

直接殺掉進程,刪除文件,打補丁,抑或是修復文件。


產出報告:

整理並輸出完整的安全事件報告。



勒索和挖礦事件,可以佔比50%以上,而且這兩種安全事件業務特徵極其鮮明,因此可以單獨提流程出來處置。


信息收集表































客戶名稱 什麼區域的什麼客戶
感染主機數 感染了多數台主機
補丁情況 打了哪些補丁,是否存在補丁漏打
中毒現象 勒索/挖礦/DoS/殭屍網路/後門/木馬
帳號密碼 確認是否有弱密碼
對外開發埠 對外開發了哪些埠
開啟的服務 開啟了哪些服務
操作系統版本 操作系統版本信息
客戶需求 確認客戶具體需求


取證要素:

取證並非毫無頭緒的,病毒本身必然有網路行為,內存必然有其二進位代碼,它要麼是單獨的進程模塊,要麼是進程的dll/so模塊,通常,為了保活,它極可能還有自己的啟動項、網路心跳包。


總之,可以歸結為如下4點要素:

流量、內存、模塊、啟動項。


流量分析可以使用Wireshark,主要分析下當前主機訪問了哪些域名、URL、服務,或者有哪些外網IP在訪問本地主機的哪些埠、服務和目錄,又使用了何種協議等等。


例如,使用Wireshark觀察到,主機訪問了sjb555.3322.org這種動態域名,即可粗略猜測這是一個C&C伺服器(如何判斷一個域名是可疑域名,可以參考後文)。



有時候,可以根據網路協議來直接過濾分析流量。譬如,目前IRC協議已經很少被使用了,但利用IRC建立殭屍網路通道的現象仍比較普遍。使用Wireshark,直接在過濾條件里輸入「irc」,回車看是否有相關流量。


如下圖,剛好看到有相關的IRC協議流量,這便是可疑的。



Wireshark執行下「Follow TCP Stream」操作,查看到當前Botnet主機正在加入一個IRC頻道。另外,也可以從目的IP下手,可查到這是一個惡意IRC殭屍網路伺服器。


網路流量這塊,如果具體到對應建立的連接,也可使用TCPView工具進行查看。如下,我們使用TCPView查到了2條連接:



chenyu-57068a53.localdomain.2671-> 170.178.191.191:6667


chenyu-57068a53.localdomain.2674-> amsterdam.nl.eu.undernet.org.6667



當我們分析病毒進程遇到困難的時候,其內存便是我們查找問題的最後一道防線。


以某Linux伺服器應急事件為例子,如下圖,我們找到三個病毒進程[ksoftirqd/7]的父子關係,可以看到,11275拉起了11276和11277,但11275是1號進程拉起來的,即init是其父進程。



這意味著,實際的父進程(原始病毒文件)在當前狀態下是追查不到的了。

進程樹已經追蹤不到父進程了,能下手的地方不多。如反彙編[ksoftirqd/7]對應的病毒文件,則對於一次應急響應事件來說,時間是倉促的(不夠)。但簡單這樣想,即不管病毒文件做了何種混淆、何種加殼,在最終運行於內存之上的代碼上,終歸是原始代碼,至少堆棧就有不少信息。


Linux環境下dump內存,可以使用系統自帶的gdb,鍵入命令 gdb attach 11275,attach到病毒進程11275,在gdb環境下,使用dump binary memory file startaddr endaddr將11275有效內存空間dump下來。


譬如:file為輸出文件,可以指定為 11275.dump,startaddr是起始地址,endaddr是終止地址,例 dump binary memory /tmp/11275.dump 0x13838000 0x13839000 (這裡僅僅只是舉例,實際地址在gdb中獲取)


對於內存文件11275.dump,採用命令 strings -n8 11275.dump,獲取長度8及以上的字元串內容,我們發現有如下一行:

/etc/security/ntps.conf

這是在病毒運行內存裡面發現的,要麼是病毒配置文件,要麼是原始病毒文件。


我們 cd /etc/security 並使用 ls -al查看內容如下:



可以看到,ntps.conf並非一個配置文件,它是可執行的(使用file命令可以知道這是個ELF可執行文件),文件修改時間應該是偽造的。 


三、應急工具集簡介


工欲善其事,必先利其器,所謂巧婦難為無米之炊,其實應急響應亦是如此。應急響應和安全研究人員,必須事先就備好完整一套的工具集,隨時可以取用。


應急工具類型



流量分析工具:

常用的流量分析工具是Wireshark、TCPView,也可以使用科來網路分析工具,Linux下對tcpdump比較熟悉的,也可以使用tcpdump。


進程分析工具:

能對進程相關聯信息進行分析的工具,主要是ProcessHacker和PC Hunter等。


啟動項分析工具:

主要是AutoRuns工具,便於定位病毒啟動項。


專殺工具:

有些流行病毒家族,通常對殺軟有抑制性,或者本身有感染性,需要專殺工具去查殺和修復正常文件。


輔助工具:

WinHex、文件Hash工具、Everything搜索工具、Unlocker文件解鎖工具等。


內存掃描工具:

主要是MemScanner。



四、系統日誌及日誌分析


日誌類型



Windows系統日誌:

Windows系統自帶的審計日誌、操作日誌、故障日誌。


Linux系統日誌:

Linux系統自帶的審計日誌、操作日誌、故障日誌。


應用日誌:

包括但不限於Web應用等眾多繁雜的日誌。


Windows系統日誌



日誌路徑:C:WindowsSystem32winevtLogs


必看日誌:Security.evtx、System.evtx、Application.evtx



Linux系統日誌



日誌路徑:/var/log


必看日誌:secure、history



多數日誌都是可讀易懂的,譬如很容易就能看出來,下面這個日誌記錄了ssh爆破過程。



五、威脅情報的作用


在安全事件中,威脅情報有時候會給我們提供大量有用的信息,甚至直接推動了安全事件的快速響應。



威脅情報的元素,包括但不限於域名、URL、IP、文件Hash、文件路徑、文件名、數字簽名、備案信息、排名信息。


威脅情報的獲取源



谷歌:www.google.com


百度:www.baidu.com


Virustotal:www.virustotal.com


微步在線:x.threatbook.cn


騰訊哈勃:habo.qq.com


Virscan:virusscan.jotti.org


Freebuf:www.freebuf.com


Jotti:virusscan.jotti.org


Scandir:www.scandir.com


Alexa排名:www.alexa.com


備案查詢:beian.cndns.com


深信服安全中心:sec.sangfor.com.cn


深信服威脅分析平台:wiki.sec.sangfor.com.cn


深信服EDR安全軟體中心:edr.sangfor.com.cn


威脅情報中,域名扮演著極為基礎和關鍵的角色,URL也是以域名為基礎的。這裡列舉若干類域名,是屬於黑客常用(偏愛)的域名,取證過程中需要重點關注這類域名的信息。


隨機域名(DGA):


內網IP利用特定的隨機演算法生成域名(DGA),同時黑客會利用該隨機演算法註冊域名,這樣就可以避免因為長期與某個域名或者IP通信而被封堵。


例如,內網某個源IP短時間內大量解析了如下域名(日誌截圖)



觀察這些域名,可以發現,這些域名的「字元特徵」看上去就是隨機的。域名的發明(DNS)就是為了人類方便記憶而誕生的,所以,我們往往會去註冊一些容易記憶且讀起來朗朗上口的域名,顯然例子中的域名就不具備這一特徵。DGA這種反其道而行之的行為顯然不是人訪問網站發出來的,必然是病毒利用某種演算法來實現的。


動態域名:


動態域名是子域名開放給其他人使用,並且子域名綁定的IP是可以動態獲取的,大多數是免費的,因此常被黑客所使用,如 abc.3322.org (3322.org就是動態域名提供者,子域名abc.3322.org可以被別人所使用)。


常見的動態域名提供商:

"f3322.net","3322.org","7766.org","8866.org","9966.org","8800.org","2288.org","6600.org", "f3322.org", "ddns.net","xicp.net", "vicp.net","wicp.net","oicp.net","xicp.net","vicp.cc","eicp.net","uicp.cn","51vip.biz","xicp.cn","uicp.net","vicp.hk","5166.info","coyo.eu","imblog.in","imzone.in","imshop.in","imbbs.in","imwork.net","iego.cn","vicp.co","iego.net","1366.co","1866.co","3utilities.com","bounceme.net","ddnsking.com","gotdns.ch","hopto.org","myftp.biz","myftp.org","myvnc.com","no-ip.biz","no-ip.info","no-ip.org","noip.me","redirectme.net","servebeer.com","serveblog.net","servecounterstrike.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","serveminecraft.net","servemp3.com","servepics.com","servequake.com","sytes.net","webhop.me","zapto.org","dynamic-dns.net","epac.to","longmusic.com","compress.to","wikaba.com","zzux.com","dumb1.com","1dumb.com","onedumb.com","wha.la","youdontcare.com","yourtrap.com","2waky.com","sexidude.com","mefound.com","organiccrap.com","toythieves.com","justdied.com","jungleheart.com","mrbasic.com","mrbonus.com","x24hr.com","dns04.com","dns05.com","zyns.com","my03.com","fartit.com","itemdb.com","instanthq.com","xxuz.com","jkub.com","itsaol.com","faqserv.com","jetos.com","qpoe.com","qhigh.com","vizvaz.com","mrface.com","isasecret.com","mrslove.com","otzo.com","sellclassics.com","americanunfinished.com","serveusers.com","serveuser.com","freetcp.com","ddns.info","ns01.info","ns02.info","myftp.info","mydad.info","mymom.info","mypicture.info","myz.info","squirly.info","toh.info","xxxy.info","freewww.info","freeddns.com","myddns.com","dynamicdns.biz","ns01.biz","ns02.biz","xxxy.biz","sexxxy.biz","freewww.biz","www1.biz","dhcp.biz","edns.biz","ftp1.biz","mywww.biz","gr8domain.biz","gr8name.biz","ftpserver.biz","wwwhost.biz","moneyhome.biz","port25.biz","esmtp.biz","sixth.biz","ninth.biz","got-game.org","bigmoney.biz","dns2.us","dns1.us","ns02.us","ns01.us","almostmy.com","ocry.com","ourhobby.com","pcanywhere.net","ygto.com","ddns.ms","ddns.us","gettrials.com","4mydomain.com","25u.com","4dq.com","4pu.com","3-a.net","dsmtp.com","mynumber.org","ns1.name","ns2.name","ns3.name","changeip.name","ddns.name","rebatesrule.net","ezua.com","sendsmtp.com","trickip.net","trickip.org","dnsrd.com","lflinkup.com","lflinkup.net","lflinkup.org","lflink.com","dns-dns.com","proxydns.com","myftp.name","dyndns.pro","changeip.net","mysecondarydns.com","changeip.org","dns-stuff.com","dynssl.com","mylftv.com","mynetav.net","mynetav.org","ikwb.com","acmetoy.com","ddns.mobi","dnset.com","authorizeddns.net","authorizeddns.org","authorizeddns.us","cleansite.biz"。

f3322.net、3322.org、7766.org等等這些就是動態域名提供商。



sjb555.3322.org就是一個動態域名,在VirusTotal上被標記為惡意的。


 這類域名常常是病毒的溫床,不管是國家互聯網應急中心,還是中國反網路病毒聯盟,都是重點觀察對象。企業級用戶很少會主動去使用動態域名。



近期域名:


域名都是有創建時間(註冊時間)的,Alexa全球排名百萬之內的域名,都是很早之前就註冊了的,從幾年到十幾、二十幾年不等。黑客攻擊要逃避防火牆的封堵,極可能在實施的時候,再去註冊一個域名。註冊一個字母長度大於7的域名,費用並不高,甚至可以低至 8元/年(還有些是免費的)。黑客之所以傾向這麼做,是因為舊域名,很可能已經被安全機構列入黑名單中(也就是說,已經被封堵了)。


試想,企業級用戶,無緣無故為什麼要去訪問一個剛剛註冊的域名呢?


例如,防火牆產生日誌如下,觀察到,日誌產生時間為 2016年1月27日,訪問的站點為 cazwmwez.info。



接下來,我們來查查該域名的註冊時間。


方式:通過VirusTotal查詢即可。在Whois lookup這一欄,如圖,觀察Creation Date即註冊時間為 2016年1月12日,RegistryExpiry Date即過期時間 為 1年之後。很明顯,這個是一個剛剛註冊且很短命的域名(此域名來源於某一真實中毒客戶,當時介入取證調查時間點為2016年2月初,也就是說不到1個月),域名的所有者並沒有打算長期維護。此外,域名的所有者也不是客戶的(詢問客戶得知)。



暗網代理域名:


暗網,也叫Tor網路,此網路的訪問、傳輸流量是不可追蹤溯源的,因此是黑色產業鏈的溫床。要訪問暗網,要麼病毒自己實現Tor客戶端,要麼通過Tor代理來訪問Tor網路,而通過Tor代理訪問的流量是未加密的,其直接使用Tor代理訪問Tor站點伺服器。


因此,暗網代理域名是可以被檢測到的。


例如訪問https://abbujjh5vqtq77wg.onion.link/由於二級域名onion.link屬於Tor代理域名,所以認定此次訪問行為是Tor網路訪問行為,且為非法訪問可能性極高。


頂級域名:


不是所有的頂級域名都需要特別關注,要從客戶業務出發,去反推客戶主機為何要訪問相關的頂級域名。也就是說,這裡面有一批頂級域名,實際客戶業務是不需要去訪問的,那麼剩下的就只有黑客行為了。下表給出的,就是這樣一批頂級域名(包括但不限於以下頂級域名):
















































頂級域名 申請地區或機構 為何重點關注
.ru 俄羅斯 俄羅斯盛產黑客
.ws 東薩摩亞 不知名國家,易申請,難追蹤註冊者
.cc 科科斯群島 不知名國家,易申請,難追蹤註冊者
.pw 帛琉 不知名國家,易申請,難追蹤註冊者
.bz 貝里斯 不知名國家,易申請,難追蹤註冊者
.su 蘇聯 前蘇聯雖然解體了,頂級域名還在使用,且多與黑產有關
.bw 伯茲瓦納 不知名國家,易申請,難追蹤註冊者
.gw 幾內亞比索 不知名國家,易申請,難追蹤註冊者
.ms 蒙塞拉特島 不知名國家,易申請,難追蹤註冊者
.mz 莫三比克 不知名國家,易申請,難追蹤註冊者

這裡舉個例子,我們在某台告警主機上,使用Wireshark抓網路網路,直接過濾DNS協議如下:



可以看到,此主機解析了大量.pw站點的域名,如koqqveoukgjc.pw,.pw是帛琉國家頂級域名,此國家是一個非常小的島國,跟中國大陸都沒有建交,國內企業有需要訪問他們站點的可能性低到零(或者有業務在帛琉的可能性)。


六、常見病毒及分類


勒索病毒:能對用戶文件進行加密的病毒。



挖礦病毒:消耗用戶CPU、GPU資源,進行大量運算,獲取加密貨幣的病毒。




蠕蟲:

自動複製自身的副本到其它主機的病毒。


木馬:

隱蔽性強,多用於監控用戶行為或盜取用戶數據的病毒。


感染型病毒:

能將自身惡意代碼插入正常文件的病毒。


腳本病毒:

使用腳本編寫的病毒。


宏病毒:

宏是微軟公司為其Office軟體包設計的一個特殊功能,由於其功能強大,使得黑客可以通過精心構造的宏代碼來實現惡意操作,這些代碼就叫做宏病毒。宏病毒常以垃圾郵件的方式對用戶進行攻擊,因為偽造的Office文檔不容易引起用戶的懷疑,所以當用戶毫無防備的打開Office文檔並啟用宏之後,宏病毒便開始了運行,對用戶主機進行惡意操作。


殭屍網路病毒:

能形成大型的一對多,多對多控制的遠程控制病毒。


後門:

在主機上開放埠允許遠程非授權訪問。


以感染型病毒為例,需要知道並了解其原理:


正常PE文件的執行流程入下:




[1] 從PE頭中提取入口點地址EP。


[2] 定位到EP處的PE代碼。


[3] 開始執行PE代碼。


被感染的PE文件的執行流程入下,其中多了惡意代碼環節:




[1] 從PE頭中提取入口點地址EP。


[2]

通過篡改

EP

或覆蓋原始入口點代碼的方式,使

EP

指向惡意代碼。


[3]

執行惡意代碼。


[4] 惡意代碼執行完後,跳回到原PE代碼處執行。



雖然感染的總體思路都是讓宿主文件先執行惡意代碼,執行完後再跳回到原始代碼,但每種病毒家族實現的方式卻不盡相同。我總結為四類,複雜度由低到高依次為:偏移式、覆蓋式、加密式、混淆式。


專業術語:

入口點EP(Entry Point),原始入口點OEP(Original Entry Point)。


偏移式是最多感染型病毒使用的感染方式,病毒會將惡意代碼注入到宿主文件的一個空閑位置,然後修改PE頭中的EP地址,使其指向惡意代碼起始處。被感染文件運行後就會先執行惡意代碼,惡意代碼執行完成後,會獲取OEP的偏移(每個病毒家族的OEP偏移值藏在不同的地方),然後將執行流跳回到OEP處,執行宿主文件原始代碼。


七、理解漏洞和補丁


漏洞和補丁,在應急響應中是不可或缺。如果黑客是通過某種漏洞入侵系統的,而在應急響應中,無法找出黑客所利用的漏洞,就會意味著,入侵行為可以反覆發生。在終端側,就會表現為病毒清理不幹凈,殺了又來,所以一定要找出漏洞。


找到漏洞後,就需要打上相應的補丁,這樣才是一次完整的處置。


怎麼查看系統補丁情況?以Windows為例,直接打開cmd,輸入命令systeminfo即可獲取。




漏洞是什麼:

漏洞是指一個系統存在的弱點或缺陷。


怎麼來的:

系統設計時的缺陷或編碼時產生的錯誤。


有什麼後果:

黑客的侵入及病毒的駐留,數據丟失和篡改、隱私泄露,系統被控制並作為入侵其他主機系統的跳板,等等。


解決方法:

打補丁。


八、技能提升建議


多關注安全信息:多關注安全公司發布的一些安全信息,多關注,多學習。


多研讀安全書籍:多研讀安全書籍,推薦《惡意代碼分析實戰》等。




多逛安全論壇:

推薦多看看Freebuf、看雪學院等。


多在安全溝通群里問:

不懂就問。


多實踐:

多實踐,出了安全問題,多嘗試自己動手解決。


 *本文作者:千里目安全實驗室,轉載請註明來自 FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

新型詐騙花樣多,使用多種混淆方法繞過安全檢測
PHP利用PCRE回溯次數限制繞過某些安全限制

TAG:FreeBuf |