李光燦
(重慶大學(xué)附屬三峽醫(yī)院信息數(shù)據(jù)部 重慶市 404000)
計(jì)算機(jī)技術(shù)的發(fā)展雖然給人們的生活帶來了便利,但網(wǎng)絡(luò)的攻擊技術(shù)也隨之更新,破壞網(wǎng)絡(luò)安全。不管是從攻擊者的角度來看還是從防御者的角度來看,對(duì)網(wǎng)絡(luò)攻擊技術(shù)特征與發(fā)展趨勢(shì)的研究都具有重要的意義。
網(wǎng)絡(luò)攻擊是指對(duì)網(wǎng)絡(luò)的保密性、完整性、不可抵賴性、可用性、可控性產(chǎn)生危害的任何行為。
網(wǎng)絡(luò)攻擊的常用方式包括:
(1)讀取攻擊:用于偵察和掃描,識(shí)別目標(biāo)主機(jī)運(yùn)行的網(wǎng)絡(luò)服務(wù)以及可能的漏洞。
(2)操作攻擊:以篡改數(shù)據(jù)為手段,攻擊以特權(quán)身份運(yùn)行的服務(wù)程序,取得程序的控制權(quán),如SQL 注入、緩沖區(qū)溢出攻擊。
(3)欺騙攻擊:將自身偽裝成其他用戶實(shí)施攻擊行為,冒充特權(quán)用戶入侵系統(tǒng)。如ARP 欺騙、DNS 欺騙、IP 欺騙和網(wǎng)絡(luò)釣魚等。
(4)泛洪攻擊:目的是讓遠(yuǎn)程主機(jī)無法承受巨大的流量而癱瘓,如Smurf 攻擊和DDoS 攻擊等。
(5)重定向攻擊:將發(fā)往目標(biāo)的信息全部重定向到攻擊者指定的目標(biāo)主機(jī)上,有利于展開下一步攻擊。如ARP 重定向是欺騙受害主機(jī),將攻擊者主機(jī)偽裝成網(wǎng)關(guān),從而截獲所有受害主機(jī)發(fā)往互聯(lián)網(wǎng)的報(bào)文。
(6)Rootkits 技術(shù):Rootkits 是用于隱藏自身及指定文件、進(jìn)程和鏈接的惡意軟件工具集,集多種攻擊技術(shù)于一體,常與其它惡意代碼結(jié)合使用,
網(wǎng)絡(luò)攻擊的常用手段包括:
(1)網(wǎng)絡(luò)監(jiān)聽。大多數(shù)網(wǎng)絡(luò)通信采用未經(jīng)加密的明文通信,因此只要攻擊者獲取數(shù)據(jù)通信的傳輸路徑即可輕易實(shí)現(xiàn)監(jiān)聽,監(jiān)聽型攻擊會(huì)造成數(shù)據(jù)泄露,危及敏感數(shù)據(jù)安全。
(2)篡改數(shù)據(jù)。攻擊者對(duì)截獲的數(shù)據(jù)進(jìn)行修改,并使得數(shù)據(jù)收發(fā)雙方無法察覺。
(3)網(wǎng)絡(luò)欺騙。常見的欺騙攻擊主要有IP 欺騙、ARP 欺騙、DNS 欺騙、路由欺騙、網(wǎng)絡(luò)釣魚。
(4)弱口令攻擊。攻擊者通過各種方式成功獲取和破解合法用戶的口令,從而冒充合法用戶進(jìn)入系統(tǒng)。
(5)拒絕服務(wù)攻擊。破壞性攻擊,直接使目標(biāo)系統(tǒng)停止工作或耗盡目標(biāo)網(wǎng)絡(luò)的帶寬使之無法為正常請(qǐng)求提供服務(wù)。
(6)漏洞破解。利用系統(tǒng)漏洞實(shí)施攻擊,獲取系統(tǒng)訪問權(quán)限。
(7)木馬攻擊。在正常的Web 頁面或聊天界面中植入惡意代碼或鏈接,誘使用戶查看或點(diǎn)擊,然后自動(dòng)下載木馬程序到目標(biāo)用戶主機(jī),使得攻擊者可以通過木馬遠(yuǎn)程控制用戶主機(jī)。
一次成功的網(wǎng)絡(luò)攻擊通常包括以下步驟:
信息收集是指通過各種方式獲取目標(biāo)主機(jī)或網(wǎng)絡(luò)的信息,屬于攻擊前的準(zhǔn)備階段,也是一個(gè)關(guān)鍵的環(huán)節(jié)。收集的信息通常包括:
(1)網(wǎng)絡(luò)接入方式:撥號(hào)接入、無線局域網(wǎng)接入、以太網(wǎng)接入、VPN 遠(yuǎn)程接入等。
(2)目標(biāo)網(wǎng)絡(luò)信息:域名范圍、IP 地址范圍、具體地理位置等。
(3)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):交換設(shè)備類型、設(shè)備生產(chǎn)廠家、傳輸網(wǎng)絡(luò)類型等。
(4)網(wǎng)絡(luò)用戶信息:郵件地址范圍、用戶賬號(hào)密碼等。
收集信息的方式包括:
(1)使用常見的搜索引擎,如Google、百度等。
(2)使用dmitry 等工具通過whois 服務(wù)器查詢主機(jī)的具體域名和地理信息。
(3)使用netdiscover 等工具查詢主機(jī)的IP 地址范圍,使用dnsmap、dnswalk 等工具查詢域名空間。
(4)使用社會(huì)工程學(xué)手段獲得有關(guān)社會(huì)信息,如網(wǎng)站所屬公司的名稱、規(guī)模,管理員的生活習(xí)慣、電話號(hào)碼等。maltego 就是一款收集此類社會(huì)信息的查詢工具。
網(wǎng)絡(luò)隱身是指在網(wǎng)絡(luò)中隱藏自己真實(shí)的IP 地址,使受害者無法反向追蹤到攻擊者。常用方法包括:
(1)IP 假冒或盜用。TCP/IP 協(xié)議不檢查源IP 地址,所以攻擊者可以定制一個(gè)虛假源IP;有的訪問控制系統(tǒng)會(huì)設(shè)置IP 訪問黑名單,攻擊者可以修改IP 地址從而繞過該機(jī)制。
(2)MAC地址盜用。有些網(wǎng)絡(luò)接入系統(tǒng)針對(duì)MAC地址做限制,攻擊者通過修改自身主機(jī)的MAC 地址即可以冒充合法主機(jī)接入目標(biāo)網(wǎng)絡(luò),從而發(fā)起攻擊。
(3)代理隱藏。攻擊者收集目標(biāo)信息時(shí),通常通過免費(fèi)代理進(jìn)行,即使被管理員發(fā)現(xiàn),也僅是發(fā)現(xiàn)代理地址,而不會(huì)發(fā)現(xiàn)攻擊者的真實(shí)IP;如果攻擊者通過多個(gè)代理級(jí)聯(lián),那么就更加難以追蹤。
(4)冒充真實(shí)用戶。通過監(jiān)聽或破解網(wǎng)絡(luò)合法用戶的賬號(hào)和口令后,利用該賬戶進(jìn)入目標(biāo)網(wǎng)絡(luò)。
(5)僵尸機(jī)器。入侵互聯(lián)網(wǎng)上的某臺(tái)僵尸主機(jī),通過該主機(jī)進(jìn)行攻擊,并在該主機(jī)上清除所有與攻擊者有關(guān)的痕跡,即使目標(biāo)系統(tǒng)的管理員發(fā)現(xiàn)了攻擊行為,也只能看到僵尸機(jī)器的IP 地址,而發(fā)現(xiàn)不了攻擊者的真實(shí)地址。
掃描首先要確定主機(jī)的操作系統(tǒng)類型和版本、提供哪些服務(wù)、服務(wù)軟件的類型和版本等信息,然后檢測這些系統(tǒng)軟件和服務(wù)軟件的版本是否存在已經(jīng)公開的漏洞,并且漏洞還沒有及時(shí)打上補(bǔ)丁。
一個(gè)端口開放即意味著遠(yuǎn)程主機(jī)開啟了一個(gè)服務(wù),這可能是一個(gè)潛在的通信通道甚至是一個(gè)入侵通道。端口掃描就是找出目標(biāo)主機(jī)或目標(biāo)設(shè)備開放的端口和提供的服務(wù),為下一步攻擊做好準(zhǔn)備。它向TCP/UDP 服務(wù)端口發(fā)送探測報(bào)文,記錄并分析響應(yīng)報(bào)文以判斷目標(biāo)端口處于打開還是關(guān)閉狀態(tài),分為TCP 端口掃描和UDP 端口掃描兩類。TCP 端口掃描包括全連接掃描、半連接掃描、FIN 掃描、ACK掃描、NULL掃描、XMAS掃描、TCP窗口掃描和自定義掃描等,除了全連接掃描外,其它掃描類型都屬于隱蔽掃描,因?yàn)樗鼈儾粫?huì)被日志審計(jì)系統(tǒng)發(fā)現(xiàn)。除了全連接和半連接掃描外,其它TCP 掃描類型的結(jié)果正確性都依賴于具體操作系統(tǒng)的實(shí)現(xiàn)。UDP 端口掃描只有唯一一種類型。
漏洞掃描是針對(duì)特定應(yīng)用和服務(wù)查找目標(biāo)網(wǎng)絡(luò)中存在哪些漏洞,它們是成功實(shí)施攻擊的關(guān)鍵所在。根據(jù)漏洞的屬性和利用方法,漏洞分為操作系統(tǒng)漏洞、應(yīng)用服務(wù)漏洞和配置漏洞等。操作系統(tǒng)漏洞按照不同系統(tǒng)分類,如Windows、Linux、UNIX 系統(tǒng)等;應(yīng)用服務(wù)漏洞按照具體的服務(wù)類型、服務(wù)程序名和版本號(hào)分類;配置漏洞按照系統(tǒng)類型、程序名稱和設(shè)置選項(xiàng)分類。網(wǎng)絡(luò)安全管理員需要定期對(duì)管理的網(wǎng)絡(luò)或設(shè)備進(jìn)行漏洞掃描,提升網(wǎng)絡(luò)安全性。漏洞掃描技術(shù)包括基于漏洞數(shù)據(jù)庫和基于插件兩種。
漏洞掃描主要采取兩種方法:
(1)根據(jù)端口和服務(wù)掃描的結(jié)果,與已知漏洞數(shù)據(jù)庫進(jìn)行匹配,檢測是否有滿足匹配的漏洞存在。
(2)根據(jù)已知漏洞存在的原因設(shè)置必要的檢測條件,對(duì)目標(biāo)進(jìn)行淺層次的攻擊測試,以判斷漏洞是否存在,如存在則報(bào)告漏洞的詳細(xì)信息。
所謂淺層次攻擊是指并不實(shí)際攻擊系統(tǒng),而是僅依據(jù)漏洞的特征進(jìn)行測試,以判斷漏洞存在的可能性,所以掃描器的報(bào)告信息有時(shí)未必十分準(zhǔn)確。
通過信息收集和網(wǎng)絡(luò)掃描收集到足夠的目標(biāo)信息后,攻擊者即可開始實(shí)施網(wǎng)絡(luò)攻擊。攻擊的目的一般分為信息泄露、完整性破壞、拒絕服務(wù)和非法訪問4 種基本類型,攻擊的方式主要包括口令破解、中間人攻擊、惡意代碼攻擊、漏洞破解、拒絕服務(wù)攻擊等。早期的攻擊工具往往是針對(duì)某個(gè)具體漏洞單獨(dú)開發(fā),如針對(duì)Windows RPC漏洞MS03-026 的攻擊工具scanms.exe,其自動(dòng)尋找網(wǎng)絡(luò)中的漏洞主機(jī)并可批量發(fā)起攻擊。目前,網(wǎng)絡(luò)攻擊正在向平臺(tái)化和集成化發(fā)展,攻擊者可以根據(jù)研究者公開的漏洞直接在平臺(tái)上利用已有模塊快速開發(fā)和部署漏洞破解程序,并集成其它的工具實(shí)施完整的攻擊,此類平臺(tái)最著名的代表是Rapid7 公司出品的Metasploit 工具包,不僅包含大量最新的漏洞,還幾乎集成了所有網(wǎng)絡(luò)攻擊所需要的軟件工具,同時(shí)提供了諸多開發(fā)模塊,方便攻擊者開發(fā)新的破解程序。
攻擊者在成功完成對(duì)目標(biāo)的遠(yuǎn)程攻擊后,為保持對(duì)目標(biāo)的長久控制并再次方便地進(jìn)入目標(biāo)系統(tǒng),需要建立一些進(jìn)入系統(tǒng)的特殊途徑,即網(wǎng)絡(luò)后門。理想的后門應(yīng)該是無論用戶賬號(hào)是否變化,無論系統(tǒng)服務(wù)是開啟還是關(guān)閉,無論系統(tǒng)配置如何變化,都存在一條秘密通道能夠讓攻擊者再次隱蔽進(jìn)入目標(biāo)系統(tǒng)或網(wǎng)絡(luò)。創(chuàng)建后門的主要方法包括:開放連接端口、修改系統(tǒng)配置、安裝監(jiān)控器、建立隱蔽連接通道、創(chuàng)建用戶賬號(hào)、安裝遠(yuǎn)程控制工具和替換系統(tǒng)文件等。
當(dāng)攻擊者成功進(jìn)入目標(biāo)系統(tǒng)時(shí),不論他采取何種方式進(jìn)入或者實(shí)施哪些攻擊操作,操作系統(tǒng)或者網(wǎng)絡(luò)服務(wù)程序分別會(huì)在日志中忠實(shí)記錄相應(yīng)的事件。如果安全人員每天都例行查看這些日志,則很容易發(fā)現(xiàn)系統(tǒng)被攻擊或入侵。因此攻擊者必須清楚地了解他的每個(gè)動(dòng)作會(huì)在系統(tǒng)中留下什么樣的記錄,并且使用相應(yīng)的工具或腳本將記錄從日志中清除,且不會(huì)被安全人員察覺。
攻擊Windows7 系統(tǒng)可能留下的痕跡主要包括:
(1)事件查看器記錄的管理事件日志、系統(tǒng)日志、安全日志、Setup日志、應(yīng)用程序日志、應(yīng)用程序和服務(wù)日志。
(2)如果利用HTTP 協(xié)議進(jìn)行攻擊或者后門設(shè)置,則可能在瀏覽器或者Web 服務(wù)器上留下相應(yīng)的訪問和使用記錄。
(3)相應(yīng)的系統(tǒng)使用痕跡。
Linux 下的大多數(shù)日志文件是以文本方式或者以簡單的結(jié)構(gòu)體方式存入文件,因此可以針對(duì)不同的日志格式編寫相應(yīng)的痕跡清除工具。
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)攻擊技術(shù)越來越先進(jìn),我們要熟悉各種網(wǎng)絡(luò)攻擊技術(shù),以便采用更有效的安全措施抵御網(wǎng)絡(luò)攻擊。