一、攻擊事件背景

最近,部分黑客組織針對幾款特定產品展開了勒索攻擊。截止到上週,已有至少34000多臺MongoDB資料庫被黑客組織入侵,資料庫中的資料被黑客擦除並索要贖金。隨後,在2017年1月18日當天,又有數百臺ElasticSearch伺服器受到了勒索攻擊,伺服器中的資料被擦除。安全研究人員Niall Merrigan表示,截止到目前,受攻擊的ElasticSearch伺服器已經超過了2711臺。緊隨上述兩次攻擊事件,目前已經有黑客將目標瞄準了Hadoop叢集。這些勒索攻擊的攻擊模式都較為相似,在整個攻擊過程中並沒有使用任何勒索軟體,也沒有涉及常規漏洞,而是利用相關產品的不安全配置,使攻擊者有機可乘,輕而易舉地對相關資料進行操作。

二、企業如何一步步將威脅擋在門外呢?

正如在本文我們所描述的那樣,在有經驗的攻擊者手裡,具有自我傳播功能的勒索軟體將可能給企業的業務帶來致命損失,或成為受害者的一場噩夢。我們所倡導的“縱深防禦”,不僅僅是一個概念,它決定了在勒索事件等攻擊場景中,企業到底是能把危機擋在門外,還是引狼入室,讓惡意軟體對業務造成實際損失。

接下來,我們針對企業使用者在公共雲搭建Hadoop的安全漏洞問題,介紹幾種防護手段。

1、埠開放最小化

Hadoop預設情況開放了很多埠提供WebUI,易出現安全漏洞; 如:

HDFS NameNode 預設埠 50070 SecondNameNode 預設埠 50090 DataNode 預設埠 50075 Backup/Checkpoint node 預設埠 50105- YARN(JobTracker) ResourceManager 預設埠8088 JobTracker 預設埠 50030 TaskTracker 預設埠 50060 Hue 預設埠 8080;

 

推薦方案:按照最小化原則,開放業務相關的少量埠,這樣大大降低了被攻擊的可能性;

2、身份認證鑑權

Hadoop訪問認證過於簡單,比如DataNode 預設埠50075開放的話,攻擊者可以通過hdsf提供的restful api對hdfs儲存資料進行操作。

推薦方案: 檢查請求 Request 傳送者的真實身份,正確驗證接收到的訊息在途中是否被篡改,認證使用訊息簽名機制,可以保證訊息在傳輸過程中的完整性 Integrity 和真實性 Authenticity,建議採用的訊息簽名演算法HMAC-SHA1。

3、許可權細粒度管理

Hadoop無法控制使用者提交和執行作業的操作,及功能操作;

推薦方案:按照最小化原則,通過外圍系統為不同的角色、操作等分配相應的許可權,加強使用者與系統的訪問控制及作業訪問控制;

4、增加日誌審計

Hadoop作為軟體級產品,黑客一旦攻擊進來,無法及時發現並加以控制;

推薦方案:提供精準的、細粒度的資料訪問操作記錄,並長期儲存。對於資料操作記錄來說,收集服務棧上的所有操作記錄,從上層table/column級別的資料訪問日誌,一直到底層分散式檔案系統上的資料操作日誌。最底層分散式檔案系統上處理的每一次資料訪問請求,也都能追溯到是最上層的哪個專案空間中的哪個使用者的哪個作業發起的資料訪問。有了服務棧上的各層操作審計之後,即使是內部攻擊者(工程師或滲透到內部系統中的黑客)想從內部(繞過服務)直接訪問底層分散式檔案系統上的使用者資料的話,也一定是可以從操作日誌中被發現的。所以,通過資料訪問審計,使用者就可以準確的知道是否存在未授權的資料訪問。

5、沙箱隔離

Hadoop在安全方面並沒有實現程式級的許可權控制;
推薦方案:為了確保不同使用者作業在執行時互不干擾,將使用者作業的程式執行在Container沙箱中。如果使用者作業含有Java程式碼(比如UDF),那麼Container沙箱中的程式啟動JVM時,設定嚴格的Java 沙箱策略以限制UDF的執行時許可權。

三、總結

勒索軟體並不是新鮮事物。但是其最近手段更加老練、傳播方式更加隱蔽,表明其越發傾向於以意想不到的全新方式盤剝線上執行的個人與單位。網路攻擊如此肆虐,如果企業繼續在公共雲使用Hadoop進行生產作業的話,需要投入更多的安全維護成本,因為Hadoop並不適合在公共雲搭建PAAS平臺,提供企業級服務;比如 Hadoop產品設計之初就是使用在內網,預設開啟過多埠,超級管理員許可權,資料資產不隔離,這樣為企業帶來更多的安全維護成本。

如果企業需要在公共雲做大資料分析我們推薦大家使用阿里雲數加MaxCompute——這個他們加了個連結但連結不對可以換成這個吧:MaxCompute產品地址https://www.aliyun.com/product/odps

MaxCompute設計之初就重點考慮了安全問題,在公共雲提供企業級/金融級服務,安全特性有以下幾個方面;

1、MaxCompute認證採用業界標準的API認證協議來實現,如HmacSHA1。MaxCompute還提供HTTP和HTTPS兩種的EndPoint以滿足使用者對認證安全的不同要求。
2. MaxCompute平臺並沒有超級管理員的角色,所以MaxCompute的開發、測試、運維同學都是沒有許可權看到使用者資料的。
3、MaxCompute產品面向的是企業級使用者,所以提供了豐富的專案空間內的使用者管理及授權功能。 MaxCompute設計之初就是要滿足資料分享(或資料交換)的場景。所以,只要有授權,使用者就可以非常方便的進行跨專案空間的資料訪問。
4. MaxCompute支援使用者提交各種型別的作業(如SQL/XLib/MR)。為了確保不同使用者作業在執行時互不干擾,MaxCompute將使用者作業在執行時隔離。
5. MaxCompute作業執行時使用最小許可權,最小許可權原則是系統安全和容錯設計的一個基本指導原則,即讓每個任務在執行時使用剛好滿足需要(不多也不少)的許可權來執行。
6. MaxCompute還提供精準的、細粒度的資料訪問操作記錄,並會長期儲存。通過資料訪問審計,使用者就可以準確的知道他在MaxCompute上的資料是否存在未授權的資料訪問。
7. 除了不同層面的防禦機制之外,MaxCompute產品還會提供一套安全監控系統,用於監控使用者作業及使用者資料的安全活動,如AccessKey濫用,專案空間安全配置不當,使用者程式碼執行時觸犯安全策略,以及使用者資料是否遭受異常訪問等。
安全攻擊防不勝防,MaxCompute可以幫助企業做好縱深防禦,保護好DT時代的資料資產。