https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

不可能的任務 ─遠離間諜程式的7種方法

2005 / 08 / 22
ED Skoudis
不可能的任務 ─遠離間諜程式的7種方法

DNS黑洞
只要在DNS上將常見的間諜軟體網域指向內部Web伺服器或是本機(127.0.0.1),你便可做出能夠阻礙間諜軟體的DNS黑洞。只要使用者的機器向DNS查詢已知的間諜軟體站台,內部DNS伺服器便會回傳DNS管理者所設定的回應。
即使仍有一些間諜軟體會成為漏網之魚,但處理DNS回應仍能夠防止間諜軟體的封包傳回它們的主網中,並減低其攻擊性。
在建立DNS黑洞時,也可以考慮採用Bleeding Snort集團的Black Hole DNS Spyware Project,它整理出了上千個常見的間諜軟體網域。
另外,你也可以在每台PC本機的主機(Host)檔中,加入可能的間諜軟體網站,將這些網站指到127.0.0.1,完全避開DNS解析。
然而,DNS的方式顯然是較為容易的,因為它不需要一一為每一個用戶端電腦進行設定。另外,有些間諜軟體還會攻擊主機檔,將DNS所做的阻隔覆蓋掉,或是直接修改掉主機檔案。

限制權限
企業應嚴正考慮是否真的有需要給予一般使用者特殊的權限。
許多企業仍然會給予使用者本機管理員的權限。由於大多數使用者都會盲目地執行危險的程式,因此這種作法是危險的。還有,如果你讓使用者具有這種權限,他們也會利用這個帳號瀏覽網頁或閱讀電子郵件,讓他們的系統更容易遭受間諜軟體的攻擊。
將使用者指派到受限制的群組,便能避開這類的問題,特別是在Windows的機器上。你可以將使用者帳戶指派到預設的「受限制的使用者」或自訂的限制群組中。
然而,若真要進行這項Windows環境設定,安全管理員還得為了支援受限制的使用者而改變其日常工作。工作上的變更包括了:
●確定用戶端裝有遠端桌面管理,如Windows遠端桌面、VNC,或是Dameware等工具。這些工具可讓技術支援人員利用管理者權限進行系統的錯誤排除。
●部署堅強的更新程式管理系統,例如微軟的Software Update Services(SUS),這類系統可讓安全團隊在不干擾使用者的情況下派送更新程式。
●幫使用者事先安裝好必備的瀏覽器外掛程式,例如Acrobat、Flash、Shockware,以及QuickTime等等。
●要確定即使使用者沒有管理員權限,防毒軟體病毒碼還 是可以部署到用戶端。
●設定所有使用者可能需要的印表機。如果需要額外的印表機,請確定技術支援人員可以遠端安裝。
不幸的是,許多老舊的(甚至沒那麼舊的也一樣)Windows應用程式還是得需要管理員的權限。企業應先測試這些應用程式,看看需要哪些檔案、目錄、登錄機碼,以及使用者權限,你可以利用www.sysinternals.com的Filemon、Regmon以及Tokenmon等工具進行分析。然後再個別去修改各個資源的ACL(存取控管清單),讓非管理員權限的使用者仍然可以使用這些程式,或是將用戶端移至終端機服務的環境,以便集中監控。
Microsoft的DropMyRights工具,可以將機器上的管理員權限縮減。這個免費的工具不使用煩人的RunAs功能,而是利用限制的權限,建立出IE、Outlook等應用程式的捷徑。只要將這些捷徑放在桌面及開始功能表中,你便可避免使用本機管理員權限來執行這些程式,使用上也更安全。
如果真的在意間諜軟體,就該把企業中的電腦全升級為Windows XP SP2,因為它比其他版本的Windows具有更多的設定選項,且對間諜軟體更具保護作用。雖然XP SP2未臻完美,但它在瀏覽器安全區域上提供了更好的隔離,另外還包含了資料執行防制(DEP﹐Data Execution Prevention)功能,對暫存器滿溢的防護具有幫助。而一些間諜軟體常用的漏洞,在XP SP2上也不再復見。

