信息系統安全第1章_第1頁
信息系統安全第1章_第2頁
信息系統安全第1章_第3頁
信息系統安全第1章_第4頁
信息系統安全第1章_第5頁
已閱讀5頁,還剩101頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章信息系統安全威脅

信息系統安全威脅,指對于信息系統的組成要素及其功能造成某種損害的潛在可能。

攻擊或是獲取目標系統的信息,或是破壞目標系統,或是控制目標系統為已所用。形式上看有三種:(1)惡意代碼攻擊:病毒、特洛伊木馬、蠕蟲、細菌、陷門、邏輯炸彈等。(2)竊聽攻擊:聲波、電磁波、手機和網絡竊聽、光纜監聽。(3)黑客攻擊:消息采集、代碼漏洞攻擊、欺騙和會話劫持攻擊、分布式攻擊和其他攻擊。1.1計算機病毒定義:利用計算機軟件與硬件的缺陷,破壞計算機數據并影響計算機正常工作的一組指令集或程序代碼。1.1.1病毒的特征1.傳染性:指再生機制(單機通過移動介質中的引導扇區、操作系統文件和應用文件;網絡通過電子郵件、Web頁面等特殊文件和共享方式)。傳染分為被動(傳播和復制)和主動(激活時自我復制)。2.潛伏性與隱蔽性:指不立即表現異常,代碼小不易發現)3.寄生性:指寄存在可以獲得執行權的程序(稱宿主程序)中。有兩種寄生對象,一是磁盤引導扇區,二是執行文件(.COM/.EXE)中。方式,或替代法或鏈接法。4.非授權執行性,指在正常合法程序(用戶或程序調用)運行時伺機取得系統控制權。5.可觸發性:指在一定條件下被激發發起攻擊。條件:日期/時間觸發、計數器觸發、鍵盤觸發、啟動觸發、感染觸發、組合條件觸發。6.破壞性,指破壞能力。表現在:占用或消耗CPU資源以及內存空間、干擾系統運行、攻擊CMOS、攻擊系統數據區、攻擊文件、干擾外部設備運行、破壞網絡系統的正常運行。1.1.2病毒分類(標準)1.按照所攻擊的操作系統:DOS病毒、UNIX/Linux病毒、OS/2、Windows病毒、Macintosh病毒、手機病毒、網絡病毒。2.按照寄生位置:1)引導型病毒:①主引導區(masterbootrecord,MBR)病毒②分區引導區(bootrecord,BR)病毒;2)文件型病毒:①可執行文;②文檔文件或數據文件;③Web文檔;④目錄文件。

3)引導兼文件型病毒。4)CMOS病毒。3.按照是否駐留內存:①駐留(Resident)病毒:高端、常規、內存控制鏈、設備程序補丁;②非駐留(Nonrresident)病毒。4.按照病毒形態:(1)多態病毒;(2)隱身病毒(規模修改、讀修改);(3)逆錄病毒(關閉、繞過病毒查防程序、破壞完整性校驗軟件中的完整性數據庫);(4)外殼(shell)病毒;(5)伴隨病毒;⑹噬菌體病毒。5.按照感染方式:⑴寄生病毒(頭寄生、尾寄生、中間插入和空洞利用);⑵覆蓋病毒;⑶無入口點病毒⑷伴隨病毒;⑸鏈接病毒。6.按照破壞能力:(1)無害型;(2)無危險型;(3)危險型;(4)非常危險型。1.1.3病毒的基本機理1.引導模塊(1)引導(主控)模塊的基本功能:①將病毒程序裝入內存;②保存內存中的病毒代碼不被覆蓋;③設置病毒的觸發條件。(2)引導過程:①檢測運行環境;②駐留內存;③竊取控制權;④恢復系統功能。(3)病毒代碼引導模塊的算法示例。2.感染模塊

(1)病毒感染標志(簽名):指ASCII碼形式的數字或字符串。(2)感染模塊的功能:作用是在特定的感染條件下,將病毒代碼復制到傳染目標上去。功能包括3個:①尋找感染目標;②測試感染條件是否滿足;③實施感染。(3)感染模塊的組成:①感染條件判斷子模塊;②感染功能實現子模塊。(4)病毒代碼感染模塊的算法示例。4種狀態:潛伏、感染、觸發和發作。為實現狀態變換有3模塊。3.表現模塊(1)表現模塊結構:作用是在被傳染系統上表現出特定現象,主要是產生破壞被傳染系統的行為。大部分病毒都是在一定條件下才會被觸發而發作。①表現條件判斷子模塊;②表現功能實現子模塊。(2)病毒代碼表現模塊的算法示例。⒋病毒代碼的主函數算法。1.1.4引導型病毒分析

引導型病毒是隱藏在磁盤主引導區和分區引導區的病毒。由圖1.1知,引導程序的入口存放在引導扇區的某個固定位置。現置換成病毒程序入口地址,于是,在系統要裝載引導程序時,實際上把引導病毒裝入內存,然后再裝入引導程序。病毒程序駐留內存后,監視系統,伺機傳染和破壞。按位置分為:主引導記錄和分區主引導記錄病毒兩種。

其工作原理如下:1.引導型病毒的自舉系統加電或復位進入ROM-BIOS讀引導至0000:7C00H并執行自舉完成系統復位讀COMMAND.COM到內存系統加電或復位bb引導至0000:7C00H,并執行自舉完成系統復位讀COMMAND.COM到內存引導區病毒并執行病毒程序修改中斷向量復制病毒/感染磁盤移動BOOT引導程序到別處,病毒程序放在硬盤的0面0道1扇區,修改INT13H中斷服務處理程序入口地址。2.裝入內存過程1系統開機后,進入系統檢測,檢測正常后,從0面0道1扇區,即邏輯0扇區讀取信息到內存的0000~7C00處:2系統開始運行病毒引導部分,將病毒的其他部分讀入到內存的某一安全區3病毒修改INT13H中斷服務處理程序的入口地址,使之指向病毒控制模塊并執行。4病毒程序全部讀入后,接著讀入正常boot內容到內存0000:7C00H處,進行正常的啟動過程。5病毒程序伺機等待隨時感染新的系統盤或非系統盤。3.攻擊過程①

