大鸡巴在线草观看黄色片,国产精品你懂得在线观看,黄色录像日本女人吃大屌,在线观看国产h成人网站

?
數據庫病毒深夜突襲 已有人中招
作者:安華金和 發布時間:2017-11-08

夜已深

銷售老魏的電話突然響起

鈴聲仿佛比往日急促

是曾經拜訪過的一家客戶,對方是運維主管

老魏趕緊接起來

未來得及問候和寒暄

對方第一句話是

“我們的數據庫啟動不了了!!!,我們被AfterConnection數據庫病毒感染了”

數次重啟后仍然無法正常工作

問題一直解決不了,我們的業務訪問受到很大影響……

這個,能找專家幫忙解決嗎?

掛了電話,老魏馬上撥通了攻防實驗室的電話

當晚,安全專家遠程接入用戶現場

嘗試進行技術還原,找到事件原因

用戶現場報錯如下

01.jpg

 

綜合用戶10046 event跟蹤的結果和從system表空間數據文件抽取tab$表的結果

可以初步判斷客戶數據庫無法啟動是由于tab$中數據被清空導致

通常,數據庫在啟動階段會做一致性檢查

其中會去tab$中找尋obj$指定的對象

一旦找不到會導致一致性檢查中的語句執行錯誤

最后展現出數據庫啟動失敗


根據對obj$記錄的研究發現

客戶數據庫中存在3個惡意存儲過程和2個惡意觸發器

惡意觸發器中存在startup型觸發器

只要啟動數據庫就會執行指定的存儲過程,執行惡意命令

從而對數據庫進行破壞

啟動中觀察到tab$數據被清空就是其中一個惡意存儲過程所為


整個惡意攻擊過程還原后

現場搶救

攻防實驗室建議用戶三種解決方案:

方案一:

用dul工具將Oracle數據文件中的應用數據導出

新建庫

再將數據導入

方案二:

四步走

第一步,恢復tab$數據啟動數據庫成功。

第二步,刪除數據庫中存在的惡意存儲過程和觸發器。

第三步,破解加密的惡意存儲過程,從中找出還有哪些破壞數據庫的地方予以修復。

第四步,有針對性的部署安全設備防止類似事件再次發生。 

進過激烈的討論,方案二雖然更為迅速,但方案一更為保險,用方案一吧

深夜,漸漸過去。。。

清晨7點,用戶數據終于恢復正常,哈8點上班前,可以正常開工了、

結束?

NO!

現場應急雖然結束,危險還在隱藏,但安全人的天責,讓我們還要繼續,休息2小時,繼續。。。。

兵分兩路

A隊:攻防實驗室安全專家

任務:對惡意程序進行更深入的腳本分析,形成詳細材料

B隊:技術工程師

任務:出發前往用戶現場,詳細了解用戶系統結構及安全風險點

A、B兩隊實時信息對稱、進行事件復盤

事情發生第三天

用戶收到來自安華金和數據庫攻防實驗室全方位技術分析,

包括整個事件的技術還原及防范此類攻擊的解決方案

攻擊行為的深度分析

經過安華金和數據庫安全專家分析,此次攻擊屬于數據庫惡意注入攻擊,我們看到的很多數據庫勒索事件正是利用了這種方式。

黑客在數據庫工具或數據庫安裝包/升級包中加入惡意代碼。數據庫管理員不慎使用感染了惡意代碼的客戶端工具或升級包,來操作或升級數據庫,惡意代碼就會被夾帶進入數據庫中。這些惡意代碼往往是存儲過程+觸發器的組合形式,當權限足夠,它們會產生阻止正常用戶訪問數據庫、刪除轉移關鍵數據等惡劣行為。比較惡劣的行徑是,黑客以用戶數據或恢復數據庫為交換條件,威脅用戶支付贖金,達到勒索目的,這類惡意注入也就是我們所說的勒索病毒攻擊了。但本次沒有人要求贖金,應該屬于非利益訴求的惡意攻擊。

針對這種病毒攻擊的感染源,我們繼續展開分析:

惡意攻擊行為的分類

從攻擊行為和攻擊路徑不同,可以將惡意攻擊行為分為兩類。從攻擊行為來看,又可以分為阻止數據庫正常使用和刪除轉移關鍵表信息兩大類。

1)第一類:阻止數據庫正常使用

常見方法有二:1、直接破壞數據庫系統表,導致數據庫無法正常啟動。遭遇該情形,數據將徹底無法啟動,給用戶帶來巨大影響。就大部分樣例來看,即使是勒索目的,支付贖金后勒索者也很可能沒辦法真正恢復。建議用戶遇到這種情況不要輕信對方。2、調用死循環存儲過程無限彈出窗體,阻止用戶正常登錄數據庫。這種方式主要在數據庫圖形化界面客戶端上使用,并且一般只能阻礙低權限用戶登錄;DBA等高權限用戶可以強行登錄成功,因此只要高權限用戶登錄后刪除觸發器即可破解。

