第二章 - 了解安全性風險

本頁索引

風險管理
深度防禦
常見的攻擊手法及預防措施
摘要
其他資訊


   從 IT 系統問世的那一天起,安全性威脅便如影隨形地跟隨著它。如果想保護您的環境免於遭受攻擊,就必須先對可能遇到的危險有充分的了解。

   辨識安全性威脅時,必須考慮到兩個主要因素:1) 攻擊的類型,2) 攻擊的發生位置。許多公司忽略了第二個因素,認為嚴重攻擊都來自外部 (通常是 Internet 連線)。在 CSI/FBI 的《電腦犯罪與安全性調查》(Computer Crime and Security Survey) 報告中,有 31% 的回覆者表示最常遭受攻擊的點是公司內部系統。但許多公司可能對內部攻擊的發生毫無知覺,主要因為它們並未監視這方面的可能。

   在這一章,我們將討論您可能面對的攻擊類型,並探討在業務及技術上可以採行的步驟,以便將這些威脅降到最低。

風險管理

  在現實世界中,現在已經沒有全然安全且仍有用的 IT 環境這種事了。您必須詳細檢查您的環境,評估目前所面臨的風險、決定可接受的風險層級,並將風險控制在此層級以內或更低。環境的安全性如果提高,風險自然會降低。

   一般的法則是公司的安全性層級越高,施行的成本越高,功能也會大打折扣。評估過可能的風險之後,您可能必須降低安全性層級,讓功能增加、成本降低。
      舉例來說,假設有一家信用卡公司想要實施詐欺防範系統。如果詐欺案一年造成公司三百萬美元的損失,但實施及維護詐欺防範系統一年須花費五百萬美元,因此安裝這個系統在財務上並沒有直接的好處。但這家公司可能遭受的間接損失 (例如公司聲望以及客戶信心的喪失) 可能遠超過三百萬美元。因此這種計算實際上會更複雜。

   有時額外的安全性層級會讓使用者系統變得複雜。例如某家線上銀行可能決定對存取自己帳戶的使用者採取多層驗證。但如果驗證系統太過複雜,有些客戶覺得麻煩,便不想再使用這個系統,它所造成的損失可能會比系統遭受攻擊來得多。
      如果要了解風險管理的原則,必須先了解風險管理程序中的關鍵用語,包括資源、威脅、弱點、剝削利用和反制措施等等。

資源

   在環境中須受保護的任何東西都稱為資源。它可以是資料、應用程式、伺服器、路由器,甚至是人員。安全措施的目的是保護您的資源免受攻擊。
      風險管理的重點之一,就是判斷資源的價值。您不會只用標準門鎖和警報系統來保護貴重的皇冠珠寶。同樣地,資源的價值通常決定了所適用的安全性層級。

威脅

   威脅是指可能侵入您的資源並造成傷害的人、地、事。下表顯示了不同類型的威脅及其範例。
表 2.1:電腦環境的潛在威脅

威脅的類型範例
天災和實體火災、水災、風災、地震
停電
非蓄意未被告知的員工
未被告知的客戶
蓄意駭客
恐怖份子
工業間諜
政府
惡意的程式

弱點

   弱點是指資源易受攻擊之處。您可以把它想成一個破綻。弱點常被歸為幾類,如下表所示。
表 2.2:電腦環境中的弱點

弱點類型範例
實體未上鎖的門
自然 防火系統失效
硬體與軟體 防毒軟體過時
媒體電子干擾
通訊通訊協定未加密
人為因素詢問台程序不安全


注意事項:由於組織之間的差異,此處所列的威脅和弱點的範例,可能不適於您的組織。

剝削利用

  如果某個威脅透過環境中的弱點入侵您的資源,這一類的攻擊稱為「剝削利用」(exploit)。資源的剝削利用有多種執行方式。下表列出常見的幾種。

表 2.3:電腦環境中的資源剝削

剝削利用的類型 範例
技術弱點剝削利用蠻力攻擊
緩衝區溢位
組態設定錯誤
重新執行攻擊
連線劫奪
資訊收集 辨識位址
辨識作業系統
掃描連接埠
探測服務與應用程式
掃描弱點
分析回應
列舉使用者
文件探究
利用無線裝置的漏洞
社會工程
拒絕服務實體傷害
移除資源
修改資源
資源飽和

