2
本文作者: 李勤 | 2017-03-27 17:20 |
本文作者:李勤,雷鋒網(wǎng)網(wǎng)絡安全專欄作者,安全圈大姐姐,入錯行的八卦愛好者。
最近,雷鋒網(wǎng)小李遇到了一個神奇的人。
他自稱為“勒索軟件終結者”,
“要教勒索軟件一些做人的道理”。
納尼?感覺好厲害的樣子。
小李的腦海里瞬間浮現(xiàn)出這樣的形象。
然后,雷鋒網(wǎng)小李在2017先知白帽大會的現(xiàn)場遇到了他——倪茂志。
雖然,他不是上面這種手持機槍的酷炫狂拽叼霸天的扛把子,但頗有幾分掃地僧的氣質。
要知道他到底厲害不厲害。先得了解什么是勒索軟件:
根據(jù)百度百科,勒索軟件是黑客用來劫持用戶資產(chǎn)或資源并以此為條件向用戶勒索錢財?shù)囊环N惡意軟件。
它如何劫持用戶資產(chǎn)?
把你電腦里所有的文件都加密!
一旦加密,按照勒索軟件的調性和加密的特殊方法,你基本是無法解密的。
也就是說,要么給錢贖文件,要么坐等期限一到文件被刪,或者忍痛自己重裝系統(tǒng),放聲大哭!
最近,也許因為勒索軟件作妖無敵手,還冒出了一些特別奇葩的勒索軟件。
一款勒索軟件讓受害者用語音說出解鎖密碼,又不是你家親愛的,居然還要搞語音識別說悄悄話!
一款奇特的勒索軟件:只要閱讀兩篇有關勒索軟件的文章就可以解鎖。這位勒索軟件作者,你是不是從小深藏一個人民教師的夢想?
一款“可能會被判刑”的勒索軟件,你敢不付贖金,它就敢控制工控系統(tǒng)往飲水機里投毒!
勒索軟件如此猖狂又不講道理,感覺整個人都不好了。
據(jù)倪茂志說,他研究主機安全十幾年了,2015年開始研究勒索軟件。
2015年,倪茂志還在一家公司愉快的當著小工,接到一個艱巨的任務:
了解勒索軟件的童鞋可能知道,很多勒索軟件的加密十分復雜,需要超級計算機一刻不停地計算,才能在數(shù)百年后解密。人們對這些勒索軟件的反破解能力如同一艘小船在蒼茫大海上遇上一艘巨輪,無疑以卵擊石。
由于很多高強度的勒索軟件密鑰生成算法使用的是微軟的加密庫,這應該是一個重要的突破口,倪茂志默默地把win2K到win10的微軟加密庫的密鑰生成算法給逆了一遍。
得出的結論是:
要采集數(shù)據(jù)生成同樣的密鑰,復雜度還不如直接去爆破密鑰!
當他把這個結果提交了以后得到的反饋是:
難度肯定會有的呀,所以我們應該繼續(xù)堅持和努力,你要知道,你現(xiàn)在是在解決世界的頂尖難題,加油,一定要撐??!
這……在忍無可忍就要發(fā)飆的關節(jié)上,倪茂志想到領導的知遇之恩,以及公司給發(fā)的薪水,還是默默的選擇了慫……
隨著在這條蛋疼的不歸路上越走越遠,倪茂志也在痛苦摸索中尋找到了另外一條出路:利用陷阱文件檢測+輕量級的還原系統(tǒng)+文件備份保護來阻止勒索軟件對電腦系統(tǒng)中文件的加密。
當他有這個思路時,也很猶豫是否要把思路說出來大家一起弄,但他仔細想了想,發(fā)現(xiàn)當時能寫高質量代碼的人可能不超過兩個(也就是他自己一個)。
這分明就是在給自己挖坑嘛?算了算了,還是自己搞吧。
于是,他頭懸梁,菊刺骨(不是錯別字),臥薪嘗膽,下班就往家里趕,耗盡所有節(jié)假日,寫到昏天黑地。越搞越覺得應該單搞,索性就辭職了。
“‘勒索軟件終結者’是我個人的業(yè)余作品,開發(fā)時間大概從15年12月到16年11月份左右,后面幾個月都在寫網(wǎng)頁(都快把我寫殘了)?!蹦呙菊f。
倪茂志本來想找個工作,白天上班、晚上繼續(xù)搞研究。但是,為了招攬前期用戶,他把自己對“勒索軟件終結者”的構想寫了一篇文章發(fā)在了某媒體上。在簡歷上,為了證明自己的資歷,他把這篇文章的鏈接附上了。
HR一看,表示這個軟件思路確實做得不錯,然后拒絕了他。
“你這一看就是為了找個工作養(yǎng)活自己,然后專心搞反勒索軟件的呀。”
花掉三分之一的積蓄后,倪茂志被逼上了創(chuàng)業(yè)的梁山——自己開公司。
因為個人身份沒法購買軟件驅動簽名,沒有簽名尼瑪計算機不認你這個軟件,你沒法運行??!為什么個人身份無法購買驅動簽名?因為只有這樣,你的軟件干了壞事,警察蜀黍才能靠驅動簽名認出你,找到你。
最重要的一點是,個人身份無法申請支付寶和微信收款公眾號的,不申請個公司你壓根就無法(收錢)回本。
“我純粹就是為了申請到數(shù)字簽名以及回本,才嗷嘮一聲跑去申請個公司?!?/strong>
倪茂志花了這么多心血和金錢,整出來的“勒索軟件終結者”到底是什么樣子?
為了烘托自己的技術,他先鄙視了一下目前應對勒索軟件的辦法:
“剛開始研究時你會很緊張,天!我的思路不會被人先用了把?然后一看對方原理,心里微微一笑,你個戰(zhàn)5渣,這么挫的解決方案也好意思拉出來溜!”
“ 傳統(tǒng)備份技術大部分是冷技術、冷備份,企業(yè)用戶受得了,但是普通用戶受不了。”
“云備份對付小文件還可以,對付大文件不靈。云備份技術原理和 SV 的原理很像,只是對某些目錄進行設置,不一定會記得把一個文件存在哪個目錄里,用戶有時直接存桌面了,而且大文件根本防不住,大文件直接會影響帶寬,最后是直接刪了。”
“很多解密勒索軟件的解密工具,是因為寫勒索軟件作者的水平太差了,慘不忍睹,這種水平也好意思寫勒索軟件。”
呸完現(xiàn)有技術思路后,要放大招了!
倪茂志的思路是這樣的:
就像警察破案,有時會先拋出臥底或誘餌。
陷阱文件就是偽裝一個適合勒索軟件加密的文件放到磁盤里,只要能保證讓勒索軟件不知道哪些文件是陷阱文件,勒索軟件就必然會加密這個陷阱文件。為什么要保證勒索軟件不知道?因為陷阱文件也會存一個配置文件,判斷這個軟件是否是陷阱文件。
當受害者的機器不小心感染并運行了勒索軟件之后,勒索軟件就會遍歷磁盤,并且尋找符合加密文件進行加密,接著勒索軟件剛好加密到陷阱文件,當加密陷阱文件時,由于文件發(fā)生變化,就會被陷阱檢測系統(tǒng)檢測到。
哼哼哈哈吼吼,抓到了勒索軟件這個小婊砸!
當系統(tǒng)檢測到陷阱文件發(fā)生了變化以后,會先阻斷(使加密線程進入等待狀態(tài))當前的勒索軟件的加密操作,觸發(fā)還原清除系統(tǒng)開始進入還原清除步驟。
寶寶的反擊要開始了!
還原系統(tǒng)會比較當前系統(tǒng)盤中的文件與上次還原點中系統(tǒng)盤的文件的差異變化,然后把記錄這些變化后會重啟一次系統(tǒng),重啟系統(tǒng)以后清除系統(tǒng)會第一時間把記錄下的變化文件全部清掉。因為勒索軟件肯定是在這些變化的差異文件中,因此就會一同把勒索軟件給清掉,原理類似于windows系統(tǒng)還原。
哼哼哈哈吼吼,把勒索軟件這個小婊砸從電腦里踢出去!
不過,不要高興太早,雖然檢測和清除了勒索軟件,在遇到陷阱文件之前,勒索軟件肯定已經(jīng)加密了一些文件。怎么辦?
挽回損失!
此時,就可以通過備份保護系統(tǒng)把被加密的文件還原回來,因為這些被加密的文件在被加密時文件備份系統(tǒng)都會對其進行備份的。 這樣就保證哪怕中了勒索軟件不僅可以清掉,而且還可以把被勒索軟件所加密的文件還原回來。
哼哼哈哈吼吼,沒損失不在怕的!
為了完善這個軟件,倪茂志發(fā)揮了“左右互搏”的精神!
自己想一個坑,然后填一個坑(和自己過不去的典范)。
“如果你知道陷阱文件,就算放在云端,勒索軟件也能知道,因此要增加陷阱文件的隨機性,讓用戶設置陷阱文件,勒索軟件就無法準確的判斷哪些是陷阱文件。”
世界上最可怕的加密就是,人心?。?!
“備份系統(tǒng)最容易遭受攻擊,到處是坑,備份系統(tǒng)理念是什么?對小文件進行備份,對大文件進行保護,保護是只允許你讀,不允許你刪除和修改,從普通用戶的實際應用角度來看,大文件更改幾率比較小,小文件更改頻率會很大,所以,對小文件進行備份,對大文件不進行備份是基于效率,如果對大文件也進行備份,寫入磁盤的最大吞吐量是一定的,對大文件進行備份會影響用戶體驗,用戶會罵娘的。”
如果勒索軟件從C盤開始遍歷,C盤是100兆,D盤是200兆,E盤是300兆,最佳備份空間是什么?就是300兆,如果從C盤便利到陷阱文件是100兆、200兆、300兆,其實備份空間保留300兆就夠了,可以保證如果從C盤先加密加密到陷阱文件,頂多占用100兆。
在具體操作過程中還有逆序遍歷,從后往前遍歷,就是挑出最大值就可以了。但是如果現(xiàn)在同時對三個磁盤加密怎么辦?同時加密就會發(fā)300兆可能不夠,這時100+200+300兆,600兆夠了。
倪茂志說,按照目前這種方法,基本上已知和未知的勒索軟件都能被防住。但是這款“勒索軟件終結者”有一個使用須知:只適合知道自己什么文件值得保護的人使用。潛臺詞就是:
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。