聊聊數(shù)據(jù)庫勒索病毒的防范
2017年和2020年出現(xiàn)過兩次勒索病毒的高發(fā),而現(xiàn)在勒索病毒已經(jīng)常態(tài)化了,總是能夠聽說某某企業(yè)中了勒索病毒。中勒索病毒的大多數(shù)不是數(shù)據(jù)庫系統(tǒng),而是服務(wù)器和工作站居多。2017年那波Oracle RushQL病毒主要是下載一些盜版的PL/SQL DEV工具引發(fā)的。這波勒索病毒的最初版本還沒有那么惡毒,僅僅加密了文件頭部分的內(nèi)容,并且刪除了所有的DMP備份文件。當(dāng)時我們還用自己開發(fā)的數(shù)據(jù)下載工具幫助用戶恢復(fù)過數(shù)據(jù)。
后來這個病毒被多次改良,也變得更加惡毒,會加密全量文件,并且刪除所有的dmp文件,同時通過數(shù)據(jù)庫內(nèi)部的數(shù)據(jù)字典會找到數(shù)據(jù)庫備份,把能夠找到并刪除的rman備份也刪的一干二凈。
2020年的那波高潮是因為WEBLOGIC的遠(yuǎn)程代碼執(zhí)行漏洞CVE-2019-2725引發(fā)的,這波高潮打破了以往勒索病毒都是數(shù)據(jù)庫用戶不小心下載了有問題的工具或者安裝介質(zhì)引發(fā)的慣例,實現(xiàn)了勒索病毒的遠(yuǎn)程主動攻擊。攻擊者利用Weblogic的安全漏洞自動下載攻擊工具,并且找到數(shù)據(jù)庫進(jìn)行主動攻擊。
自2019年4月26日Oracle為其發(fā)布緊急安全修復(fù)程序以來,該漏洞的詳細(xì)信息已完全公開。該漏洞存在于 WebLogic Server 的 Web 服務(wù)組件中,并且很容易被利用。雖然應(yīng)急修復(fù)補(bǔ)丁于 4 月 26 日發(fā)布,但攻擊者可能在一周前就已經(jīng)獲得了這個信息。4月25 日,攻擊者開始利用該漏洞在受感染的服務(wù)器上安裝名為 Sodinokibi 的勒索軟件。而那時候大多數(shù)用戶還沒有獲得這個漏洞的信息,并及時安裝應(yīng)急修補(bǔ)丁。Sodinokibi采取的新模式讓勒索病毒更加難以防范。受影響的服務(wù)器從攻擊者控制的 IP 地址 188.166.74.218 和 45.55.211.79 自動下載勒索軟件的副本。安裝勒索軟件后,它還會自動下載一些其他文件和實用程序。其中之一用于嘗試阻止受害者在感染后恢復(fù)其加密文件。正是這個病毒的各種變種中出現(xiàn)了專門針對數(shù)據(jù)庫系統(tǒng)的勒索病毒,這些病毒在2020年十分猖獗。
因為那次攻擊的主要對象是Windows系統(tǒng),因此那次攻擊中中招的SQL SERVER數(shù)據(jù)庫特別多。那次勒索病毒攻擊讓我們意識到,勒索病毒防范的難度是全方位的。從以往的經(jīng)驗看,數(shù)據(jù)庫勒索病毒中招的大部分是IT管理較為簡單,安全防范能力較弱的中小企業(yè)。而這些企業(yè)往往在數(shù)據(jù)備份,容災(zāi)方面的投資較少,也沒有完善的數(shù)據(jù)庫備份方案,一旦中招,損失還是很嚴(yán)重的。
DBA是防范勒索病毒的關(guān)鍵崗位,實際上DBA也是防范勒索病毒的中堅力量。今天我們來聊聊,作為一個DBA,在防范勒索病毒方面,應(yīng)該做些什么。中招勒索病毒的數(shù)據(jù)庫種類很多,不過Oracle、SQL SERVER、MySQL等是重災(zāi)區(qū),我今天就以O(shè)racle為例來介紹一些常見的防范措施吧。
首先一點(diǎn),就是數(shù)據(jù)庫安裝平臺的選擇,對于中小企業(yè)來說,為數(shù)據(jù)庫選擇操作系統(tǒng)的人大部分都是DBA。盡可能不要選擇WINDOWS SERVER,并不是說WINDOWS SERVER不好,而是能在WINDOWS搞病毒的人遠(yuǎn)遠(yuǎn)高于Linux,WINDOWS很容易成為傳播病毒的媒介。哪怕是你選擇SQL SERVER,也盡可能去用LINUX吧。
第二點(diǎn)是在核心數(shù)據(jù)庫上,千萬別用盜版軟件。我曾經(jīng)遇到過一個中了Oracle勒索病毒的客戶,他們的數(shù)據(jù)庫安裝介質(zhì)居然是從國內(nèi)的某個軟件下載平臺下載的。哪怕你用盜版Oracle,也完全可以從oracle.com或者edelivery.oracle.com去下載無風(fēng)險的官方版本。另外數(shù)據(jù)庫管理軟件,TOAD、PL/SQL DEV等也都是勒索軟件經(jīng)常棲息的場所,盡可能不要使用盜版的工具吧。
第三點(diǎn)是選擇安裝數(shù)據(jù)庫的時候,盡可能選擇使用ASM而不要使用文件系統(tǒng)。文件系統(tǒng)是勒索病毒的重災(zāi)區(qū),而能對裸設(shè)備的勒索病毒種類要少很多。使用ASM并不能保證真正的安全,有些特別惡毒的比較專業(yè)的勒索病毒甚至?xí)用蹵SM磁盤的數(shù)據(jù)。對于網(wǎng)絡(luò)防范能力較弱,系統(tǒng)又必須有互聯(lián)網(wǎng)出口的用戶來說,數(shù)據(jù)庫中使用ASMFD(ASM Filter Driver)是一個比較好的選擇。ASMFD是以LINUX內(nèi)核模塊的方式提供的,它可以拒絕所有的非Oracle IO API的非法訪問,因此可以很好的保護(hù)ASM數(shù)據(jù)不會被病毒、誤操作等侵害。使用ASMFD后,不再需要使用ASMLIB(二者不兼容),也不再需要使用udev來持久化磁盤設(shè)備名。
第四點(diǎn)是加強(qiáng)備份以及備份的安全性,對于采用邏輯備份的用戶,盡可能通過遠(yuǎn)程做expdp,將數(shù)據(jù)備份到其他服務(wù)器上。Rman備份可以備份到磁帶庫介質(zhì)或者NFS文件系統(tǒng)中,備份完畢后umount相關(guān)設(shè)備,并定期做備份數(shù)據(jù)的恢復(fù)可用性測試,確保有可用的備份數(shù)據(jù),那么就可以把中勒索病毒的危害降到最低。
第五點(diǎn)是操作系統(tǒng),數(shù)據(jù)庫都要使用強(qiáng)密碼,并且定期更換。不要嫌麻煩,中了勒索病毒是更麻煩的事情。我這些年見多了中了勒索病毒痛不欲生的DBA。
第六點(diǎn)是勒索病毒防范是一個全方位的安全防護(hù)工作,目前已知的勒索病毒有很多是通過感染使用大量開源代碼的比較容易出現(xiàn)安全漏洞的應(yīng)用服務(wù)器作為跳板的。如果你的應(yīng)用服務(wù)器暴露在互聯(lián)網(wǎng)上,那么定期對你的應(yīng)用服務(wù)器打安全補(bǔ)丁是十分必要的,應(yīng)用服務(wù)器的補(bǔ)丁升級相對容易,應(yīng)用代碼兼容方面的問題也較少。
勒索病毒問題在全世界十分泛濫,我國的數(shù)據(jù)庫中勒索病毒雖然也不少,但是還不算重災(zāi)區(qū)。中病毒的大多數(shù)都是中小企業(yè),數(shù)據(jù)庫管理水平比較低,備份,容災(zāi)等措施也十分不到位。實際上抵御勒索病毒的第一道防線是網(wǎng)絡(luò)安全,不過從目前的趨勢上看,勒索病毒與一些高危安全漏洞相結(jié)合的趨勢越來越明顯。因此加強(qiáng)本質(zhì)安全,在數(shù)據(jù)庫底層構(gòu)筑防勒索病毒的基礎(chǔ)屏障。同時不隨意從非官網(wǎng)下載數(shù)據(jù)庫與數(shù)據(jù)庫運(yùn)維工具,加強(qiáng)備份與備份數(shù)據(jù)的安全保護(hù),那么也就不用害怕勒索病毒了。