unknow8877
2009-04-11, 07:22 AM
使用了芬蘭 F-Secure 的掃毒軟體有一段時間了...
對於未知病毒及 rootkit , 惡意軟體的掃描辨識能力相當高...
因為有好幾顆不同的掃描引擎在交叉掃描 , 這樣做的好處是掃描的結果非常準確 ,
但是因為要抓出未知的病毒 , 使用沙箱等技術來做行為分析 , 在掃描時會耗掉較多的系統資源...
除了這個問題外 , F-Secure 大概是我所用過最滿意的掃毒軟體 ....
舉個例子來說 : 當掃毒軟體掃到病毒時 , 當病毒已常駐在記體體中 , 有時會移除不掉 , 只能看著掃毒軟體一直跳警告視窗
病毒每產生一個執行檔的病毒複本在硬碟內時 , 掃毒軟體就會跳出警告視窗並提示已隔離 , 由於記憶體的病毒行程沒清理掉 ,
因此只有掃描及隔離病毒檔案的能力 , 每格幾秒就出現一次警告 , 很煩 , 要不然就是一定要重新開機進入到安全模式下進行掃描
才能完整移除掉病毒 ; 但對於 F-Secure 來說 , 他內建的 BlackLight 技術就是專們來偵測及疑除正在運作中的病毒及Rootkit
只要掃的到 , 就移除的掉 , 根本不需要另外再進入安全模式 , 這就是技術上的差別....
這也是我最滿意的一部份....
但最近在幾次不同環境的電腦上測試時 , 皆發現一個相同的問題…
就是在進行全機掃描時 FSSM32.exe 會吃掉大量的記憶體及CPU資源 … ( memory leaks )
在實體記憶體只有 256MB 的電腦上, FSSM32 可能佔掉 5x – 9x MB
而在實體記憶體插滿2G,3G的電腦上 , FSSM32 也可能會瞬間使用掉 1xx – 2xx MB 的記憶體
在 FSCS 7.x 版時 , 也有這樣的問題 (吃掉1xxMB 記憶體) , 官方甚至有出了個 patch 來解決….
但在 8 版 , 個人覺得問題似乎依然存在….
依照 F-Secure 官網論壇討論所述(註1) FSSM32.EXE 應該是擔負各掃描引擎間協調運作的管理程式
當在處理未知病毒時,FSSM32可能會隨掃描物件需求特性而向作業系統動態配置記憶體等資源來進行掃描分析(沙箱模擬?!) ,可能為了掃描的效能及可靠性,FSSM32並未謹慎的管理系統資原,因此而造成了記憶體及CPU資源的大量耗用
因此提出了一個想法 , 如果能在 FSSM32.exe 與作業系統中間另外串接一個中介軟體 , 當 fssm32.exe 有需要向作業系統要求配置記憶體空間時 , 由中介軟體負責fssm32與作業系統之間記憶體及相關資源的配置管理 , 以避免 fssm32 無止盡的濫用系統資源
這樣做的好處是 , 可以限制住 f-secure 在做全機掃描時所耗用的系統資源 , 同一個時間使用者還是可以正常做其它的事情 , 而不致因 fssm32全速工作而導至系統停擺 , 甚麼事也不能做… ( 目前使用者反應最常見的情況之一 )
這樣的缺點是 , 由於限制住了 FSSM32 正常( 異常?!) 工作時所需要的大量資源 , 掃描的效能可能會降低 , 對於未知的病毒 , 也許無法正常誘使病毒在沙箱環境中執行該有的反應 ; 且此技術需要與作業系統核心整合 , 也有與F-secure原廠授權侵權的可能 …..
分析了幾天 fssm.exe 的運作模式 , 原本應該要著手撰寫這樣的中介程式來測試 , 不過剛好找到 Minimem 這個免費軟體 , 他主要的作用就是可以針對運作中的 process 去做記憶體最佳化的管理 , 雖然跟原本我預期的完整管理(可以明確設定記憶體使用上限) 仍有些出入 , 但是剛好也可以先拿來驗證這個理論是否能有效果….
Minimem (Freeware) 官方網址 http://minimem.kerkia.net/Download.aspx
目前版本為 Minimem 1.2.2
安裝前需要先安裝 MS .NET Framework 3.5
以下為幫 FSSM32 減肥的實際片段:
1. 在未啟用 minimem 工具來管理 fssm32.exe 時 , 在這台記憶體插了3G 的電腦上 , 只要執行全機掃描 , 只要幾秒鐘的時間記憶體就會跑上 2xx MB
http://3.bp.blogspot.com/_mkT87q1qDW0/SdymzNkw2HI/AAAAAAAAAU8/gzsawZn3nMY/s400/ScreenHunter_01+Apr.+01+21.21.gif
2. 啟用 minimem , 並將 fssm32 納入控管 ( 此時 fssm32 已經把玩了 210312K 的記憶體 )
http://1.bp.blogspot.com/_mkT87q1qDW0/SdynHv48t1I/AAAAAAAAAVE/U6avh94KB5Q/s400/ScreenHunter_07+Apr.+04+12.01.gif
3. 套用設定後 , 5 秒後 minimem 接手 fssm32.exe 的記憶體使用管理 , 硬是把記憶體縮水至 28,864K
之後雖然fssm32.exe還是企圖要爭取更多的記憶體 , 但似乎都被 minimem 控制在 1x – 4x MB 之間…
http://4.bp.blogspot.com/_mkT87q1qDW0/Sdynao4fK0I/AAAAAAAAAVM/eeIXLJ-c_TM/s400/ScreenHunter_08+Apr.+04+12.01.gif
4. 當做完全機掃描時 FSSM32.EXE 功成身退隱居幕後 , 僅佔 704K , 差點讓人忘了他的存在….
http://2.bp.blogspot.com/_mkT87q1qDW0/SdynmHZT9YI/AAAAAAAAAVU/BPzg0DFzlGg/s400/ScreenHunter_11+Apr.+04+13.24.gif
結論 : 目前尚無法證實限制 fssm32.exe 會不會對產品效能造成甚麼影響 , 但對於安裝電腦配備等級較差的用戶端 , 可以建議採用這樣的方式將使用者的不便降低…
關於 fssm32.exe 及其他模組間細部的分析測試則需要另外再進行研究 , 請各位前輩提供建議~
以上是我在 F-Secure 上為了有效管理記憶體所做的實驗....提供一點點小心得與大家分享..
如果您使用的掃毒軟體或應用程式也有類似的問題 , 可以測試看看是否有幫助 ...
註1 F-Secure 官網論壇討論內容所列 F-secure Process 列表
fsm32.exe - F-Secure Manager, displays the F- tray icon
fsma32.exe - F-Secure Management Agent (Service)
fsmb32.exe - Message Broker, processes communication between the different modules & products
fsnrb32.exe - Handles the communication between the hosts and the PMS
fameh32.exe - Alert and Messaging Handler, handles alert and log forwarding
fch32.exe - Configuration Handler, reads the base policy files and writes the incremental policy files
fsih32.exe - Installation Handler. Launches ilaunchr.exe during installations
fsav32.exe - Anti-Virus Handler
fsaw.exe - F-Secure Ad-Watch (Browser Control)
fsdfwd.exe - Anti-Virus Firewall Deamon. Redirects e-mails to the Scanner Manager (Service)
fsqh.exe - Handles object quarantine
fsgk32.exe - Gatekeeper Handler. Receives real-time scan requests from the Gatekeeper
fsgk32st.exe - Gatekeeper Handler Starter (Service)
fsrw.exe - F-Secure Reg-Watch (System Control)
fssm32.exe - Scanner Manager. Manages scanning engines
贊助商連結
對於未知病毒及 rootkit , 惡意軟體的掃描辨識能力相當高...
因為有好幾顆不同的掃描引擎在交叉掃描 , 這樣做的好處是掃描的結果非常準確 ,
但是因為要抓出未知的病毒 , 使用沙箱等技術來做行為分析 , 在掃描時會耗掉較多的系統資源...
除了這個問題外 , F-Secure 大概是我所用過最滿意的掃毒軟體 ....
舉個例子來說 : 當掃毒軟體掃到病毒時 , 當病毒已常駐在記體體中 , 有時會移除不掉 , 只能看著掃毒軟體一直跳警告視窗
病毒每產生一個執行檔的病毒複本在硬碟內時 , 掃毒軟體就會跳出警告視窗並提示已隔離 , 由於記憶體的病毒行程沒清理掉 ,
因此只有掃描及隔離病毒檔案的能力 , 每格幾秒就出現一次警告 , 很煩 , 要不然就是一定要重新開機進入到安全模式下進行掃描
才能完整移除掉病毒 ; 但對於 F-Secure 來說 , 他內建的 BlackLight 技術就是專們來偵測及疑除正在運作中的病毒及Rootkit
只要掃的到 , 就移除的掉 , 根本不需要另外再進入安全模式 , 這就是技術上的差別....
這也是我最滿意的一部份....
但最近在幾次不同環境的電腦上測試時 , 皆發現一個相同的問題…
就是在進行全機掃描時 FSSM32.exe 會吃掉大量的記憶體及CPU資源 … ( memory leaks )
在實體記憶體只有 256MB 的電腦上, FSSM32 可能佔掉 5x – 9x MB
而在實體記憶體插滿2G,3G的電腦上 , FSSM32 也可能會瞬間使用掉 1xx – 2xx MB 的記憶體
在 FSCS 7.x 版時 , 也有這樣的問題 (吃掉1xxMB 記憶體) , 官方甚至有出了個 patch 來解決….
但在 8 版 , 個人覺得問題似乎依然存在….
依照 F-Secure 官網論壇討論所述(註1) FSSM32.EXE 應該是擔負各掃描引擎間協調運作的管理程式
當在處理未知病毒時,FSSM32可能會隨掃描物件需求特性而向作業系統動態配置記憶體等資源來進行掃描分析(沙箱模擬?!) ,可能為了掃描的效能及可靠性,FSSM32並未謹慎的管理系統資原,因此而造成了記憶體及CPU資源的大量耗用
因此提出了一個想法 , 如果能在 FSSM32.exe 與作業系統中間另外串接一個中介軟體 , 當 fssm32.exe 有需要向作業系統要求配置記憶體空間時 , 由中介軟體負責fssm32與作業系統之間記憶體及相關資源的配置管理 , 以避免 fssm32 無止盡的濫用系統資源
這樣做的好處是 , 可以限制住 f-secure 在做全機掃描時所耗用的系統資源 , 同一個時間使用者還是可以正常做其它的事情 , 而不致因 fssm32全速工作而導至系統停擺 , 甚麼事也不能做… ( 目前使用者反應最常見的情況之一 )
這樣的缺點是 , 由於限制住了 FSSM32 正常( 異常?!) 工作時所需要的大量資源 , 掃描的效能可能會降低 , 對於未知的病毒 , 也許無法正常誘使病毒在沙箱環境中執行該有的反應 ; 且此技術需要與作業系統核心整合 , 也有與F-secure原廠授權侵權的可能 …..
分析了幾天 fssm.exe 的運作模式 , 原本應該要著手撰寫這樣的中介程式來測試 , 不過剛好找到 Minimem 這個免費軟體 , 他主要的作用就是可以針對運作中的 process 去做記憶體最佳化的管理 , 雖然跟原本我預期的完整管理(可以明確設定記憶體使用上限) 仍有些出入 , 但是剛好也可以先拿來驗證這個理論是否能有效果….
Minimem (Freeware) 官方網址 http://minimem.kerkia.net/Download.aspx
目前版本為 Minimem 1.2.2
安裝前需要先安裝 MS .NET Framework 3.5
以下為幫 FSSM32 減肥的實際片段:
1. 在未啟用 minimem 工具來管理 fssm32.exe 時 , 在這台記憶體插了3G 的電腦上 , 只要執行全機掃描 , 只要幾秒鐘的時間記憶體就會跑上 2xx MB
http://3.bp.blogspot.com/_mkT87q1qDW0/SdymzNkw2HI/AAAAAAAAAU8/gzsawZn3nMY/s400/ScreenHunter_01+Apr.+01+21.21.gif
2. 啟用 minimem , 並將 fssm32 納入控管 ( 此時 fssm32 已經把玩了 210312K 的記憶體 )
http://1.bp.blogspot.com/_mkT87q1qDW0/SdynHv48t1I/AAAAAAAAAVE/U6avh94KB5Q/s400/ScreenHunter_07+Apr.+04+12.01.gif
3. 套用設定後 , 5 秒後 minimem 接手 fssm32.exe 的記憶體使用管理 , 硬是把記憶體縮水至 28,864K
之後雖然fssm32.exe還是企圖要爭取更多的記憶體 , 但似乎都被 minimem 控制在 1x – 4x MB 之間…
http://4.bp.blogspot.com/_mkT87q1qDW0/Sdynao4fK0I/AAAAAAAAAVM/eeIXLJ-c_TM/s400/ScreenHunter_08+Apr.+04+12.01.gif
4. 當做完全機掃描時 FSSM32.EXE 功成身退隱居幕後 , 僅佔 704K , 差點讓人忘了他的存在….
http://2.bp.blogspot.com/_mkT87q1qDW0/SdynmHZT9YI/AAAAAAAAAVU/BPzg0DFzlGg/s400/ScreenHunter_11+Apr.+04+13.24.gif
結論 : 目前尚無法證實限制 fssm32.exe 會不會對產品效能造成甚麼影響 , 但對於安裝電腦配備等級較差的用戶端 , 可以建議採用這樣的方式將使用者的不便降低…
關於 fssm32.exe 及其他模組間細部的分析測試則需要另外再進行研究 , 請各位前輩提供建議~
以上是我在 F-Secure 上為了有效管理記憶體所做的實驗....提供一點點小心得與大家分享..
如果您使用的掃毒軟體或應用程式也有類似的問題 , 可以測試看看是否有幫助 ...
註1 F-Secure 官網論壇討論內容所列 F-secure Process 列表
fsm32.exe - F-Secure Manager, displays the F- tray icon
fsma32.exe - F-Secure Management Agent (Service)
fsmb32.exe - Message Broker, processes communication between the different modules & products
fsnrb32.exe - Handles the communication between the hosts and the PMS
fameh32.exe - Alert and Messaging Handler, handles alert and log forwarding
fch32.exe - Configuration Handler, reads the base policy files and writes the incremental policy files
fsih32.exe - Installation Handler. Launches ilaunchr.exe during installations
fsav32.exe - Anti-Virus Handler
fsaw.exe - F-Secure Ad-Watch (Browser Control)
fsdfwd.exe - Anti-Virus Firewall Deamon. Redirects e-mails to the Scanner Manager (Service)
fsqh.exe - Handles object quarantine
fsgk32.exe - Gatekeeper Handler. Receives real-time scan requests from the Gatekeeper
fsgk32st.exe - Gatekeeper Handler Starter (Service)
fsrw.exe - F-Secure Reg-Watch (System Control)
fssm32.exe - Scanner Manager. Manages scanning engines
贊助商連結