在自然界中,我想大家對殼這東西應(yīng)該都不會陌生的,植物用它來保護種子,動物用它來保護身體等等。同樣,在一些計算機軟件里也有一段專門負責(zé)保護軟件不被非法修改或反編譯的殼。它們一般都是先于程序運行,拿到控制權(quán),然后做保護軟件的工作。動植物的殼一般都是在身體外面同樣軟件的殼也是如此,但后來也出現(xiàn)了所謂的“殼中帶籽”的殼。
從“殼”又延伸出“加殼”和“脫殼”兩個詞匯,“加殼”指的是對編譯好的EXE、DLL等文件采用加殼來進行保護:“脫殼”指的就是將文件外邊的殼去除,恢復(fù)文件沒有加殼前的狀態(tài)。
殼出于程序作者想對程序資源壓縮、注冊保護的目的,把殼分為壓縮殼、密碼殼、加密殼三種。顧名思義,壓縮殼只是為了減小程序體積對資源進行壓縮,常見的壓縮殼包括FSG、ASPack、UPX、北斗等;加密殼也就是常說的保護殼、猛殼,它對程序輸入表等內(nèi)容進行加密保護,具有良好的保護效果,常見的加密殼包括ASPROTECT、ACPROTECT、PELock、幻影等;密碼殼平時使用得不多,加密殼的程序只有在正確輸入密碼后才能運行。
案例
如今黑客使用病毒加殼,主要是對使用的木馬等惡意程序進行保護,從而避免它們被殺毒軟件所查殺。比如大名鼎鼎的冰河木馬,原版本被作者用UPX加殼,可是這種加殼方式已經(jīng)被殺毒軟件列入封殺名單。
所以人們現(xiàn)在要使用冰河的時候,首先需要將原來的UPX殼脫掉,接著通過修改特征碼、修改程序入口地址、加花指令等不同的方法進行免殺操作,然后再加殼進行保護,這樣一個免殺的冰河木馬就誕生了。當(dāng)然有的人可能不會去進行麻煩的免殺操作,所以只要對脫殼的服務(wù)端程序進行多層加殼即可,不過一般都是先加加密殼,再加壓縮殼,順序不能顛倒。
簡單防御方法
有人說過:殼之初,性本善。本來殼的誕生是為了幫助程序作者更好地保護自己編寫的程序,但誰知道現(xiàn)在卻成為了黑客的幫兇,為此我們更應(yīng)該做好防范。
(一)通過Windows注冊表監(jiān)視工具對注冊表的變化進行及時的監(jiān)控,比如Regmon等,可以很好的實時監(jiān)視并顯示對整個系統(tǒng)注冊表的訪問,讓用戶了解某些惡意程序在系統(tǒng)運行后的狀況。
(二)建立良好的安全習(xí)慣,不要打開一些來歷不明的郵件及網(wǎng)頁鏈接,不要到不確定的網(wǎng)頁地址瀏覽及下載文件等。如果有可能的話,是在使用以前對文件的MD5值進行對比,防止黑客惡意對文件進行捆綁。
從“殼”又延伸出“加殼”和“脫殼”兩個詞匯,“加殼”指的是對編譯好的EXE、DLL等文件采用加殼來進行保護:“脫殼”指的就是將文件外邊的殼去除,恢復(fù)文件沒有加殼前的狀態(tài)。
殼出于程序作者想對程序資源壓縮、注冊保護的目的,把殼分為壓縮殼、密碼殼、加密殼三種。顧名思義,壓縮殼只是為了減小程序體積對資源進行壓縮,常見的壓縮殼包括FSG、ASPack、UPX、北斗等;加密殼也就是常說的保護殼、猛殼,它對程序輸入表等內(nèi)容進行加密保護,具有良好的保護效果,常見的加密殼包括ASPROTECT、ACPROTECT、PELock、幻影等;密碼殼平時使用得不多,加密殼的程序只有在正確輸入密碼后才能運行。
案例
如今黑客使用病毒加殼,主要是對使用的木馬等惡意程序進行保護,從而避免它們被殺毒軟件所查殺。比如大名鼎鼎的冰河木馬,原版本被作者用UPX加殼,可是這種加殼方式已經(jīng)被殺毒軟件列入封殺名單。
所以人們現(xiàn)在要使用冰河的時候,首先需要將原來的UPX殼脫掉,接著通過修改特征碼、修改程序入口地址、加花指令等不同的方法進行免殺操作,然后再加殼進行保護,這樣一個免殺的冰河木馬就誕生了。當(dāng)然有的人可能不會去進行麻煩的免殺操作,所以只要對脫殼的服務(wù)端程序進行多層加殼即可,不過一般都是先加加密殼,再加壓縮殼,順序不能顛倒。
簡單防御方法
有人說過:殼之初,性本善。本來殼的誕生是為了幫助程序作者更好地保護自己編寫的程序,但誰知道現(xiàn)在卻成為了黑客的幫兇,為此我們更應(yīng)該做好防范。
(一)通過Windows注冊表監(jiān)視工具對注冊表的變化進行及時的監(jiān)控,比如Regmon等,可以很好的實時監(jiān)視并顯示對整個系統(tǒng)注冊表的訪問,讓用戶了解某些惡意程序在系統(tǒng)運行后的狀況。
(二)建立良好的安全習(xí)慣,不要打開一些來歷不明的郵件及網(wǎng)頁鏈接,不要到不確定的網(wǎng)頁地址瀏覽及下載文件等。如果有可能的話,是在使用以前對文件的MD5值進行對比,防止黑客惡意對文件進行捆綁。