- API安全技術與實戰
- 錢君生 楊明 韋巍編著
- 1112字
- 2021-07-08 11:51:13
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中的數據清洗一空,給某電商企業造成了很大的損失。無論是安全從業者還是業務技術負責人,都應該吸取這樣的教訓,在使用開源類組件時,關注默認配置項的安全設置是否合理,以防患于未然。
- Mobile Forensics Cookbook
- SASE原理、架構與實踐
- 工業互聯網安全防護與展望
- 計算機使用安全與防護
- 零信任網絡:在不可信網絡中構建安全系統(第2版)
- 網絡運維親歷記 (網絡運維紀實文學)
- Falco云原生安全:Falco原理、實踐與擴展
- Digital Forensics with Kali Linux
- 信息安全導論(第2版)
- 網絡安全設計、配置與管理大全
- Securing Network Infrastructure
- 一本書讀透金融科技安全
- Manga Studio 5 Beginner's Guide
- Instant OSSEC Host-based Intrusion Detection System
- 2010年中國互聯網網絡安全報告