第二章 文獻探討
2.4 預防惡意程式的方式
本研究 2.2.2 節指出惡意軟體具有多種的攻擊模式,不同的攻擊模式需要不 同的防禦方式,本節介紹常見的防禦惡意程式的方式:防火牆、防毒軟體、入侵 偵測與入侵防禦系統。
一、 防火牆
防火牆的形式有:軟體、硬體或是結合軟硬體這三種,用於監控與過濾進 出的封包,大部分的組織將防火牆作為第一道的防禦線,抵禦企圖入侵內部網 路的攻擊。當封包拒絕傳送時,會將它予以丟棄,新式的防火牆會記錄與儲存 紀錄檔,並將緊急或是危險的事件即時傳送給管理者。但欲使防火牆提供最佳 的防護能力,仍須依據企業的安全政策做正確的設定與規劃,才可發揮最大效 益。防火牆提供的安全功能有以下幾點[14][41]:
z 封包過濾:採用“拒絕"或“允許"的策略,過濾進出的封包。“拒絕"
這種策略是將所有通過防火牆的封包,僅加入組織所需要的服務,其他 的都予以拒絕,這種策略安全性較高。“允許"的策略是允許所有的封 包通過防火牆,然後阻擋企業不允許通過的服務,這種策略安全性較低。
z 代理伺服器:提供內部使用者代理伺服器閘道服務,並且同時保護使用
者抵禦外部的攻擊。
z 利用 IP 位址或埠號(port number)限制進入內部網路的封包,防止入侵 者進入組織內部的網路。
z 防止入侵者取得組織內部資訊。
z 限制未經授權存取,防止入侵者濫用組織資源。
z 提供虛擬私人網路(VPN)。
防火牆廣泛使用在網路安全服務,在不同的網路協定堆疊層也有不同的安 全功能,表 2-3 為防火牆在各網路層所提供的協定服務[41]。
表 2-3 防火牆服務對應網路協定堆疊 堆疊層(Layer) 防火牆服務
應用層(Application) 應用層閘道器、加密、代理伺服器 傳輸層(Transport) 封包過濾(TCP、UDP、ICMP)
網路層(Network) NAT、IP 過濾 資料鏈結層(Data Link) MAC 位址過濾 實體層(Physical) N/A
防火牆在每個 TCP/IP 層所提供的服務不同,可以分為五種類型[41]:
z 封包檢查防火牆(Packet Inspection Firewalls)
路由器(Router)為此類防火牆,它會檢查來源或目的地位址與通訊 埠進出的 TCP、UDP 與 ICMP 封包,對照組織的安全政策所制定的條件,
將封包予以接受或拒絕。
z 應用層代理伺服器(Application Proxy Server)
代理伺服器防火牆是第一線防衛系統,其功能將內部網路的主機服務 需求傳送到代理伺服器防火牆,然後再轉送到達目的地。應用層代理伺服 器會依據應用程式做為過濾規則,然後決定轉送或丟棄封包。它可提供較 高階與較有彈性的安全服務,例如:使用者等級授權、點對點加密、資訊 隱藏與存取限制等服務型式。
z 虛擬私人網路防火牆(Virtual Private Networks Firewall, VPN)
虛擬私人網路是一種加密的系統,包含有PPTP、L2TP與IPSec來達成 點對點的網路安全通道。大部分的防火牆也提供VPN保護,每個經過的封 包必須檢查與授權,才可穿過防火牆然後到達目的地。
z 小型辦公室或家用防火牆(Small Office or Home Office Firewall, SOHO)
SOHO防火牆是小型的防火牆,它會經由數台個人電腦接上集線器,
然後連上DSL或其他種類的寬頻數據機,通常使用在小型公司與家庭。
z NAT 防火牆
NAT防火牆的功能與代理伺服器類似,當NAT接收到內部主機的需 求,它會把原先主機的位址換成NAT的位址,藉以隱藏內部網路的資訊。
二、 防毒軟體
防毒軟體運作的模式可分以下兩種[37]:
z 靜態模式:這種模式使用者必須手動執行防毒軟體,這種防毒軟體比較被 動而且無法主動監控與偵測惡意程式,通常用於系統資源較差的環境上,
例如:低速處理器或較舊型的作業系統。
z 動態模式:防毒軟體常駐在記憶體且持續監控所有的活動,包括作業系 統、網路與使用者,這種模式通常使用在系統資源較佳的環境上。
新型的防毒軟體較有效率,結合了多種技術,可以更有效的防禦惡意程式,
將風險降低,分成了靜態防毒技術與動態防毒技術,以下為兩種技術的介紹 [13][37]:
z 靜態防毒技術
靜態防毒技術由三種主要技術所組成:
1. 病毒特徵檔(Viral Signatures)
病毒特徵碼就是一段獨一無二的字串或16進制編碼,它代表著 一個或一系列的惡意程式,而防病毒軟體在掃瞄檔案時需依據它來 判斷檔案是否為惡意程式。
2. 頻譜分析(Spectral Analysis)
這種技術優點在於可以利用以知的技術偵測未知的病毒,利用 頻譜分析可以偵測加密或是壓縮檔的病毒。
3. 啟發式分析(Heuristic Analysis)
這種技術使用規則與策略去學習程式的行為,主要的目的是偵 測潛在病毒活動或行為。但倘若病毒寫作者分析出防毒軟體的規則 與策略,病毒就可以輕易的躲避偵察。
z 動態防毒技術
動態防毒技術由兩種技術組成:
1. 行為監控(Behavior Monitoring)
這種防毒軟體會常駐於記憶體,並且偵測所有潛在危險的行 為,這種技術有時會可以成功偵測到未知的病毒,但也可能發生許 多錯誤的警訊,也因為是動態模式所以會導致系統效能降低。
2. 先知掃描法(Code Emulation)
將原先用來判斷程式是否有病毒碼存在的方法,分析歸納成專 家系統知識庫,再利用軟體工程的模擬技術(Software Emulation)
執行新的病毒,則可分析出新病毒碼對付以後的病毒。
三、 入侵偵測系統與入侵防禦系統
防火牆是一般普遍的防禦攻擊的工具,這是第一道抵擋惡意程式的防線,入 侵偵測系統與入侵防禦系統則建置在防火牆與路由器之間[11],可以彌補防火牆 不足的功能。防火牆只能對某個服務存取進行限制,但無法偵測異常的封包,若 是配合入侵偵測或是入侵防禦系統,可以加強整體防護的效果,並且偵測是否有 重複攻擊的行為,做出相關的判斷[12]。入侵偵測系統可以分析通過的封包並比 對資料庫的資料,若偵測到異常即發出警報[7]。
z 入侵偵測系統(Intrusion Detection SystemI, IDS)
入侵偵測系統管理政策可分為“網路型入侵偵測系統(Network-based IDS,簡稱 NIDS)”和“主機型入侵偵測系統(Host-based IDS,簡稱
HIDS)”。NIDS 通常部署在網路入口,監聽通過的每個封包。NIDS 可以 偵測出阻斷服務(DoS)或通訊埠掃描(Port Scan)等攻擊。HIDS 是建 置在重要的伺服器或主機上,針對系統上的重要檔案、日誌檔、進行監控,
一旦發現符合入侵規則便發出警告。
z 入侵防禦系統(Intrusion Prevention System, IPS)
IPS 除了可以偵測入侵的攻擊外,同時還可以進行防禦的動作。IDS 在偵測到入侵的時候,會將記錄通報管理者做決定,而 IPS 會自動判斷執 行那種防禦動作。IPS 具有兩個特色:“深層檢測(Deep Packet Inspection)”
和“線型模式(In-line Mode)”。IPS 可以檢測 5~7 層的封包,從攻擊主機 到被攻擊主機,所有封包必須經過 IPS 的檢查,發現有入侵就把封包丟棄。
IPS 與 IDS 都會有誤判率的問題,IPS 過高的誤判率會造成另一種形 式的“阻斷式服務”,因為 IPS 的線性模式必須檢查每個經過的封包,這導 致網路流量的瓶頸,造成網路效能不佳的狀況發生。