1.問:都有哪些重要的IDS系統?
根據監測對象不同,IDS系統分為很多種,以下是幾種很重要的IDS系統:
1、NIDS
NIDS是network intrusion detection system的縮寫,即網絡入侵檢測系統,主要用于檢測hacker或cracker通過網絡進行的入侵行為。NIDS的運行方式有兩種,一種是在目標主機上運行以監測其本身的通訊信息,另一種是在一臺單獨的機器上運行以監測所有網絡設備的通訊信息,比如hub、路由器。
2、SIV
SIV是system integrity verifiers的縮寫,即系統完整性檢測,主要用于監視系統文件或者Windows 注冊表等重要信息是否被修改,以堵上攻擊者日后來訪的后門。SIV更多的是以工具軟件的形式出現,比如著名的“Tripwire”,它可以檢測到重要系統組件的變換情況,但并不產生實時的報警信息。
3、LFM
LFM是log file monitors的縮寫,即日志文件監測器,主要用于監測網絡服務所產生的日志文件。LFM通過檢測日志文件內容并與關鍵字進行匹配的方式判斷入侵行為,例如對于HTTP服務器的日志文件,只要搜索“swatch”關鍵字,就可以判斷出是否有“phf”攻擊。
4、Honeypots
蜜罐系統,也就是誘騙系統,它是一個包含漏洞的系統,通過模擬一個或多個易受攻擊的主機,給黑客提供一個容易攻擊的目標。由于蜜罐沒有其它任務需要完成,因此所有連接的嘗試都應被視為是可疑的。蜜罐的另一個用途是拖延攻擊者對其真正目標的攻擊,讓攻擊者在蜜罐上浪費時間。與此同時,最初的攻擊目標受到了保護,真正有價值的內容將不受侵犯。蜜罐最初的目的之一是為起訴惡意黑客搜集證據,這看起來有“誘捕”的感覺。
1.2問:誰是入侵者?
通常我們將入侵者稱為hacker,但實際上這是不準確的。可以這么說:hacker是發現系統漏洞并修補漏洞的,cracker才是利用漏洞占山頭搞破壞的入侵者。為了不混淆視聽,在此干脆統一叫作入侵者吧。一般來說,入侵者分為兩類:內部和外部。內部入侵者通常利用社會工程學盜用非授權帳戶進行非法活動,比如使用其他人的機器、冒充是處長或局長;外部入侵者則要借助一定的攻擊技術對攻擊目標進行監測、查漏,然后采取破壞活動。
有一點請牢記:統計表明,入侵行為有80%來自內部。
1.3問:入侵者如何進入系統?
主要有三種方式:
1、物理入侵
指入侵者以物理方式訪問一個機器進行破壞活動,例如趁人不備遛進機房重地趕緊敲打兩下鍵盤試圖闖入操作系統、拿著鉗子改錐卸掉機器外殼“借”走硬盤裝在另一臺機器上進行深入研究。
2、系統入侵
指入侵者在擁有系統的一個低級賬號權限下進行的破壞活動。通常,如果系統沒有及時“打”最近的補丁程序,那么擁有低級權限的用戶就可能利用系統漏洞獲取更高的管理特權。
3、遠程入侵
指入侵者通過網絡滲透到一個系統中。這種情況下,入侵者通常不具備任何特殊權限,他們要通過漏洞掃描或端口掃描等技術發現攻擊目標,再利用相關技術執行破壞活動。NIDS主要針對的就是這種入侵。
1.4問:入侵者為何能闖入系統?
蒼蠅不盯無縫的蛋,入侵者只要找到復雜的計算機網絡中的一個縫,就能輕而易舉地闖入系統。所以,了解這些縫都有可能在哪里,對于修補它們至關重要。通常,裂縫主要表現在軟件編寫存在bug、系統配置不當、口令失竊、明文通訊信息被監聽以及初始設計存在缺陷等方面。
1、軟件編寫存在bug
無論是服務器程序、客戶端軟件還是操作系統,只要是用代碼編寫的東西,都會存在不同程度的bug。Bug主要分為以下幾類:
(1)緩沖區溢出:指入侵者在程序的有關輸入項目中了輸入了超過規定長度的字符串,超過的部分通常就是入侵者想要執行的攻擊代碼,而程序編寫者又沒有進行輸入長度的檢查,最終導致多出的攻擊代碼占據了輸入緩沖區后的內存而執行。別以為為登錄用戶名留出了200個字符就夠了而不再做長度檢查,所謂防小人不防君子,入侵者會想盡一切辦法嘗試攻擊的途徑的。
(2) 意料外的聯合使用問題:一個程序經常由功能不同的多層代碼組成,甚至會涉及到最底層的操作系統級別。入侵者通常會利用這個特點為不同的層輸入不同的內容,以達到竊取信息的目的。例如:對于由Perl編寫的程序,入侵者可以在程序的輸入項目中輸入類似“| mail < /etc/passwd”的字符串,從而使perl讓操作系統調用郵件程序,并發送出重要的密碼文件給入侵者。借刀殺人、借Mail送“信”,實在是高!
(3) 不對輸入內容進行預期檢查:有些編程人員怕麻煩,對輸入內容不進行預期的匹配檢查,使入侵者輸送炸彈的工作輕松簡單。
(4)Race conditions:多任務多線程的程序越來越多,在提高運行效率的同時,也要注意Race conditions的問題。比如說:程序A和程序B都按照“讀/改/寫”的順序操作一個文件,當A進行完讀和改的工作時,B啟動立即執行完“讀/改/寫”的全部工作,這時A繼續執行寫工作,結果是A的操作沒有了表現!入侵者就可能利用這個處理順序上的漏洞改寫某些重要文件從而達到闖入系統的目的,所以,編程人員要注意文件操作的順序以及鎖定等問題。
1.4.2、系統配置不當
(1)默認配置的不足:許多系統安裝后都有默認的安全配置信息,通常被稱為easy to use。但遺憾的是,easy to use還意味著easy to break in。所以,一定對默認配置進行揚棄的工作。
(2)管理員懶散:懶散的表現之一就是系統安裝后保持管理員口令的空值,而且隨后不進行修改。要知道,入侵者首先要做的事情就是搜索網絡上是否有這樣的管理員為空口令的機器。
(3)臨時端口:有時候為了測試之用,管理員會在機器上打開一個臨時端口,但測試完后卻忘記了禁止它,這樣就會給入侵者有洞可尋、有漏可鉆。通常的解決策略是:除非一個端口是必須使用的,否則禁止它!一般情況下,安全審計數據包可用于發現這樣的端口并通知管理者。
(4)信任關系:網絡間的系統經常建立信任關系以方便資源共享,但這也給入侵者帶來借牛打力、間接攻擊的可能,例如,只要攻破信任群中的一個機器,就有可能進一步攻擊其他的機器。所以,要對信任關系嚴格審核、確保真正的安全聯盟。
1.4.3、口令失竊
(1)弱不禁破的口令:就是說雖然設置了口令,但卻簡單得再簡單不過,狡猾的入侵者只需吹灰之力就可破解。
(2)字典攻擊:就是指入侵者使用一個程序,該程序借助一個包含用戶名和口令的字典數據庫,不斷地嘗試登錄系統,直到成功進入。毋庸置疑,這種方式的關鍵在于有一個好的字典。
(3)暴力攻擊:與字典攻擊類似,但這個字典卻是動態的,就是說,字典包含了所有可能的字符組合。例如,一個包含大小寫的4字符口令大約有50萬個組合,1個包含大小寫且標點符號的7字符口令大約有10萬億組合。對于后者,一般的計算機要花費大約幾個月的時間才能試驗一遍。看到了長口令的好處了吧,真正是一兩撥千斤啊!
1.4.4、嗅探未加密通訊數據
(1)共享介質:傳統的以太網結構很便于入侵者在網絡上放置一個嗅探器就可以查看該網段上的通訊數據,但是如果采用交換型以太網結構,嗅探行為將變得非常困難。
(2)服務器嗅探:交換型網絡也有一個明顯的不足,入侵者可以在服務器上特別是充當路由功能的服務器上安裝一個嗅探器軟件,然后就可以通過它收集到的信息闖進客戶端機器以及信任的機器。例如,雖然不知道用戶的口令,但當用戶使用Telnet軟件登錄時就可以嗅探到他輸入的口令了。
(3) 遠程嗅探:許多設備都具有RMON(Remote monitor,遠程監控)功能以便管理者使用公共體字符串(public community strings)進行遠程調試。隨著寬帶的不斷普及,入侵者對這個后門越來越感興趣了。
1.4.5、設計存在缺陷
(1)TCP/IP協議的缺陷:TCP/IP協議現在已經廣為應用、但是它設計時卻是在入侵者猖狂肆虐的今天之很早以前設計出來的。因此,存在許多不足造成安全漏洞在所難免,例如smurf攻擊、ICMP Unreachable數據包斷開、IP地址欺騙以及SYN flood。然而,最大的問題在于IP協議是非常容易“輕信”的,就是說入侵者可以隨意地偽造及修改IP數據包而不被發現。現在Ipsec協議已經開發出來以克服這個不足,但還沒有得到廣泛的應用。
1.5問:入侵者如何獲取口令?
(1)、監聽明文口令信息 大量的通訊協議比如Telnet、Ftp、基本HTTP都使用明文口令,這意味著它們在網絡上是赤裸裸地以未加密格式傳輸于服務器端和客戶端,而入侵者只需使用協議分析器就能查看到這些信息,從而進一步分析出口令,成為真用戶的克隆。
(2)、監聽加密口令信息 :當然,更多的通訊協議是使用加密信息傳輸口令的。這時,入侵者就需要借助字典或者采用暴力攻擊法來解密了。注意,我們并不能察覺到入侵者的監聽行為,因為他在暗處,是完全被動的,沒有發送任何信息到網絡上,入侵者的機器僅被用于分析這些口令信息。
(3)、重放攻擊(Replay attack) 這又是一種間接的攻擊方式,就是說:入侵者不必對口令進行解密,需要的是重新編寫客戶端軟件以使用加密口令實現系統登錄。
(4)、竊取口令文件: 口令文件通常都保存在一個單獨的文件中,例如UNIX系統的口令文件是/etc/passwd(也可能是那個文件的鏡像),WinNT系統的口令文件是/winnt/system32/config/sam。入侵者一旦獲取了口令文件,就可以使用破解程序發現其中的弱口令信息。
(5)、觀察 用戶可能由于設置的口令復雜難記而將它寫在一張紙上壓在鍵盤下隨時查看,或者在輸入口令的時候不管身后有沒有站著一位“看客”。入侵者的搜索力與記憶力都非常好,這些操作習慣對他們來說簡直就是輕松練兵。所以,別忽視入侵者的眼睛!
(6)、社交工程 社交工程就是指采用非隱蔽方法讓用戶把密碼說出來.例如你突然接到一個電話,我是某某,現在需要檢測你的網絡,你的密碼多少。很多人就會不加考慮的把密碼說出來。所以很多公司要求員工無論任何情況都不能說出自己的密碼。
1.6問:典型的入侵步驟?
(1)信息的收集 :知己知彼,百戰不殆。入侵者攻擊的第一步就是盡一切可能對攻擊目標進行信息收集以獲取充足的資料。采取的方法包括:使用whois工具獲取網絡注冊信息;使用nslookup或dig工具搜索DNS表以確定機器名稱;確定了攻擊目標的基本屬性(站點地址、主機名稱),入侵者將對它們進行深入剖析。方法有:遍歷每個Web頁面搜索是否存在CGI漏洞;使用ping工具一一探尋“活”著的機器;對目標機器執行UDP/TCP掃描以發現是否有可用服務。這些行為都屬于正常的網絡操作,還不能算作入侵行為,但是NIDS系統將能夠告訴管理者“有人正在撼動門把手……”
(2)、漏洞利用:現在到了開始動手的時候了!破壞花樣實在繁多,在此擇優列舉如下:通過在輸入項目中寫入殼命令字符串(shell command)來考驗CGI腳本的安全性;通過發送大量數據以確定是否存在臭名昭著的緩沖區溢出漏洞;嘗試使用簡單口令破解登錄障礙。當然,混合使用多種方式是攻占成功的不二法門。
(3)安裝后門,清除日志:對于入侵者而言,一旦成功地入侵了網絡中的一臺機器,入侵者現在要做的就是隱藏入侵痕跡并制造日后再攻的后門,這就需要對日志文件或其他系統文件進行改造,或者安裝上木馬程序、或者替換系統文件為后門程序。這時,SIV(系統完整性檢測)系統會注意到這些文件的變化。由于內部網絡中的安全措施通常都比較少,進一步地,入侵者將以這第一臺機器作為跳板,攻擊網絡中的其他機器,尋找下一個安身之家。
以上討論是的有目的入侵者的通常行為。另外還有一種是無目的的入侵,僅僅是初級入侵者為了練手.用掃描器掃描一個網段地址;搜索其上是否有指定的漏洞;如果有,根據已知的漏洞利用方法進行攻擊。
1.7問:入侵有哪些特征?
(1)、探測 探測方式有很多,包括ping掃描、探測操作系統類別、系統及應用軟件的弱帳號掃描、偵探電子郵件、TCP/UDP端口掃描、探測Web服務器CGI漏洞等。
(2)、漏洞利用 指入侵者利用系統的隱藏功能或漏洞嘗試取得系統控制權。
(3)拒絕式攻擊:
1.8問:通常有哪些漏洞?
(1):CGI漏洞:編寫CGI程序需要考慮得非常完善才有可能避免安全威脅。入侵者經常要嘗試訪問系統中的一些具有知名漏洞的CGI程序,以期尋找到突破口。這些CGI程序有:TextCounter、GuestBook、EWS、info2www、Count.cgi、handler、webdist.cgi、php.cgi、files.pl、nph-test-cgi、nph-publish、AnyFORM、FORMMail。如果我們沒有使用這些文件卻發現有人正在頻繁地訪問其中之一,就可以清楚地斷明一個入侵行為正在進行了。
(2)Web服務器漏洞:比如文件名中包含一系列“../”字符串從而可以訪問系統中的任意文件;URL路徑后添加上“::$DATA”就可以查看腳本源代碼。
(3)Web瀏覽器漏洞:這方面的漏洞涉及面同樣很廣,沖浪者絕不能掉以輕心。比如可能導致緩沖區溢出或執行.LNK命令的URL、畸形的HTTP header內容、MIME類型溢出(例如Netscape瀏覽器的命令)、總是有漏可乘的javascript腳本(例如利用文件上傳功能創建后門程序)、偶爾犯些錯誤的Java代碼以及現在更為厲害、更為猖獗的ActiveX組件。
(4)STMP漏洞:比如利用緩沖區溢出攻擊STMP、使用VRFY命令搜索用戶名稱。
(5)IMAP漏洞:IMAP即Internet信息控制協議(Internet Message Access Protocol),是指從郵件服務器上獲取Email信息或直接收取郵件的協議。傳統的POP3收信過程中,用戶無法得知郵件的具體信息,只有在郵件全部下載到硬盤后,才能慢慢地瀏覽或刪除,用戶幾乎沒有對郵件的控制決定權。IMAP解決的就是這個問題。但是許多流行的IMAP服務器都存在重大漏洞。
(6)IP地址欺騙:由于路由選擇不需要判斷來源地址,因此入侵者就可將IP數據包的來源地址替換為偽造地址以期隱藏其攻擊地點。而且,由于是偽造的來源地址,入侵者也不會接收到目標機器的返回通訊信息,真正做到了“攻不還手”。
(7)緩沖區溢出:除了前面提及的緩沖區溢出種類外,還有DNS溢出(超長DNS名字發送給服務器)、statd溢出(超長文件名)。
3、DoS或DDoS(拒絕服務攻擊或分布式拒絕服務攻擊)
這種攻擊是真正的“損人不利己”,不需要別人的數據,只想等別人出錯看熱鬧。這種攻擊行為越來越多,是不是因為這種人也越來越 ...... 常見的DoS有死亡之Ping、SYN湮沒、Land攻擊。
2.1問:檢測入侵有哪些方式?
(1)、異常行為檢測 最普通的檢測入侵的方式是對異常行為進行統計,并與設備的基準行為進行對比以判斷是否存在入侵。例如,檢查CPU利用率是否猛烈增長、磁盤空間是否一下子縮小、用戶登錄失敗次數增加、文件鎖定過多等等。這種檢測方式的優點是不必了解異常行為背后的黑幕就能判斷出發生了入侵,所謂不見其人已聞其聲。
(2)、特征行為檢測 大多數的商業產品是基于特征標志對入侵行為進行檢測的,就是說,采用對號入坐的方式,一旦發現了與特征數據庫中匹配的行為,就認為發生了某種入侵。例如,如果發現網絡上有信息包含有字符串“/cgi-bin/phf?”,就可以初步判斷有人正在試圖利用Web服務器上的phf CGI漏洞。注意,這種方式下的特征數據庫非常關鍵,根據新入侵行為及特征的出現,要不斷地更新補充,是活水不能是死水。
問:NIDS系統如何對通訊信息進行特征比較?
通訊信息就是穿越網絡的IP數據包流,NIDS系統能夠捕獲它們并利用其自身的TCP/IP堆棧對它們重新組織進行分析。其中使用到的技術包括:
(1)、協議棧驗證 協議棧就是一些以層次結構組成的協議,例如TCP/IP協議棧。協議棧中的每一層都為它的上層協議提供功能,而向其下層協議要求服務。許多入侵行為比如“死亡之Ping”、“TCP隱蔽掃描”都是以反規則使用底層IP、TCP、UDP和ICMP協議的方式攻擊系統的,因此,建立協議棧驗證系統對非法數據包進行標記十分必要。
(2)、應用協議驗證 許多入侵還使用非法應用協議進行攻擊,比如WinNuke攻擊就使用到NetBIOS應用協議。因此,NIDS系統必須有能力重新實現廣泛的應用層協議,從而有效地檢測可疑或非法行為。
(3)、創建新日志事件 通過記錄一個機器使用的所有應用層協議,NIDS系統就可用于擴展網絡管理軟件的審計功能。這樣,下游事件日志系統例如Win2K事件管理器、UNIX的系統日志、SNMP TRAP等等就能夠將它們與其他網絡上的其他事件進行關聯分析。
共2頁: 1 [2] 下一頁 | ||
|