摘要:該文詳細分析了計算機網絡攻擊的種類,希望對維護計算機網絡的安全人員有所幫助。
關鍵詞:DDoS;攻擊;網絡;安全
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)29-0363-03
Network Attack Type
ZENG Ling-zheng
(Data Processing Center,Guangzhou Statistics Bureau,Guangzhou 510030,China)
Abstract: This article multianalysis computer network has attacked the type, hoped to the security personnel who maintains the computer network has the help.
Key words: hackers; DoS; DDoS; guard
1 引言
隨著Internet在全球的發展,黑客的活動也日趨活躍,大有方興未艾之勢。其動向有以下幾個特點:
組織越來越擴大化:早期的黑客雖然也有些是有組織的,全規模不大?,F在跨地區,跨國界的大型黑客組織己經出現。在Internet網上還有許多黑客的專題討論組,并有不斷擴大之勢。
行動越來越公開化:包括召開會議,舉辦競賽,編寫教材等。例如2002年7月12日至14日,來自世界各國的2000名國際黑客云集紐約,舉行了迄今為止規模最大的全球黑客大會,并且拋出一款全新的軟件作為宣戰的工具。在此次黑客大會上,黑客們公布的一項計劃引起了全球矚目,那就是眾黑客以不滿網絡安全檢查為由宣布將對全球20多個進行網絡檢查的國家開戰。
案件越來越頻繁化:權威機構調查顯示計算機攻擊事件正在以年64%的速度增加。另據統計數字顯示,至2002年年末,黑客事件平均每天發生614次,比2002年年初提高20.2%。
情況越來越復雜化:無論人們對于黑客的功過如何評說,黑客的成分背景日益復雜,行為動機各有不同,這是客觀事實,對此己經不是用“好人、好事”還是“壞人、壞事”所能簡單概括。正義、非正義,侵入、反侵入的斗急錯綜復雜,種種跡象表明,有朝一日在網上爆發一場世界黑客大戰并非天方夜譚。
2 入侵系統攻擊
入侵系統的攻擊首先需要收集目標系統的有關信息(如運行的操用系統版本、開放的端口等),通過信息的收集,獲取系統的控制權。獲取信息通過常規的網絡探測命令可以獲取一些對攻擊有用的信息,如PING命令判斷計算機是否開著,或者計算數據包從發送到返回需要多少時間;通過Tracert/Tracerout命令跟蹤從一臺計算機到另外一臺計算機所走的路徑。用Finger和 Rusers命令收集用戶信息;使用Host或Nslookup命令,再結合Whois和Finger命令獲到主機、操作系統和用戶的信息;甚至可以直接使用命令攻擊。
2.1 口令攻擊
攻擊者通過第一階段的信息收集,獲取了目標系統上的用戶名、開放服務、操用系統的類型等關鍵信息,下面就開始實施入侵的核心環節——獲取口令。
1) 口令暴力攻擊
由于有些操用系統不能在數次登錄失敗后自動關閉賬號,因此有些黑客把人們常用來做口令的單詞制作成詞典,通過計算機程序一個個試探,或把英文字母、數字組合后進行試探。
2) 竊取口令文件后解密
老版本的Unix沒有Shadow文件,全部口令都存在Passwd文件中,新版本的Unix中,用戶基本信息存放在Passwd文件中,而所有口令以過DES加密后存放在Shadow文件中,并處于嚴密保護之下。一旦黑客獲取這兩個文件,黑客就可以使用些窮舉測試程序破譯用戶口令。
2.2 漏洞攻擊
當采用直接口令攻擊失敗后,攻擊者會開始尋找系統的安全漏洞,有些漏洞是系統設計編程的疏忽,有些是管理員配置不當引起的。這些漏洞在系統被大量使用后會逐漸暴露出來,如果管理員不及時下載補丁,更改配置,就會給攻擊者可乘之機。
1) 利用CGI漏洞進行攻擊
有些CGI程序只是簡單地進行傳遞,不對內容進行過濾,攻擊者就可能通過頁面提交帶危險指令的腳本代碼給機器去執行,有些CGI能夠過濾一些特征數據,但是有些攻擊者故意制用一些混亂的字符串騙過檢測,甚至有些管理員將CGI所在的目錄設置為可寫的,攻擊者不僅可以修改替換頁面,而且也可以通過新腳本為所欲為。
對策:嚴格設置CGI腳本權限,采有安全的CGI。
2) FTP協議漏洞攻擊
FTP協議漏洞之一在于對使用的端口號沒有任何限制,用戶可以使用TCP提供給其他服務的任意端口,這就使攻擊者得以利用FTP攻擊其他服務。
FTP協議的第二個漏洞是,FTP標準允許無限次輸入密碼,如些以來攻擊者就可以使用口令暴力攻擊。防范措施是建議服務器限制嘗試輸入正確指令的次數。另外,一次登錄失敗后應暫停幾秒來削減暴力攻擊的有效性。
FTP的第三個漏洞是分配端口號時通常按增序分配,攻擊者可以預先占領端口,讓合法用戶無法分配到端口或趁機竊取信息等。
對策:讓系統改為使用隨機分配端口號的方法。
3) 服務程序漏洞攻擊
一些常見的WWW或FTP服務端程序在設計上也被發現存在安全漏洞,也必須經常注意升版本或下載補丁。
如IIS4.0 和5.0中在Unicode字符解碼的實現中存在安全漏洞:當IIS打開文件時,如果文件名包含Unicode字符,它會對其解碼,導致攻擊者在文件名中加入的指令可以執行 。
4) 緩沖區溢出攻擊
緩沖區溢出的形成非常簡單,如在C語言中,下面的程序將造成緩沖區溢出:
char buffer[10];
strcpy(buffer,str);
只要str的長度大于10,就會溢出,普通的緩沖區溢出并不會產全安全問題,只有將溢出送到能夠以root權限運行命令的區域才會產生危害,最常見的方法是在溢出區域運行一個Shell,再通過Shell執行其他的命令。
2.3 包劫持和會話劫持攻擊
由于很多協議沒有采用任何加密或身份認證技術,比如Telnet、FTP、SMTP等協議,用戶賬戶、密碼等都是以明文方式傳輸的,如果攻擊者利用包截取工具,就可能獲得用戶賬戶密碼等信息;更有甚者,在共享的網段中,A、B站點間正常通信,被攻擊者C截獲后,C有可能冒充接替B同A繼續會話,或冒充B發出FIN數據包,釋放了A、B間的鏈接。
2.4 域名劫持攻擊
攻擊者首先獲得域名擁有者注冊域名時用的郵件賬戶,再冒充擁有者發送域名變更信息到域名注冊管理公司,讓原域名指向另一個自已已經控制的服務器,然后再冒充域名擁有者進行確認,這樣在互聯網上,原來的服務器就被虛假的服務器所取代了。在獲取郵件賬戶時,不排除使用密碼暴力猜測或對該賬戶所在的郵件服務器進行入侵攻擊。這種行為就像有人拿著你的身份證,變更了你的銀行賬戶一樣。
2.5 迂回攻擊
如果服務器難以直接攻破,攻擊者可能采用迂回的策略,通過Finger等工具,跟蹤管理員的活動,找出管理員經常使用的管理工作站,然后在這臺機器上放置木馬,竊取管理員密碼,再攻擊服務器。
2.6 IP欺騙攻擊
這種攻擊方式主要應用于IP協議傳送的報文中。它僅適用于少數幾種平臺。所謂IP欺騙,就是偽造他人的源IP地址。其實質就是讓一臺機器來扮演另一臺機器,以達到蒙混過關的目的。
2.7 拒絕服務攻擊
拒絕服務攻擊大多是由于錯誤配置或者軟件弱點導致的。某些DoS攻擊是由于開發協議固有的缺陷導致的,某些DoS攻擊可以通過簡單的補丁來解決,還有一些導致攻擊的系統缺陷很難被彌補。
根據其攻擊的手法和目的不同,有兩種不同的存在形式:一種是以消耗目標主機的可用資源為目的,使目標服務器忙于應付大量的非法的,無用的連接請求,占用了服務器所有的資源,造成服務器對正常的請求無法再做出及時響應,從而形成事實上的服務中斷。這也是最常見的拒絕服務攻擊形式;另一種拒絕服務攻擊是以消耗服務器連路的有效帶寬為目的,攻擊者通過發送大量的有用或無用數據包,將整條鏈路帶寬全部占用,從而使合法用戶請求無法通過鏈路到達服務器,服務器對部分合法請求的回應也無法返回用戶,造成服務中斷。
以下的兩種情況最容易導致拒絕服務攻擊:
1) 由于程序員對程序錯誤的編制,導致系統不停的建立進程,最終耗盡資源,只能重新啟動機器。不同的系統平臺都會采取某些方法可以防止一些特殊的用戶來占用過多的系統資源,我們也建議盡量采用資源管理的方式來減輕這種安全威脅。
2) 還有一種情況是由磁盤存儲空間引起的。假如一個用戶有權利存儲大量的文件的話,他就有可能只為系統留下很小的空間用來存儲日志文件等系統信息。這是一種不良的操作習慣,會給系統帶來隱患。這種情況下應該對系統配額作出考慮。
3 DoS攻擊原理上來分大體分為以下幾類:
3.1 利用系統缺陷
因為有些系統在設計時未把惡意攻擊的因素考慮在內,攻擊者通常給端口發送一些故意弄錯的數據包,把這個數據包的偏移字段和長度字段寫入一個過大或過小的值,使主機無法處理,從而導致系統重啟或停機。
對策:這些攻擊都是利用系統的漏洞,因些補救的辦法是及時升級或下載補丁。
3.2 利用放大原理
Smurf攻擊是以最初發動這種攻擊的程序名Smurf來命名的。指通過將回復地址設置成受害者的地址,用廣播的方式發送ICMP請求數據包,每個收到這個數據包的主機都進行回應,大量的回復數據包發給受害者,導致受害主機崩潰。
某些類型的操作系統,在一定情況下,對一個請求所返回的信息比請求信息量大幾十倍,攻擊者偽裝成目標主機進行請求,導致大量數據流發向目標主機,加重了攻擊效果。
3.3 分布式拒絕服務攻擊DDOS
拒絕服務攻擊中引入的一個新概念,它利用攻擊者已經入侵并控制的主機,對某一單機發起攻擊。在懸殊的帶寬力量對比下,被攻擊的主機會很快失去反應。這種攻擊方式被證實是非常有效的,而且非常難以抵擋。一般的人難以順利實現這些攻擊,因為攻擊者必順已經入侵并控制一批網上主機,然后在這些機器上裝上并運行分布端的攻擊守護進程。
常見的基于網絡的拒絕服務攻擊:
1) Smurf(directedbroadcast)
廣播信息可以通過一定的手段(通過廣播地址或其他機制)發送到整個網絡中的機器。當某臺機器使用廣播地址發送一個ICMPecho請求包時(例如PING),一些系統會回應一個ICMPecho回應包,也就是說,發送一個包會收到許多的響應包。Smurf攻擊就是使用這個原理來進行的,當然,它還需一個假冒的源地址。也就是說在網絡中發送源地址為要攻擊主機的地址,目的地址為廣播地址的包,會使許多的系統響應發送大量的信息給被攻擊主機。
2) TCP-SYN flood
當用戶進行一次標準的TCP連接時,會有一個3次握手過程。首先是請求服務方發送一個SYN消息,服務方收到SYN后,會向請求方回送一個SYN-ACK表示確認,當請求方收到SYN-ACK后,再次向服務方發送一個ACK消息,這樣,一次TCP連接建立成功。但是TCP-SYN flood在實現過程中只進行前2個步驟:當服務方收到請求方的SYN-ACK確認消息后,請求方由于采用源地址欺騙等手段使得服務方收不到ACK回應,于是,服務方會在一定時間處于等待接收請求方ACK消息的狀態。對于某臺服務器來說,可用的TCP連接是有限的,如果惡意攻擊方快速連續地發送此類連接請求,該服務器可用的TCP連接隊列將很快被阻塞,系統可用資源急劇減少,網絡可用帶寬迅速縮小,長此下去,網絡將無法向用戶提供正常的服務。
3) UDP flood
由于UDP(用戶數據包協議)在網絡中的應用比較廣泛,基于UDP攻擊種類也較多。如今在Internet上提供WWW和Mail等服務設備通常是使用Unix的服務器,它們默認一些被惡意利用的UDP服務,如echo和chargen服務,它會顯示接收到的每一個數據包,而原本作為測試功能的chargen服務會在收到每一個數據包時隨機反饋一些字符,如果惡意攻擊者將這2個UDP服務互指,則網絡可用帶寬將很快耗盡。
4 結束語
網絡攻擊是一種多環節,多視角的,它像物質分子的滲透,無孔不入。網絡攻擊經常是網絡黑客的惡作劇,現在已經演變為商業信息和軍事機密的竊??;戰爭中對敵方軍事活動的干擾也發展演變成為現在的信息戰。
因為采取以上對策外,還要安裝防火墻。但對內部網絡來說,防火墻確實起到了相當大的作用,想要突破它是非常不易的。但是如果對于一臺僅提供WEB服務的主機而言,那么防火墻所起的作用就非常有限。因為既然要對外提供服務,那么就要允許外部的數據包進入主機,但這與防火墻本身的保護機制是互相矛盾的。由于無法把潛在的危險集中于一點,所以黑客就有可能攻擊對外提供報務的主機。即使對外部提供的服務本身,就防火墻本身而言也可能存在漏洞,例如著名的FireWall-1防火墻軟件就已經被發現存在多種漏洞。即使防火墻軟件是完全安全的,如果大意配置不當,那么也會給黑客留下攻擊的縫隙。
參考文獻:
[1] 華勇,高健媛,韓臻.網絡安全存在問題解決方法的研究[J].鐵路計算機應用,2002(1).
[2] 胡小新,王穎,羅旭斌.一種DoS攻擊的防御方案[J].計算機工程與應用,2004(12):160-163
[3] 陳浩.Internet上的網絡攻擊與防范[J].電信技術,1998(4).
[4] 黑客防線[EB/OL].http://www.hacker.com.cn.
[5] 火狐技術聯盟[EB/OL].http://www.wrsky.com.