將目標盤的引導扇區讀入內存,判斷它是否感染了病毒。②滿足感染條件時,將病毒的全部或一部分寫入boot區,把正常的磁盤引導區程序寫入磁盤特定位置。③返回正常的INT13H中斷服務處理程序,完成對目標盤的傳染過程。1.Win32PE文件格式代碼調試信息(可選)COFF符號表(可選)COFF符號表符號個數(可選)代碼調試信息(可選)…段..reloc段.idata段.edata段.data段.text段段表數據目錄文件頭PE\0\0DOS.stubDOS‘MZ’頭

偏移PE文件標志

可選頭NT頭1.1.5Win32PE文件病毒解析Win32PE文件是Win32環境下的PE格式的可執行文件。下面說明PE文件的結構和運行機制。MZ格式的可執行文件的簡單結構MZ標志MZ文件頭其它信息重定位表的字節偏移量重定位表重定位表可重定位程序映像二進制代碼2.PE文件的裝載過程⑴PE文件被執行時,PE裝載器檢查DOSMZ頭中的PE頭偏移量;找到了,就跳轉到PE頭。⑵PE檢查器檢查PE頭的有效性。有效,就跳轉到PE頭的尾部。⑶

讀取段表中的信息,通過文件映射,將段映射到內存,同時附上段表中指定的段的屬性。⑷PE文件映射到內存后,PE裝載器處理PE文件中的有關邏輯。3.重定位4.獲取API函數地址。5.其他機制⑴搜索目標文件。通常通過兩個API函數FindFiratFilehe和FindNextFile實現。⑵內存文件映射。使用內存文件映射進行文件讀寫。⑶感染其他文件。⑷返回到宿主程序。1.1.6病毒防治查防殺復1.病毒的預防(1)對新購置的計算機硬軟件系統進行測試。(2)單臺計算機系統的安全使用(3)計算機網絡的安全使用(4)重要數據文件要有備份(5)強化安全管理(6)防范體系與規范建設2.病毒檢測(1)現象觀測法(2)進程監視法(3)比較法(4)特征代碼法(5)軟件模擬法(6)分析法3.病毒的清除(1)引導型病毒的清除(2)文件型病毒的清除(3)宏病毒的清除4.抗病毒軟件(1)病毒防治軟件的類型①病毒掃描型軟件

②完整性檢查型軟件

③行為封鎖型軟件。(2)病毒防治軟件的選擇指標①識別率:·誤報(falsepositive)率·漏報(falsenegative)率②檢測速度③動態檢測(on-the-flyscanning)能力④按需檢測(on-demandscanning)能力⑤多平臺可用性⑥可靠性。(3)病毒防治軟件產品①國外防病毒產品及查詢網站②國外防病毒產品及查詢網站。5.病毒代碼侵害系統的恢復(1)首先必須對系統破壞程度有詳細而全面的了解,并根據破壞的程度來決定采用對應的有效清除方法和對策:(2)修復前,盡可能再次備份重要數據文件。(3)啟動防殺計算機病毒軟件并對整個硬盤進行掃描。(4)利用防殺計算機病毒軟件清除文件中的計算機病毒。如果可執行文件中的計算機病毒不能被清除,應將其刪除后重新安裝相應的應用程序。(5)殺毒完成后,重啟計算機,再次用防殺計算機病毒軟件檢查系統中是否還存在計算機病毒,并確定被感染破壞的數據確實被完全恢復。(6)對于殺毒軟件無法殺除的計算機病毒,應將計算機病毒樣本送交防殺計算機病毒軟件廠商的研究中心,以供詳細分析。1.2蠕蟲1.2.1蠕蟲的特征

1.蠕蟲的特征(1)存在的獨立性(2)攻擊的對象是計算機系統(病毒攻擊對象是文件系統)(3)感染的反復性(與病毒相同)。但是,病毒與蠕蟲的傳染機制有三點不同:·病毒傳染是一個將病毒代碼嵌入到宿主程序的過程,而蠕蟲的傳染是自身的拷貝;·病毒的傳染目標針對本地程序(文件),而蠕蟲是針對網絡上的其他計算機;·病毒是在宿主程序運行時被觸發進行傳染,而蠕蟲是通過系統漏洞進行傳染。(4)攻擊的主動性(5)破壞的嚴重性P19~21。(6)行蹤的隱蔽性1.2.2.蠕蟲的基本傳播過程1.2.3蠕蟲的掃描機制

能隱蔽傳播網上更多的主機。故其策略是隨機選取IP地址對其上主機掃描。易引起網絡擁塞。