善用AD
Active Directory可利用群組原則物件(GPO﹐Group Policy Objects)細調整個企業中的系統,並將IE的缺陷調整開來。
首先,請在IE的「限制的網站」區中加入已知的間諜軟體與有害的網站,這個區域的用途,是要標示出可能對你的電腦與資料有害的網站。請小心設定此區域,務必關閉所有的指令檔、ActiveX以及下載等功能。
你可以利用許多方法來整理這些潛在的間諜軟體網站。例如,你可以利用Bleeding Snort或Someonewhocares.org的DNS及主機檔做為開始。或著是把免費的Spybot Search & Destroy下載到測試環境中。把這套工具的「Immunize」功能打開,這項功能會自動更新本機瀏覽器的「限制的網站」。你可以在測試環境的瀏覽器設定中檢閱並修改這些網站。當你修改完限制清單之後,便可利用這台測試機器做為範本,利用GPO將它套用到其他的機器上。
另外,你還可以利用GPO設定IE拒絕所有的瀏覽器外掛程式,除了使用者真正需要的除外(例如Acrobat或QuickTime)。你也可以防止使用者啟動特定的瀏覽器外掛程式。
你不用再擔心使用者看到安裝ActiveX控制元件的畫面會按下「確定」按鈕了,透過GPO設定XP SP2上的IE,使用者完全看不到ActiveX安裝的提示畫面。 為了達成更完善的控制,Windows還支援「軟體限制原則」。你可以根據檔案路徑、數位簽章、來源區域(如Internet區域)或MD5編碼等條件,定義個別的程式,讓它們無法在Windows XP/2003上執行。
在使用者僅能執行幾個程式的高度控制環境下,軟體限制原則可以用來列舉出一些允許的程式,然後再拒絕其他程式的執行。或著,如果使用者需要一些些自由的氣息的話,這個原則也可以只拒絕指定的程式就好了。你可以在Spyware Data Web網站或免費的Spybot S&D中,找到不錯的間諜軟體相關DLL、EXE、瀏覽器輔助物件(BHO﹐Browser Helper Objects)清單。

部署其他的瀏覽器
一些想要避掉IE所有問題的公司,可以使用其他競爭對手的瀏覽器產品,如Firefox。然而,其他的瀏覽器仍可能有被植入間諜軟體的安全隱憂。
若你真的打算轉換,可別忘了變更的成本。請先在新的瀏覽器上仔細測試過你的應用程式。許多我們以為「與瀏覽器無關」的網站應用程式,真的放在非IE環境下時,常會出現一些狀況,進而必須耗費昂貴的重新開發成本。
一些私人企業與政府單位常採用兩種瀏覽器的解決方案,利用Firefox作為日常瀏覽用途,經由較為寬鬆的代理伺服器出Internet,而較受限制的區域則採用IE。在此情境下,我們可以設定一個代理伺服器,讓它只能夠存取IE專用,且符合企業所需的網站,再藉由GPO的幫助,限制IE只能透過這個代理伺服器進行存取。企業內部應用程式的主網頁可放置一個連結,使用者按下這個連結,便會開啟IE,並載入因應的起始網頁。就某種層面而言,這種設計可限制IE只能透過代理伺服器存取幾個信任的網站。
或著,你也可以將IE整個關閉掉,你可以在GPO中設定「不要執行指定的Windows應用程式」。將「iexplore.exe」加入清單中,便可防止使用者執行IE。另外,若一些使用者依然能莫名奇妙地執行IE,你還是可以利用GPO改變預設的IE首頁,將使用者導向內部網頁,通知使用者不要使用IE,並引導他們執行其他的瀏覽器。

善用基於網路的IPS
許多基於網路的IPS現在都能夠偵測並攔截到間諜軟體的特徵了。
像TippingPoint(3COM)的UnityOne或是McAfee的IntruShield等反間諜軟體工具,它們的特徵資料庫都能夠阻斷間諜軟體。這些工具能夠根據間諜軟體的安裝程序或是它與控制中心的通訊,拿來跟特徵資料庫進行比對。由於在假陽性的情況下會有意外阻斷網路通訊的風險,因此基於網路的特徵敏感性比基於主機掃瞄器要低。另外,這些IPS工具提供的網路特徵,也能補強現存以主機為主的防毒軟體及反間諜軟體掃瞄器。
Bleeding Snort具有以Snort為基礎的惡意軟體規則可供IDS/IPS工具使用。它列出了幾乎1,000種常見間諜軟體或惡意軟體樣本的特徵。只要在對外的HTTP通訊上裝配Snort偵測器,Snort便可為你找出網路上安裝過的間諜軟體。

