1. 程式人生 > >我為什麽支持高校的業務系統放棄Apache Struts2框架(一)

我為什麽支持高校的業務系統放棄Apache Struts2框架(一)

文章 廣東 我們 然而 所有 以及 erl 業務 spring

月初聽聞廣東某高校(中山大學)發布通知:關於停止使用Apache Struts2開發框架的通知

技術分享

鑒於S2漏洞較多、維護難度較大,為防範控制網絡安全風險,經研究決定,新建信息化項目不得使用S2;

在用S2的信息系統(網站)應盡快轉用其他更安全的MVC框架(如Spring MVC等);從即日起,使用S2的信息系統(網站)將僅限校園網內訪問。

作為信息安全愛好者,個人對學校的決定是舉雙手支持的,Struts 2框架在安全方面似乎有著與生俱來的缺陷,與同類開源項目相比,它的問題是在是太多了。下面說一下我個人支持的原因:

一、數據泄漏

9月9日那天,國外有消息稱“Struts漏洞導致1.43億美國公民信息被泄”,並且Apache Struts 2官方也對此做了回應(聲明):

https://blogs.apache.org/foundation/entry/apache-struts-statement-on-equifax?from=timeline

技術分享

圖1

大概的E文翻譯(感謝網易有道)如下:

Apache Struts 項目管理委員會願意就Equifax數據泄露做出聲明,因為這與Apache Struts Web框架有關,而且我們在知曉Equifax遭受了數據泄露,且盜取數據者是利用Apache Struts Web框架後,感到非常遺憾。目前,尚不清楚被利用的是哪一個Struts漏洞。Quartz.com網站上曾發表一篇文章,稱與CVE-2017-9805漏洞有關,而這個漏洞是在9月4號公布的,隨後Apache便發布了可修復漏洞的Struts框架新升級。然而,該安全漏洞早在7月就以被檢測到,這意味著要麽是Equifax服務器上存在未被及時修復的補丁,要麽是攻擊者利用了零日漏洞。如果漏洞確由CVE-2017-9805引起,那可能是黑客在利用該漏洞時,它還只是個零日漏洞。因為這篇文章稱CVE-2017-9805已經存在九年時間。

作為Apache Struts的項目管理委員會想表明的是,我們的研發團隊為了保障我們產品的安全付出了巨大努力,而且會在第一時間解決問題。按照Apache 安全政策的要求,一旦我們發現可能存在的安全問題,我們就會先私下與報告方合作解決問題,並升級產品以修復漏洞。然後才會將漏洞以及修復的方式告知大眾。即便漏洞是我們已經知道的,我們也會將信息攔截若幹周,以便泄露事件在全球爆發前他們有足夠的時間修復自己的軟件。然而,由於漏洞檢測和漏洞的利用已經成了專門的產業,通過對補丁做逆向工程或是掃描未知漏洞,是很有可能在我們完全曝光攻擊向量之前就出現攻擊事件的……

雖然1.43億的數據泄漏發生在美國,離我們比較遠,但其實類似的事件,我們國內也曾發生過。

2016年12月10日,國內某知名電商平臺被爆出12GB用戶數據遭泄漏:身份證、密碼、電話等敏感信息無一逃脫。

隨後在12月11日,官方平臺發布聲明:“經京東信息安全部門依據報道內容初步判斷,該數據源於2013年Struts 2的安全漏洞問題,當時國內幾乎所有互聯網公司及大量銀行、政府機構都受到了影響,導致大量數據泄露。京東在Struts 2的安全問題發生後,就迅速完成了系統修復,同時針對可能存在信息安全風險的用戶進行了安全升級提示,當時受此影響的絕大部分用戶都對自己的賬號進行了安全升級。但確實仍有極少部分用戶並未及時升級賬號安全,依然存在一定風險。”

我為什麽支持高校的業務系統放棄Apache Struts2框架(一)