近期勒索軟件已是資安界的熱話,想必各位 IT 人久不久便會聽到身邊同樣從事 IT 工作的好友因為公司中了勒索軟件而叫苦連天!其實要有效對付勒索軟件,便要做好三種防禦工作。第一種就是提高員工安全意識;第二就是做好備份工作;第三就是部署防禦方案。
先不說教育員工及備份等,本文反而想與大家分享一種筆者近期留意到,並主力針對勒索軟件的全新防禦玩法。
為甚麼勒索軟件能避開部份防毒軟件?
現時防毒軟件很多都是基於傳統的方式進行防護,例如是通過 Sandbox 於虛擬環境之中執行惡意程式,並從中分析其執行的 Log,對比防毒軟件的資料庫,從而判斷出該程式所執行的是否為惡意程式等等。
不過為甚麼這些傳統的防禦方法都不能夠比較準確的對付到勒索軟件呢?其中最主要的原因在於這些勒索軟件在開發時採用了被稱為變化碼(Polymorphic code)的方式進行編程;再加上這些勒索軟件都是用戶親自認可並執行的,因而令部份傳統的防毒軟件較難偵測到。
所謂的變化碼﹐在惡意軟件的應用之中主要是作為加密與解密之用。(注意這裡指的加密解密並非勒索軟件針對系統進行的檔案加密,而是指惡意代碼的加密與解密),並可分為 6 種不同的演算法,包括有半變、定點變化、垃圾代碼變化、演算法固定但指令卻可變、演算法解密部份隨時變化以及是加密與解密完全自動變化。
前四種的演算法由於始終有部份語法或設計上是不變的,因此傳統的防毒軟件是可通過最傳統,增加病毒特徵碼的方式輕易偵測到,但最後兩種分別是演算法解密部份隨時變化以及是加密與解密完全自動變化這兩種編程方式,傳統的防毒軟件根本不能預防。
原因可能大家都會估計得到,那就是因為最後兩種方式根本沒有固定的語法可以讓防毒軟件作為偵測的一種條件。
多想一點……何不針對勒索軟件的動作進行阻截呢?
老實說,電腦程式在設計上,當需要就一些事件進行某些回應,例如防毒軟件需要就勒索軟件進行防禦時,便需要先定義當中擁有那些條件,才可證明其是勒索軟件並觸發防毒軟件進行攔截,這部份傳統的防毒軟件需要抽取勒索軟件之中的一些演算法或設計作為條件,從而才可成為觸發攔截的條件。
不過當勒索軟件之中的代碼能自動進行變化﹐那麼傳統的防毒軟件根本沒有方法取得證明其是勒索軟件的攔截條件,試問又如何能偵測到勒索軟件呢?
於是有廠這便想出了非常創新的方法去應付勒索軟件,那便是針對一旦用户「中招」後,勒索軟件的一些常用手段,通過判斷這些手段,從而對勒索軟件要進行的動作進行阻止,最終成功阻止勒索軟件所造成的破壞。
該廠商的名字大家都十分熟悉了,就是 Kaspersky。今次她們發明了一種全新的技術對付勒索軟件,其創新的想法值得一讚!
預防勒索軟件過程
步驟一
與很多防毒軟件一樣,Kaspersky 在開初會先以 Kaspersky Lab’s advanced anti-malware engines 掃描各種惡意軟件,並與其本身的病毒資料庫進行對比,當發現進入電腦的惡意攻擊流量或惡意軟件等等的時候,便會進行封鎖。
當然,我們都知道對於採用了變化碼的進階勒索軟件來說,傳統的方式是不能 100% 偵測得到的,而 Kaspersky 亦不例外。
步驟二
接著 Kaspersky 會開始採用一種名為 Proactive 的功能,這技術主要是用來偵測當通過了步驟一的程式在執行時會影響到系統上的那一些檔案;而針對勒索軟件,Kaspersky 會通過 Proactive 功能下的 HEURISTICS 技術,並分析惡意程式的目標及所影響的檔案、指令以及程式的設計架構,從而偵測出未知的惡意軟件以及其家族成員並盡可能進行攔截。
當然,面對變化碼的勒索軟件,此功能仍然無法 100% 將之封鎖,於是便出現了 System Watcher 這功能。
步驟三
當勒索軟件真的不幸地通過了步驟二的話,便輪到 Kaspersky SYSTEM WATCHER 出場的時侯了。System Watcher 能針對程式進行跟踪,並就其行為模式進行偵測及攔截。
正如剛才說過,勒索軟件的變化碼難以被偵測出來,然而當勒索軟件被執行後,變化碼終將會出現一條固定的演算法,而此時 System Watcher 便會發揮其作用,並對勒索軟件被執行後的行為進行監測,當發現行為出現異常時,便會即時終止有關行為,就是這樣令 Kaspersky 能針對勒索軟件提供更佳的防謢。
步驟四
最後,Kaspersky 亦會通過一種名為 ROLLBACK 的功能,從而協助用户進行備份工作。
當任何程式,例如是勒索軟件嘗試改變或加密系統中的任何檔案(例如加密.doc、修改.exe 檔案、MBR、Windows 系統檔案或改寫 Registry)時,此功能會在檔案被改變前自動備份有關檔案,換句話說當勒索軟件嘗試改變系統之中的檔案時,此功能會率先自動備份將會被改變的檔案,從而讓Kaspersky進行攔截時同時進行復原工作,並以此為用户提供最底層的保護,讓你即使面對勒索軟件亦可擁有最佳的防禦。
當然加密檔案的動作,不一定是勒索軟件作怪,有時亦是企業對保護資料所採取的正當措施;而修改Registry,亦是安裝正當軟件時常見的行為。因此Kaspersky為免此「守尾門」的System Watcher功能影響系統日常運作,其實已預設了動態白名單 Dynamic Whitelisting,而且透過雲端資料庫持續更新,常見且被評為安全的程式行為就不會被錯誤攔截。
自動阻止加密、自動備份目標檔案?!業界創新技術助對抗勒索軟件威脅
https://www.facebook.com/hkitblog