Apache Struts2 作為世界上最流行的 Java Web 服務器框架之一,近期被爆出兩大高危漏洞:S2-045(CVE-2017-5638)和S2-046(CVE-2017-5638)。消息公布后,在互聯網界引起了軒然大波。
黑客可通過漏洞遠程代碼執行
其中編號為CVE-2017-5638的漏洞(S2-045),是基于Jakarta plugin插件的Struts遠程代碼執行漏洞。該漏洞會造成RCE遠程代碼執行,惡意用戶可在上傳文件時通過修改HTTP請求頭中的Content-Type值來觸發該漏洞,進而執行系統命令,可直接造成系統被控制。黑客通過Jakarta文件上傳插件實現遠程利用該漏洞執行代碼。編號為S2-046的漏洞則是攻擊者可通過Content-Length或者Content-Disposition構造惡意的OGNL內容,同樣會造成遠程代碼執行。
全球互聯網上開放的Apache Struts分布
中國互聯網上開放的Apache Struts分布
此前某東的12GB用戶信息數據包在網絡上外泄的事件就是源自2013年 Struts 2的安全漏洞造成。泄露的數據包中包括了某東的用戶名、密碼、郵箱、QQ號、電話號、身份證信息等,其內部數據多達數千萬條。某東在2016年12月10日也通過官方微信公眾號針對此事件進行了證實與回應。
Struts 作為一個“世界級”開源架構,在我國廣泛應用于教育、金融、互聯網、通信等重要行業,它的一個高危漏洞危害都有可能造成重大的互聯網安全風險和巨大的經濟損失。縱觀Struts安全問題列表(下圖),可以遠程代碼執行的漏洞竟多達13個(黃色高亮標注)。
Struts安全問題列表
以往Struts高危漏洞事件回顧
回顧一下以往Struts的幾次重點安全事件,梳理一下Struts危機的來龍去脈,不難發現每一個安全漏洞都可能造成巨大的風險。
2012年,S2-007(S2-XXX是Struts官方自己的漏洞編號,對應的是 CVE-2012-0838)爆發,和S2-003、S2-005的漏洞源頭都是一樣的,都是struts2對OGNL的解析過程中存在漏洞,導致黑客可以通過OGNL表達式實現代碼注入和執行。
受影響版本:Struts 2.0.0 – Struts 2.2.3,需要更新到2.2.3.1。
2013年,S2-016(CVE-2013-2251)和S2-017(CVE-2013-2248)爆發,也是遠程代碼執行高危漏洞,新聞報道這是黑客的瘋狂盛宴。
受影響版本:Struts 2.0.0 – Struts 2.3.15,需要更新到2.3.15.1
2016年,Apache Struts2 服務在開啟動態方法調用的情況下可以遠程執行任意命令,官方編號 S2-032(CVE-2016-3081)。黑客利用該漏洞,可對企業服務器實施遠程操作,從而導致數據泄露、遠程主機被控、內網滲透等重大安全威脅。
受影響版本:Struts 2.3.20 – Struts Struts 2.3.28 (except 2.3.20.3 and 2.3.24.3),需要更新到Struts versions 2.3.20.3, 2.3.24.3 or 2.3.28.1。
前文介紹的2017年的兩個遠程代碼執行的高危漏洞S2-045(CVE-2017-5638)和S2-046(CVE-2017-5638)
受影響版本:Struts 2.3.5 – Struts 2.3.31, Struts 2.5 – Struts 2.5.10,需要更新到Struts versions Struts 2.3.32 or Struts 2.5.10.1。
根據Macfee對漏洞傳播的研究,黑客對漏洞的利用速度往往高于安全管理人員的防護速度。
因此,怎樣在0DAY漏洞爆發后,趕在黑客的狂歡和肆虐前快速“堵住”高危漏洞以完善網絡安全對于各行業用戶來說至關重要。但是實際情況卻讓人堪憂。聯軟近期進行的網絡調研結果顯示,有相當多企業的安全運維人員不知道自己是否用到了Struts,不知道在自家的網絡中哪些設備或服務可能受到攻擊,因此在此類漏洞爆發后不僅會面對巨大的壓力,同時也不能快速進行針對性的安全加固和危機補救。
面對如Struts漏洞此類安全危機,聯軟推出基于SCAP(Security Content Automation Protocol)協議和標準開發的UniSIMS服務器安全運維技術解決方案。其提供了智能資產識別和管理能力,以及可以無限擴展的安全檢查能力。為此,UniSIMS的解決方案在金融,通信運營商等領域受到客戶的一致好評。
快速檢查受影響的設備
首先是幫助管理員快速了解網絡安全狀況,利用UniSIMS的快速安全檢查能力,安全管理員可以把Struts漏洞檢查規則迅速推向所有的服務器設備,在幾分鐘之內得到結果,清楚的知曉哪些服務器設備上存在風險。
精準查找風險組件網絡位置
UniSIMS可以針對所有服務器進行精細的資產管理,能有效收集和管理服務器上詳細的資產信息,細致到WEB中間件使用的架構(例如Struts),以及在中間件上部署哪些應用等。因此,安全管理員可以在管理后臺快速的查找出受Struts影響的應用和其版本,了解其部署在哪些中間件上(例如Tomcat或JBOSS)、其運行在那些設備上,以及這些設備的運維負責人。以此來快速的安排漏洞修補和網絡加固工作。
在開源組件極其廣泛使用的今天,資產深度管理解決方案尤為重要。如曾經帶來震撼的OPENSSL漏洞、前段時間的淘寶的FASTJSON組件漏洞等也可以用聯軟UniSIMS來進行快速定位和防范。與此同時,隨著IT架構日益復雜以及業務應用和網絡設備的不斷增加,管理員需要面對越來越繁雜的運維管理工作,因此需要一個有效的資產管理解決方案來進行管理,讓業務安全可控。