2008年2月19日 星期二

防毒軟體被停用?(Antivirus Software Being Disabled?)

現代人的電腦裡,幾乎都備有防毒軟體(主要是指M$的Windows系統),姑且不論是正版教育版免費版還是網路上所謂的快樂版,不管是「求心安」或「大家有,我也要有」的心態下,防毒軟體漸漸地變成了標準配備之一。

單就防毒軟體來說,它畢竟還是有限度的防範而已(防火牆或其它附加功能只是加強範圍),雖然現在已經發展出啟發式分析(缺點是誤判率會提高)、防護機制加密碼管控,避免被人為停用)...等,雖然功能已增加許多,對於有心人士來說;「怎麼繞過防毒軟體監控,來完成他們想要做的事」,他們付出的心血絕不會比防毒軟體商來得少。

如果某天一開機,發現防毒軟體突然沒有作用時,你就要先做好心理準備,這時候被感染的機會,高得讓你難以想像,可能是授權過期自行停用其它原因造成防毒軟體失效,如果是自己的問題反而好解決,怕就怕遇上的是會停用防毒軟體的惡意程式...


現在停用防毒軟體的手法有很多,例:刪除登錄檔中開機啟動(RUN)內有關防毒軟體的機碼(容易被使用者察覺)、在文字模式(cmd)下,以指令停用防毒軟體(可用密碼防護制止)、竄改防毒軟體的主程式(需先行停用才得以操作,否則就得透過其它軟體的協助)。

無論是使用何種方式,重點都是想把防毒軟體停用,好讓自己散布的惡意程式得以安全著陸,想要使用者在神不知鬼不覺的狀況下完成,都得針對每家防毒軟體的架構做相當程度的瞭解才能完成,不然,上述的方法其實都挺容易被使用者所發覺。

現在,我就大略說明一下可能實行的方法:(以KAV為例)

1.刪除登錄檔的開機啟動:
這部份其實很簡單,只要知道防毒軟體的名稱,就能夠將自動啟動的功能給停止:

刪除登錄檔(REG DELETE 路徑 參數(-v) 名稱(AVP)



2.以指令停用防毒軟體:
這部份其實能做到的事情很多,要讓使用者不易察覺的話,只要停用某些防護的功能即可,不用將整個防毒程式停用(例:停用檔案防護,再植入惡意程式)。

"
程式路徑"+程式名(avp.exe) 參數(stop) 套件名(FM)
                        
若需密碼,則加入「/password=密碼」(連密碼都有...)



3.竄改防毒軟體的主程式:
這個就得先讓防毒程式被停用後,再覆蓋原本的主程式,或是透過類似killboxunlocker...等,這類的軟體先將主程式停用之後,再進行更換的動作,這部份我就沒有實際操作,畢竟我手上也沒有類似的sample可以執行。

不過能夠做到這一點的人,他對該防毒軟體要熟悉到某種程度才有可能實現,可以製造出防毒軟體仍在正常執行的假象,實際上卻是半點功用都沒有。

說到這邊,我就不得不提另外一種可以讓防毒軟體被停用的方法,其實筆者也在某些電腦感染惡意程式後看見過,說穿了,不過只是利用各家防毒軟體在時間上的錯覺來達成此目的。

4.透過時間判斷來停用防毒軟體:
我們知道防毒軟體的都有合法使用的授權時間(有無限期使用的請告訴我...),要讓防毒軟體被停用,其實只要你將系統的時間往前調個幾年,就可以讓防毒軟體裝死(請見下圖),真不知道該說這種方法是防毒軟體商沒想到,還是有心人士太瞭解實際的運作而想出的方法。



其實,瞭解自己電腦裡各種軟體的功用及時效性,我覺得相當重要!只是,一般人把軟體灌好後,都覺得他能幫使用者搞定一切,就了它的存在,更別提會留意它什麼時候過期

有時候自己想想,最大的漏洞應該是「人性」!(就算軟體在過期的三、五天前通知,視而不見的人還是多數...)