當某個威脅利用弱點來攻擊您環境中的資源時,可能造成嚴重的後果。下表顯示環境中可能遇到的剝削之結果和範例。
表 2.4:剝削利用的結果

剝削利用的結果範例
喪失機密 未經授權的存取
權限提升
模擬或竊取身份
喪失整合性 資料損毀
資料錯誤
喪失可用性拒絕服務

威脅、弱點及風險之間的關係

   如果在公司內發現威脅和弱點,首先必須判斷其等級,如低、中、高。等級的定義隨公司而異,甚至同一家公司也可能有不同的標準。例如對於位在斷層線上的公司,地震的威脅就要比其他地方的公司來得大。同樣地,生產高度精密及脆弱電子設備的廠商,其實體危險弱點的等級,必須設得比營造公司高。

注意事項:工作協助 1:「威脅分析表」可以幫助您評估威脅的等級及其對您公司的影響。

威脅和弱點的等級越高,公司所面對的風險等級也越高,如下圖所示。

Dd548239.ch02-1(zh-tw,TechNet.10).gif
圖 2.1風險矩陣


反制措施

   反制措施可以用來反制威脅和弱點,以便降低環境中的風險。例如,生產精密電子產品的公司可能會在建築物地基部署固定設備或額外的緩衝機制。這些反制措施降低了地震對其資產可能產生的實質傷害。剩餘風險則是指所有反制措施均應用來降低威脅和弱點之後,所剩下來的風險。

深度防禦

   如果要降低環境中的風險,您必須採用深度防禦策略,以保護資源免受來自外部及內部的威脅。深度防禦 (有時稱為深度安全性或多層安全性) 是一個軍事術語,是指以層層的安全性反制措施,建構一個深具凝聚力、沒有任何弱點的安全環境。組成深度防禦策略的安全保護層,包含範圍是從外部路徑一直到您資源所在之處,其中的所有點均應一路部署保護措施。

   部署了多層的安全性之後,若某一層被攻破,其它層仍能提供必要的保護。例如,若一家公司的防火牆被破壞,駭客仍然無法自由查閱公司最機密的資料。理想上每一層都應該提供不同形式的反制措施,以預防相同的剝削方法被運用在各個層次上。

下圖顯示了有效的深度防禦策略:
Dd548239.ch02-2(zh-tw,TechNet.10).gif

圖 2.1 深度防禦策略


   您的資源並不只是資料,同時還包括環境中有可能遭受攻擊的任何東西,這一點非常重要,請務必記住。請詳細檢查要受保護的資源,判斷對其保護是否足夠,這也是風險管理策略的一部份。當然,需要部署的安全性數量,須視您的風險評估以及部署反制措施的成本與優點而定。然而最終的目標,還是要讓駭客在沒有具備相當知識、時間和資源的情況下,就無法避過這些反制措施,存取您的資源。

注意事項:部署深度防禦的細節,必須視環境的特異性而定。若環境有了改變,請務必重新評估您的深度防禦措施。

接下來我們將深入探討深度防禦措施中的每一層。

資料防禦

   對許多公司來說,資料是它們最重要的資源。如果資料落入競爭者手中或被破壞,都將造成嚴重的後果。

   在用戶端層級,儲存在本機中的資料最容易出現安全性弱點。如果膝上型電腦被偷,那麼竊賊不需要登入系統即可備份其中的資料,再於他處還原之後閱讀。
      保護資料的方法有許多,包括使用加密檔案服務 (EFS,Encrypting File Service) 或協力廠商加密,以及修改檔案的安全性描述元存取清單等等。

應用程式防禦

   另一層的防禦 - 應用程式強化 - 則是所有安全性模型的基本部份。許多應用程式使用 Windows 2000 的安全子系統來提供安全性。但開發人員有義務在應用程式中加入安全措施,對應用程式可存取的架構範疇提供額外的保護。應用程式存在於系統環境中,因此在考慮應用程式安全性時,必須從整個環境的安全性來看。
在加入生產環境之前,您公司的所有應用程式都應在一個測試環境中做過詳細的安全性測試。

主機防禦

   您環境中的每部主機均應經過評估,並建立限制每部主機只能存取各自應執行工作的原則。這麼做可建構另一個安全堡壘來防禦駭客的入侵。第 4 章〈依據角色保障伺服器的安全〉將提供可增進五種常見 Windows 2000 伺服器角色安全性的原則。

   其中的一種方式,是您可以依據每一部伺服器所含的資料類別,建立個別的原則。例如某家公司的原則規定所有 Web 伺服器均供公眾使用,因此只能含有公開的資訊。而其資料庫則為公司機密,必須不計成本地加以保護,其分類如下表。

