Oracle勒索病毒卷土重來 啟明星辰DAP阻斷黑手

發布時間 2018-11-24
近日,Oracle 數據庫的比特幣勒索病毒卷土重來,國內已發生多起案例,針對此攻擊,啟明星辰數據庫安全審計與防護產品可提供檢測和防護,具體的安全建議如下:


Oracle勒索病毒分析


勒索代碼被捆綁在Oracle PL/SQL Dev軟件中(網絡下載版),里面的一個腳本文件Afterconnet.sql被黑客注入了病毒代碼。一旦用戶使用這個PL/SQL Dev工具連接數據庫,就會立即執行Afterconnet.sql,創建四個存儲過程

(DBMS_SUPPORT_INTERNAL、DBMS_SYSTEM_INTERNAL、DBMS_CORE_INTERNAL、DBMS_STANDARD_FUN9)和三個觸發器(DBMS_SUPPORT_INTERNAL、DBMS_SYSTEM_INTERNAL、DBMS_CORE_INTERNAL)。



病毒讀取數據庫創建時間,如果大于等于1200天,則對數據庫進行不同程度的破壞(例如Truncate tab_name和刪除tab$中的記錄),重啟數據庫后會導致用戶無法訪問所有的數據庫對象。同時,給出提示“你的數據庫已經被SQL RUSH Team鎖死,請發送5個比特幣到xxxxxxxxxxx地址,….”等信息,并設置定時任務,如果在期限內不交贖金,就刪除所有的表。具體提示信息如下:



防護方案


利用數據庫安全審計與防護產品,發現異常并進行防護


部署啟明星辰數據庫審計或者數據庫防火墻,用戶可自行添加勒索病毒的審計策略,主要的規則如下:


1、權限最小化限制,對不同用戶根據角色給予其最小權限。


例如:低權限用戶限制觸發器、存儲過程的創建和修改。策略配置如下:
 


為低權限用戶配置一個權限控制集合,對于觸發器和存儲過程和新建修改和刪除操作,一旦執行則進行告警和阻斷。


2、勒索病毒精準控制:惡意存儲過程、觸發器創建行為限制。


對于高權限賬號新建惡意存儲過程的操作定義規則,建立阻斷策略進行限制,如圖:
 



依次創建四個存儲過程DBMS_SUPPORT_INTERNAL、DBMS_SYSTEM_INTERNAL、DBMS_CORE_INTERNAL、DBMS_STANDARD_FUN9和三個觸發器DBMS_SUPPORT_INTERNAL、DBMS_SYSTEM_INTERNAL、DBMS_CORE_INTERNAL的檢測規則,針對這些操作規則建立審計和阻斷策略。


3、為了病毒變種,需要加強對來自PL/SQL Dev客戶端的操作監管


定義規則,對客戶端工具為PL/SQL的所有操作進行記錄,對其存儲過程和觸發器操作進行告警。如圖建立規則并依次選擇對應的響應方式,建立審計策略:
 


人工確認病毒入侵痕跡,及時清理惡意文件


1、檢查啟動腳本


大多數客戶端工具,在訪問數據庫時,都可以通過腳本進行一定的功能定義,而這些腳本往往就是安全問題的漏洞之一,以下列出了常見客戶端工具的腳本位置,需要檢查這些腳本是否正常,如:plsql dev 的login.sql和afterconnect.sql,Toad的toad.ini,sqlplus中的glogin.sql和login.sql等。


2、在數據庫中執行檢查語句


Select * from dba_triggers where TRIGGER_NAME like  'DBMS_%_INTERNAL%';
select  from dba_procedures W where W.object_name like 'DBMS_%_INTERNAL% '。


以上操作若發現異常,立刻清理惡意文件,刪除已經建立的存儲過程和觸發器。
 
綜上,針對Oracle比特幣勒索病毒的防護方案除了對防護工具的合理使用,還有賴于數據庫管理人員的安全防范意識。建議用戶多使用正版軟件,做好數據庫的訪問控制和權限管理,對于來自異常IP、賬號、客戶端的訪問及時處置,關閉病毒感染通道。一旦發現病毒感染請及時采取措施,必要時咨詢專業安全服務團隊尋求支持。