帕拉迪支招解決近期爆發的Oracle勒索病毒威脅
發布時(shí)間: 2018.11.28 | 來(lái)源: 帕拉迪

近日,帕拉迪科技公司不斷接到(dào)企業用(yòng)戶反饋,希望我們對(duì)于卷土重來(lái)的Oracle數據庫勒索病毒能(néng)夠提供全方位的Oracle數據庫安全防護解決方案。對(duì)此,公司應急響應團隊接到(dào)消息後立即引起重視(shì),由漢武安全實驗室複現(xiàn)病毒感染現(xiàn)象,分析病毒行爲過程,探究病毒實現(xiàn)功能(néng)的本源。

分析發現(xiàn),證實該病毒是RushQL數據庫勒索病毒,是由于下(xià)載使用(yòng)了(le)破解版PL/SQL導緻的。該病毒是一個PL/SQL自(zì)帶的AfterConnect.sql自(zì)動運行腳本,此文(wén)件一般在官方PL/SQL軟件中是一個空(kōng)文(wén)件,而提取自(zì)破解版PL/SQL的樣本是有實際内容的,其通過創建:DBMS_SUPPORT_INTERNAL、DBMS_STANDARD_FUN9、DBMS_SYSTEM_INTERNAL、DBMS_CORE_INTERNAL四個存儲過程來(lái)實現(xiàn)用(yòng)戶正常訪問數據庫異常的功能(néng)。

 

Oracle數據庫勒索病毒觸發時(shí),在連接時(shí)會(huì)出現(xiàn)以下(xià)窗口:


在Oracle Server端使用(yòng)以下(xià)查詢語句檢查是否有以上(shàng)幾個存儲過程:


請(qǐng)注意最後 % '之間的空(kōng)格,執行上(shàng)述語句後,若爲空(kōng),表示你(nǐ)的Oracle數據庫是安全的,未中勒索病毒。

解決辦法(操作(zuò)數據庫請(qǐng)在專業人員協助下(xià)操作(zuò)!)

從(cóng)技術分析知(zhī)道(dào),病毒删除數據是由存儲過程DBMS_SUPPORT_INTERNAL 和(hé) DBMS_CORE_INTERNAL來(lái)執行的,他(tā)們的執行條件分别是:

1.當前日期 – 數據庫創建日期 > 1200 天

2.當前日期 – 數據表(不含SYSTEM, SYSAUX, EXAMPLE)的最小(xiǎo)分析日期 > 1200 天

當以上(shàng)條件不滿足時(shí),病毒不會(huì)觸發删除數據的操作(zuò),此時(shí)删除以上(shàng)4個存儲過程和(hé)3個觸發器即可。

如果前面的2個條件中任何一個滿足,就會(huì)出現(xiàn)數據删除操作(zuò),下(xià)面給出應對(duì)措施:

1.(當前日期 – 數據庫創建日期 > 1200 天) 且 (當前日期 – 數據表(不含SYSTEM, SYSAUX, EXAMPLE)的最小(xiǎo)分析日期 <= 1200 天)

A.删除4個存儲過程和(hé)3個觸發器

B.使用(yòng)備份把表恢複到(dào)truncate之前

C.使用(yòng)ORACHK開(kāi)頭的表恢複tab$

D.使用(yòng)DUL恢複(不一定能(néng)恢複所有的表,如truncate的空(kōng)間已被使用(yòng))


2.(當前日期 – 數據庫創建日期 > 1200 天) 且 (當前日期 – 數據表(不含SYSTEM, SYSAUX, EXAMPLE)的最小(xiǎo)分析日期 > 1200 天)

A.删除4個存儲過程和(hé)3個觸發器

B.使用(yòng)備份把表恢複到(dào)truncate之前

C.使用(yòng)DUL恢複(不一定能(néng)恢複所有的表,如truncate的空(kōng)間已被使用(yòng))


帕拉迪給出的方案,通過部署帕拉迪數據庫行爲防火牆,限制創建勒索病毒相關存儲過程,幫助用(yòng)戶避免勒索病毒的威脅,具體防護策略如下(xià):

1

【策略管理(lǐ)】-【對(duì)象】添加4個存儲過程


2

【行爲防火牆】-創建一條關于勒索病毒防護的策略,将剛添加的4個存儲過程加入到(dào)SQL命令字段裏,安全響應動作(zuò)爲拒絕,應用(yòng)對(duì)象爲Oracle數據庫

3

使用(yòng)PL/SQL工(gōng)具連接到(dào)目标數據庫,執行上(shàng)述存儲過程,發現(xiàn)創建存儲過程被拒絕


4

進入帕拉迪數據庫防火牆【日志審計(jì)】-【策略告警】,記錄了(le)相應的告警記錄,此告警,也(yě)可通過郵件發送給DBA,可以快(kuài)速發現(xiàn)做出響應


帕拉迪數據庫安全防護建議(yì)

1. 控制可信的計(jì)算(suàn)機才能(néng)訪問數據庫,對(duì)于不具備數據庫訪問權限的用(yòng)戶,在網絡層面予以拒絕;

2. 可信來(lái)源控制,在識别TCP五元組基礎上(shàng),鑒别其數據庫賬号、數據庫應用(yòng)程序、客戶端主機、客戶端用(yòng)戶名稱,防止肉雞攻擊數據庫;

3. 嚴格執行最小(xiǎo)權限原則,通過行爲防火牆,限制可執行操作(zuò)的權限;

4. 對(duì)于應用(yòng)中間件訪問數據庫的行爲,通過業務防火牆進行SQL語句白(bái)名單建模,徹底解決數據庫安全問題。


詳細安全加固方法建議(yì)參考Oracle官方博客《對(duì)數據庫的“比特币攻擊”及防護》,https://blogs.oracle.com/cnsupport_news/%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E2%80%9C%E6%AF%94%E7%89%B9%E5%B8%81%E6%94%BB%E5%87%BB%E2%80%9D%E5%8F%8A%E9%98%B2%E6%8A%A4


Copyright © 2019 All Rights Reserved Designed
杭州安存網絡科技有限公司