惡意代碼就是一段對計算機用戶有害的程序。它包括病毒,蠕蟲,特洛伊木馬,還有一些廣告軟件,它們可以在沒有經過授權的情況下收集計算機用戶的信息。惡意代碼的危害從單純的煩人的廣告,到嚴重的竊取身份或者財務信息。即使是有嚴格的防火墻規則,實時更新的補丁和防病毒軟件,你仍然不能阻止大多數危險類型的惡意代碼秘密地將自己安裝在系統里。仍然必須另外采用過濾的方式和針對某種惡意代碼的技術,來防止惡意代碼偷偷地自動安裝。
能夠自動安裝的惡意代碼,也被稱為自動下載,通過不安全的瀏覽器的ActiveX 和 Browser Helper Objects (BHOs)繞過網絡安全措施,自動下載的程序可以“劫持”你的網絡瀏覽器或者記錄下你的密碼。惡意代碼可能會在沒有被檢測到的情況下運行,因為操作系統和瀏覽器都缺乏識別攻擊的能力。如果網絡上的任何人擁有當前用戶的權限, ActiveX 和 BHOs默認會允許他編寫代碼并輕易地下載到計算機上去。下載新的函數是BHOs惟一的功能,也是ActiveX的主要目標之一。不幸的是,微軟并沒有構建任何的安全措施。這就是為什么在日常活動,特別是網絡沖浪的時候不使用特權賬號(例如,管理員)那么重要的原因了。
反病毒工具與反惡意代碼的工具有所區別,因為他們感染不同的部分。因為反病毒程序才開始涉及更廣闊的惡意代碼領域,市場是不成熟的。但是它增長迅速,由于微軟,Symantec和McAfee加入了這場比賽,或者將新的特性集成進了現有的工具中,(請注意,微軟的Windows惡意代碼刪除工具和Windows反間諜軟件(beta版)只能運行在Windows2000或者更新版本的操作系統下,而上百萬的用戶仍然使用沒有保護措施的舊系統)。相反,來自較小的廠商的大量的商業和免費的反惡意代碼的產品在一段時間內都是可用的。這些產品分為兩類:預防類和監測/刪除類,然而,由于更多的成熟產品開始同時做到這兩點,這兩類產品之間的界限正在消失。預防類的,例如Javacool Software SpywareBlaster 和Spybot-Search & Destroy帶有使系統免疫的功能,它的目標是通過ActiveX kill bit,或者其他類似的手段來防止惡意代碼安裝(見Blocking spyware via the ActiveX kill bit)。
然而,監測/刪除類的產品,例如Lavasoft Ad-Aware 和 Aluria Software Spyware Eliminator也可幫助你在事后清除。最好是在一個工作站上運行多個產品,因為每個產品都有不同的監測方法,以及不同的惡意代碼數據庫。
另一種選擇是,Mike Lin的StartupMonitor采用一種不同的方式,當任何代碼企圖將自己設置為系統啟動時運行的時候,它都會報警,但是這個產品很低效。這是一種有趣的方式,但是許多代碼,例如反病毒掃描代碼和更新代碼都合理地要在系統啟動的時候運行。對于終端用戶來說,并不容易辨別這兩種類型之間的差異。
自動安裝的惡意代碼最初從網絡服務器上下載得到。但是一旦它安裝好了,它就會通過其他的方式來進行蔓延,這種方式是可以阻塞的。你可以在防火墻、網關、郵件服務器中過濾內容,甚至是通過IPSes進行。然而,如果沒有影響到合理的商務活動,很難從以上所有地方移除惡意內容。例如,如果你在防火墻或者IPS中阻塞了所有的ActiveX,你就不能執行Windows更新服務了。
監測防火墻或者IDS日志,可以在事后向你發出警告。另外,各種各樣的出口過濾(應用在防火墻、路由器和IPSes中)也可以通過限制出口訪問來阻塞惡意代碼向你的邊界蔓延。這可以打擊一些惡意代碼,例如keystroke loggers,但是較智能的惡意代碼仍然可以找到出去的路徑。
出口和內容過濾都可以應用在現代的防火墻上。它們之間的區別就是,出口過濾涉及了防火墻的規則或者是路由器的訪問控制列表。出口過濾標識了什么樣的通信(端口/協議、來源、目標)可以走到哪里去。然而,內容過濾控制了什么內容允許通過。
你還可以創建主機文件(或者DNS記錄),這會對在本地主機上解決眾所周知的惡意代碼問題有幫助,它可以將其指回到你自己的計算機上,從而避免惡意代碼感染或蔓延。或者,你還可以在防火墻中創建一個需要阻塞的站點的黑名單。并且,在個人計算機上的出口過濾也是有效的。例如,Check Point的 ZoneAlarm(區域警報)顯示計算機上的哪段代碼在訪問網絡。這個策略需要你培訓用戶,教他們如何判定觸發防火墻的合法程序。
最后,你也許想要考慮使用除了Internet Explorer之外的任何瀏覽器。當然,更換瀏覽器是一項困難的任務,特別是對于大企業來說,但是這也是值得考慮的一個選擇,考慮到額外的安全措施,在所有其他的主流瀏覽器中都有彈出阻塞和標記瀏覽功能。