掃描策略改進的原則是,盡量減少重復的掃描,使掃描發送的數據包盡量少,并保證掃描覆蓋盡量大的范圍。按照這一原則,可以有如下一些策略:(1)在網段的選擇上,可以主要對當前主機所在網段進行掃描,對外網段隨機選擇幾個小的IP地址段進行掃描。(2)對掃描次數進行限制。(3)將掃描分布在不同的時間段進行,不集中在某一時間內。(4)針對不同的漏洞設計不同的探測包,提高掃描效率。1.2.4.蠕蟲的隱藏手法(1)修改蠕蟲在系統中的進程號和進程名稱,掩蓋蠕蟲啟動的時間記錄。(2)將蠕蟲拷貝到一個目錄下,并更換文件名為已經運行的服務名稱,使任務管理器不能終止蠕蟲運行。這時要參考ADVAPI32.DLL中的OpnSCManagerA和CreateServiceA.API函數。(3)刪除自己:·在Windows95系統中,可以采用DeleteFileAPI函數。·在Windows98/NT/2000中,只能在系統下次啟動時刪除自己。1.2.5蠕蟲程序的功能結構(1)傳播模塊(蠕蟲自動入侵功能)傳播模塊由掃描子模塊、攻擊子模塊和復制子模塊組成。·掃描模塊負責探測存在漏洞的主機。當程序向某個主機發送探測漏洞的信息并收到成功的反饋信息后,就會得到一個可傳播的對象。·攻擊模塊按照漏洞攻擊步驟自動攻擊已經找到的攻擊對象,獲得一個shell。獲得一個shell,就擁有了對整個系統的控制權。對Win2x來說,就是cmd.exe。·復制模塊通過原主機和新主機的交互,將蠕蟲程序復制到新主機并啟動,實際上是一個文件傳輸過程。(2)隱藏模塊:侵入主機后,隱藏蠕蟲程序,防止被用戶發現。(3)目的模塊:實現對計算機的控制、監視或破壞等功能。1.3特洛伊木馬1.3.1特洛伊木馬及其特征古希臘詩人荷馬(Homer)在其史詩依利雅得(TheIliad)中,描述了一個故事:希臘王的王妃海倫被特洛伊(Troy)的王子掠走,希臘王在攻打Troy城時,使用了木馬計(thestratagemofTrojanhorse),在巨大的木馬內裝滿了士兵,然后假裝撤退,把木馬留下。特洛伊人把木馬當作戰利品拉回特洛伊城內。到了夜間,木馬內的士兵,鉆出來作為內應,打開城門。希臘王得以攻下特洛伊城。此后,人們就把特洛伊木馬(Trojanhorse)作為偽裝的內部顛覆者的代名詞。

它是危害性極大的惡意代碼,執行遠程非法操作者的指令,進行數據和文件的竊取、篡改和破壞及使系統自毀任務。其特征是:(1)目的性和功能特殊性。特定的使命,例盜號、網銀和下載;特殊的功能,例搜索口令、掃描IP地址、鍵盤記錄、遠程注冊、鼠標鎖定。(2)非授權性與受控性。一旦控制端與服務端建立連接后,控制端將竊取用戶密碼,獲取大部分操作權限,如修改文件、修改注冊表、重啟或關閉服務端操作系統、斷開網絡連接、控制服務端鼠標和鍵盤、監視服務端桌面操作、查看服務端進程等。這些權限不是用戶授權的,而是木馬自己竊取的。(3)非自繁殖性與非自傳播性可預入性。一般說來,病毒具有極強的傳染性,、蠕蟲具有強大的傳播性,木馬不具備繁殖性和自動感染的功能,其傳播是通過一些手段植入的。木馬程序可以在系統軟件和應用軟件的文件傳播中人為植入,也可以在系統或軟件設計時被故意放置進來。例如微軟曾在其操作系統設計時故意放置了一個木馬程序,可以將客戶的相關信息發回到其總部。(4)欺騙性。隱藏是一切惡意代碼的存在之本。而木馬為了獲得非授權的服務,還要通過欺騙進行隱藏。1.3.2特洛伊木馬分類1、根據攻擊動作方式分類(1)遠程控制型遠程控制就是在計算機間通過某種協議(如TCP/IP協議)建立起一個數據通道。通道的一端發送命令,另一端解釋并執行該命令,并通過該通道返回信息。(2)信息竊取型這種木馬一般不需要客戶端,運行時不會監聽端口,只悄悄地在后臺運行,一邊收集敏感信息,一邊不斷檢測系統的狀態。一旦發現系統已經連接到Internet上,就在受害者不知情的情形下將收集的信息通過一些常用的傳輸方式(如電子郵件、ICQ、FTP)把它們發送到指定的地方。(3)鍵盤記錄型鍵盤記錄型木馬只做一件事情,就是記錄受害者的鍵盤敲擊,并完整地記錄在LOG文件中。(4)毀壞型毀壞型木馬以毀壞并刪除文件(如受害者計算機上的.dll、.ini或.exe)為主要目的。2.根據木馬程序的功能分類⑴網絡游戲木馬⑵網銀木馬。針對網上交易,竊取用戶的卡號、密碼甚至安全證書,⑶即時通信軟件木馬。有3種:①發送消息型;②盜號型;③傳播自身型。⑷網頁點擊類木馬⑸下載類木馬⑹代理類木馬1.3.3木馬的功能與結構1.木馬的功能⑴遠程監視與控制⑵遠程管理⑶獲得主機信息并發送消息⑷修改系統注冊表⑸執行遠程命令2.木馬軟件的結構⑴木馬配置程序⑵木馬控制程序⑶木馬程序(服務器程序)3.木馬的植入(1)手工放置:手工放置比較簡單,是最常見的做法。手工放置分本地放置和遠程放置兩種。本地安裝就是直接在計算機上進行安裝。遠程安裝就是通過常規攻擊手段使獲得目標主機的上傳權限后,將木馬上傳到目標計算機上,然后通過其他方法使木馬程序運行起來。(2)以郵件附件的形式傳播:控制端將木馬改頭換面后,然后將木馬程序添加到附件中,發送給收件人。(3)通過OICQ對話,利用文件傳送功能發送偽裝了的木馬程序。(4)將木馬程序捆綁在軟件安裝程序上,通過提供軟件下載的網站(Web/FTP/BBS)傳播。(5)通過病毒或蠕蟲程序傳播。(6)通過磁盤或光盤傳播。4.木馬程序的一般隱藏策略(1)進程隱蔽(2)修改文件標志,即偽裝成圖像文件。即將木馬圖標修改成圖像文件圖標。(3)偽裝成應用程序擴展組件。(4)錯覺欺騙。利用人的錯覺,例如故意混淆文件名中的1(數字)與l(L的小寫)、0(數字)與o(字母)或O(字母)。(5)合并程序欺騙。(6)出錯顯示─施放煙幕彈。(7)定制端口。(8)木馬更名。5.便于木馬啟動的隱藏方式⑴集成到程序中⑵隱藏在配置文件中⑶潛伏在Win.ini中⑷隱藏在System.ini中:①[boot]hell=Explorer.exe②┅③┅⑸隱藏在Winstart.bat中⑹捆綁在啟動啟動配置文件中⑺設置在超級連接中⑻加載程序到啟動詞組:①開始啟動項②③注冊表⑼注冊成為服務項。1.3.4木馬的連接與遠程控制1.木馬的連接,3類:⑴正向⑵反向⑶反彈連接型2.木馬的遠程控制(通道)⑴竊取密碼⑵文件操作⑶修改注冊表⑷系統操作3.木馬的數據傳送。多種,靠TCP、UDP傳送。4.數據傳送時躲避偵察的方法,3種:⑴合并端口法、⑵修改ICMP頭法。⑶為了避免被發現,木馬程序必須很好地控制數據傳輸量。例如把屏幕畫面切分為了多個部分,并將畫面存儲為JPG格式,使壓縮率變高,使數據變得十分小,甚至在屏幕沒有改變的情況下,傳送的數據量為0。1.3.5關于惡意代碼的概念惡意代碼指一類特殊的程序代碼,在用戶不知曉也未授權的情況下潛入到計算機系統中產生不良影響。除前述3種外,還有:⑴邏輯炸彈(嵌入較大程序無復制功能)⑵細菌(具獨立性自我繁殖)⑶惡意廣告(強制彈出欺騙安裝)⑷Cookie與網絡臭蟲⑸各種黑客工具。1.4通信竊聽

