金融行業(yè)開源技術(shù)應(yīng)用社區(qū)(FINOC)研討實錄:開源組件安全問題與升級方式

科技云報道原創(chuàng)。

在開源成為全球趨勢的今天,搶跑科技創(chuàng)新的金融機構(gòu)成為開源技術(shù)的重度用戶。然而,由于我國金融機構(gòu)對開源軟件的管理尚不完善,不具備較成熟的開源治理體系,金融機構(gòu)在引入和管理開源軟件時總會遇到種種困難,這也帶來了一定程度的開源風險。

對于緊跟開源技術(shù)趨勢的金融機構(gòu)而言,哪些開源軟件適合自身業(yè)務(wù)已經(jīng)不再是問題,他們更加關(guān)心的是如何解決業(yè)務(wù)中的實際問題,例如:

銀行應(yīng)如何構(gòu)建開源軟件管理體系?開源軟件安全治理的最佳實踐是什么?如何實現(xiàn)開源商業(yè)化?開源項目的評價標準是什么?金融行業(yè)開源技術(shù)框架的管理方法和案例實踐有哪些?金融機構(gòu)如何使用MySQL?金融機構(gòu)如何參與和貢獻開源?構(gòu)建金融開源生態(tài)圈的可行性有多大?

為了解決這些普遍性的行業(yè)痛點,一群來自金融行業(yè)的技術(shù)專家提出了一個大膽的想法:如果沒有答案,那我們就自己去尋找合適的行業(yè)方案。

2018年,一個略顯神秘和低調(diào)的金融行業(yè)組織形成了。這個最初由中國信通院聯(lián)合浦發(fā)銀行、農(nóng)業(yè)銀行、興業(yè)銀行、中信銀行、人壽保險、太平洋保險等10余家金融機構(gòu)共同發(fā)起的“金融行業(yè)開源技術(shù)應(yīng)用社區(qū)”(FINOC),首次開啟了國內(nèi)金融行業(yè)對開源技術(shù)應(yīng)用的自我探索之路。

有趣的是,不同于人們所熟知的金融科技類聯(lián)盟,這個“金融開源社區(qū)”有兩大特點:一是不收會費;二是每隔1-2個月社區(qū)就會發(fā)起研討會,而且每次研討必會輸出干貨。

更為社區(qū)成員們津津樂道的是,研討會有一個必不可少的環(huán)節(jié)——“吐槽大會”,這也成為金融機構(gòu)專家與同行們探討困擾已久的難題、吸取同業(yè)機構(gòu)實踐經(jīng)驗的一次絕佳機會。

成立兩年以來,“金融開源社區(qū)”在毫無推廣、只憑口口相傳的自然發(fā)酵下,如今已經(jīng)吸引了35家頭部金融機構(gòu)、8家知名科技公司、多位獨立技術(shù)專家的共同加入。這種對金融機構(gòu)實際痛點的精準覆蓋、高頻次的行業(yè)干貨輸出,讓“金融開源社區(qū)”在行業(yè)內(nèi)名聲大振。

2020年12月中旬,“金融開源社區(qū)”在中國信通院的牽頭下舉辦了第15次線上研討會活動,研討主題是“開源組件安全問題與升級方式”。

在長達2.5小時的激烈討論中,來自浦發(fā)銀行、農(nóng)業(yè)銀行、中國銀行、上海銀行、微眾銀行、寧波銀行、海通證券等多家金融機構(gòu)的技術(shù)負責人,以及棱鏡七彩、新思科技、默安科技、奇安信等多家技術(shù)廠商的專家們,又一次在“吐槽大會”中碰撞出精彩紛呈的觀點。

這一次關(guān)于“開源組件安全問題與升級方式”的話題,反映了金融機構(gòu)哪些普遍性的痛點?不同規(guī)模和性質(zhì)的金融機構(gòu),又是如何在自己的實際業(yè)務(wù)中去解決開源升級和安全的問題?

為了讓更多金融機構(gòu)和科技廠商能夠深入了解這一問題,本文整理了此次研討會的干貨內(nèi)容。以下為“金融行業(yè)開源技術(shù)應(yīng)用社區(qū)研討會:開源組件安全問題與升級方式”實錄精編。

