Oracle勒索病毒卷土重來 啟明星辰DAP阻斷黑手
發布時間 2018-11-24Oracle勒索病毒分析
勒索代碼被捆綁在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、賬號、客戶端的訪問及時處置,關閉病毒感染通道。一旦發現病毒感染請及時采取措施,必要時咨詢專業安全服務團隊尋求支持。