(工具和方法)1.4.1世界著名監聽案例(11)1.4.2聲波竊聽1.4.3電磁波竊聽1.4.4光纜竊聽1.4.5手機監聽1.4.6共享網絡中的竊聽1.5信息系統敏感數據獲取

信息系統敏感數據指網絡拓撲結構、網絡地址、端口開放狀態、運行什么樣的操作系統、存在哪些漏洞以及用戶口令等關系到信息系統的運行和安全狀態。

獲取與網絡有關敏感數據的手段稱網絡掃描(網絡信息采集)。內容包括地址、端口和漏洞掃描。它是管理者用以維護網絡的手段,也是攻擊者踩點、確定攻擊目標和方法的基本手段。再用口令破解手段獲得用戶口令,就可進入系統。1.5.1網絡掃描(IP地址上主機是否活動、在線、端口及路由狀況)1.地址掃描(直接使用操作系統的有關命令)地址掃描就是判斷某個IP地址上有無活動主機或某臺主機是否在線。最簡單的地址掃描方法是使用ping命令,用ping命令向目標主機發送ICMP回顯請求報文,并等待ICMP回顯應答。如果ping不到某臺主機,就表明它不在線即:⑴ping⑵tracert⑶pathping⑷who⑸ruser⑹finger⑺host⑻netstat2.端口掃描技術在TCP/IP網絡中,端口號是主機上提供的服務的標識。例如,FTP服務的端口號為21、Telnet服務的端口號為23、DNS服務的端口號為53、Http服務的端口號為53等。入侵者知道了被攻擊主機的地址后,還需要知道通信程序的端口號;只要掃描到相應的端口被打開著,就知道目標主機上運行著什么服務,以便采取針對這些服務的攻擊手段。

下面介紹常用端口掃描技術。(1)全連接掃描與半連接掃描(半開放掃描)TCP連接通過三次握手(three-wayhandshake)建立。下圖中,若主機B運行一個服務器進程,則它要首先發出一個被動打開命令,要求它的TCP準備接收客戶進程的連接請求,然后服務器進程就處于“聽”狀態,不斷檢測有無客戶進程發起連接的請求。SYN=1,ACK=0,SEQ=y,ACK=x+1器TCPB

主機B

主機ATCPASYN=1,ACK=1,SEQ=xSYN=1,ACK=1,SEQ=x+1,ACK=y+1

連接請求

確認

確認(2)TCPFIN掃描FIN是釋放連接的數據報文,表明發送方已經沒有數據要發送了。很多日志不記錄這類報文。“TCPFIN掃描”的原理是向目標端口發送FIN報文,如果收到了RST的回復,表明該端口沒有開放;反之(沒有回復),該端口是開放的,因為打開的端口往往忽略對FIN的回復。(3)認證(反向)掃描反向掃描是一種地址掃描技術,主要用于獲得可到達網絡和主機的地址列表,借以推斷出一個網絡的結構分布圖。其基本原理是利用了多數路由器只對報文中的地址進行檢查,而不分析報文的內容。具體方法是使用可以穿過防火墻的RST數據報文對網絡地址進行掃描。向一個網絡中的所有地址發送RST報文后,路由器會對這些報文進行檢查:當目標地址不可到達時,就送回ICMP差錯報文;沒有返回的ICMP差錯報文的,就是主機在線。根據不在線的主機,進行求逆可以獲得在線主機列表。(4)UDPICMP端口不能到達掃描使用UDP協議。對掃描探測不發送確認。但許多主機在一個未打開的UDP端口上收到數據包時會返回一個ICMP_PORT_UNREACH錯誤。這種掃描需有重新傳輸機制和root權限。(6)亂序掃描亂序掃描就是對掃描的端口號集合,隨機地產生掃描順序,并且每次的掃描順序不同。這就給對入侵檢測系統的發覺帶來困難。(5)UDPrecvfrom()和write()掃描當非root用戶不能直接讀到端口不能到達錯誤時,Linux能間接地在它們到達時通知用戶。3.網絡掃描工具