問題一:開源組件存在升級后由于再次披露漏洞需要頻繁升級,影響業(yè)務(wù)運轉(zhuǎn),有沒有解決方案?

?

開源組件升級是一個不可避免的事實,由于升級框架或組件,往往會導(dǎo)致兼容性或安全問題。由于各個金融機構(gòu)的應(yīng)用與漏洞情況不同,行業(yè)內(nèi)并沒有通用的解決方案。對于這一問題,多位技術(shù)專家給出了自己的看法,我們將其總結(jié)為六個方向的解決方案:

一、安全檢測“左移”

微眾銀行開源管理辦公室? 鐘燕清:這個問題沒有一步到位的快捷方法,盡量在開發(fā)早期就執(zhí)行安全檢測,形成“黑白名單”。在開發(fā)過程中,對開源引用情況、漏洞解決方案、安全評估、組件版本等都要有詳細的記錄,在整個DevOps過程中形成嚴格的漏洞控制追蹤流程,并給予強制+建議性的安全措施。

此外,要培養(yǎng)開發(fā)人員的安全意識,讓所有開發(fā)人員都既有意識,也有可用的工具,具備專業(yè)的能力來做這件事。

中國信通院開源專家 俊哲:安全檢測“左移”,就是要在開發(fā)早期就執(zhí)行安全檢測;如果發(fā)現(xiàn)了安全問題,那么選擇安全版本時,可選取最新的穩(wěn)定版,并建立開源資產(chǎn)清單,以便持續(xù)跟蹤。

二、先評估后整改

中國銀行信息科技運營中心 李維銀:“先評估后整改”,即對漏洞的危害程度進行評估,再根據(jù)漏洞等級采取相應(yīng)的修復(fù)措施。目前,我行采用了很多自動化工具,如果修復(fù)漏洞要改動配置,也會同步修改自動化腳本,以解決隱患。

農(nóng)業(yè)銀行研發(fā)中心信息安全與風險管理部? 姜曉璇:最終目標如果是“消滅漏洞“會比較困難,最好還是采取降低漏洞數(shù)據(jù)的策略,按比例修復(fù)漏洞,這樣可操作性比較大,開發(fā)人員也有選擇余地。

如果兼容性允許,就升級到安全的版本;如果兼容性不允許,那就升級到漏洞數(shù)量比較少的版本,先解決存量開源組件的問題。對于增量開源組件,則直接使用安全策略,嵌入Devops流程。

隨著時間的增長,這種循環(huán)上升的態(tài)勢,應(yīng)該能達到更好的效果。

中國信通院開源專家 俊哲:若評估漏洞風險對系統(tǒng)的影響情況較小,可以考慮不采取措施,但要記錄在案。

若評估漏洞風險對系統(tǒng)安全性影響較大,但因為業(yè)務(wù)連續(xù)性要求,導(dǎo)致難以承受升級帶來的系統(tǒng)兼容性風險,則可以考慮是否有漏洞風險的緩解措施可以使用,如:增加或修改安全配置、臨時禁用受影響的功能等。但緩解措施宜作為臨時處置方案,最終還是要升級到安全版本,從而從根本上修復(fù)漏洞。

有些情況下可能沒有適用的緩解措施,需要通過升級才修復(fù)高風險漏洞。在選擇升級版本時不宜簡單的選擇最新的版本,最好是選擇與當前所使用版本兼容的補丁版本或者版本號接近的安全版本。

有可能存在升級版本就會有兼容性問題的情況,由于開源軟件源代碼可公開獲得,可以考慮自己在使用的版本上,通過修改源代碼來修復(fù)漏洞,從而自己來保證兼容性。

三、先可知再可控

新思科技專家:提高項目的透明度,不管在開發(fā)還是測試環(huán)節(jié),版本漏洞、漏洞嚴重情況等,都要能清楚的看見和管理。例如,漏洞有沒有影響到代碼,要進行快速判斷。即使是中高危漏洞,也不一定都會影響代碼。因此,除了透明度,還要提高評估的效率。

目前,我們會在產(chǎn)品中提供實時通知,對漏洞影響到現(xiàn)有版本提供動態(tài)監(jiān)控,以工程化的手段,將開源組件版本的安全從前到后管理起來。