表 2.5:伺服器的分類

定義
公共使用其中資料的散佈不受限制,包括行銷資訊、銷售情形以及對外公開的資料。公共 Internet 伺服器上的資料應該供公眾使用。
僅限內部使用在公司內部披露的資訊是安全的,但若外洩到公司外部,則會造成損失。此種資訊和 Internet 之間至少要有一層防火牆。
公司機密此處的資訊若被披露,將對公司整體造成極大的傷害。這些資料相當敏感,唯有需要知道的人員才能得知。此種資訊和 Internet 之間至少要有兩層防火牆。


網路防禦

   您公司可能有一系列的網路,但各個網路必須分別加以評估,確定是否都採用了適當的安全措施。如果路由器被侵入,它可能拒絕為所有網路區段提供服務。

   請檢查您網路上合法的傳輸,並阻止所有不必要的傳輸。也可以考慮以 IPSec 替內部網路封包加密,以 SSL 替外部通訊加密。網路上的封包 sniffer 也必須受到監視,它只能在嚴格控制下使用。

外圍防禦

   如果要阻止來自外部的攻擊,保護網路周邊是最重要的一部份。如果外圍能夠保持安全,內部網路就能受到保護,不受外部的攻擊。您公司必須具備某種類型的安全裝置,以保護網路的每個進入點。所有裝置都必須經過評估,以決定允許的傳輸類型,然後再發展一個安全性模型來阻擋所有其他傳輸。

   防火牆是外圍防禦的一個重點。您需要一或多個防火牆,將來自外部攻擊的威脅降到最低,以及審核及偵測非法闖入,確定攻擊侵入時您可以立即得知。如需審核及偵測非法闖入的詳細資訊,請參閱第 6 章〈審核及侵入偵測〉。

   另外也請記住,在允許遠端存取的網路中,外圍還包括員工的膝上型電腦甚至家用電腦。您必須確認這些電腦符合您的安全需求,才能讓它們連接網路。

實體安全性

   未經授權的使用者可以自由進出的環境,基本上就不安全。要讓系統拒絕服務,最有效的方式就是拔除伺服器的電源,或者取出磁碟機。若有人竊取了伺服器甚至膝上型電腦,就有可能發生資料偷竊 (或拒絕服務) 的情形。

   實體安全性必須作為整體安全策略的基礎。而實際保護伺服器所在的位置則為第一優先。它可能是建築物中的伺服器室,或是整個資料中心。


公司各棟樓的出入口也必須留意。只要能在建築物中自由出入,即使無權登入網路,這些人也都有機會進行攻擊。這些攻擊包括:

  • 拒絕服務 (如在作為 DHCP 伺服器的網路中接上一部膝上型電腦,或者拔掉伺服器電源)
  • 竊取資料 (例如竊取膝上型電腦、或對內部網路進行封包sniffing)
  • 執行惡意程式 (例如從公司內部啟動複製型病毒)
  • 竊取重要的安全資訊 (例如備份磁帶、操作手冊及網路圖)

您應該決定公司適用的實體安全性等級,這也是風險管理策略的一部份。可行的實體安全性措施包括下列幾項。

  • 建築物的所有區域均施以實際保全 (包括使用鑰匙卡、安裝生物測定裝置及設置警衛等等)
  • 訪客必須全程由專人陪同參觀
  • 要求訪客到達時應簽入所有電腦裝置
  • 要求所有員工登錄自己擁有的任何可攜式裝置
  • 將所有桌上型及膝上型電腦固定在辦公桌上
  • 要求所有資料儲存裝置在被帶離建築物前,必須先行登錄
  • 將伺服器置於只有系統管理員才能夠進入的獨立房間
  • 多準備幾套 Internet 連線、電源及防火裝置
  • 防範天災及恐怖分子攻擊
  • 加強保護可能發生拒絕服務攻擊的區域 (如線路從建築物接出之處)