充份利用對外網頁代理伺服器
許多大型企業都使用代理伺服器連出Internet的網站,以便集中管控、記錄、分析,並過濾員工的瀏覽習慣。但只有少數企業懂得善用代理伺服器所提供的安全功能。
一些組織會利用商用防毒軟體或反間諜軟體等掃瞄工具,對代理伺服器本身的HTTP快取進行掃瞄,以便利用網頁代理伺服器阻擋或偵測間諜軟體。當這些工具發現已知的間諜軟體樣本時,便會阻斷該站台的存取,並警告管理人員哪些用戶端可能受到感染。將其設定為每小時執行一次,如此便可對潛在的感染提供快速的警告,且不會嚴重影響效能。
另外,許多間諜軟體會修改瀏覽器的User-Agent字串,這種作法也有利於找出被安裝的間諜軟體。所有被感染過的機器瀏覽的網站,都會收到間諜軟體特殊的User-Agent字串,而不是瀏覽器的預設值。有些間諜軟體/廣告軟體公司之所以這麼做,是為了在合作的網站上留下記錄,以便日後根據記錄請款。
Bleeding Snort的另一項計畫,則是要將這些被間諜軟體公司改過的User-Agent欄位做成清單,以列出各種常見的間諜軟體或侵略性廣告主的User-Agent類型。一些組織便能根據Bleeding Snort User-Agent清單,在對外網頁代理伺服器上自訂過濾器,或是在網路IPS/IDS上自訂特徵。當惡意的User-Agent類型被發現時,使用者會被導向一個內部的網站,上面便有解決安裝的方法說明,或是請他們與安全事件回應小組聯絡。
少數技術精進的組織,能更進一步地善用User-Agent。在對外的代理伺服器上,網路IPS/IDS會記錄下User-Agent字串。然後你可以利用一個指令檔來收集出各個內部IP位址在存取Internet時所使用的User-Agent類型。這個指令檔可以偵測類型的改變。如果某個IP位址所使用的User-Agent在24小時內有所變化,這個IP便非常有可能遭受到感染。因為它不依靠事先定義的間諜軟體清單,因此這種方法可以用來偵測出未知的間諜軟體。Intelguardians提供了一個免費的指令檔—Spyware User-Agent Detection(SUAD),它便可根據可疑的User-Agent字串行為,來分析Squid代理伺服器的記錄檔。

善用啟動指令檔
間諜軟體偵測的最後手段,便是利用Windows網域對用戶端部署指令檔,以便在系統開機及使用者登入時掃瞄常見的間諜軟體檔案、程序,以及登錄機碼。 Spyware Data Web的網站、Spybot S&D的軟體,以及Bleeding Snort惡意軟體規則清單等,都有這類指令檔可用的資料、規則,以及特徵。當啟動指令檔找到間諜軟體時,它會以訊息視窗的方式警告使用者,或是通知安全管理人員。
有些組織也會自行開發指令檔,然後再建立他們自己的反間諜軟體方案。這些指令檔通常會自動將間諜軟體刪除,而一些組織則會傾向先通知管理人員,再進行手動移除。

沒有簡單的替代方案
可想而知,並不是所有的組織都會採用我們所討論的防治措施。然而,你還是得為你的需求與基礎架構建置最適合的方案。這些策略全都是與企業反間諜軟體一同運作。藉由兩者的結合,協同防禦,相信對貴組織的間諜軟體威脅一定有所助益。
特約作者ED SKOUIDIS,擁有CISSP認證,是安全顧問公司Intelguardians的共同創辦人,也是「Malware: Fighting Malicious Code and Counter Hack」一書的作者。若對本文有任何想法或意見,請來信iseditor@asmag.com。