棱鏡七彩專家:由于企業(yè)應(yīng)用程序、運行環(huán)境的不同,在漏洞修復(fù)時的策略也不一樣。例如:針對存量系統(tǒng),應(yīng)用程序的組件有安全問題,就需要跨部門協(xié)作。而增量系統(tǒng),遇到大的開源組件有補丁,則通過治理工具或者外部安全服務(wù)進行管控和運維。

先可知再可控,就是要根據(jù)不同的環(huán)境、場景,詳細了解每個版本的情況,再提供更全面的治理工具。

管理規(guī)范性和機制常態(tài)化

技術(shù)專家項曙明:開源管得不好,企業(yè)會增加管理成本,風險更大。因此,企業(yè)應(yīng)構(gòu)建快速發(fā)現(xiàn)和治理開源風險的能力,從管理機制、工具和培訓(xùn)三個方面共同構(gòu)建常態(tài)化的機制。

首先,從管理的規(guī)范性看,如何引入開源代碼、如何管理代碼,都應(yīng)該從企業(yè)層面制定符合企業(yè)本身的開源漏洞治理方案,不要把修復(fù)漏洞的責任與義務(wù)全部附加給程序員。

其次,要約束項目組的用法,如:代碼治理、許可證治理等。盡量不要源碼引用,如果源碼引用,那就盡量對代碼進行解耦,以降低風險。

除了日常使用漏洞掃描工具、治理工具進行管理,出了問題有沒有能力快速應(yīng)對?企業(yè)需要構(gòu)建和檢驗自己快速應(yīng)對風險的能力。

五、與社區(qū)聯(lián)動

微眾銀行開源管理辦公室鐘燕清:目前,我們在內(nèi)部形成了小的組件社區(qū),專門跟蹤開源社區(qū)、關(guān)注開源漏洞問題,并由內(nèi)部專家進行維護,以保證系統(tǒng)的高可用性、低成本、快速升級;同時,我們也會對重要的組件做封裝,以達到升級時應(yīng)用無感。

技術(shù)委員會成員專家? 項曙明:企業(yè)應(yīng)積極將發(fā)現(xiàn)的漏洞和代碼貢獻到開源社區(qū),及時跟進社區(qū)的進度,并從社區(qū)得到反饋,這樣對企業(yè)了解自身開源風險其實是非常有益的。

新思科技專家:企業(yè)需要和社區(qū)形成緊密關(guān)聯(lián),并指派專家參與到開源社區(qū)的活動中,和社區(qū)形成良性的互動,更好的應(yīng)對開源組件的的風險。

六、自動化工具

?

技術(shù)委員會成員專家? 史少鋒:大型企業(yè)一定要成立專門的安全小組,采用自動化工具來掃描和管理各類開源組件,一方面減少人力投入提高效率,另一方面及時告知,以降低安全風險。例如OWASP的 Dependency Track 項目就可以幫助自動化監(jiān)測統(tǒng)計依賴變化以及各種安全漏洞。

?

問題二:除了升級,開源漏洞還有什么解決辦法?

一、專業(yè)化漏洞研究團隊

中國信通院開源專家 俊哲:開源組件漏洞修復(fù),絕大部分是通過升級解決的,建議升級到距離當前版本沒有漏洞的最接近的版本進行升級,這樣兼容性較好。

如果有特殊組件無法通過升級解決,需要專業(yè)化漏洞研究團隊,針對特定組件漏洞進行特定修復(fù),這樣成本比較大。

奇安信專家:企業(yè)內(nèi)部漏洞數(shù)量特別大的情況下,需要識別是否是企業(yè)內(nèi)最應(yīng)該修復(fù)的漏洞,需要收集已經(jīng)POC的漏洞。此外,奇安信有專門的漏洞防護小組和分析報告,可以提供大型的漏洞分析和建議。

如果是社區(qū)已經(jīng)不維護的組件出現(xiàn)漏洞,那就需要找專業(yè)漏洞挖掘團隊,專門去打補丁。

二、查看不同的漏洞庫

?

新思科技專家:不同的角色針對同一個安全漏洞可以通過不同的視角去查看漏洞的信息(CVE、CWE、CAPEC等)來協(xié)助判斷和評估漏洞的風險等級。

三、修改源代碼

農(nóng)業(yè)銀行研發(fā)中心信息安全與風險管理部? 姜曉璇:除了升級,還可以通過修改源代碼修復(fù)漏洞,但是需要注意代碼的改動量,修改量大的話容易無法持續(xù)監(jiān)控。