2)第二類:刪除和轉移關鍵表信息

常見的也有兩類。1、對表內信息進行轉存后清空表。查找新建的、名字怪異的表就可能找到被攻擊者清除的數據,把數據導回即可。2、直接清空表,并未存儲。如果是這種情況的勒索攻擊,即便用戶支付了贖金,勒索者也無法將數據還給用戶。

現實中,攻擊者往往多種手法共用。大多情況是先出現一個問題,用戶貿然切成SYS用戶登錄數據庫處理,結果雖然解決了一部分惡意觸發器和存儲過程,但同時也激活了更多更危險的惡意觸發器和存儲過程。因此,用戶如果遭遇此類數據庫惡意攻擊或勒索事件,請先備份數據表空間文件,再嘗試進行處理,防止擴大對數據庫造成的損害。

上面是從攻擊行為來區分,從攻擊路徑來看,還可分為遠程攻擊和本地攻擊。

1)第一類:遠程攻擊

其中,遠程攻擊的比例比本地攻擊更多。遠程攻擊主要來自于各種數據庫工具中的自動執行腳本。例如plsql dev中的login.sql和afterconnect.sql ;toad中的toad.ini;sqlplus 中的glogin.sql和login.sql等。建議一定使用來自官方的工具,且使用前檢查上述腳本文件的內容。

2)第二類:本地攻擊

本地攻擊則多是由于數據庫系統的安裝包或升級包被植入了惡意代碼。在數據庫安裝或升級過程中,惡意存儲過程或觸發器已被帶入數據庫。所以,建議安裝包和升級包務必從數據庫廠商官網下載。

本次原因事件分析:

而本次事件,根據用戶的追查,尚未在多臺運維設備上發現有遠程攻擊注入腳本;對于安裝包和升級包是否存在問題,尚未明確,需要進一步觀察。由于無數據庫審計產品,也無法明確攻擊來源了路徑。

至此,該事件還需要進一步的了解與觀察,由于近年來,以數據庫為目標的攻擊事件明顯增加,且越來越多的以勒索財產為主要目的,這種事件呈現越來越廣泛的趨勢。因此我們將對這些攻擊的行為階段和所能采取的防護措施進行進一步的分析,以幫助DBA們和用戶迎接這種挑戰,減少數據資產的損失。

數據庫病毒攻擊和發作的三個階段

從階段劃分,數據庫惡意攻擊會經歷三個階段:感染期、潛伏期和發作期。如果能夠提前進行數據庫安全防護的建設,能夠較好的應對此類攻擊事件,有效降低企業面臨的惡性影響。

在感染期,首先是感染源的接觸,在這個階段病毒會利用網上的免費維護工具或安裝包或升級包,潛伏在這些免費產品中,用戶將數據庫通過這些免費產品進行訪問或暗轉或升級,將感染上數據庫病毒。

潛伏期:待數據庫被感染后,病毒通過觸發器等隱藏在數據庫內部,然后依據數據庫運行事件或時間,進行病毒危害觸發。

發作期:一旦爆發,會利用觸發器和存儲過程對數據庫的關鍵位置進行破壞。

防護手段建議

1)感染期

數據庫被感染惡意程序主要通過兩種途徑:數據庫客戶端和數據庫升級包。數據庫升級包在官網有標注的MD5值。請用戶一定計算MD5值,防止使用帶有惡意代碼的升級包,升級數據庫。數據庫客戶端由于配置文件的復雜性和后期DBA的二次開發,雖然可以依賴MD5值,但往往效果不好。用戶可以在網絡中對數據庫包中的內容和特征進行甄別,阻斷具有惡意注入特征的數據包即可阻斷此處的攻擊。

惡意攻擊的最佳防護時機是阻斷感染路徑,在潛伏期消除惡意程序的影響,如果拖到發作后,雖然有解決辦法,但很可能已經造成數據資產損失。

解決方案:數據庫防火墻+數據庫審計 

通過部署數據庫防火墻發現和切斷感染路徑,經過對多樣本特征的分析,以及樣本格式的理解,我們建議用戶使用具備能讀懂sql和能解密加密數據庫兩項能力的數據庫防火墻。其中,能解密、加密數據庫即可以對如Oracle采用的密文存儲過程進行解密操作,另外,如果第三方工具向數據庫發送大量加密包形式的數據,也只有準確破解加密包才能為語法分析做好準備。如果不能解決解密問題,最終只能對加密的惡意存儲過程進行指紋比對,這種方法誤報率和漏報率都很高。

02.jpg

