檢測你的Web系統(tǒng)有多少安全漏洞
發(fā)表時間:2023-07-12 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Internet的開放性使得Web系統(tǒng)面臨入侵攻擊的威脅, 而建立一個安全的Web系統(tǒng)一直是人們的目標。 一個實用的方法是, 建立比較容易實現(xiàn)的相對安全的系統(tǒng), 同時按照一定的安全策略建立相應的安...
Internet的開放性使得Web系統(tǒng)面臨入侵攻擊的威脅, 而建立一個安全的Web系統(tǒng)一直是人們的目標。 一個實用的方法是, 建立比較容易實現(xiàn)的相對安全的系統(tǒng), 同時按照一定的安全策略建立相應的安全輔助系統(tǒng), 漏洞掃描器就是這樣一類安全輔助系統(tǒng)。
漏洞掃描就是對計算機系統(tǒng)或者其他網(wǎng)絡設備進行安全相關(guān)的檢測, 以找出安全隱患和可被黑客利用的漏洞。 作為一種保證Web信息系統(tǒng)和網(wǎng)絡安全必不可少的手段, 我們有必要仔細研究利用。 值得注意的是, 漏洞掃描軟件是把雙刃劍, 黑客利用它入侵系統(tǒng), 而系統(tǒng)管理員掌握它以后又可以有效的防范黑客入侵。
四種漏洞掃描技術(shù)
漏洞掃描通常采用兩種策略, 第一種是被動式策略, 第二種是主動式策略。 所謂被動式策略就是基于主機之上, 對系統(tǒng)中不合適的設置、脆弱的口令以及其他與安全規(guī)則抵觸的對象進行檢查;而主動式策略是基于網(wǎng)絡的, 它通過執(zhí)行一些腳本文件模擬對系統(tǒng)進行攻擊的行為并記錄系統(tǒng)的反應, 從而發(fā)現(xiàn)其中的漏洞。 利用被動式策略的掃描稱為系統(tǒng)安全掃描, 利用主動式的策略掃描稱為網(wǎng)絡安全掃描。
漏洞掃描有以下四種檢測技術(shù):
1.基于應用的檢測技術(shù)。 它采用被動的、非破壞性的辦法檢查應用軟件包的設置, 發(fā)現(xiàn)安全漏洞。
2.基于主機的檢測技術(shù)。 它采用被動的、非破壞性的辦法對系統(tǒng)進行檢測。 通常, 它涉及到系統(tǒng)的內(nèi)核、文件的屬性、操作系統(tǒng)的補丁等。 這種技術(shù)還包括口令解密、把一些簡單的口令剔除。 因此, 這種技術(shù)可以非常準確地定位系統(tǒng)的問題, 發(fā)現(xiàn)系統(tǒng)的漏洞。 它的缺點是與平臺相關(guān), 升級復雜。
3.基于目標的漏洞檢測技術(shù)。 它采用被動的、非破壞性的辦法檢查系統(tǒng)屬性和文件屬性, 如數(shù)據(jù)庫、注冊號等。 通過消息文摘算法, 對文件的加密數(shù)進行檢驗。 這種技術(shù)的實現(xiàn)是運行在一個閉環(huán)上, 不斷地處理文件、系統(tǒng)目標、系統(tǒng)目標屬性, 然后產(chǎn)生檢驗數(shù), 把這些檢驗數(shù)同原來的檢驗數(shù)相比較。 一旦發(fā)現(xiàn)改變就通知管理員。
4. 基于網(wǎng)絡的檢測技術(shù)。 它采用積極的、非破壞性的辦法來檢驗系統(tǒng)是否有可能被攻擊崩潰。 它利用了一系列的腳本模擬對系統(tǒng)進行攻擊的行為, 然后對結(jié)果進行分析。 它還針對已知的網(wǎng)絡漏洞進行檢驗。 網(wǎng)絡檢測技術(shù)常被用來進行穿透實驗和安全審記。 這種技術(shù)可以發(fā)現(xiàn)一系列平臺的漏洞, 也容易安裝。 但是, 它可能會影響網(wǎng)絡的性能。
網(wǎng)絡漏洞掃描
在上述四種方式當中, 網(wǎng)絡漏洞掃描最為適合我們的Web信息系統(tǒng)的風險評估工作, 其掃描原理和工作原理為:通過遠程檢測目標主機TCP/IP不同端口的服務, 記錄目標的回答。 通過這種方法, 可以搜集到很多目標主機的各種信息(例如:是否能用匿名登錄, 是否有可寫的FTP目錄, 是否能用Telnet, httpd是否是用root在運行)。
在獲得目標主機TCP/IP端口和其對應的網(wǎng)絡訪問服務的相關(guān)信息后, 與網(wǎng)絡漏洞掃描系統(tǒng)提供的漏洞庫進行匹配, 如果滿足匹配條件, 則視為漏洞存在。 此外, 通過模擬黑客的進攻手法, 對目標主機系統(tǒng)進行攻擊性的安全漏洞掃描, 如測試弱勢口令等, 也是掃描模塊的實現(xiàn)方法之一。 如果模擬攻擊成功, 則視為漏洞存在。
在匹配原理上, 網(wǎng)絡漏洞掃描器采用的是基于規(guī)則的匹配技術(shù), 即根據(jù)安全專家對網(wǎng)絡系統(tǒng)安全漏洞、黑客攻擊案例的分析和系統(tǒng)管理員關(guān)于網(wǎng)絡系統(tǒng)安全配置的實際經(jīng)驗, 形成一套標準的系統(tǒng)漏洞庫, 然后再在此基礎(chǔ)之上構(gòu)成相應的匹配規(guī)則, 由程序自動進行系統(tǒng)漏洞掃描的分析工作。
所謂基于規(guī)則是基于一套由專家經(jīng)驗事先定義的規(guī)則的匹配系統(tǒng)。 例如, 在對TCP80端口的掃描中, 如果發(fā)現(xiàn)/cgi-bin/phf/cgi-bin/Count.cgi, 根據(jù)專家經(jīng)驗以及CGI程序的共享性和標準化, 可以推知該WWW服務存在兩個CGI漏洞。 同時應當說明的是, 基于規(guī)則的匹配系統(tǒng)有其局限性, 因為作為這類系統(tǒng)的基礎(chǔ)的推理規(guī)則一般都是根據(jù)已知的安全漏洞進行安排和策劃的, 而對網(wǎng)絡系統(tǒng)的很多危險的威脅是來自未知的安全漏洞, 這一點和PC殺毒很相似。
這種漏洞掃描器是基于瀏覽器/服務器(B/S)結(jié)構(gòu)。 它的工作原理是:當用戶通過控制平臺發(fā)出了掃描命令之后, 控制平臺即向掃描模塊發(fā)出相應的掃描請求, 掃描模塊在接到請求之后立即啟動相應的子功能模塊, 對被掃描主機進行掃描。 通過分析被掃描主機返回的信息進行判斷, 掃描模塊將掃描結(jié)果返回給控制平臺, 再由控制平臺最終呈現(xiàn)給用戶。
另一種結(jié)構(gòu)的掃描器是采用插件程序結(jié)構(gòu)。 可以針對某一具體漏洞, 編寫對應的外部測試腳本。 通過調(diào)用服務檢測插件, 檢測目標主機TCP/IP不同端口的服務, 并將結(jié)果保存在信息庫中, 然后調(diào)用相應的插件程序, 向遠程主機發(fā)送構(gòu)造好的數(shù)據(jù), 檢測結(jié)果同樣保存于信息庫, 以給其他的腳本運行提供所需的信息, 這樣可提高檢測效率。 如, 在針對某FTP服務的攻擊中, 可以首先查看服務檢測插件的返回結(jié)果, 只有在確認目標主機服務器開啟FTP服務時, 對應的針對某FTP服務的攻擊腳本才能被執(zhí)行。 采用這種插件結(jié)構(gòu)的掃描器, 可以讓任何人構(gòu)造自己的攻擊測試腳本, 而不用去了解太多掃描器的原理。 這種掃描器也可以用做模擬黑客攻擊的平臺。 采用這種結(jié)構(gòu)的掃描器具有很強的生命力, 如著名的Nessus就是采用這種結(jié)構(gòu)。 這種網(wǎng)絡漏洞掃描器的結(jié)構(gòu)如圖2所示, 它是基于客戶端/服務器(C/S)結(jié)構(gòu), 其中客戶端主要設置服務器端的掃描參數(shù)及收集掃描信息。 具體掃描工作由服務器來完成。 漏洞掃描器的發(fā)展趨勢
值得我們注意的是漏洞掃描軟件從最初的專門為UNIX系統(tǒng)編寫的一些只具有簡單功能的小程序, 發(fā)展到現(xiàn)在, 已經(jīng)出現(xiàn)了多個運行在各種操作系統(tǒng)平臺上的、具有復雜功能的商業(yè)程序。 今后的發(fā)展趨勢主要有以下幾點, 我們可以根據(jù)實際Web信息系統(tǒng)風險評估的需求進行選用:
1. 使用插件或者叫做功能模塊技術(shù)。 每個插件都封裝一個或者多個漏洞的測試手段, 主掃描程序通過調(diào)用插件的方法來執(zhí)行掃描。 僅僅是添加新的插件就可以使軟件增加新功能, 掃描更多漏洞。 在插件編寫規(guī)范公布的情況下, 用戶或者第三方公司甚至可以自己編寫插件來擴充軟件的功能。 同時這種技術(shù)使軟件的升級維護都變得相對簡單, 并具有非常強的擴展性。
2. 使用專用腳本語言。 這其實就是一種更高級的插件技術(shù), 用戶可以使用專用腳本語言來擴充軟件功能。 這些腳本語言語法通常比較簡單易學, 往往用十幾行代碼就可以定制一個簡單的測試, 為軟件添加新的測試項。 腳本語言的使用, 簡化了編寫新插件的編程工作, 使擴充軟件功能的工作變得更加容易, 也更加有趣。
3. 由漏洞掃描程序到安全評估專家系統(tǒng)。 最早的漏洞掃描程序只是簡單地把各個掃描測試項的執(zhí)行結(jié)果羅列出來, 直接提供給測試者而不對信息進行任何分析處理。 而當前較成熟的掃描系統(tǒng)都能夠?qū)蝹主機的掃描結(jié)果整理, 形成報表, 能夠并對具體漏洞提出一些解決方法。 不足之處是對網(wǎng)絡的狀況缺乏一個整體的評估, 對網(wǎng)絡安全沒有系統(tǒng)的解決方案。 未來的安全掃描系統(tǒng), 應該不但能夠掃描安全漏洞, 還能夠智能化地協(xié)助網(wǎng)絡信息系統(tǒng)管理人員評估本網(wǎng)絡的安全狀況, 給出安全建議, 成為一個安全評估專家系統(tǒng)。
Web系統(tǒng)的風險等級評估
在實現(xiàn)了對Web信息系統(tǒng)的安全掃描后, 便可根據(jù)掃描結(jié)果, 對Web信息系統(tǒng)的安全性能進行評估, 從而給出Web信息系統(tǒng)的風險狀況。 這里, 風險評估的依據(jù)是根據(jù)掃描結(jié)果, 根據(jù)Web信息系統(tǒng)所具有的漏洞數(shù)目及漏洞的危害程度, 將Web信息系統(tǒng)的安全狀態(tài)進行分級。
劃分的風險評估級別如下:
l.A級:掃描結(jié)果顯示沒有漏洞, 但這并不表明系統(tǒng)沒有漏洞, 因為有許多漏洞是尚未發(fā)現(xiàn)的, 我們只能針對已知的漏洞進行測試。
2.B級:具有一些泄漏服務器版本信息之類的不是很重要內(nèi)容的漏洞, 或者提供容易造成被攻擊的服務, 如允許匿名登錄, 這種服務可能會造成許多其它漏洞。
3.C級:具有危害級別較小的一些漏洞, 如可以驗證某賬號的存在, 可以造成列出一些頁面目錄、文件目錄等, 不會造成嚴重后果的漏洞。
4.D級:具有一般的危害程度的漏洞。 如拒絕服務漏洞,造成Web信息系統(tǒng)不能正常工作;可以讓黑客獲得重要文件的訪問權(quán)的漏洞等。
5.E級:具有嚴重危害程度的漏洞。 如存在緩沖區(qū)溢出漏洞, 存在木馬后門, 存在可以讓黑客獲得根用戶權(quán)限或根用戶的shell漏洞,根目錄被設置一般用戶可寫等一些后果非常嚴重的漏洞。
另外, 我們需要強調(diào)的是:漏洞的產(chǎn)生主要源于Web信息系統(tǒng)的不正當配置以及其提供的服務自身的弱點。 前面我們詳細介紹了如何使用漏洞掃描來進行風險評估。 其實還有一個非常重要的問題我們不能忽略, 那就是需要檢測Web信息系統(tǒng)到底提供了哪些服務, 因為它直接關(guān)系到系統(tǒng)的漏洞的產(chǎn)生以及危害。 一方面, Web信息系統(tǒng)為用戶提供了多種優(yōu)質(zhì)的網(wǎng)絡服務, 包括Http、Ftp、Smtp、Pop3等;另一方面, 服務的增多意味著更多的風險。 每種服務本身都必然存在著某些缺陷, 而這些缺陷很有可能被高明的黑客利用來對系統(tǒng)進行攻擊。 所以, 提供特定服務的服務器應該盡可能開放提供服務必不可少的端口, 而將與服務器服務無關(guān)的服務關(guān)閉, 比如:一臺作為www和ftp服務器的機器, 應該只開放80和25端口, 而將其他無關(guān)的服務如關(guān)掉, 以減少系統(tǒng)漏洞。
因此, 我們需要針對Web系統(tǒng)的實際用途使用相關(guān)的工具來對系統(tǒng)開放的網(wǎng)絡服務及其端口等進行有效地檢測和適時的處理, 以及時關(guān)閉那些不必需要的服務和端口, 以免為黑客和不法用戶利用, 從而侵入信息系統(tǒng)。 顯然, 這是一項非常艱巨和長期的工作, 管理者們需要在技術(shù)和管理兩個層面上投入相當?shù)奈锪拓斄Γ?從而保證Web信息系統(tǒng)的安全性。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。