反病毒專家談殺毒引擎 多模塊保用戶安全

殺毒軟件本應該是爲用戶清除病毒的利器,但由於種種性能和外在的因素殺毒軟件一直成爲大衆議論的焦點。記者帶着用戶對殺毒軟件的疑惑於8月10日走訪了瑞星反病毒工程師。

  殺毒軟件的核心是殺毒引擎,那麼您可以談一下什麼是殺毒引擎,它的主要作用是什麼嗎?

  殺毒軟件引擎是殺毒軟件的核心部分,主要用來對文件等進行掃描,並對發現的病毒進行清除操作。殺毒引擎不等同於簡單的特徵碼掃描,還包括脫殼、解壓縮以及啓發式掃描引擎等等。

  同時,殺毒引擎還肩負着清除病毒和後處理(恢復系統環境,比如文件關聯等)的重要操作,一些殺毒軟件只注重檢測率而忽視了對感染型病毒的處理(比如本應該是清除掉文件上的病毒代碼,卻直接將染毒文件刪除了),這樣的殺毒軟件引擎同樣不能算是優秀的引擎。

  殺毒引擎的性能是如何判別的?我知道對病毒的脫殼的能力是判斷一款殺毒軟件性能的一個很重要的標準,瑞星的性能在技術上是什麼樣子又或者有沒有什麼BUG?

  評價一個殺毒軟件引擎的好壞要看多方面的指標,比如掃描速度、資源佔用等等,而這些和引擎的複雜程度又有關係。比如,瑞星殺毒軟件引擎支持虛擬機脫殼,壓縮包及一些軟件安裝包的解壓縮等。這些操作就比那些不脫殼(或只支持少量殼)、不解壓縮或只依靠文件擴展名判斷文件格式的殺毒軟件引擎要複雜,同時它的掃描速度也比簡單的引擎要稍多一些。簡單地說,評價引擎性能只能是一個相對指標,而不能以絕對值來進行限制。

  脫殼能力是目前判斷殺毒軟件性能的重要指標之一。目前瑞星採用的虛擬機脫殼引擎應該說是一個比較行之有效的辦法,也是瑞星在技術上的優勢。在測試初期發現過一些BUG,但目前已經解決掉了。現階段還沒有發現明顯的BUG。

  如今安全技術已經引起越來越多的人注意,很多軟件都存在漏洞或BUG,不知道瑞星的產品是否也存在BUG?如果有這樣的BUG存在,瑞星如何處理的?

  只要是程序就會存在BUG,尋找BUG主要是由測試部門來完成。瑞星有非常嚴格的審覈制度和BUG管理制度。在瑞星的研發中,測試部門有非常高的控制權,凡是測試沒有通過的程序是絕不會發布的。並且,對於每一個已知BUG都會分配一個case,並按照BUG的重要程度排序,在最短時間解決問題。

  儘管如此,瑞星並不能保證出品的產品100%沒有BUG,事實上任何一個軟件廠商都不能避免這樣的問題。瑞星公司對BUG是非常重視的,遇到用戶發現的BUG會立即嘗試重現,如果在公司重現不了,會第一時間和用戶取得聯繫,在用戶的許可的情況下,到用戶處去查找並解決問題。

  因此,瑞星的產品目前是業內公認的具有極高穩定性的產品。

  我知道瑞星在行業內最鄭重的提出了殺毒軟件引入的虛擬機技術,虛擬機的引入必將佔用一定的系統資源,瑞星是怎麼處理這種矛盾的,還是虛擬機只是在某一個或幾個方面應用?

  瑞星殺毒軟件2007版提出是虛擬機脫殼技術,而不是指完整的虛擬機,因此在資源佔用上很小。

  目前的脫殼技術有兩種:

  第一種是算法脫殼。這種方法直接找加殼的解密算法進行脫殼,這種方法的好處是速度快,佔用資源少,缺點是對付加密變形殼幾乎無法處理。比如國內比較常見的一個加殼工具“免疫007”,很多殺毒軟件均不能正常脫殼。很多殺毒軟件在查殺變形殼時,並不能將殼脫掉,而是直接報的殼的名字,比如Antivir報的Trojan/NSAnti,卡巴報的Packed開頭的均屬此類。

  第二種是動態脫殼。大家都知道加殼程序在運行中,其進程是展開的,即不管加了什麼樣的殼,在運行時都要還原成其本來面目。但如果在一臺真實的機器上讓病毒動態脫殼,則殼解開了,病毒也感染了系統。所以,這裏引入了虛擬機的概念,虛擬一個計算機環境,誘騙程序在裏面運行,並自我釋放。瑞星的虛擬機脫殼引擎並不會將文件完全運行開來,只運行到殺毒軟件引擎能夠正常處理的階段。因此,虛擬機脫殼並不像其它廠商描述的那樣會佔用大量的系統資源。實際經過測試,瑞星07版在查殺加殼病毒時的速度要比06版快很多。

   此外,虛擬機的原理就是設置一個虛假的環境和用戶真實系統無關,因此不必擔心病毒會從虛擬機中“跑”出來。此外,瑞星虛擬機脫殼引擎只是提取了虛擬機中的部分,目的是讓病毒自行展開。瑞星也有與VMWare、VirtualPC功能相同的單獨產品,目前主要用於病毒分析。

  瑞星的監控程序如何避免影響系統的正常運行,如何避免影響正常的文件操作和其他程序的正常運行,以及如何避免與網絡操作存在衝突?

  對於操作系統,採用白名單機制,判斷爲正常系統文件後自動放過,提高系統運行效率。同時,對產品進行嚴格測試,避免監控程序和其它正常程序出現衝突。

  我知道殺毒軟件在設計的時候總會在誤殺和殺毒準確性上有差別,您是如何看待這個差別的,又是如何做取捨的?

  殺毒的準確性上就包括了對誤殺的控制。從技術角度講,任何一個殺毒軟件都不能避免誤報誤殺。但是,殺毒軟件廠商能夠通過分析、測試將誤報率降到最低,尤其像諾頓這樣的系統級誤殺絕對不允許出現。而頻繁的對流行應用軟件出現誤殺誤報,也是無法容忍的。這些重大誤殺,通過技術手段是完全可以杜絕的。

  比如,瑞星公司在每一個升級數據庫被公佈前,都會經過多項嚴格的測試,在測試的任何一個環節出現問題,都會將原升級程序打回重新進行修改。

  目前,瑞星殺毒軟件以中(簡繁)、英、德、日、俄五種語言版本在全球同步發行,瑞星在每次升級時都要對相應語言版本的操作系統、以及所有的流行軟件進行穩定性測試。同時,瑞星在各個國家的代理商也會定期整理當地的流行軟件程序到公司總部進行嚴格測試,確保不會對它們出現誤報誤殺的情況。

  如今木馬、蠕蟲以及惡意軟件遠遠比病毒的危害更大,而且更有針對性,瑞星的引擎技術是如何保證準確的查殺這些惡意程序的呢?

  殺毒軟件到底查殺什麼,實際上範圍很廣,包括甚至一些技術上來說並不是病毒的程序(比如惡作劇程序、流氓軟件等等)。目前,病毒的概念已經被擴大化了,實際上可以稱之爲網絡威脅(也有廠商稱之爲混合威脅)。

  但一些其它的專殺工具廠商爲了自身的利益故意混淆這個概念,宣稱他們可以查殺XXXX萬個木馬,它們會給公衆一個錯誤的信息,即殺毒軟件只能殺病毒。事實上,目前商業的反病毒軟件能夠查殺的領域早已比這些木馬專殺等程序要廣的多。比如,木馬、蠕蟲、後門及惡意軟件數年前就已經被瑞星殺毒軟件列爲查殺目標了,並且從技術角度說,處理它們比處理感染文件的變形病毒要簡單。

  如果有一天病毒的加殼算法或者僞裝技術先於了殺毒軟件的脫殼能力,該如何應對?有預防措施嗎?對變形病毒又有什麼好的解決辦法嗎?

  從現實效果看,絕大多數的加殼都能夠被瑞星殺毒軟件2007版的虛擬機脫殼引擎成功的解殼,這方面已有一些技術愛好者進行過相關評測,結果也是令人滿意的。

  當然,不可能指望用一個技術來解決所有的問題,對於一些比較罕見的殼(即極少有病毒採用的殼)可能會不脫殼直接提取特徵,此外還有一些加殼軟件的作者會針對瑞星的虛擬機進行頻繁修改,試圖繞過虛擬機,有的時候,甚至一天會更新數個版本。遇到這種情況,通常是直接把殼的特徵當作病毒添加到特徵庫,事實上這種做法在國外的殺毒軟件中也較爲常見。瑞星在這兩種方法中進行折中,會優先進行脫殼掃描,避免一些用戶正常的但也加了殼的文件被誤報爲病毒。

  此外,啓發式掃描和惡意行爲判斷也是解決這種問題的行之有效的方法。

  對於變形病毒,瑞星的虛擬機引擎也能夠起到很好的作用。比如,去年四月曾出現過一個通過P2P傳播的病毒—波利普斯(Win32.Polipos)。該蠕蟲病毒沒有實體文件,它會感染Windows可執行文件。同時該病毒採用“入口點模糊”(Entry-Point Obscuring)技術對抗殺毒軟件。該病毒不修改原文件入口點,並且自帶多態/變形引擎,確保每一次感染文件後病毒體均不相同,給殺毒軟件查殺該病毒造成很大困難。

  到目前未知,大部分殺毒軟件仍無法查出該病毒或查出病毒無法清除,只簡單地刪除該染毒文件。而瑞星的虛擬機引擎技術可以讓病毒自行運行一部分代碼進行解密,因此對該病毒的清除效果很好。

  那我們的病毒樣本是如何採集的呢?這個數據是否真的可靠?假如我們的產品走出國門,您覺得有信心取得競爭優勢嗎?

  瑞星的樣本收集通過用戶上報、蜜罐系統、第三方的多引擎掃描系統等多種途徑。從目前效果看已經具備了一定水準的樣本收集和處理能力。

  瑞星公司正在加快國際化的步伐,其在病毒的處理能力上已經具備了和國外知名廠商抗衡的能力。目前,國際上比較認可的反病毒產品評測主要有West Coast Labs、AV-Test、Virus Bulletin等等,我們已經參加了或準備參加其中的許多評測。

  其中,瑞星已經獲得West Coast Labs的Checkmark AntiVirus Level I、II、Trojan以及Vista認證。在AV-Test的評測中瑞星排名第10位,領先於McAfee、趨勢、熊貓等國際廠商。瑞星自從2006年正式參加該項評測以來,成績逐步上升,到目前爲止,瑞星是國內唯一一款參加AV-test年度測試,並取得優異成績的國產殺毒軟件。

  從一些國外反病毒機構的統計看,中國是全世界病毒危害最爲嚴重的國家。如果這些評測機構選擇的是國產病毒樣本而不僅僅是歐美流行病毒,毫無疑問瑞星會取得更優異的成績。

  我知道在國外,賽門鐵克等廠商正在計劃新的殺毒引擎標準設計,我們國內反病毒行業有自己的殺毒引擎標準嗎?

  國內反病毒行業沒有同一的殺毒軟件引擎標準,實際上在國外也沒有而且也不太可能由一個廠商來制定整個行業的殺毒引擎標準。殺毒軟件引擎各家都有自己獨特的技術,並且技術是互不公開的,但最終要解決的問題都是更好的檢測並清除掉病毒。

  如今的殺毒引擎主要還是採用特徵檢測技術,而國外已經在提行爲檢測,並想把行爲檢測作爲一個標準引入到殺毒引擎中,瑞星對這個是如何看待的?是否行爲檢測真的要到只能算法有所突破的時候才能得到廣泛應用呢?

  其實瑞星在行爲檢測技術上早有研究,並且已經開發出相應的產品。比如瑞星殺毒軟件中的註冊表監控、瑞星卡卡上網安全助手中的IE防漏牆等等都是行爲檢測的雛形。而真正的惡意行爲監測,是指對一系列的行爲組合進行規則判斷,監測其是否是惡意。

  業內曾有一些言論稱主動防禦是未來反病毒的發展趨勢,也有一些廠商做出了帶有主動防禦功能的產品。但從技術上而言,目前出現的所謂主動防禦技術基本上只是惡意行爲檢測這一部分,是一個狹義的主動防禦概念。

  而瑞星的定義,主動防禦應該是一種阻止惡意程序執行的技術,除了必須有的惡意行爲檢測外還應該提供開放的高級用戶自定義規則。可以對系統、應用程序的行爲進行保護、限制等。

  那在行爲檢測中,如何避免誤殺?我們知道行爲檢測中的誤殺,要比特徵檢測更難防範。

  行爲檢測的誤報問題確實是各個廠商都需要面對的問題,目前市面上的一些帶有主動防禦功能的殺毒軟件往往都是基於一個行爲對惡意程序進行判斷。比如,瑞星2008版中的主動防禦經過病毒分析人員的經驗,定義出一系列的動作組合規則,用動作組合來進行判斷,可以極大減少誤報情況的發生。同時,通過白名單機制,將一些流行軟件加入到白名單之內,同樣可以減少誤報的情況。其次,通過對規則設置高中低的敏感度,同樣可以解決一部分問題。再者,進行大量測試,避免主動防禦對正常系統及應用程序產生不良影響。

  行爲檢測本身是一種模糊判斷,必定存在一定的誤報。由於其誤報控制一部分是依賴於白名單機制,因此在國內的軟件應用環境下,國產軟件的誤報率肯定要遠遠低於國外軟件。

  特徵碼技術則是一種精確判斷病毒的方法,目前看也是最成熟的方法。因此,殺毒軟件仍然還是以特徵碼查殺爲主,而以行爲檢測爲輔。

  對近日黑客大會提出的三大現有技術無法解決的Blue pill攻擊、 anti-DNS pinning攻擊以及javascript惡意軟件威脅,瑞星有什麼看法呢?

  新的嚴重威脅不是第一次出現,也不會是最後一次。對於黑客大會中提到的相關技術,瑞星並沒有忽視隨着應用的發展出現的安全問題並一直在致力於研究解決的方案,當威脅離開實驗室來到真實的互聯網世界中時,瑞星有能力保護廣大的用戶。比如說,類似Blue pill這樣的虛擬機rootkit攻擊並非真的無法檢測,該技術也不是在這次黑客大會才爲人所知。

  以後的瑞星發展方向在哪裏?馬上要公測的瑞星2008又有什麼功能改進,技術創新呢?

  瑞星殺毒軟件2008版相對於2007版增加了很多功能,同時也對程序進行優化,資源佔用情況和對系統性能的影響比07版降低很多。由於目前瑞星的08版還屬於小規模內測階段,具體功能改進和技術創新尚不便透露,見諒。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章