⑴NMap⑵SuperScan⑶Wireshark1.5.2漏洞掃描漏洞是系統所存在的安全缺陷或薄弱環節。入侵者通過掃描可以發現可以利用的漏洞,并進一步通過漏洞收集有用信息或直接對系統實施威脅。管理人員可以通過掃描對所管理的系統和網絡進行安全審計,檢測系統中的安全脆弱環節。常用的掃描工具有Xscan等。1.系統安全漏洞的類型⑴基于觸發主動性的漏洞分類:①主動觸發漏洞②被動觸發漏洞。

⑵基于發現時間的漏洞分類:①已發現很久②剛發現③0day。

⑶基于系統或部位的漏洞分類:①操作系統②Web服務器③不同服務器相互感染④數據庫服務器⑤應用程序⑥內存覆蓋。⑷基于成因的漏洞分類:①操作性:寫入內容被控制、內容內容信息被輸出;②配置漏洞:系統、網絡結構;③協議漏洞(僅考慮效率和可靠性沒考慮安全)④程序漏洞:緩沖區溢出、格式字符串、BIND等。。2.常用漏洞掃描器

⑴ISS/SAFESuite

⑵Nessus

⑶Mysfind

⑷X-Scan

⑸Zenoss

⑹AppScan

⑺Nikto

⑻N-Stealth1.5.3口令破解

1.口令破解的基本技術(1)口令字典猜測破解法(2)窮舉破解法(3)組合破解法(4)其他破解類型社會工程學:通過對目標系統的人員進行游說、欺騙、利誘,獲得口令或部分。偷窺:觀察別人敲口令。搜索垃圾箱。2.口令破解工具

⑴Cain&Abel⑵DSniff⑶JohntheRipper⑷L0phtCrack4⑸網絡剌客1.6網絡欺騙漏洞攻擊舉例

網絡欺騙(spoofing)指在網絡環境下,兩臺建立了信任關系的計算機之間,攻擊者冒充其中一臺,對另一臺進行欺騙性連接,而后對其發起攻擊(獲取有用資源)的行為。

針對網絡協議漏洞實施的。

1.6.1ARP欺騙----交換網絡監聽在交換網絡中,交換式設備可準確地將數據報文發給目的主機,這時,能直接收聽的是群發幀和廣播幀。由于一個局域網上發往其它網絡的數據幀的目標地址都是指向網關的,故實施監聽的一個簡單的方法是將安裝有Sniffer軟件的計算機偽裝成網關,這即是ARP欺騙竊聽。1.ARP欺騙竊聽原理

ARP(AddressResolutionProtocol,地址解析協議)一種將32位IP地址轉化成48位MAC地址的協議。其工作過程是:當某臺主機要發送或轉發來自網絡層的數據時,首先要廣播一個ARP請求,詢問哪臺主機擁有這個IP地址。而該IP地址的擁有者則用含有該IP地址和相應MAC地址的幀進行應答。這樣,發送者就會將之存入自己的高速緩存,并根據這種對應關系發送數據。但是,ARP的特點是無狀態,即在沒有請求時也可以發送應答的包。入侵者可以利用這一點,向網絡上發送自己定制的包,包中包括源IP地址、目的IP地址以及硬件地址,不過它們都是偽造的。這些偽造的數據,會修改網絡上主機中的ARP高速緩存。這就是所謂的中間人攻擊,就是使進行監聽的主機插入到被監聽主機與其它網絡主機之間,利用ARP欺騙進行攻擊,造成進行監聽的主機與其它主機通信的中繼。

例:A→B發送IP包,寫有目標B的IP地址,網上傳輸時,須獲得目標B的MAC地址,為此A先必須廣播一個ARP請求包,B收到后會給出B的MAC地址的ARP應答包,回復給A,A收到后將其存入本機高速緩存。

但ARP協議并非只在發送ARP請求后才接收ARP應答。例上例,若局域網中的主機C可能會冒充主機B向A發送一個偽造的ARP應答,IP←B,MAC←C/D,A接收到應答后更新本地的ARP緩存,這樣A就把發向B的數據包發送到同一物理網的主機C/D。2.ARP欺騙竊聽防范

⑴采用靜態ARP,即將IP地址與MAC地址綁定。

⑵ARP監聽檢測,檢測IP地址和MAC地址對應的工具如arpwatch。

⑶數據加密。3.監聽器。一種捕獲網絡報文僅接收數據的軟件。

⑴SnifferPro⑵Libpcap/Qinpcap⑶Dsniff⑷Tcpdump/Windump。4.ARP監聽軟件arpspoof。工作原理:發起ARP欺騙的主機向目標主機發送偽造的ARP應答包,騙取目標系統更新ARP表,將目標系統的網關的地址修改為發起主機MAC地址,使數據包都經由發起主機。1.6.2IP源地址欺騙IP協議只依據IP頭中目的地址發送數據包,而不對數據包中的IP地址進行認證。IP欺騙就是偽造別的機器的IP地址用于欺騙第三者。假定有兩臺主機S(設IP地址為1)和T(設IP地址為2),并且它們之間已經建立了信任關系。入侵者X要對T進行IP欺騙攻擊,就可以假冒S與T進行通信。

兩種:

⑴隱藏自身,對目標主機發送不正常包,使其無法工作。

⑵偽裝成被目標主機信任的友好主機得到非授權服務。