原則和程序

   到目前為止,我們談到的措施幾乎都著重在預防系統受到未經授權的存取。但環境中仍有許多人必須具有系統的高階存取權。除非能確保這些人不會濫用他們被授予的權限,否則任何安全策略仍有嚴重的弱點。

   在雇用新員工之前,須對這些員工進行安全過濾程序,而員工的存取權限越高,過濾標準要更嚴格。

   至於現有員工,則必須告知公司的安全性原則,以及什麼可以做、什麼不能做 (最好也能解釋原因)。這是很重要的一點,而這有兩個原因:首先,如果員工未被告知哪些事是禁止的,則他們所採取的行動可能會危害到您環境的安全。第二點,如果員工惡意攻擊您的 IT 環境,但在公司原則中未明令禁止此項動作時,您就很難對這名員工採取法律行動。

   在以 Windows 2000 為基礎的的環境中,您可以精確地控制使用者所具有的管理權限。請務必嚴格定義每一位 IT 員工所具有的系統管理權限之範圍。員工所具有的系統管理權限不應高於他的工作所需。

   員工安全性的通知可能必須包含一個新生訓練課程,加上定期提醒以及明顯公佈安全性程序更新。最重要的一點,是讓所有員工都了解自己在保障環境安全的程序中都扮演著重要的角色。

注意事項:工作協助 2:〈最常犯的安全錯誤〉(Top Security Blunders) 列舉了公司內部所常發生的安全性錯誤。這些錯誤將對您公司造成極大的風險。在定義安全性原則時,請務必將發生這些錯誤的可能性減至最低。

常見的攻擊手法及預防措施

  深度防禦措施的另一個重點,是必須了解駭客的手法,才能對這些常見的攻擊作出防禦。本節將探討數種類型的攻擊手法及其預防措施。

注意事項:工作協助 3:〈攻擊和反制措施〉(Attacks and Countermeasures) 一文的表格中列有常見技術弱點及其反制措施。

資訊收集

駭客的目標常是您環境中的資訊。資訊本身有時就有足夠的用途,有時是可用來取得進一步的資訊和資源。

防範資訊被收集的關鍵,是限制來自外部、未經授權的存取。可行的方法包括:

  • 確定網路上特定且可辨識的裝置才能允許遠端存取連線。數據機掃描 (modem-sweep) 公用程式應檢查所有公司前置詞 (prefix),找出未經授權的裝置。偵測遠端存取裝置的動作也可以在電話語音系統的掃描偵測功能啟動時進行。
  • 在透過外部防火牆直接連接 Internet 的電腦上關閉 NetBIOS over TCP/IP,包括連接埠 135、137、139 及 445。如此外來者就很難使用標準網路連接伺服器。
  • 在面對 Internet 的兩個網路介面卡以及目的地為某個Web 伺服陣列 (Web farm) 的傳輸之防火牆上,只啟用連接埠 80 和 443。如此即可消除最依賴連接埠的偵察技巧。
  • 檢視公共網站上的資訊,確定下面幾點:
    ●站台所使用的郵件地址不是系統管理員帳戶。
    ●網路技術未指定。
    ●在網站上張貼公司資訊是適當的,但不能用來揭露或暗示安全系統的特性。這一類的資訊包括最新消息及活動。例如,如果網站宣佈您的公司剛剛購併了另一家公司,駭客可能會把目標放在這家被購併的公司,期待在匆忙連接之際,網路的安全出現弱點。
  • 檢視員工在 Usenet 群組上張貼的內容,以評估這些資訊的類型。
  • 管理置於網站來源碼中的內容之類型,以防止駭客檢視這些來源碼 (此種技巧通常稱為「來源篩選」),從中獲得有價值的資訊。安全小組必須在來源碼中檢查的項目包括是否有不適當的註解、內嵌的密碼及隱藏的標記。
  • 檢視您 IP 位址及網域名稱登錄上提供給大眾的資訊。
  • 確定駭客無法詢問 DNS 以得知參考網路,也無法哄騙它執行完整的區域轉送。藉由傾印 DNS 中的所有記錄,駭客可以詳細查看最容易被鎖定目標的電腦。若要防止DNS 詢問的發生,您可以使用 [通知] 選項,只對授權伺服器啟用區域轉送,以便對 Windows 2000 DNS 伺服器指派權限。另一個方式是施行唯讀 DNS,將原則和程序置於適當位置為其更新。
  • 查閱《站台安全性手冊》(Site Security Handbook) (RFC 2196) 中重要的原則考慮。與外界有業務往來的公司,必須曝露某種程度的資訊。重點是您只能提供需要的資訊,而不是會被惡意使用的資訊。
  • 當某些個人試圖使用諸如 traceroute 等公用程式來探測網路時,您應該管理提供給這些人的資訊類型。這些公用程式使用存留時間 (TTL) 參數,可用來跟隨一個 IP 封包從一部主機到另一部主機, 然後即可使用這些結果建構出整個網路的輪廓。

