入侵分析十诫
這些年來,筆者一直積極參與入侵檢測(cè)分析師的培訓(xùn)和發(fā)展工作,同時(shí)還擔(dān)任了 SANS 信息安全課程《深入入侵檢測(cè)》(編號(hào)503)的授課導(dǎo)師。筆者發(fā)現(xiàn)自己一直在不斷改變對(duì)有效入侵檢測(cè)的哲學(xué)認(rèn)識(shí)。然而,不論該哲學(xué)如何演化,有些主題總是保持不變。
通過這些經(jīng)歷,筆者創(chuàng)作了「入侵分析十誡」,這十誡所突出的核心主題不僅是筆者想要灌輸給接受培訓(xùn)的分析師的,也是希望在自身的入侵分析工作中能融會(huì)貫通的。這十誡不是命令你們做什么,不過因?yàn)榍『糜惺畻l,所以取了「十誡」 這個(gè)還算切合的標(biāo)題。入侵分析十誡可能不適合你或你所在公司的目標(biāo),或者不符合你的個(gè)人風(fēng)格,但是它們對(duì)筆者的確用處匪淺!
1、分析師,分析師,分析師!
對(duì)分析師來說最重要的是深刻認(rèn)識(shí)到他們自身的重要性。分析師是安全防護(hù)的第一道防線——他們?cè)陔娔X前時(shí)刻關(guān)注著安全威脅的存在。分析師能阻擋攻擊,也能防止被攻擊后的情況惡化。在大多數(shù)信息安全事件的開始,分析師會(huì)根據(jù)入侵檢測(cè)系統(tǒng)的告警給出解決提示;在事件的結(jié)尾,分析師會(huì)輸入新的簽名并基于已知安全事件的信息開發(fā)新的工具。從信息安全事件的開始到結(jié)束,分析師從始至終無處不在。好吧,也許是有點(diǎn)戲劇性,但入侵分析師的重要性是不可低估的。
2、除非是你自己創(chuàng)建的數(shù)據(jù)包,否則沒有絕對(duì)的安全。
假設(shè)是分析的前提,記住這點(diǎn)非常重要。你在未來做出的大多數(shù)決定將基于一個(gè)數(shù)據(jù)包或者一條日志項(xiàng),然后根據(jù)在研究中積累的經(jīng)驗(yàn)對(duì)其反復(fù)斟酌。事實(shí)是,網(wǎng)絡(luò)數(shù)據(jù)流并不是分析師生成的,因此我們所做的每個(gè)決定只是基于部分?jǐn)?shù)據(jù)做出的假設(shè)。不過別擔(dān)心,這沒有什么不對(duì)的。問問你在化學(xué)界和物理界的同僚們,他們的絕大部分工作也都是在假設(shè)的基礎(chǔ)上開展的,然而他們也取得了巨大成功。重點(diǎn)是沒有什么是絕對(duì)的。這個(gè) IP 地址真的對(duì)應(yīng)一個(gè)已知的合法主機(jī)么?這個(gè)域名真的屬于 XYZ 公司嗎?這臺(tái) DNS 服務(wù)器真的應(yīng)該和那個(gè)數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行交互嗎?沒有什么是絕對(duì)的,有的只是假設(shè),正因?yàn)槿绱?#xff0c;請(qǐng)記住假設(shè)的東西是可以改變的。總是懷疑自己,并保持警覺。
3、留意你從數(shù)據(jù)中抽取的信息是否準(zhǔn)確。
分析師需要依賴數(shù)據(jù)來采取行動(dòng)。這些數(shù)據(jù)可能來源于 PCAP 文件、IIS 日志文件或者系統(tǒng)日志文件。由于你會(huì)花大量時(shí)間通過各種工具與這些數(shù)據(jù)進(jìn)行交互,因此知曉這些工具如何和數(shù)據(jù)交互至關(guān)重要。你是否知道運(yùn)行 Tcpdump 時(shí)如果不對(duì)參數(shù)另做規(guī)定,它將只能捕捉一個(gè)數(shù)據(jù)包中前 68 個(gè)字節(jié)的數(shù)據(jù)?是否知道 Wireshark 顯示 TCP 數(shù)據(jù)包中的序列號(hào)和應(yīng)答號(hào)時(shí)默認(rèn)顯示的是相對(duì)值而非真實(shí)值?工具是人開發(fā)的,然而有時(shí)候工具的“功能特征”會(huì)模糊數(shù)據(jù)并阻礙正確的分析。剛剛舉例的兩個(gè)“功能特征”其實(shí)是很好用的,但是也應(yīng)該對(duì)它們保持警覺,才可以在需要時(shí)獲取所有的包數(shù)據(jù),或查看真實(shí)的序列號(hào)和應(yīng)答號(hào)。當(dāng)我們從事一份依賴數(shù)據(jù)且數(shù)據(jù)至上的工作時(shí),必須要理解工具和數(shù)據(jù)是如何進(jìn)行交互的。
4、兩個(gè)人的審視好過只有一人的審視。
作者配有編輯,警察配有搭檔,核武器庫(kù)里總安排兩個(gè)人,這都是有原因的。不管你多么富有經(jīng)驗(yàn)或者表現(xiàn)得多好,你總會(huì)遺漏掉什么。之所以需要兩個(gè)人是因?yàn)椴煌娜吮尘跋喈悺9P者在政府部門工作,因此在檢查網(wǎng)絡(luò)流量時(shí),第一件事就是查看其來源國(guó)和目的國(guó)。筆者曾和擁有系統(tǒng)管理背景的人共事,因此,他會(huì)在檢查網(wǎng)絡(luò)流量時(shí)最先查看端口號(hào)。筆者甚至和從事數(shù)值計(jì)算處理的人共事過,他就會(huì)先查看包的大小。這表明我們的不同經(jīng)歷塑造了差異化的策略。這意味著做數(shù)值處理的人能發(fā)現(xiàn)做系統(tǒng)管理員的人沒發(fā)現(xiàn)的信息,而為政府部門工作的人能發(fā)現(xiàn)做數(shù)字處理的人沒有發(fā)現(xiàn)的信息。不管什么時(shí)候,有另個(gè)人來審視你面臨的問題總是一個(gè)不錯(cuò)的主意。
5、不要邀請(qǐng)攻擊者共舞
這是我在最初啟動(dòng)一臺(tái) Snort(輕量級(jí)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng))傳感器主機(jī)那天就深信不疑的事情。后來我在大師 Mike Poor 的 SANS 課程上聽到了他更為精妙的表述——永遠(yuǎn)不要邀請(qǐng)攻擊者共舞。對(duì)分析師來說,采用一些超出常規(guī)的手段來偵查惡意 IP 地址是件極具誘惑的事情。相信我,有很多次我都想對(duì)給我發(fā)送大量明顯刻意制作的 UDP 數(shù)據(jù)包的惡意 IP 進(jìn)行端口掃描。每次有人試圖對(duì)筆者防護(hù)的網(wǎng)絡(luò)進(jìn)行 DoS 攻擊時(shí),除了拿他們可憐的毫無戒備的 DSL 連接發(fā)泄憤怒之外別無他求。這里的問題是,99% 的時(shí)候我們都不知道面臨的是誰(shuí)或者是什么工具。雖然你可能看到他們的掃描活動(dòng),但是產(chǎn)生這些網(wǎng)絡(luò)流量的主機(jī)有可能被一個(gè)龐大組織甚至是另一個(gè)國(guó)家的軍事部門操縱。即使一個(gè)簡(jiǎn)單的 ping 命令都會(huì)讓攻擊者知道你發(fā)現(xiàn)了他們的存在,從而促使他們改變攻擊策略,切換源主機(jī),甚至加強(qiáng)攻擊力度。你不知道你的對(duì)手是誰(shuí),亦不知他們的動(dòng)機(jī)或具備怎樣的能力,所以在網(wǎng)絡(luò)防護(hù)時(shí)永遠(yuǎn)不要挑釁他們。
6、情境很重要!
網(wǎng)絡(luò)情境可以徹底改變你的監(jiān)控和檢測(cè)能力。為了有效防御,必須具備你所防護(hù)的網(wǎng)絡(luò)的上下文。網(wǎng)絡(luò)圖、服務(wù)器列表及其作用、IP 地址的分配故障等等都會(huì)是你最好的伙伴。基本上,一切可以記錄網(wǎng)絡(luò)資產(chǎn)、它們?nèi)绾芜\(yùn)作以及它們和其他網(wǎng)絡(luò)資產(chǎn)如何關(guān)聯(lián)的文檔都會(huì)在處理異常事件時(shí)派上用場(chǎng)。也許以你在公司中的職位,無法獲取這些信息,或者這些信息現(xiàn)在仍未整理出來,那么你將會(huì)花很長(zhǎng)時(shí)間讓同事下大力氣把這些文檔整理出來。雖然這會(huì)很困難,但仍然值得你的爭(zhēng)取和堅(jiān)持。不管你做出的努力是硬著頭皮向首席信息官提出你的依據(jù)和要求,亦或只是請(qǐng)你的網(wǎng)絡(luò)工程師們喝一杯他們最愛的酒精飲料,你終將獲得回報(bào)。
7、總的來說,數(shù)據(jù)包是合法的。
人生的終極爭(zhēng)論是人之初性本善還是性本惡。對(duì)于數(shù)據(jù)包來說,這個(gè)爭(zhēng)論同樣存在。作為分析師,你可以認(rèn)為所有的數(shù)據(jù)包都是惡意的,也可以認(rèn)為所有的數(shù)據(jù)包都是合法的。筆者注意到,大多數(shù)分析師在職業(yè)生涯的初期都抱著前一種觀點(diǎn),然后很快就過渡到了后一種觀點(diǎn)。那是因?yàn)榘丫W(wǎng)絡(luò)流量中的所有數(shù)據(jù)都當(dāng)成潛在的根級(jí)別入侵危害來處理是根本不可行的。如果你那樣做,你會(huì)因?yàn)榛苏惶靺s只處理了一個(gè)告警而被解雇,或者被你自己折騰得精疲力竭。有些事要說清楚,數(shù)據(jù)包有合法的有惡意的,但事實(shí)的真相是網(wǎng)絡(luò)流量中的絕大部分?jǐn)?shù)據(jù)包都不是惡意的,因此在數(shù)據(jù)包被證實(shí)是惡意的之前,應(yīng)當(dāng)視作合法數(shù)據(jù)包來處理。
8、tcpdump 工具之于入侵分析猶如望遠(yuǎn)鏡之于天文學(xué)
每當(dāng)面試入門級(jí)以上的入侵分析師時(shí),筆者都會(huì)讓他們描述下如何研究一個(gè)典型的入侵檢測(cè)系統(tǒng)告警。然而讓筆者感到沮喪的是這些人總是回答「我會(huì)使用 tcpdump、Wireshark Network Miner、 Netwitness、Arcsight、 Xeyes 等工具研究告警」,而不做進(jìn)一步的具體解釋。雖然它們是進(jìn)行入侵分析的工具和技術(shù),但是入侵分析本身不是工具和技術(shù),而是藝術(shù)。如果不是這樣的話,那么在入侵分析的過程中人的存在就不是必要的了。一個(gè)高效的分析師應(yīng)該明白,即使使用這些工具是工作最重要的部分,但它們也只是拼圖中的一塊塊碎片。就像天文學(xué)家的望遠(yuǎn)鏡只是其工具庫(kù)中幫助他發(fā)現(xiàn)行星圍繞太陽(yáng)運(yùn)轉(zhuǎn)原理的一個(gè)工具一樣,Wireshark 也只是分析師的工具庫(kù)中幫助他找出是什么讓一個(gè)數(shù)據(jù)包繞過防火墻規(guī)則的一個(gè)工具。從技術(shù)開始,加上一些工具和軟件,統(tǒng)觀大局,留意細(xì)節(jié),再結(jié)合你從過往經(jīng)歷中獲取的經(jīng)驗(yàn),你將創(chuàng)造出一套屬于自己的入侵分析哲學(xué)。至此,你才將自己的分析上升到藝術(shù)的層面,從而使你極具價(jià)值,無法被機(jī)器取代。
9、有時(shí)候,我們會(huì)失敗。
不管你多么努力阻止攻擊,總會(huì)出現(xiàn)你防護(hù)的網(wǎng)絡(luò)被成功攻擊和入侵的情況。在現(xiàn)代信息安全格局中,這是不可避免的,你能做的事情也很有限。這些時(shí)候,分析師很可能因?yàn)楣羰录艿脚u(píng)。因此,你需要為防護(hù)失敗的發(fā)生做好準(zhǔn)備。成功入侵事件不會(huì)因?yàn)槿绾伟l(fā)生而被記住,但會(huì)因?yàn)槿绾伪粦?yīng)對(duì)、宕機(jī)時(shí)長(zhǎng)、丟失的信息量以及其最終造成了公司多少財(cái)產(chǎn)損失而被記住。你能給管理者什么建議以保證此類事件不再發(fā)生?你怎么給自己的上司解釋這次入侵攻擊為什么沒被成功檢測(cè)?你使用的工具有什么缺陷?在發(fā)生入侵事件之前,這些問題都是無法得到充分的解答。但是你現(xiàn)在絕對(duì)可以開始考慮這些問題,并制定向關(guān)鍵人物回答以上問題的方案。你會(huì)措手不及,遭遇偷襲,但重要的是你不會(huì)表現(xiàn)出來并保持堅(jiān)定嚴(yán)肅的姿態(tài)。這是決定你將獲得晉升還是被解雇的關(guān)鍵。
10、深度挖掘
到你光榮退休的那天,你需要代表榮譽(yù)的桂冠來證明你的功勛,而你的功勛應(yīng)該是你盡職盡責(zé)并拼盡全力的事實(shí)。筆者在入侵分析方面的“座右銘”是“深度挖掘”。網(wǎng)絡(luò)防護(hù)人員必須控制 65535 個(gè)端口,而攻擊者只需入侵一個(gè)就足夠了。網(wǎng)絡(luò)防護(hù)人員必須保護(hù)一萬(wàn)名用戶,而攻擊者只需要欺騙一個(gè)用戶就足夠了。網(wǎng)絡(luò)防護(hù)人員必須檢查成百上千萬(wàn)的數(shù)據(jù)包,而攻擊者只需要在一個(gè)數(shù)據(jù)包中隱藏好惡意數(shù)據(jù)就足夠了。你要怎么樣做才能對(duì)數(shù)據(jù)有更敏銳的感知?你要鍛煉什么樣的能力,才能與攻擊者相抗衡?你有一種預(yù)感,事情并不像看到的那么簡(jiǎn)單,你要怎么樣做才能深度挖掘?
原文鏈接:http://chrissanders.org/2011/01/the-10-commandments-of-intrusion-analysis/
本文轉(zhuǎn)自 OneAPM 官方博客
總結(jié)
- 上一篇: Linux 服务器中文乱码编码解决
- 下一篇: vim快捷键2