1.IP源地址欺騙攻擊的基本過程確認攻擊目標使要冒充的主機無法響應目標主機會話猜測序列號冒充受信主機連接到目標主機實施會話攻擊用猜測到的序列號回應目標主機(1)確認攻擊目標施行IP欺騙的第一步是確認攻擊目標。下面是容易受到電子欺騙攻擊的服務類型:·運行SunRPC(SunRemoteProcedureCall,Sun遠程過程調用)的網絡設備;·基于IP地址認證的任何網絡服務;·提供R系列服務的機器,如提供rlogin、rsh、rcp等服務的機器。其他沒有這類服務的系統所受到的IP欺騙攻擊雖然有,但要少得多。(2)使計劃要冒充的主機無法響應目標主機的會話。辦法是對其實施拒絕報務攻擊。(3)精確地猜測來自目標請求的正確序列數方法是根據TCP序列號的編排規律:初始的TCP序列號是由tcp_init函數確定的,是一個隨機數,并且它每秒鐘增加128000。這表明,在沒有連接的情況下,TCP的序列號每9.32小時會復位一次。而有連接時,每次連接把TCP序列號增加64000。隨機的初始序列號的產生也是有一定規律的。在Berkeley系統中,初始序列號由一個常量每秒鐘加1產生。同時,攻擊者還需要估計他的服務器與可信服務器之間的往返時間(RTT)。RTT一般是通過多次統計平均計算出來的。在沒有連接的情況下,TCP序列號為128000*RTT;如果目標服務器剛剛建立過一個連接,就還要加上64000。(4)冒充受信主機連接目標主機。(5)根據猜出的序列號向目標主機送回應IP包。(6)進行系列會話。2.IP源地址欺騙的防范(1)放棄基于IP地址的信任策略(2)使用隨機化的初始序列號(3)在路由器中加上一些附加條件(4)配置服務器,降低IP欺騙的可能(5)使用防火墻和其他抗IP欺騙的產品。1.6.3路由欺騙在TCP/IP網絡中,IP包的傳輸路徑由路由表確定。1.IP源路由欺騙。設S(1)和T(2)已建立信任關系。有X冒充S從T獲利服務,步驟如下:

⑴X將發往T的源地址修改為:1;

⑵將路由表寫成X到T的路由(GX)。

這樣,S←T的應答,按照X指定的逆向路徑X←T,送回到GX(不包括S),X通過監聽收取該數據包。防范方法是關閉主機和路由器上源路由選項。2.RIP路由欺騙。發布假的路由信息,說明了GX使S←T的數據包最快到達,再通過ICMP重定向欺騙服務器路由器和主機,將S←T的正常路由器標志為失效,誘使T將數據包發到GX

。1.6.4TCP會話劫持

作為第三者隱秘加入到他人的會話中,發送惡意數據,或對他人的會話進行監聽,甚至接替其中一方與另一方會話。利用通信協議漏洞,通過嗅探與欺騙結合進行。1.TCP會話劫持的基本原理:(1)TCP使用端到端的連接即TCP用來唯一標識每一條已經建立連接的TCP鏈路。(2)對于主機,其收發的兩個相鄰TCP報文之間的序號和確認序號與所攜帶TCP數據荷的多少有數值上的關系。(3)在TCP連接中,只是剛開始連接時進行一次IP地址的驗證,在連接過程中TCP應用程序只跟蹤序列號,而不進行IP地址驗證。因此,一旦同一網段上的入侵者獲悉目標主機的序列號規律,就可以假冒該目標主機的受信機與該目標主機進行通信,把原來目標主機與其受信機之間的會話劫持過去。2.TCP會話劫持過程

⑴找一個同網段的活動會話。⑵猜測正確的序列號碼。⑶把合法的用戶斷開。3.會話劫持攻擊工具

⑴Juggernaut

⑵Hunt

⑶TTYWatcher

⑷IPWatcher

1.6.5DNS欺騙1.DNS服務過程S(DNS服務器)AB1

請求的IP地址2

結果(3)(3)

向其他DNS請求其他DNS服務器

結果(3)

向C發出連接請求DNS是一個將主機域名和IP地址互相映射的數據庫系統。自身存在多種隱患。2.DNS欺騙原理DNS有兩個重要特性:

(1)DNS對于自己無法解析的域名,會自動向其他DNS服務器查詢。

(2)為提高效率,DNS會將所有已經查詢到的結果存入緩存(Cache)。正是這兩個特點,使得DNS欺騙(DNSSpoofing)成為可能。實施DNS欺騙的基本思路是:讓DNS服務器的緩存中存有錯誤的IP地址,即在DNS緩存中放一個偽造的緩存記錄。為此,攻擊者需要做兩件事:(1)先偽造一個用戶的DNS請求。(2)再偽造一個查詢應答。實施DNS欺騙的基本思路是:3.DNS欺騙過程(1)入侵者先向S(DNS服務器)提交查詢的IP地址的請求。(2)S向外遞交查詢請求。(3)入侵者立即偽造一個應答包,告訴的IP地址是4(往往是入侵者的IP地址)。(4)查詢應答被S(DNS服務器)記錄到緩存中。(5)當A向B提交查詢的IP地址請求時,S將4告訴A。4.DNS欺騙的局限性(1)入侵者不能替換DNS高速緩存中已經存在的記錄。(2)記錄有生存期,過期被刷新。1.6.6Web欺騙與釣魚網站1.Web欺騙的作用

創建整個3W(萬維網)世界的影像副本。指使用戶進入該影像Web的入口,即進入Web服務器實施如下攻擊:①將用戶的活動置于攻擊者的監控之下,以獲得機密信息;②能以受攻擊者的名義將錯誤或易于誤解的數據發送到真正的Web服務器;

③以任何Web服務器的名義發送數據給受攻擊者。由此攻擊者可實施詐騙獲利。典型例子是假冒金融機構偷盜客戶的信用卡信息。

釣魚網站是Web欺騙技術的應用。360安全中心分其七種:①設置中獎騙局②各種預測網站③黑馬股票的騙局④虛假購物網站⑤仿冒官方網站登錄⑥仿冒的醫療、藥品相關網站⑦假冒的下載網站。2.Web欺騙的基本原理

注冊域名沒有要求,可設計一個有欺騙性的網點。

②Cookie欺騙。

③Session欺騙。即由于目前注冊一個域名沒有任何要求,利用這一點,攻擊者會搶先或特別設計注冊一個有欺騙性的站點。當有用戶瀏覽了這個假冒地址并與之進行了了一些信息交流(如填寫了一些表單)后,站點會給出一些響應的提示和回答,同時記錄下用戶的信息,并給這個用戶一個cookie,以便能隨時跟蹤這個用戶。典型的例子是假冒金融機構偷盜客戶的信用卡信息。3.Web欺騙的技巧(1)URL重寫。通過在URL重寫,攻擊者能夠把網絡流量轉到攻擊者控制的一個站點上。具體辦法是攻擊者將自已的Web地址加在所有URL地址的前面。這樣,當用戶與站點進行安全鏈接時,就會毫不防備地進入攻擊者的服務器,于是用戶所有信息便處于攻擊者的監視之中。(2)表單欺騙(3)設計攻擊的導火索。①把錯誤的Web鏈接到一個熱門Web站點上;②如果受攻擊者使用基于Web的郵件,可以將它指向錯誤的Web;③創建錯誤的Web索引,指示給搜索引擎。(4)完善攻擊(5)狀態信息。①當鼠標放置在Web鏈接上時,連接狀態顯示鏈接所指的URL地址;②當Web連接成功時,連接狀態將顯示所連接的服務器名稱。4.釣魚網站的推廣方式。①即時通信推廣②發布帖子鏈接釣魚網站③通過短信和E-mail等批量發布鏈接④制作仿冒知名軟件的彈窗⑤在搜索引擎、中小網站投放廣告⑥使用惡意網站彈出仿真懸浮窗口⑦利用與正規網站極為相似的域名。5.釣魚網站的自我保護手段。①境外注冊域名②連續轉賬操作。6.釣魚網站的防范。①查驗可信網站②核對網站域名③比較網站內容④查詢網站備案⑤查看安全證書。問答:1、攻擊者用何手段獲取網絡上其它機器中的敏感數據?最終目的是什么?2、攻擊者如何用Ping命令檢測目標機與網絡的連通情況?用三次握手建立的TCP連接有何缺陷且用何連接彌補?

3、網絡欺騙的前提環境是什么?是針對什么漏洞實施的攻擊行為?你認為上次課堂中所述六種欺騙中哪種最容易而哪種最難實現?說明其任意兩種的實施欺騙的過程。1.7數據驅動漏洞攻擊舉例信息系統的漏洞是普遍存在的,在許多的方面都會使非授權用戶進入系統,或使合法用戶在系統中進行非法操作。

數據驅動攻擊是通過向某個程序發送數據,以產生非預期結果的攻擊。為攻擊者給出訪問目標系統的權限。分為:緩沖區溢出、格式化字符、整數溢出、懸浮指針、同步漏洞和信任漏洞攻擊等。1.7.1緩沖區溢出攻擊1.緩沖區溢出緩沖區是程序運行時在內存中為保存給定數據而開辟一個連續空間,它大小是有限的,放入的數據長度超過它時發生溢出。常見的緩沖區溢出來自C語言(以及其后代C++)本質的不安全性:voidfunction(char*str){charbuffer[16];strcpy(buffer,str);}沒有邊界來檢查數組和指針的引用;當str>16時緩沖區溢出,形成應用程序漏洞。標準C庫中還存在許多非安全字符串操作,如strcpy()、sprintf()、gets()等。2.緩沖區溢出攻擊利用緩沖區溢出漏洞,黑客可策劃兩種攻擊。(1)利用緩沖區溢出,關閉某程序或使其無法執行。(2)啟動一個惡意代碼,即用惡意代碼的地址取代一個正在運行函數的返回地址。代碼區數據區堆區棧區bufferEBPRET地址入口參數Argv[l]地址內存低端內存高端棧頂棧底EBP基址寄存器、RET返回地址。3.緩沖區溢出防御措施(1)編寫安全代碼;(2)編寫安全的代碼;(3)基于一定的安全策略設置系統;(4)保護堆棧。加入函數建立和銷毀代碼。前者在函數返回地址后增加一些附加字節,返回時要檢查這些字節有無被改動。使堆棧不可執行——非執行緩沖區技術,使入侵者無法利用緩沖區溢出漏洞;(5)安裝安全補丁。1.7.2格式化字符串攻擊1.格式化字符串函數族2.格式化字符串漏洞#include<stdio.h>intmain(){

char*name;gets(name);printf(name);}

下面是該函數的兩次運行結果。abcdeabcde%08x,%08x,%08x000002e2,0000ffe4,0000011d因為%是格式化字符串,其后按格式化參數進行解析。(1)查看內存堆棧指針開始的一些地址的內容。使用類似于

printf(“%08x,%08x,%08x”);的語句,可以輸出當前堆棧指針向棧底方向的一些地址的內容,甚至可以是超過棧底之外的內存地址的內容。(2)查看內存任何地址的內容。所查看的內存地址內容,也可以從任何一個地址開始的內存內容。例如語句

printf(“\x20\02\x85\x08_%08x,%08x,%08x”);

將會從地址0x08850220開始,查看連續3個地址的內容。3.格式化字符串攻擊的幾種形式(1)(3)修改內存任何地址的內容 格式化字符串函數還可以使用一個格式字符“%n”。它的作用是將已經打印的字節數寫入一個變量。請觀察下面的程序。

#include<stdio.h> intmain() {inti; printf(“china\%n\n”,(int*)&i); printf(“i=%d\n”,i); }

程序運行的結果如下:chinai=5 即i的值為前面已經打印的字符串“china”的長度——5。利用這一點,很容易改變某個內存變量的值。3.格式化字符串攻擊的幾種形式(2)

#include<stdio.h> intmain() { inti=5; printf(“%108u%n\t”,1,(int*)&i);printf(“i=%d\n”,i); printf(“%58s123%n\t”,””,&i);print(“i=%d\n”,i); }

程序執行結果如下:1i=108123i=26

語句printf(“%108u%n\t”,1,(int*)&i);

用數據“1”的寬度——108來修改變量i的值。而語句

printf(“%58s123%n\t”,””,&i);

是用字符串“”加上字符串“123”的存放寬度——23+3來修改變量i的值。 使用同樣的辦法,可以向進程空間中的任意地方寫一個字節。通過修改關鍵內存地址內容,實現對程序流程的控制;覆蓋一個程序儲存的UID值,以降低和提升特權;覆蓋一個執行命令;覆蓋一個返回地址,將其重定向到包含shellcode的緩沖區中。3.格式化字符串攻擊的幾種形式(3)1.8拒絕服務攻擊1.8.1拒絕服務攻擊及基本方法(1)基于錯誤配置、系統漏洞或軟件缺陷,如

①利用傳輸協議缺陷,發送畸形數據包,以耗盡目標主機資源,使之無法提供服務。

②利用主機服務程序漏洞,發送特殊格式數據,導致服務處理出錯而無法提供服務。(2)通過攻擊合理的服務請求,消耗系統資源,使服務超載,無法響應其他請求。例如制造高流量數據流,造成網絡擁塞,使受害主機無法與外界通信。在許多情況下要使用上面兩種方法的組合。1.IP碎片攻擊(1)IP碎片與IP碎片漏洞數據鏈路層對傳輸的幀有一個長度限制。數據長度大時要分片,到達目的主機時要重組。當重組數據長度超過IP協議規范中規定的長度時,額外數據就會寫入其它正常區域,導致攻擊。(2)死亡之Ping(PingofDeath)

ICMP是一種差錯報告機制,它為路由器或目標主機提供了一種方法,使它們能把遇到的差錯報告給源主機。如圖1.42所示,ICMP報文始終包含IP首部和產生ICMP差錯報文的IP數據報的前8個字節(64KB)。由于這一特點,早期的許多操作系統在處理ICMP協議(如接收ICMP數據報文)時,只開辟64KB的的緩存區。在這種情況下,一旦處理的數據報的實際長度超過64KB,操作系統將會產生一個緩沖溢出,引起內存分配錯誤,最終導致TCP/IP協議堆棧的崩潰,造成主機死機。2.“淚滴”(Teardrop) “淚滴”攻擊就是入侵者偽造數據報文,向目標機發送含有重疊偏移的畸形數據分片。當這樣的畸形分片傳送到目的主機后,在堆棧中重組時,就會導致重組出錯,引起協議棧的崩潰。PSH1:1024…PSH1000:2048(1024)…PSH2049:3072…目標主機入侵者重裝出錯3.UDP“洪水”(UDPFlood)當入侵者假冒一臺主機向另一臺主機的服務端口發送數據時,ECHO服務或CHARGEN服務就會自動回復。兩臺機器之間的互相回送,會形成大量數據包。當多臺主機之間相互產生回送數據包,最終會導致系統癱瘓。4.SYN“洪水”(SYNFlood)與Land這是兩個利用TCP連接中三次握手過程的缺陷的拒絕服務攻擊。包中的源、和目標地址皆目標主機,建立自己的連接。5.MAC地址攻擊假如攻擊者生成大量源地址各不相同的數據包,這些MAC地址就會充滿交換機的交換地址映射表空間,則正常的數據包到達時都被洪泛出去,致使交換機的查表速度嚴重下降,不能繼續工作。1.8.2分布式拒絕服務攻擊分布式拒絕服務(DistributedDenialofService,DDoS)攻擊指借助于客戶/服務器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DoS攻擊,從而成倍地提高拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設定的時間主控程序將與大量代理程序通訊,代理程序已經被安裝在Internet上的許多計算機上。代理程序收到指令時就發動攻擊。利用客戶/服務器技術,主控程序能在幾秒鐘內激活成百上千次代理程序的運行。1.DDoS系統的一般結構2.組織一次DDoS攻擊的過程(1)搜集了解目標的情況 下列情況是黑客非常關心的情報:①被攻擊目標主機數目、地址情況②目標主機的配置、性能③目標的帶寬(2)占領傀儡機 黑客最感興趣的是有下列情況的主機:①鏈路狀態好的主機②性能好的主機③安全管理水平差的主機(3)實際攻擊3.DDoS的監測(1)根據異常情況分析異常情況包括:①網絡的通訊量突然急劇增長,超過平常的極限值時;②網站的某一特定服務總是失敗;③發現有特大型的TCP和UDP數據包通過或數據包內容可疑。(2)使用DDoS檢測工具4.DDoS實例(1)Smurf與Fraggle將一個目的地址設置成廣播地址(以太網地址為FF:FF:FF:FF:FF:FF:FF)后,將會被網絡中所有主機接收并處理。顯然,如果攻擊者假冒目標主機的地址發出廣播信息,則所有主機都會向目標主機回復一個應答使目標主機淹沒在大量信息中,無法提供新的服務。(2)trinoo(3)TribalFloodNetwork和TFN2KTFN可以并行發動數不勝數的DoS攻擊,類型多種多樣(如UDP攻擊、TCPSYN攻擊、ICMP回音請求攻擊以及ICMP廣播),而且還可建立帶有偽裝源IP地址的信息包。(4)stacheldrahtStacheldraht也是基于TFN的,它采用和trinoo一樣的客戶機/服務器模式,其中Master程序與潛在的成千個代理程序進行通訊。在發動攻擊時,侵入者與master程序進行連接。Stacheldraht增加了以下新功能:攻擊者與master程序之間的通訊是加密的,以及使用rcp(remotecopy,遠程復制)技術對代理程序進行更新。5.DDoS攻擊的防御策略(1)及早發現系統存在的攻擊漏洞,及時安裝系統補丁程序。對一些重要的信息(例如系統配置信息)建立和完善備份機制。對一些特權帳號(例如管理員帳號)的密碼設置要謹慎。(2)在網絡管理方面,要經常檢查系統的物理環境,禁止那些不必要的網絡服務。建立

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論