注意事項:RFC 2196 可從本章最後的〈其他資訊〉一節所列的 Request for Comments 網站中查到。

限制掃描和取得有價值資訊的能力

  傳輸控制通訊協定 (TCP) 以及使用者資料包通訊協定 (UDP) 都使用連接埠進行通訊。利用連接埠掃描器,駭客可以發現您環境中正在聆聽的伺服器,然後使用這項資訊來找出弱點。

   駭客常用的掃描方式有許多。他們會用這些方式取得聆聽中連接埠、呈現出的通訊協定、甚至主機的作業系統 (OS) 和版本狀態等資訊。辨識出主機的連接埠、通訊協定和作業系統有助於發現安全弱點,這些在未掃描裝置之前是無法發現的。

下表顯示了幾種較為重要的掃描方法、它們做了什麼,及其價值所在:
表 2.6:掃描方法及用途

掃描方法  作用方式用處
Internet 控制訊息通訊協定 (ICMP,Control Message Protocol) 回應 (Echo) 或抓取 (Ping)將 ICMP 連接埠 0 封包傳送到接收的系統。若系統允許對 ICMP 回應產生反應,就會傳送一個 ICMP 回覆給掃描的系統,顯示系統作用中且正聆聽網路傳輸。抓取掃描 (ping scan) 可用來找出網路上正在聆聽的主機。它不會找出聆聽的連接埠或 ICMP 以外的通訊協定。許多安全性篩選裝置會阻擋 ICMP 回應要求,藉以預防透過外圍所進行的抓取。
TCP 連接或三向信號交換 (Handshake)使用標準的三向信號交換,以驗證是否與聆聽的 TCP 連接埠有連線。當您不會經過 TCP 篩選安全裝置 (如防火牆或封包篩選路由器) 時,它就相當有用。
TCP 詐騙 連線要求 (SYN)使用三向信號交換的前兩個步驟。在最後一個步驟中,掃描系統傳送一個具有重設 (RST) 而非狀態認可 (ACK) 旗標的封包,因此不會建立一個完整的連線。由於連線永遠不會建立,因此比較不會被安全裝置偵測到或篩選出。速度比 TCP 連接掃描慢。
TCP Finish (FIN) 除了 FIN 旗標之外,所有旗標均關閉。在聆聽的連接埠上所收到的這一類封包通常不會傳送回應,但非聆聽連接埠則會傳送一個 RST 封包。未回應的連接埠即為聆聽中的連接埠。可能可以繞過聆聽僅 SYN 封包的系統或安全裝置,如 TCP SYN 掃描所見。可能無法從以 Windows 為基礎的系統得到精確的結果,如此它將很難確定這些系統上開放的連接埠有哪些。
片段封包TCP 封包被切分成片段,然後在目的地以先前的掃描技術之一重新組合。有些安全裝置 (包括侵入偵測系統) 可能在重新建構這些封包資料流時會覺得很困難。有時可以避過篩選裝置,甚至使其損毀。可能對這些裝置造成極大的負擔。
 
