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