360 likes | 516 Views
第一章 網路攻防概述. 大綱. 1.1 網路攻防概述 1.1.1 網路竊聽 1.1.2 網路欺騙 1.1.3 中間人攻擊 1.1.4 密碼破解 1.1.5 社交工程 1.2 防範網路攻擊的安全守則 1.3 追求完整的端點防護. 1.1 網路攻防概述. 本節將說明何謂網路攻擊,並介紹目前在網際網路上幾種常見的網路攻擊,並說明它們的運作原理。 利用網際網路上的安全漏洞,來非法取得網路資源,或破壞網路上某些服務正常運作的行為即稱為網路攻擊。 網路的安全漏洞,可分為以下幾類: 網路通訊協定本身的缺陷 網路軟體設計上的缺陷 作業系統本身的缺陷
E N D
大綱 第一 章 網路攻防概述 • 1.1 網路攻防概述 • 1.1.1 網路竊聽 • 1.1.2 網路欺騙 • 1.1.3 中間人攻擊 • 1.1.4 密碼破解 • 1.1.5 社交工程 • 1.2 防範網路攻擊的安全守則 • 1.3 追求完整的端點防護
1.1 網路攻防概述 第一 章 網路攻防概述 • 本節將說明何謂網路攻擊,並介紹目前在網際網路上幾種常見的網路攻擊,並說明它們的運作原理。 • 利用網際網路上的安全漏洞,來非法取得網路資源,或破壞網路上某些服務正常運作的行為即稱為網路攻擊。 • 網路的安全漏洞,可分為以下幾類: • 網路通訊協定本身的缺陷 • 網路軟體設計上的缺陷 • 作業系統本身的缺陷 • 管理不當所形成的漏洞 • 除此之外,有些硬體產品,本身也會存在一些瑕疵,而內部人員對網路資源的濫用,或是人為的洩密等,都可能會形成網路安全上的漏洞。一旦網路上出現安全漏洞,便給了入侵者可乘之機。 • 本小節會介紹某些利用網路通訊協定本身缺陷的攻擊,如主機假冒、主機監聽等,這些攻擊行為會利用TCP、ARP (Address Resolution Protocol)這兩種協定本身的漏洞來做攻擊,因此在介紹這些攻擊行為前,會先對TCP如何建立連線,以及ARP的運作模式作基本的介紹。
1.1.1 網路竊聽 第一 章 網路攻防概述 主機A 主機B 主機C • 網路竊聽(Sniffing): • 如下圖1,我們目前所使用的網路架構(Ethernet)為一共享式的,因此導致有心人士可以使用某些軟硬體設備進行監聽動作,藉此收集他人的機密資料,如帳號、密碼…等。此種攻擊方式只需要攻擊者將自已的網路介面卡設定為混亂模式(promiscuous mode),之後只要有封包流經,則網路卡便會將封包紀錄下來並分析該封包內容,如圖2。 主機D 監聽者 All Packet To this machine NIC Normal NIC Promiscuous Hardware Filter To Other 圖1 網路竊聽 圖2
1.1.1 網路竊聽 第一 章 網路攻防概述 • 竊聽可分為兩類: 主動式 • 會送出封包,改變網路的部分狀態,以竊聽訊息。 • 例如ARP spoofing、DHCP spoofing。 被動式 • 不會送出封包,只是靜靜地傾聽與蒐集流經的封包。 • 常見的竊聽(Sniffer)軟體 • TCPDUMP/windump • Ethereal / Wireshark • ettercap • http://ettercap.sf.net) • dsniff • http://www.monkey.org/~dugsong/dsniff
記錄:封包的永久儲存可用來 離線分析 記錄/編輯(Logging/Editing) 解碼:封包要編碼成人們可讀形式 解碼(Decode) 緩衝區:讓封包被儲存或者處理前 可以暫存於此. 緩衝區(Buffer) 捕獲裝置(Capture Driver) 捕獲裝置:為軟體裝置用來捕獲 或者過濾網路流量 媒介物(Media) 媒介物:通常是一張Ethernet 網卡 1.1.1 網路竊聽 第一 章 網路攻防概述 • SNIFFER分析封包的方式 Packet
1.1.1 網路竊聽 第一 章 網路攻防概述 • 正確的使用SNIFFER的方式 • 流量分析(Traffic Analysis ) • 網路錯誤分析(Fault analysis of networks ) • 入侵偵測(Intrusion detection Systems are built on sniffers) • 網路效能分析與定義效能瓶頸(Performance analysis to identify bottlenecks) • 監看誰在使用、做什麼事、有沒有違反安全原則(是否有攻擊存在?)
1.1.1 網路竊聽 第一 章 網路攻防概述 • 錯誤的使用SNIFFER的方式 竊取網路上傳送的明文內容(Stealing clear-text content) • 密碼(Passwords) • 信用卡卡號(Credit card numbers) • 秘密的電子通訊資料(EX: “Secret” email conversations)
1.1.1 網路竊聽 第一 章 網路攻防概述 • 下圖表示使用Ethereal竊聽到FTP站的使用者帳號與密碼。 使用者帳號 密碼
1.1.2 網路欺騙 第一 章 網路攻防概述 • 常見的網路欺騙方式 • 硬體位址假冒(ARP spoofing) • TCP連線假冒(Connection spoofing) • IP 假冒(IP spoofing) • DNS假冒(DNS spoofing) • 網路釣魚(Phishing)
1.1.2 網路欺騙 第一 章 網路攻防概述 • 硬體位址假冒(ARP spoofing) • 攻擊者假冒合法主機的網路卡位址(MAC address),使得被欺騙的主機將所有原本要送往合法主機的封包,都送至攻擊者主機上。 • 要達到假冒網路卡位址的目的,通常是利用位址轉換協定ARP (Address Resolution Protocol)的弱點。
1.1.2 網路欺騙 第一 章 網路攻防概述 • 硬體位址假冒(cont.) 什麼是ARP (Address Resolution Protocol ) ? • 當某一部主機要透過Ethernet傳送封包給另一臺主機時,若只知道對方的IP位址而不知道對方主機的MAC位址,會透過ARP發出廣播封包詢問,藉此取得對方主機的MAC位址。 Purpose of ARP 32-bit IP address ARP Request 48-bit MAC address
1.1.2 網路欺騙 第一 章 網路攻防概述 • 硬體位址假冒(cont.) • ARP基本操作 假設Host B要傳送資料給Host C時,在Host B的ARP table中有Host C的IP位址,卻沒有對方的網路硬體位址,因此透過ARP Request廣播封包設法取得對方的網路硬體位址。
1.1.2 網路欺騙 第一 章 網路攻防概述 • 硬體位址假冒(cont.) • ARP基本操作 (cont.) 當Host C收到這廣播詢問時,便會回覆Host B的詢問,並告知自己的硬體位址為 ”00:80:C9:0F:55:66”,因此Host B便可使用00:80:C9:0F:55:66的硬體位址將封包送給Host C。
1.1.2 網路欺騙 第一 章 網路攻防概述 • 硬體位址假冒(cont.) • 會受到ARP spoof ing影響的作業系統 • Windows 95/98/2000/XP/2003/2008 • Windows NT • Linux • Netgear • AIX 4.3 • 不會受到ARP spoof ing影響的作業系統 • SUN SOLARIS
1.1.2 網路欺騙 第一 章 網路攻防概述 • TCP連線假冒(Connection spoofing) : • 在介紹TCP連線假冒前,先了解TCP是如何建立連線的 • 當用戶端要與服務端建立一條新連線時,會先發出SYN封包要求建立連線,並且加上自己的初始資料序號(sequence number)“x”。 • 服務端收到步驟1送出的SYN封包時,便會由等待連線的監聽狀態(LISTEN)進入已收到連線要求的狀態(SYN_RECVD),此時對服務端而言稱為半連線狀態(half-open connection),意思是指服務端已經收到對方的連線要求並開始處理,此時服務端的系統便會開始記錄該連線的資訊(如用戶端的位址、使用的埠編號、連線的狀態等)並分配資源給該連線(如連線所要使用的緩衝區),之後將用戶端送來的初始資料序號加1(x+1),並設定自己的初始資料序號“y”,發出SYN+ACK封包來回應用戶端,意思是已經認可該用戶端的連線要求。 • 當用戶端收到步驟2的回應封包時,便會將服務端送來的初始資料序號加1(y+1)回應給服務端,表示已經收到服務端的回應,當服務端收到用戶端的回應時,便表示此連線已經正常建立成功了,此時服務端會進入已連線狀態(CONNECTED),可以開始與用戶端互傳資料。 TCP連線建立流程
1.1.2 網路欺騙 第一 章 網路攻防概述 • TCP連線假冒(Connection spoofing) • 這類型的假冒攻擊主要是針對用TCP作為傳輸協定的網路服務為攻擊對象。TCP協定中,連線雙方傳遞資料時彼此會檢查封包上的資料序號(Sequence number)以及確認碼(Acknowledge number),保證資料接收的順序與傳遞的順序相同。 • 因此當攻擊者要假冒合法使用者來欺騙提供服務的網路主機,並且與其建立一條連線時,除了要假冒該合法使用者的IP位址外,還必須能將服務端的初始資料序號猜出,並且加1作為確認碼傳回給該網路主機,才能成功的建立一條假冒的TCP連線。 • TCP連線假冒攻擊分為兩個階段,第一階段為攻擊者偵測初始資料序號階段,第二階段為假冒TCP連線的動作。
1.1.2 網路欺騙 第一 章 網路攻防概述 • TCP連線假冒(Cont.) • TCP連線假冒(第一階段) • 在第一階段攻擊者不斷的用自己的IP位址向服務主機提出連線要求,藉此找出該服務主機在接受連線時所發出的資料初始序號的規律性。找出規律性後,攻擊者便可猜測下一次服務主機在接受連線要求所回應的初始資料序號。 • 我們由左圖所顯示的結果可以看出,該服務主機對連線要求所回應的初始資料序號,有規律性的差距,也就是說,在10次嘗試連線中,連續兩次連線所得到的初始資料序號幾乎都相差1344000,只有第六次連線所得到的差距值不同。因此攻擊者可以藉此來猜測下一次服務主機在接受連線要求時所回應的初始資料序號。 攻擊者 140.125.32.10 服務主機 140.113.22.40 第一階段輸出結果 TCP連線假冒攻擊第一階段
1.1.2 網路欺騙 網路攻防概述 • TCP連線假冒(Cont.): • TCP連線假冒(第二階段) • 經由第一階段的初始資料序號偵測所得到的結果,可以猜出服務主機下一次接受連線時,所發出的初始資料序號很可能是: • 最後一次偵測所得到的初始資料序號 + 1344000 = 375488000 + 1344000 = 376832000 • 因此攻擊者便可以開始進行第二階段的假冒TCP連線的動作,左圖所示為第二階段假冒TCP連線的步驟。攻擊者假冒主機A要求與服務主機連線,當服務主機收到連線要求後,便將對方傳送的初始資料序號加1作為確認碼ACK(200000002),並連同自己的初始資料序號376832000送回給主機A,由於主機A處於離線狀態,因此無法回應服務主機(攻擊者也可以用我們之後介紹的拒絕服務攻擊來強迫主機A進入離線狀態) ;而攻擊者雖然沒有收到服務主機的回應,但可以用在第一階段所偵測的結果,來猜測服務主機可能發出的初始資料序號,並加1作為確認碼傳回給服務主機,也就是: • 確認碼 = 最後一次偵測所得到的初始資料序號 + 1344000 + 1= 375488000 + 1344000 + 1 = 376832001 • 由於服務主機所發出的初始資料序號與攻擊者猜測的一樣,因此攻擊者便可以成功的與服務主機建立一條假冒的TCP連線。若攻擊者所猜測的初始資料序號錯誤,便必須回到第一階段,重新偵測服務主機初始資料序號的規律性。 主機A 離線狀態 攻擊者 服務主機 1. 發出連線要求 來源IP=140.118.31.1 目的IP=140.114.252.1 SYN(200000001) LISTEN SYN_RECVD 2. 回應連線要求 來源IP=140.114.252.1 目的IP=140.118.31.1 SYN(376832000) ACK(200000002) 3. 假裝收到服務主機 回應送出認可訊息 來源IP=140.118.31.1 目的IP=140.114.252.1 SYN(200000002) ACK(376832001) CONNECTED TCP連線假冒攻擊第二階段
1.1.2 網路欺騙 第一 章 網路攻防概述 • IP 假冒(IP spoofing) • 藉由假冒合法IP位址來欺騙受攻擊的主機,企圖讓受攻擊的主機無法追溯攻擊來源。 • 常見的此類攻擊如UDP flooding,UDP flooding是藉由發送大量且固定大小的UDP封包送往受攻擊的主機,目的是將對方的網路頻寬塞暴。 • 使用IPspoofing的話,可以通過防火牆等防禦設備的過濾。
1.1.2 網路欺騙 第一 章 網路攻防概述 • DNS假冒 (DNS spoofing) 當傳送網站A的網址給合法的DNS伺服器時,DNS伺服器會回傳一組對應到該網址的IP位址,好讓我們能夠正確的連上網站A。然而若是將該網址傳給惡意的DNS伺服器,該伺服器可能會回傳錯誤的IP位址,導引我們連接到一個事前偽造、乍看下像是我們要連上的網站A,實際上卻是在瀏覽網站B,且該網站B中可能放了大量的惡意連結誘使我們點擊,趁機植入木馬等惡意程式。
1.1.2 網路欺騙 第一 章 網路攻防概述 • 網路釣魚 (Phishing) • 利用偽造的電子郵件與網站作為誘餌,試圖騙取使用者銀行帳戶、密碼、信用卡卡號、非公開的個人機密資料等。 • 例如線上遊戲的玩家,時常會到特定的遊戲網站、論壇上瀏灠,有心人士看準這點,惡意抄襲遊戲網站、論壇內容並註冊一個類似的網域名稱混淆視聽,再藉由大量發送包含類似「至本網站儲值,額外加送50點遊戲點數」內容及偽造網站的網址的電子郵件,藉此誘導玩家至惡意網站,騙取玩家的帳號、密碼、儲值卡點數等。
1.1.3 中間人攻擊 第一 章 網路攻防概述 • 攻擊者位於傳送端與接收端的傳輸路徑上,偽裝成傳送與接受兩方傳輸的對象,藉此從中竊聽雙方傳輸的訊息。 • 以下列出在不同的網路環境中所能夠實行的中間人攻擊: LOCAL AREA NETWORK: • ARP spoofing • DNS spoofing • STP mangling • Port stealing FROM LOCAL TO REMOTE (through a gateway): • ARP spoofing • DNS spoofing • DHCP spoofing • ICMP redirection • IRDP spoofing • Route mangling REMOTE: • DNS poisoning • Traffic tunneling • Route mangling WIRELESS: • Access Point Reassociation
1.1.3 中間人攻擊 第一 章 網路攻防概述 • 以下簡介ARP spoofing的方式達成中間人攻擊,下圖為攻擊場景,一開始Host A、C各自的ARP table中紀錄著正確的IP與MAC address的對映關係。
1.1.3 中間人攻擊 第一 章 網路攻防概述 • Attacker發送偽造的ARP reply給Host A、C,使Host A認為140.125.30.30的MAC address為00-80-C8-9F-33-44,同樣的使Host C認為140.125.30.10的MAC address為00-80-C8-9F-33-44,之後Host A、C若要互相傳遞訊息,都會先送到Attacker主機上。 • 因此Host A與 Host C兩者皆以為對方的MAC address是00-80-C8-9F-33-44,Attacker即成為A與C的中間人。
1.1.4 密碼破解 第一 章 網路攻防概述 • 密碼破解的方式大致可分為以下三類: • 本地端的密碼破解方式: 在欲破解密碼的主機上執行密碼破解的程式。 • 遠端的密碼破解方式: 攻擊者利用程式產生隨機密碼,並利用該組密碼嘗試登入目標主機,若無法登入則再產生一個新的隨機密碼,直到試出正確的密碼為止。 • 利用網路竊聽的方式得到密碼,以下列舉幾個容易被竊聽密碼的通訊協定: • Telnet • FTP • POP2/3
1.1.4 密碼破解 第一 章 網路攻防概述 • 本地端的密碼破解方式 在此我們會用到Ophcrack 這套密碼破解程式,該軟體特色如下: • Runs on Windows, Linux/Unix, Mac OS X, ... • Cracks LM and NTLM hashes. • Free tables available for Windows XP and Vista. • Brute-force module for simple passwords. • LiveCD available to simplify the cracking. • Loads hashes from encrypted SAM recovered from a Windows partition, Vista included. • Free and open source software (GPL). 以下簡介如何使用 Ophcrack 密碼破解程式來破解Windows XP作業系統的密碼(在虛擬機器上執行,系統中設置一個使用者帳號為es602,登入密碼為ComputerLab): • 至 http://ophcrack.sourceforge.net/下載Ophcrack XP LiveCD.iso 並燒錄成光碟(注意,LiveCD可破解的密碼只有使用英、數組合的密碼,要破解含特殊字元的密碼必須下載其它的版本)。 • 置入目標主機的光碟機中,並將該主機重開機 (BIOS中必須設為光碟開機),約可在11分鐘內破解所有14位元數字及英文字密碼組合中的99.9%。
1.1.4 密碼破解 第一 章 網路攻防概述 • 本地端的密碼破解方式(Cont.) • 下圖為Ophcrack LiveCD啟動畫面,有三種模式可選擇,基本上用預設的Ophcrack Graphic mode即可。 圖 Ophcrack LiveCD啟動畫面
1.1.4 密碼破解 第一 章 網路攻防概述 • 本地端的密碼破解方式(Cont.) • 下圖為Ophcrack破解密碼畫面,該破解程式列出系統中所有的帳戶與對應的密碼,我們可以看到使用者es602的登入密碼為ComputerLab。 圖 Ophcrack 破解密碼畫面
1.1.4 密碼破解 第一 章 網路攻防概述 • 遠端的密碼破解方式 此類軟體如L0phtCrack(現改名為LC5),該軟體本來是用來做密碼稽核(password audit)及找回遺失的密碼,如今也常被駭客用來做破解密碼的工具。 資料來源 http://en.wikipedia.org/wiki/L0phtCrack
1.1.4 密碼破解 第一 章 網路攻防概述 • 竊聽密碼 下圖所示為使用SNIFFER軟體”WireShark”竊聽到的FTP使用者名稱與密碼。
1.1.5 社交工程 第一 章 網路攻防概述 • 社交工程的攻擊方式,與一般的網路攻擊方式差距甚大。 • 一般的網路攻擊方式多以區域性的方式攻擊,造成整個網路系統停擺。而社交工程的攻擊者會鎖定特定目標,稱為目標攻擊 ( target attack) 。 • 利用社交工程的攻擊方式,會在攻擊前搜集目標資料,例如目標對象的身分證字號、電話號碼、平日的e-mail或是工作的文件電子檔等,搜集齊目標的資料,接著偽裝成是與目標接觸過的人,取得對方某種程度的信賴後騙取對方的機密資料。 • 例如,被攻擊者盯上的目標有在線上繳稅的習慣,因此攻擊者可能以稅捐機關名義發送信件給目標,使得目標點選郵件內的惡意連結,當目標點擊惡意連結連上該網站時,會要求同意下載惡意程式,於是惡意程式開始從電腦中竊取重要的機密文件、帳號、密碼等。
1.2 防範網路攻擊的安全守則 第一 章 網路攻防概述 • 防止網路竊聽 • 網路連接裝置應儘量採用switch,避免使用hub做為連接網路的設備。 • 利用防火牆來限制封包進出的方向。 • 使用安全、有加密能力的通訊協定(如SSL)。 • 使用有加密功能的網路通訊應用程式。 • 偵測網路中是否有人安裝監聽程式,藉由查看同一網路中的電腦網路卡是否運作在混亂模式下,便知道是否有人在進行監聽的動作。 • 防止IP spoofing • 當設定存取規則時,不要只使用來源位址的驗證方式,可再搭配AAA server做更嚴密的管控。 • 防止ARP spoofing、中間人攻擊 • 在路由器、使用者端的設備上設定靜態的ARP table 。 • 防止DNS spoofing • 如果不信任某些DNS伺服器,就改採用網路上其它可信任的DNS伺服器。
1.2 防範網路攻擊的安全守則 第一 章 網路攻防概述 • 防止密碼破解 意即如何設定安全的密碼,安全的密碼應符合下列條件: • 密碼長度至少要6~10字元,包含大寫和小寫字母、數字、符號。 • 不要使用在字典當中查得到的單字當作密碼或密碼的一部份,因為暴力破解法通常都是利用字典存在的單字做不同的組合藉以猜出密碼。 • 不使用像是 "abcdefg" 或 "234567" 的連續字母或數字。 • 不要使用鍵盤上的相鄰鍵像是 "qwerty"作為密碼。 • 不在密碼中使用登錄名稱的任何部份。 • 不重複使用舊密碼的任何部份。 • 每二個月變更一次密碼。 • 將密碼設定成看起來像是一組隨機字母和數字的組合,但要容易記憶且不須要靠其它額外的方式(紙本、電子檔)來記錄密碼。 例如以”We have great course for you!”這樣的一個句子,選取每個單字的第一個字母,以及將”for”這個單字以”4”這個數字替代,”you”用”u”替代,我們可以得到”Whgc4u!”這樣的一個密碼。
1.3 追求完整的端點防護 第一 章 網路攻防概述 • 主機上安裝相應的防禦軟體,阻擋病毒、病蟲、木馬程式、間諜程式、廣告軟體、初始攻擊威脅與 Rootkit 等惡意軟體的威脅。 • 傳輸資料時以先做加密再傳送。 • 配置入侵偵測系統(IDS)監測網路上流經的封包是否含有可疑的內容。 • 設置防火牆濾除惡意網址與內容。 • 閘道器上啟用IPSec功能。
參考資料 第一 章 網路攻防概述 • 台灣電腦網路危機處理暨協調中心,http://www.cert.org.tw/。 • 資通安全資訊網,http://ics.stpi.org.tw/。 • 資安人科技網,http://www.isecutech.com.tw/。 • 資安之眼,http://www.itis.tw/ 。 • 經濟部標準檢驗局,http://www.bsmi.gov.tw/page/pagetype8.jsp?page=886&groupid=5。 • ISC資通安全聯盟,http://www.isc.ntust.edu.tw/。 • 中華民國風險管理學會,http://www.rmst.org.tw/。 • 「網路攻擊模式分析.ppt」 。 • 「網路安全與管理」,作者:伍麗樵,陳世仁。 • 「駭客攻擊之分析與主機系統安全之設定.ppt」 。 • 「網路攻擊模式分析(I),網路攻擊模式分析(II)」陳培德。 • 「http://ophcrack.sourceforge.net/」。 • 「http://mag.udn.com/mag/digital/storypage.jsp?f_ART_ID=136714」 。 • 「http://tw.trendmicro.com/tw/support/tech-support/board/tech/article/20080821045654.html」 。 • 「http://www.zdnet.com.tw/enterprise/column/security/0,2000085711,20111721,00.htm」 。 • 「http://www.savetime.com.tw/new_symantec/Symantec_Endpoint_Protection.asp」 。