身份擷取在 TCP 連線 (三向信號交換) 建立好以便決定哪一個帳戶關聯到聆聽連接埠處理之後,便建立一個身份要求 (Ident request)。這種類型的掃描無法辨識出聆聽的連接埠,但可辨識帳戶及關聯的服務。Microsoft 作業系統不會提供這項資訊。
檔案傳輸通訊協定 (FTP) Proxy 掃描原先的 RFC for FTP 設計了一個 proxy 類型的服務,允許使用者連線到 FTP 伺服器,要求 FTP 伺服器啟動一個通往其他系統的檔案傳輸。FTP proxy 掃描使用這種設計上的 缺失來 proxy 對其他系統的連接埠連線要求對於掃描隱藏在防火牆後面的系統可能有用。發現允許這樣做的系統,這件事本身就是一個弱點,因為它將網路流量傳遞到您安全原則或安全裝置所不允許的位置。
UDPUDP 是一個無連線通訊協定,這表示傳送的系統不會期望得到目的地的回應。執行 UDP 掃描的系統只會得到非聆聽連接埠的回應。 UDP 連接埠由於其無連線的本質,經常不會被安全裝置所篩選出,或者篩選的程度有限。通常 UDP 服務 (如 DNS 以及簡單網路管理通訊協定 (SNMP) 等都沒有安全地施行,經常會經由安全性外圍允許通過。速對較慢或者封包漏失較嚴重的連線可能會誤將大部份的連接埠顯示為開啟。
作業系統偵測作業系統 (OS) 偵測可以許多方式執行,但最精確的是將來自裝置的 TCP 回應與一個已知系統類型清單相比對。用來判斷主機資訊的元件包括了 TTL、TCP 序號、片段、FIN 與 ACK 回應、未定義的旗標、視窗大小、ICMP 回應,以及多重 TCP 選項等等。通常 OS 偵測掃描可以規避許多篩選裝置,但 proxy 防火牆除外,因為防火牆是實際傳送回應者。傳回的 OS 類型可能不止一個,因此結果可能不準確。防火牆或路由器通常會拒絕以 ICMP 為基礎的 OS 偵測掃描。

 
當駭客使用掃描的方式時,您仍須知道他們偵測到的弱點在哪裏。因此在環境中施行嚴格控制的掃描是個不錯的方法。
要保護網路不被掃描,您至少要做到以下幾點:

  • 定義出必要的連接埠;要開啟任何其他連接埠,必須經過安全委員會所有成員的一致同意。
  • 施行網路入侵偵測系統。
  • 停止系統上所有不必要的服務。關於在 Windows 2000 五種伺服器角色中被停止的服務之詳細資訊,我們將在第 4 章〈依據角色保障伺服器的安全〉中討論。
  • 套用所有現行的系統修補程式。關於如何持續得到最新的系統修補程式之詳細資訊,請參閱第 5 章〈修補程式管理〉。

術弱點的剝削利用

   駭客會嘗試利用您環境中的技術弱點,以存取您的系統並提高其權限。他們採用的方式有許多種。本節將列出主要的幾種,並告訴您如何防範。

連線劫奪

   連線劫奪工具會讓駭客中斷、結束或竊取進行中的連線。這幾類的攻擊傾向針對以連線為的基礎的應用程式。許多連線劫奪工具可以同時檢視數個連線。要保護架構免於遭受連線劫奪,最好的方式就是加密。

預防 DNS 被下毒

   DNS 伺服器是所有以 Windows 2000 為基礎的網路最重要的一部份。所有網路用戶端都會查詢 DNS 伺服器,以找出需要與之通訊的伺服器。若要攻擊 DNS,駭客可以使用 DNS 下毒的方式。例如,他可以使用許多滲透技巧,以惡意的資訊覆寫 DNS 伺服器的快取檔。結果當使用者查詢生產 DNS 時,會被轉送到由駭客控制來損害系統的假造 DNS 伺服器。下列方式可以防範對 DNS 的攻擊:

  • 使用不同的 DNS 伺服器來解析內部網路的要求,確保這些 DNS 伺服器不會對外來電腦的查詢產生回應。這種方式稱為 split-split DNS。
  • 使用一個不允許任何更新的唯讀 DNS。
  • 使用 Active Directory 安全性替 DNS 資料庫保全,只允許安全的 DNS 更新。
  • 在 Windows 2000 DNS 設定的進階設定中,啟用 DNS 快取防毒設定。

URL 字串攻擊

   現在駭客開始把焦點集中在橫越連接埠 80 的攻擊上。這一類攻擊的形式之一,是建立一個使用 Unicode Translation Format-8 (UTF-8) 編碼版的反斜線或正斜線 的 URL 字串,例如 %c0%af。這一類的攻擊允許駭客橫越遠端系統目錄結構,取得重要的伺服器或網路資訊,甚至從遠端執行程式。

      例如,Nimda 這個複製型病毒會使用一個以 UTF 加密的 URL 字串,在遠端伺服器上啟動一個 Trivial File Transfer Protocol (TFTP) 工作階段,並下載其有效傳輸單元 (payload) 至受危害的電腦。然後這個複製型病毒會安裝它自己的 TFTP 伺服器、下載其有效傳輸單元的其餘部份,並以各種方式自我複製,例如啟用大量郵件、在網站內部嵌入一個 .eml 檔,以及攻擊開啟的網路共用資源。

   要深度防禦 URL 字串攻擊,第一步是儘量多學習此種攻擊的相關資訊,且隨時讓修補程式保持最新。關於如何持續得到最新的系統修補程式之詳細資訊,請參閱第 5 章〈修補程式管理〉。

   有關 Nimda 這個複製型病毒的詳細資訊及其防範措施,請參閱 TechNet (細節請見本章最後的〈其他資訊〉一節)。

攻擊安全性帳戶管理員檔案

   藉由攻擊「安全性帳戶管理員」(SAM,Security Accounts Manager) 檔案,駭客有可能存取到使用者名稱和密碼。駭客一旦拿到這些資訊,他就能合法地存取您網路上的資源。因此在預防攻擊的措施當中,管理 SAM 檔案是一個極為重要的步驟。可達成這個目標的方法包括:

  • 使用系統機碼 (Syskey) 對 SAM 檔進行額外的加密。
  • 透過原則停用區域網路 (LAN) 管理員驗證以及 LAN 管理員雜湊的儲存,並使用其他形式的驗證 (如憑證及生物測定裝置 (Biometric) 等)。
  • 建立並強制使用複雜的密碼原則。

緩衝區溢位

   緩衝區溢位是駭客用來存取系統的一種很危險的技巧。駭客試圖放置過多資訊到容器內,看能不能讓溢位以一種有意義的方式發生。例如,若被攻擊的程式未能執行適當的界限檢查,它便會溢位,且讓駭客執行他們所選擇的功能。通常這些溢位會在具有完整系統管理權限的本機系統帳戶環境中執行。
許多溢位攻擊均有詳細的書面記錄,可輕易地從 Web 下載。最常見的類型是以堆疊為基礎的緩衝區溢位攻擊。 溢位會覆寫整個堆疊,包括指標。駭客利用這一點的方式,是調節置於溢位中的資料量。然後再送出電腦特定的程式碼來執行一個命令,以及一個新位址功傳回指標使用。最後,當系統回到堆疊時,駭客會使用指回原堆疊的位址來執行其程式指令。
要控制緩衝區溢位攻擊,您必須:

  • 隨時以最新的 Service Pack、Hot Fix 和修補程式更新系統。請參閱第 5 章〈修補程式管理〉。
  • 養成良好的程式撰寫習慣,並遵照標準的界限檢查指南。這個主題有相當多的資源,例如Michael Howard 和 David LeBlanc 合著的 Writing Secure Code (Microsoft Press; ISBN: 0-7356-1588-8。

拒絕服務攻擊

  駭客不一定要存取系統才能造成嚴重的問題。拒絕服務 (DoS,Denial of Service) 攻擊包括了讓系統資源忙碌到一個程度,使其無法執行正常功能。範例包括用完伺服器上所有網路連接,或讓郵件伺服器處理較設計來處理的量還多的郵件。DoS 攻擊可能是由直接攻擊所導致,也可能是由病毒、木馬病毒或複製型病毒所造成。
分散式拒絕服務 (DDoS,Distributed Denial of Service) 攻擊包括了在攻擊之前先在許多電腦上安裝被稱為 zombie 的程式。然後命令會發給這些 zombie,它們再代表駭客發動攻擊,使駭客的行蹤無法追蹤。zombie 本身通常都使用複製型病毒安裝。

  DDoS 攻擊所帶來的真正危害,是駭客使用許多犧牲者電腦作為主電腦,來控制發動攻擊的 zombie。當受攻擊的電腦試圖回溯此攻擊時,它會收到許多由一串 zombie 所產生的詐騙位址。

以下的防衛步驟可以協助您預防這一類的攻擊:

  • 讓系統隨時以最新的安全性修補程式更新。請參閱第 5 章〈修補程式管理〉。
  • 將大型抓取 (ping) 封包阻擋在路由器及防火牆之外,不讓它們接近外圍網路。
  • 在路由器上套用防詐騙篩選器;亦即阻擋來源位址與內部網路位址相同的內送封包。
  • 將防火牆和路由器上的 ICMP 訊息篩選出來 (這可能會影響到某些管理工具)。
  • 與您的 Internet 服務提供者 (ISP) 共同發展出防禦計劃,在發現目標為您 ISP 與周邊網路的頻寬之時,迅速作出回應。
  • 停止對直接廣播作出回應。
  • 套用適當的路由器和防火牆篩選。
  • 使用 IDS 系統來檢查不尋常的傳輸量,若偵測到任何異常,則立即產生警示。將 IDS 設定成在偵測到 ICMP_ECHOREPLY 沒有關聯的 ICMP_ECHO 封包時產生警示。

DoS 和 DDoS 是 Internet 上最常見的攻擊類型。每周都有許多 DoS 攻擊被記錄,加到錯誤追蹤資料庫內。請隨時對這些攻擊保持最新的了解,並知道如何防衛。

後門攻擊

   為了預防駭客下載系統資訊,您必須防止駭客使用木馬病毒在系統上安裝後門。這通常比較容易發生在用戶端,而非保全完善的伺服器上。然而,駭客可以使用此種機制來攻擊某個使用者或系統管理員的工作站,再利用該系統對生產周邊網路發動攻擊。

      例如 Back Orifice 2000 是一個後門程式,它可以讓駭客透過網路從遠端控制電腦、抓取觸鍵動作,再使用這些資訊成為網路上某個工作站的使用者。許多病毒檢查程式偵測得出 Back Orifice;然而新版的 Back Orifice 會建立各種變體,讓病毒檢查程式無法偵測出來。它也會以隱密模式執行,不出現在工作清單上,因為它足跡的大小小於 100 KB。Back Orifice 只是眾多後門程式中的一個而已。您可以執行以下動作,協助防禦這一類的攻擊:

  • 執行完整的病毒掃描,讓防毒軟體隨時保持最新。
  • 透過電子郵件傳送的所有內容均須小心,儘量不要執行未知的附件。
  • 執行諸如 Internet Security Systems (ISS) 掃描器等工具,以掃描整個網路看看是否有駭客的工具 (如Back Orifice) 存在;確定掃描器資料庫隨時均保持最新。
  • 只接受經過簽署的 Microsoft ActiveXR 控制項。
  • 教育使用者,使其了解安裝未知程式、啟動有問題的附件,以及下載未經簽署或未知的 Internet 內容的危險。

惡意的程式

   任何可執行的程式碼都可能成為您公司的風險。惡意的程式可能以損毀的程式形式出現,它散佈在公司內部及不同的公司之間 (例如透過電子郵件),也可能是故意從公司內部執行的程式,具有破壞的意圖。
惡意程式的範圍縮小後,可以歸為以下幾類:

  • 病毒
  • 複製型病毒
  • 木馬病毒
  • 其他惡意的程式

表 2.7:惡意程式的類型

惡意程式的類型 說明
病毒藉由將自己插入或貼附到其他程式、開機磁區、磁碟分割磁區或支援巨集的檔案的方式,感染這些媒體。然後再從那一點複製到其他電腦。病毒可能只會複製,但更多病毒會對感染的系統造成危害。
複製型病毒自我複製,從一個磁碟機到另一個,或者使用電子郵件或其他傳輸機制跨網路複製。它不需要修改其主機即能散播,可能會對電腦的安全性造成危害。
木馬病毒不會自行複製,但其惡意功能隱藏在其他程式內部,這些程式看起來似乎有點用,因此常常會被忽略 (通常隱身在笑話程式內)。一旦侵入系統,它通常會對電腦安全性造成危害,這也成為允許未經授權存取的第一步。
其他惡意病毒無論是有意或無意,但可能對您環境造成傷害的可執行碼均屬此類。例子之一是會造成迴圈的批次檔,且每一個迴圈都耗盡系統資源,直到電腦無法正常作用為止。

      防毒公用程式可以預防許多惡意程式執行,但卻不能百分之百防止。如果限制對 CD-ROM、磁片及其他輸出輸入裝置的存取,可以進一步保護不受這些惡意程式所影響,但同時也會阻止在內部系統所寫的程式碼。程式碼也可能在公司內部以電子郵件寄給其他人。即使不允許使用某些類型的附件,還是很容易藉由變更副檔名的方式來規避,等到進入公司內部後再改名來執行。

   保護機碼系統和資料檔,使其不受未經授權的存取,是防禦惡意攻擊程式最重要的一部份。同時您也必須保護 Active Directory 及其元件。

摘要

  本章介紹了對您環境最重大的威脅,以及可行的防禦措施。下面幾章將更詳細介紹如何保護您的系統免受攻擊、受攻擊時如何找出攻擊點,以及發生攻擊事件時應採取的措施。

其他資訊


顯示: