中文字幕国产在线观看,中文字幕永久免费,国产一级毛片国产,狠狠色噜噜狠狠狠

    國家保密局網(wǎng)站>>保密科技

    開源軟件風險分析及治理措施研究

    2020年11月27日    來源:國家保密科技測評中心【字體: 打印

    一、引言

    2020年4月,國家發(fā)改委明確提出“以新發(fā)展理念為引領,以技術創(chuàng)新為驅動,以信息網(wǎng)絡為基礎,面向高質量發(fā)展需要,提供數(shù)字轉型、智能升級、融合創(chuàng)新等服務的基礎設施體系”,界定了包括信息基礎設施、融合基礎設施、創(chuàng)新基礎設施等在內的“新基建”概念范疇。“新基建”是新一代信息通信技術與傳統(tǒng)基礎設施的深度融合,呈現(xiàn)高度網(wǎng)絡化、數(shù)字化、智能化等顯著特征。數(shù)字經(jīng)濟時代,“新基建”將加速虛擬空間和實體空間的全面融合,在推動數(shù)字經(jīng)濟高速發(fā)展的同時,面臨的安全風險也從傳統(tǒng)的網(wǎng)絡安全擴展到社會現(xiàn)實生活。

    “新基建”雖然涉及眾多領域,但究其主要功能組件,包括底層的硬件設備、調度處理的軟件程序和上層生產(chǎn)的信息數(shù)據(jù)3部分。無論對硬件設備的控制,還是生產(chǎn)操作信息數(shù)據(jù),都無法離開基礎的軟件程序支撐,毫無疑問,軟件程序將成為“新基建”的核心要素,軟件代碼將作為新基建”的基礎設施,其安全性直接影響著“新基建”的基礎安全。

    二、開源軟件現(xiàn)狀分析

    隨著全球信息化發(fā)展態(tài)勢的不斷融合,國家或企業(yè)信息系統(tǒng)的產(chǎn)品來源更加多元化,軟件程序的供應鏈也隨之變得更加復雜。

    通常來說,軟件程序主要來源于自主研發(fā)、購買商業(yè)化產(chǎn)品、使用開源軟件或采用軟件外包開發(fā)等途徑。根據(jù)VeraCode公司統(tǒng)計,大約30%?70%自主研發(fā)軟件的代碼都使用過第三方代碼,并多以開源組件、商業(yè)或外包共享庫的形式存在。信息技術分析公司高德納(Gartner)更是堅定認為現(xiàn)代軟件大多數(shù)是被“組裝”出來的,不是被“開發(fā)”出來的。現(xiàn)在的軟件開發(fā)過程類似于早期的工業(yè)生產(chǎn)活動,是以開源軟件為基礎的原材料,在此基礎上,再結合實際的業(yè)務需求和應用場景補充添加相對獨立的業(yè)務代碼,最后“拼裝”出一套軟件系統(tǒng)。這種敏捷開發(fā)的方式雖然在一定程度上提高了軟件系統(tǒng)開發(fā)的效率,卻并未充分考慮其使用的基礎開源組件是否安全可靠,為軟件系統(tǒng)的安全性和可控性帶來了巨大挑戰(zhàn)。

    近年來,以廣泛應用的Struts2、OpenSSL等為代表的基礎開源組件頻現(xiàn)高危漏洞,不同國家、不同企業(yè)均因此遭受不同程度的損失,也促使國家和企業(yè)提高對軟件供應鏈、開源軟件、關鍵信息基礎設施中軟件系統(tǒng)安全性的關注程度。

    (一)開源軟件的安全形勢極其嚴峻

    實際上,開源軟件的安全形勢已變得越來越嚴峻。根據(jù)RiskSense研究報告稱,2019年已公開的開源軟件CVE漏洞總數(shù)為968個,比之前數(shù)量最高年份的兩倍還多,2020年前3個月新增的CVE漏洞數(shù)量也處于歷史高位。另外,就美國國家漏洞庫(NVD)對于開源軟件的漏洞管理情況來看,其收錄開源軟件漏洞的滯后性比較嚴重,從漏洞首次公開披露到漏洞被收錄到NVD平均耗時54天,最長耗時1817天。攻擊者完全有可能利用這段時間窗口開發(fā)和部署漏洞利用程序。其中,武器化程度最高的開源軟件包括Apache Tomcat、Magento、Kubernetes、Elasticsearch和JBoss。而正在使用存在漏洞開源軟件的企業(yè)由于無法及時收到NVD的安全警報,將使企業(yè)完全暴露在安全風險之中。

    (二)開源軟件所產(chǎn)生的蝴蝶效應不容樂觀

    從奇安信代碼安全實驗室公布的數(shù)據(jù)來看,開源軟件的源代碼安全缺陷密度是14.22/KLOC,高危安全缺陷密度為0.72/ KLOC,即每1000行開源軟件代碼中就有14個安全缺陷,每1400行開源軟件代碼中就有1個高危安全缺陷。由此可見,開源軟件的安全現(xiàn)狀極不樂觀。

    另外,由于開源軟件之間的關聯(lián)依賴關系非常復雜,其帶來的安全問題所產(chǎn)生的蝴蝶效應將變得十分巨大。一款開源軟件如果出現(xiàn)0Day漏洞,將會導致所有與之存在關聯(lián)依賴關系的其他軟件系統(tǒng)出現(xiàn)同樣的0Day漏洞,漏洞的攻擊面將會由點及面呈現(xiàn)出爆炸式的放大效果。

    (三)開源軟件的供應鏈有可能潛藏高級網(wǎng)絡威脅

    正是由于開源軟件的開源特性,造就了其天然基因中就缺少安全監(jiān)管機制,上傳開源軟件的可能是個人,也可能是一個組織,還可能是一些別有用心的機構。因此,開源軟件很可能不是“免費的午餐”,有可能被植入高級惡意程序代碼,通過數(shù)據(jù)加密的方式,將惡意流量(如竊取到的用戶敏感信息或遠程控制命令等)混淆在正常的加密數(shù)據(jù)流量中來逃避安全檢測。這種借助于特洛伊木馬以軟件供應鏈為突破口的攻擊方式,直接將攻擊程序寫入開源軟件中,大大降低了攻擊者從外向內的攻擊成本,也必將成為企業(yè)所面臨的下一個網(wǎng)絡安全風口。

    (四)開源軟件尚處于管理盲區(qū)

    開源軟件目前正處于企業(yè)信息化的管理盲區(qū),因為企業(yè)所用到的各類軟件無論是自行開發(fā)還是外包服務,都更偏向于對功能需求的驗證,忽視了源代碼和使用的基礎開源組件的安全性以及各個組件之間的依賴關系。

    軟件供應商的開發(fā)團隊對開源軟件的使用非常隨意,未建立完整的開源軟件使用管理機制,開發(fā)人員對開源軟件基本處于“只用不說”的狀態(tài),項目負責人無法掌握開發(fā)團隊所用到的開源軟件具體列表,企業(yè)甲方更無法了解正在使用的軟件系統(tǒng)是否包含了開源軟件。一旦軟件產(chǎn)品交付,開源軟件的漏洞也將為整個信息系統(tǒng)的安全運營帶來極大的安全挑戰(zhàn)。

    三、開源軟件治理措施

    當前,國家和企業(yè)已逐漸進入數(shù)字化時代,無論是對硬件的調度控制還是對上層信息數(shù)據(jù)的存儲、加工和利用,開源軟件已成為構建虛擬空間和物理實體的重要黏合劑,應作為“新基建”的核心基礎設施給予充分的重視,加緊開展開源軟件的安全治理措施研究。

    (一)建立開源軟件的審查管理機制

    無規(guī)矩不成方圓,企業(yè)和軟件開發(fā)商應建立對開源軟件的審查管理機制,嚴格執(zhí)行對開源軟件全生命周期的安全使用和風險控制。

    (1)建立針對開源軟件的頂層審查管理機制。設立相應的組織機構,明確管理職責,結合企業(yè)的實際特點,制定審查管理制度和流程。

    (2)建立開源軟件安全準入機制,制定評估要點,在其生命周期內持續(xù)評估其完整性、安全性和法律風險,實時掌握開源軟件資產(chǎn)和與其關聯(lián)的軟件系統(tǒng)的安全風險狀態(tài)。

    (3)借助于開源軟件的自動化工具持續(xù)檢測和發(fā)現(xiàn)開源軟件資產(chǎn),持續(xù)跟蹤開源軟件漏洞情報。

    (4)建立開源軟件的漏洞緩解工作機制,研究開源軟件的漏洞緩解措施,開展應急響應處置,及時規(guī)避網(wǎng)絡安全風險。

    (5)建立開源軟件的運維管理平臺,按照審查管理制度流程,執(zhí)行開源軟件全生命周期的運維管理,跟蹤并記錄開源軟件動態(tài),提升開源軟件治理效率。

    (二)推進源代碼安全保障實踐方法落地

    企業(yè)使用開源軟件面臨的首要問題仍然是代碼的安全性問題。在軟件源代碼安全保障實踐方面具有代表性的是微軟提出的安全開發(fā)生命周期(Security Development Lifecycle,SDL )和高德納基于敏捷開發(fā)推出的DevSecOps的方法。其中,SDL將安全要素內嵌入培訓、需求分析、系統(tǒng)設計、編碼實現(xiàn)、測試驗證、發(fā)布和響應等軟件開發(fā)和運維的7個階段。DevSecOps通過設計一系列可集成的控制措施,增大安全監(jiān)測、跟蹤和分析力度,將安全融入敏捷過程中,并將安全能力賦予各個團隊,同時保持“敏捷”和“協(xié)作”的初衷。

    無論SDL還是DevSecOps,都可以看到,安全的位置實際上都進行了左移,而且貫穿于所有的過程中。

    (1)安全需求分析:應結合業(yè)務實際需求,依據(jù)行業(yè)標準規(guī)范,如等級保護、分級保護,識別岀軟件系統(tǒng)的安全需求,作為后續(xù)安全設計的輸入。

    (2)安全設計:依據(jù)安全需求分析文檔,以減少攻擊面為原則,圍繞用戶輸入驗證、異常處理、身份鑒別、密碼管理、會話安全、訪問控制、安全審計、數(shù)據(jù)脫敏、防Web攻擊等方面對軟件系統(tǒng)進行安全設計。

    (3)安全編碼:使用指定的安全開發(fā)工具,嚴格依據(jù)安全設計文檔對軟件系統(tǒng)進行編碼實現(xiàn)。

    (4)安全測試:借助于源代碼審計、滲透測試和壓力測試等綜合測試方法,充分驗證軟件系統(tǒng)的安全性、可用性和完整性。

    (5)安全發(fā)布:結合實際網(wǎng)絡拓撲,合理部署,減少來自網(wǎng)絡的攻擊面。

    (6)安全響應:制定網(wǎng)絡安全事件響應計劃和處置流程,有效響應網(wǎng)絡安全事件。

    (三)借助專業(yè)力量持續(xù)評估開源軟件安全風險

    企業(yè)應引入或借助專業(yè)的技術力量持續(xù)加強對在用開源軟件的安全風險評估。通過常態(tài)化滲透測試、代碼安全性分析或者建設網(wǎng)絡靶場,持續(xù)、動態(tài)地驗證、評估開源軟件的可靠性、可用性和安全性,提升開源軟件的安全應用能力。

    (四)合作建立開源軟件的漏洞情報庫

    現(xiàn)有的CVE/CPE體系以及NVD等漏洞庫,已經(jīng)無法滿足開源軟件安全治理的需求,需要創(chuàng)新開源軟件的漏洞情報研究、共享、共治機制,合作建立開源軟件漏洞情報庫。

    四、結語

    在企業(yè)數(shù)字化轉型過程中,開源軟件可以降低成本,提高效率,讓企業(yè)更專注于自己數(shù)字化業(yè)務需求實現(xiàn),已成為企業(yè)構筑數(shù)字空間的基礎設施。開源軟件已經(jīng)站在企業(yè)數(shù)字化轉型舞臺中央,其安全性直接影響著數(shù)字空間的安全,因此,開源軟件的安全性應得到充分關注和重視,亟待開展對開源軟件的全生命周期治理,為企業(yè)的數(shù)字化安全發(fā)展保駕護航。

     

    (原載于《保密科學技術》雜志2020年7月刊)