官术网_书友最值得收藏!

3.4 Hadoop管理API漏洞

Hadoop作為大數據技術的基礎組件,在很多互聯網應用中被廣泛使用,其中管理API的安全性問題,最近這幾年逐漸被安全人員所關注。

3.4.1 Hadoop管理API漏洞基本信息

隨著虛擬貨幣市場的瘋狂發展,挖礦病毒已經成為網絡不法分子最為頻繁的攻擊方式之一。因挖礦病毒對算力的渴求,GPU服務器、大數據應用成了挖礦病毒者眼里的寵兒。2018年6月,騰訊云鼎實驗室公開了一例針對Hadoop Yarn REST API挖礦病毒的詳細報告,這里重點從API安全的角度,一起來分析這個漏洞。

漏洞類型:API5-失效的功能級授權。

漏洞難度:高。

報告日期:2018-6-4。

信息來源:https://cloud.tencent.com/developer/article/1142503。

Hadoop Yarn大數據組件的Cluster Applications API對外提供了一系列的接口,其中就包含new application和submit application兩個API入口。默認情況下,Yarn開放8088和8089端口,無用戶鑒別和授權機制,任意用戶均可以訪問。攻擊者就是利用Hadoop Yarn資源管理系統REST API未授權漏洞對服務器進行攻擊,在未授權的情況下,遠程執行文件下載腳本,從而再進一步啟動挖礦程序達到集群化挖礦的目的。Hadoop集群被挖礦病毒攻擊的過程如圖3-8所示。

●圖3-8 Hadoop集群被挖礦病毒攻擊示意圖

3.4.2 Hadoop管理API漏洞利用過程

攻擊者首先通過Hadoop Yarn的Cluster Applications API中申請的新application接口生成新的application對象,如下所示:

返回內容類似于:

接著,通過Submit Application的POST方法,提交生成帶命令行的腳本,再調用Hadoop Yarn REST API執行腳本,其接口執行命令行原理如圖3-9所示。

●圖3-9 Hadoop Yarn REST API調用命令行樣例

而腳本內容為下載挖礦病毒的程序,偽碼如下:

執行腳本下載挖礦程序到指定目錄下,再通過下載配置文件以nohup方式給挖礦程序添加執行權限和運行時環境設置。最后,將腳本以crontab任務的方式運行。

當然,除了上述的這些基本的入侵操作外,報告中對病毒還做了其他的分析。但這里通過對new application和submit application兩個API的調用分析,基本理清了攻擊者入侵的過程和引起問題的原因。

3.4.3 Hadoop管理API漏洞啟示

繼續利用思維導圖,來對攻擊過程做一下回顧,如圖3-10所示。

●圖3-10 Hadoop Yarn資源管理API攻擊過程

在整個攻擊過程中,攻擊者對Yarn管理API的利用是突破的關鍵點,它完成了兩項重要任務。

創建新的application,并上傳腳本文件。

下載挖礦病毒程序腳本,并在集群內以定時任務方式運行。

這些兩點是挖礦病毒在集群中賴以生存下來的根本。

從攻擊者的角度看,它僅僅是利用了Hadoop Yarn公開的API接口構造了獨特的攻擊手段,從而達成攻擊目的。而防御者自身對Hadoop Yarn REST API接口安全意識不足,沒有禁止將接口開放在公網或啟用Kerberos認證功能、禁止匿名訪問是導致此漏洞發生的原因

如果把視野再擴大一點就會發現,其實不但Hadoop Yarn有此類問題,Spark和Solr也存在類似的問題。在筆者親身經歷的一個Solr案例中,惡意攻擊者將Solr中的數據清洗一空,給某電商企業造成了很大的損失。無論是安全從業者還是業務技術負責人,都應該吸取這樣的教訓,在使用開源類組件時,關注默認配置項的安全設置是否合理,以防患于未然。

主站蜘蛛池模板: 和田县| 哈密市| 铜鼓县| 济源市| 连南| 哈巴河县| 略阳县| 栾川县| 安乡县| 田东县| 昌宁县| 景宁| 宣化县| 阳泉市| 嘉善县| 丰城市| 峨边| 宜良县| 泾源县| 大邑县| 太仆寺旗| 孟连| 方城县| 四平市| 岗巴县| 江西省| 沧州市| 江西省| 通海县| 专栏| 邛崃市| 中西区| 龙游县| 柘城县| 习水县| 武定县| 突泉县| 乐山市| 肇东市| 上栗县| 唐河县|