金融信息系統作為國家關鍵信息基礎設施,直接關系到國家經濟、社會的正常運行。長期以來,我國金融信息化依賴進口設備和系統,金融行業尤其是銀行業被IBM、HP、甲骨文等外商捆綁較深,金融行業信息化設備的軟硬件系統被外商壟斷。這等于是我們的金融行業是由花錢雇來的外國雇傭兵在站崗放哨。這不僅需要花費巨額的外匯,更涉及到我國金融業的安全可控。近年來,金融業不斷加大國產軟硬件試點力度,國產CPU、國產數據庫已經在部分金融機構實現了核心系統的應用突破,為解決金融業數據庫供應鏈安全問題樹立標桿、積累經驗。
國產數據庫三條技術路線
目前,金融系統的數據庫根據使用場景劃分,可以分為核心系統、辦公系統和一般系統。
根據《金融業數據庫供應鏈安全發展報告》,金融業核心系統用到的我國數據庫產品主要集中在華為GaussDB和OpenGauss、中興GoldenDB、騰訊TDSql、達夢數據庫、螞蟻集團OceanBase、阿里Tair及平凱星辰TiDB,另外部分銀行基于開源內核自研數據庫產品,在核心系統實現了應用。在辦公管理及一般系統中,除了核心系統用到的產品外,還用到阿里PolarDB/RDS/ADBPG、人大金倉KingbaseES、巨杉SequoiaDB、南大通用Gbase等。
上述數據庫按照技術路線劃分,可以分為自研閉源數據庫、基于開源軟件二次開發數據庫和基于國外技術的數據庫。
閉源自研須有確定的開發主體和服務提供者,軟件的迭代升級能就地實現,數據庫開發者完全主導和決策產品的研發方向,甚至可以對特定行業和特定客戶提供定制版本,閉源自研最能體現廠商的能力和技術水平。不過,目前國內還沒有出現市場能力和技術能力達到甲骨文水平的廠商,且國內能夠做到不依賴開源代碼,閉源自研的廠商微乎其微,達夢數據庫是閉源自研路線的典型代表。
DB-Engines所統計的數據庫產品中開源數據庫數量占比為52%,開源數據庫的流行度和數量都超過商業數據庫,正成為技術與市場變革的新引擎。由于基于開源軟件二次開發可以站在巨人肩膀上,快速拿出達到市場主流水平的數據庫產品,導致開源數據庫也已經成為我國數據庫實現突圍的主要途徑,華為、中興、騰訊、阿里等大公司都選擇了這條路線,GaussDB是基于PostgreSQL二次開發,GoldenDB、TDSQL是基于MySQL二次開發。不過,目前PostgreSQL、MySQL等開源數據庫掌握在國外開發者手中,其升級迭代能力、長期發展能力取決于主導企業/開發者的投入水平和戰略定位。我國開源數據庫還沒有形成足夠多的開發者社區和服務者群體,生態圈尚顯稚嫩。
基于國外技術的數據庫可獲得較高的起點,可繼承外商的技術和生態優勢,增加了企業級特性。但增加了不少風險,如果只繼承了外商的源代碼,卻沒有形成自己的技術和能力,那么,在技術演進和技術迭代方面會比較麻煩。
金融業集中式數據庫是絕對主流
誠然,無論是傳統集中式數據庫,還是以分布式數據庫為代表的新型數據庫,在解決金融業數據庫供應鏈安全問題中都發揮重要作用,特別是部分金融機構實現了核心系統的應用突破,為解決金融業數據庫供應鏈安全問題樹立標桿、積累經驗。但從實際情況看,集中式數據庫更適宜金融行業,《金融業數據庫供應鏈安全發展報告》中也證明了這一點。
一是我國集中式數據庫具有自然的技術繼承性。金融業長期使用的Oracle、DB2、SQLServer、MySQL、PostgreSQL等數據庫均為集中式架構,平移到同類型的其他集中式數據庫相對難度小、成本低、風險可控,從而成為很多用戶的自然選擇。而且我國主要集中式數據庫對國外主流成熟數據庫進行了大量兼容,這樣可確保應用過程中對應用侵入性小,同時無論是開發人員還是運維人員,其原有的技術、技能均可沿用,為我國數據庫產品應用規避知識和技能壁壘。
二是我國集中式數據庫技術相對成熟。我國集中式關系型數據庫經歷近30年的研發、優化、應用和成長,已經在政企等不同領域得到較為充分的應用和打磨,初步具備支持金融應用能力,基本滿足金融行業對可靠性、可用性、高性能、高安全性的需求。同時,集中式數據庫由于其更短的數據流程和決策機制,更容易保障其數據一致性和交易響應時間。
三是集中式數據庫更適合業務量適中的交易類業務場景。集中式數據庫在嚴格遵守事務ACID特性、數據強一致性的同時,保證高性能和高可靠性,天然契合交易復雜度高、數據強一致性、響應時間和吞吐量高的金融業OLTP業務場景。如銀行的存取款等核心業務對數據的強實時一致性要求;證券業的實時交易對響應時間要求極其苛刻;保險行業核保交易需要核實和校驗大量的信息,交易涉及的規則非常多而且多變。
四是我國集中式數據庫初步構建應用生態體系。我國集中式數據庫廠商經過多年的經營,初步形成可用、部分易用的生態體系,適應金融行業現有IT環境。
正是因此,集中式數據庫成為金融行業絕對主流,占比高達89%。這主要是因為傳統集中式數據庫具有高效的數據存儲效率和優異的系統穩定性,有力支持數據共享集中處理系統建設,在數據大集中時期形成絕對的主導地位。在金融業很多應用實踐中,我國優秀的集中式數據庫產品順利實現對國外商用數據庫的替換,既是發展規律和技術特點共同作用的結果,也是市場的自然選擇。
開源軟件風險不可小覷
近年來,本土互聯網產業和軟件產業蓬勃發展,雖然取得了不少成績,但在基礎軟件方面往往習慣于依賴開源,普遍對Linux、openstack、MySQL、ceph等開源軟件有所依賴。雖然一些廠商把開源和自主、安全劃等號,但實際上,開源軟件風險不可小覷,其存在的知識產權風險和安全風險,必須予以重視。
一是開源許可協議約束風險。目前被OSI認可的開源許可協議已超過100種,不同種類的許可協議約束各不相同。當前全球最流行的六大開源協議(GPL、BSD、MIT、Mozilla、Apache、LGPL)中,其約束規定差別很大。如有些開源協議具有傳染性,要求使用許可協議的代碼再發布時必須提供源代碼的GPL許可協議,有些許可協議對產品所包含的專利并未包含明確的專利許可條款,如BSD、MIT等。當用戶不當使用這些許可協議的開源技術或者產品時,就存在侵權的風險。
二是開源許可協議的變更風險。開源許可協議是脆弱的,協議本身可以通過協商、修訂、補充等方式進行修改,使得使用規則存在不確定性。自2018年以來,多個開源軟件開發商(如Redis、MongoDB、Kafka等)已經對其過去使用的開源許可證進行了修改。Oracle則宣布2019年1月以后發布的OracleJavaSE8的公開更新將不再向沒有商用許可證的業務、商用或生產用途提供。
三是開源許可協議的法律風險。開源相關的法律約束除了開源許可協議的約束條款,還包括出口管制和司法管轄權,以往較少被關注。有些開源基金會和托管平臺的條款中如果明確說明遵循該國的出口管制,一旦所在國政策出現變化,修改出口管制條例,相關的開源代碼或國內企業托管在其上的源代碼資產將受到出口管制。如GitHub托管平臺在2019年7月因美國貿易管制政策限制了克里米亞開發者帳戶,同樣的情況也發生在2022年俄烏沖突中。司法管轄權在開源知識產權糾紛中也很關鍵。一旦一個開源項目或者開源組織指定司法管轄權的歸屬地,就意味著圍繞該條款展開的知識產權糾紛只能在該地法院展開,這將給國內企業帶來非常大的困擾,勝訴的幾率也非常低。
四是開源許可協議的兼容性風險。在當前開源技術大流行的背景底下,企業在研發過程中使用眾多的開源技術和產品,這些開源技術和產品中有可能也使用其他的開源技術和產品,這些不同開源產品所遵循的開源許可協議有可能不兼容,不但帶來開源組件傳統漏洞類的安全管理問題,相關開源許可協議不兼容及許可協議的依賴傳遞性也帶來知識產權風險。
開源軟件的安全性也值得關注。據美國網絡安全公司Snyk發布的《2019年開源安全現狀調查報告》顯示,78%的漏洞存在于間接依賴關系中;37%的開源開發者在持續集成期間沒有實施任何類型的安全測試,54%的開發者沒有對Docker鏡像進行任何安全測試;兩年內應用程序的漏洞數量增長了88%。據新思科技《2021開源安全與風險分析報告》顯示,84%的代碼庫至少含有一個漏洞,近三年漏洞比例逐年增高,60%的已審核代碼庫包含高風險漏洞。據開源網安SourceCheck工具對熱門開源項目的掃描結果看,53.8%的項目存在超危風險。另外,開源軟件涉及源代碼共享,很多配置信息中會涉及賬號密碼等敏感信息,如果不對代碼進行審核檢查,可能會造成大量敏感信息與數據隨著代碼的共享而泄露。同時,開源軟件公開的源代碼,如果包含對企業數據庫的訪問代碼,則可能導致整個數據庫面臨數據泄露的危險,也可能導致企業內部文件與用戶信息的泄露。
結語
目前,金融IT基礎設施安全創新已經是金融系統的共識,也做了不少的試點工作,特別是國有大行,其國產數據庫比例非常高,辦公系統和核心系統的國產數據庫使用比例達到83%,一般系統的占比達到100%。根據《金融業數據庫供應鏈安全發展報告》內容,梅州客商銀行將核心業務系統由原來的Oracle RAC + Data Guard遷移至達夢數據共享存儲集群(DM DSC)+ 達夢數據守護集群(DM DataWatch)+ 達夢數據實時同步軟件(HS)上,不僅提升了數據庫整體處理能力,還實現了兩地雙中心高可用容災架構。中國人壽則將企業年金系統(受托管理達千億規模)遷移到達夢數據上,該項目于2020年12月正式上線,基于達夢數據庫的年金系統,年終結算批作業、精算等業務上,處理時間大幅縮短50%以上,綜合性能超客戶預期30%以上。基于達夢在線增量遷移方案,業務系統在上線窗口期,耗時5小時快速完成TB級數據從原生產數據庫到DM的同步,開發團隊針對性修改代碼不到10行,快速完成應用系統從原生產數據庫到DM的移植,既有效降低客戶運維成本,又保證了系統的高可用性。
誠然,國產數據庫尚存在一些不足,金融機構也面臨數據庫選型難、應用不充分、實施難度大、管理與運維復雜、人才隊伍短缺等困難。希望相關各方還需針對性地彌補短板、改進不足、統籌推進,全面提升金融業數據庫供應鏈安全水平。