另一方面,能讀懂sql語句是指基于sql語法解析,聯系上下文理解存儲過程或包中是否存在惡意行為。在unwrap的支撐下數據庫防火墻能把所有去向數據庫的加密存儲過程明文化,再通過sql語法分析器對明文進行惡意行為的匹配。數據庫防火墻不是單純的就單句sql進行行為分析,而是根據上下文環境的sql行為對整個sql語句包進行分析。當其中存在命中安全規則的多個必要點時,可以判斷該語句包存在惡意行為,語句包會被阻斷,并向相關人員進行告警。

數據庫防火墻攔截下惡意數據包后,再通過數據庫審計系統記錄的詳細數據包流向信息,定位出惡意數據包來自哪里,幫助用戶在海量設備中快速定位安全問題發生點,為用戶能找到勒索病毒源頭,徹底修復安全問題提供依據。此外,數據庫審計系統能夠提供同樣的惡意程序識別,區別于數據庫防火墻的是,旁路部署的審計系統是在發現病毒后,以實時告警的方式提醒用戶注意,那么,至于防火墻還是審計更合適,需要依據用戶的業務系統要求來選擇。

2)潛伏期

惡意程序感染數據庫后會計算數據庫運行時間,通過時間來判斷自己繼續潛伏還是爆發。常見的數據庫攻擊樣本潛伏期為1-4年。這期間數據庫雖然已被感染,但并不會受其影響。所以該階段是清除病毒的好時機。建議用戶加強數據庫上存儲過程和觸發器的檢查,及時清除潛在的惡意隱患。

解決方案:數據庫漏掃+技術服務

當用戶錯過了在感染路徑上阻斷惡勒索病毒的機會,建議用戶定期使用有檢測數據庫勒索病毒功能的數據庫漏掃工具,對數據庫進行定期檢查,爭取在潛伏期徹底消滅勒索病毒。原理是用戶給掃描工具sysdba權限,掃描工具深入基表,利用特征庫中的特征對觸發器、存儲過程、包等進行逐項檢測,一旦發現異常會在最終的報告中生成詳細的描述以及具體的修復建議,在這個過程中,可尋求專業的數據庫安全企業提供咨詢服務,幫助排查病毒,以及提供相應的安全服務,清楚惡意程序。

3)發作期

一旦時機成熟(滿足惡意程序發作的條件),被注入的病毒將開始對數據庫展開攻擊:阻止數據庫正常使用、刪除有價值數據、阻礙合法用戶正常登錄。此階段相對最難處理,可惜大部分用戶直到這個階段才發現數據庫被感染,倒也不是沒辦法補救,可以通過數據庫文件進行問題定位,嘗試恢復用戶數據和清除惡意觸發器和存儲過程。雖然防范大于治療,但由于種種原因大部分用戶是在勒索病毒爆發后才發現。爆發后由于不同勒索病毒對數據庫的影響以及觸發的條件各不相同,沒法給出統一解決方案。但建議用戶,第一時間備份數據庫文件;盡量不要嘗試變更登錄方式或對數據庫進行操作,避免觸發更多的惡意觸發器和調用更多的惡意存儲過程,對數據庫造成二次、三次傷害。

解決方案:尋求技術服務

發作后,為了將損失降到最低,需要及時尋找安全咨詢及服務團隊,最短時間內排查問題、清除病毒、進行數據庫恢復,并提出有效的安全加固方案。

協同防護體系

綜上,我們建議用戶建設有效的安全防護體系來抵御惡意攻擊,同時,多種技術手段的組合也能夠形成良好的協同配合效果。

數據庫漏掃+數據庫防火墻/數據庫審計

數據庫漏掃可基于授權檢測方式針對數據庫中異常包、存儲過程、觸發器、各項參數以及后門的檢測語句,對已知威脅進行檢查,及時排除數據庫隱患。

數據庫防火墻利用解密技術和sql分析技術,依托上下文sql語境,動態抓出存在惡意行為的語句包,進行實施攔截。

數據庫漏掃側重已知隱患掃描,數據庫防火墻側重特征隱患攔截和告警,雙方既是相互獨立的也是相互聯動的。數據庫防火墻攔截到一個新型隱患,數據庫漏掃則根據這個新型的特征更新掃描檢測項;數據庫漏掃發現安全隱患,則數據庫防火墻根據隱患特征更新防護策略,優化已有安全策略,進一步降低誤報率。

五、一些可行的安全建議

除了建設安全防護體系,數據庫管理人員在日常運維中也需要謹慎操作。保守來說,如果做到以下幾點,你可以避免至少50%的數據庫惡意攻擊,:

1.不要在非官方途徑下載數據庫相關工具,如數據庫安裝和升級包;

2.經常檢查數據庫鏈接工具的腳本是否正常;

3.使用最小權限原則,盡可能降低給Oracle用戶的權限,如限制創建存儲過程或觸發器等。

PS:針對本次數據庫惡意攻擊事件,為防止其他用戶中招,安華金和能夠提供攻擊驗證腳本和檢查腳本,用戶可及時自查防范。
下載地址:http://dbsec.cn/upload/prvtsupp.zip


?