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