?

問題三:一個組件的處置會涉及到依賴組件的同步升級, 如何處理?

新思科技專家:組件的直接與間接依賴,與漏洞是否需要修復(fù)沒有直接關(guān)系,需要考慮整個函數(shù)調(diào)用鏈路是否被觸發(fā),如果被觸發(fā)需要有限考慮修復(fù)。當然,這需要整個項目部門合作、組件開發(fā)過程透明,理清組件之間的關(guān)系。

農(nóng)業(yè)銀行研發(fā)中心信息安全與風險管理部? 姜曉璇:攻擊鏈路很可能是通過間接組件發(fā)生的,這個常常會被大家忽略。希望能有安全工具,可以提供間接依賴組件的漏洞修復(fù)措施。

?

問題四:系統(tǒng)因漏洞升級主框架要重新做測試,導(dǎo)致運維工作量巨大涉及系統(tǒng)廣,配合度跟不上,這種情況如何解決?

?

中國信通院開源專家 俊哲:先評估該漏洞是否有緩解措施可以使用,若有緩解措施使用,可以在保持業(yè)務(wù)連續(xù)性的基礎(chǔ)上,為升級測試爭取更多的時間。若沒有緩解措施,也可考慮自己修改源碼進行漏洞修復(fù)。

如果經(jīng)過評估該框架已經(jīng)產(chǎn)生副作用,在系統(tǒng)依賴關(guān)系不緊密的情況下可以直接棄用。

?

問題五:有些高版本的組件,依賴高版本的JDK環(huán)境,一旦升級JDK,很可能整個項目代碼都得重構(gòu),修復(fù)代價非常大,這種情況是否有修復(fù)辦法?

默安科技專家:針對這種情況,可以對在用組件版本的源代碼進行修改后再重新打包,從而避免升級JDK。

?

問題六:在開源產(chǎn)業(yè)鏈條中,是否有專門針對熱門組件的商業(yè)化安全服務(wù)?

中國信通院開源專家 俊哲:目前有商業(yè)化公司針對熱門開源軟件的一些商業(yè)化服務(wù),包括部署、安裝、運維等,針對開源組件,也可以向開源治理廠商訂閱商業(yè)化服務(wù),如威脅情報、安全版本推薦、修復(fù)建議等。

上海銀行信息技術(shù)部 鄭位威:安全廠商的確會提供漏洞掃描報告PDF,內(nèi)容包括威脅情報、安全版本推薦、修復(fù)建議等,但這都是一些通過做法,并沒有針對企業(yè)的實際情況,給出實際的落地方案。業(yè)內(nèi)缺乏既懂安全,又懂技術(shù)的復(fù)合型人才,解決實際問題的商業(yè)方案也很少。

海通證券開發(fā)中心平臺部 周靖:建議廠商針對主流開發(fā)框架(例如Springboot2.x系列,熱門組件)定制安全版本,基本上能覆蓋日常 70%以上的常規(guī)安全漏洞和功能設(shè)計漏洞,剩下不多的漏洞則由企業(yè)根據(jù)自身特點進行定制化積累,將安全融合在框架、組件中。

除了針對以上話題展開了激烈討論,此次研討會還根據(jù)之前在金融開源社區(qū)內(nèi)的調(diào)研,將大家反饋問題最多、升級代價比較大的組件版本,進行了展示和討論。

由于時間的限制,還有多個金融專家們關(guān)注的議題尚未得到充分討論,例如:什么樣的流程與制度,可以讓安全部門與開發(fā)部門之間良好協(xié)作?如何衡量開源安全治理的好不好,工具與度量指標是什么?

相信在這場意猶未盡的金融行業(yè)“吐槽大會”之后,技術(shù)專家們還將繼續(xù)各自的思考與實踐,并滿心期待下一次的江湖再見。

極客網(wǎng)企業(yè)會員

免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2021-01-06
金融行業(yè)開源技術(shù)應(yīng)用社區(qū)(FINOC)研討實錄:開源組件安全問題與升級方式
金融行業(yè)開源技術(shù)應(yīng)用社區(qū)(FINOC)研討實錄:開源組件安全問題與升級方式

長按掃碼 閱讀全文