久久亚洲五月,熟妇人妻AVHD,日韩性无码国产精品专区 ,亚洲人精品69堂

由工業(yè)控制系統構建淺談開(kāi)源軟件安全

由工業(yè)控制系統構建淺談開(kāi)源軟件安全

時(shí)間:2021-01-13 17:03:00      來(lái)源:http://www.ricklacy.com/news541395.html

伴隨著(zhù)開(kāi)源軟件被各大企業(yè)、高校乃至于政府部門(mén)使用,人們對開(kāi)源軟件的關(guān)注已逐漸從價(jià)格方面轉移到性能、安全性以及用戶(hù)體驗上。根據美國新思科技公司(Synopsys)發(fā)布的《2020 年開(kāi)源安全和風(fēng)險分析》一文中提供的數據,99%的代碼庫包含至少一個(gè)開(kāi)源組件,其中開(kāi)源代碼占所有代碼的70%,由此反映出使用開(kāi)源代碼在軟件開(kāi)發(fā)中占有較大比重,覆蓋的行業(yè)包括企業(yè)軟件、工業(yè)控制環(huán)境、醫療、金融等眾多領(lǐng)域。在審計的代碼庫中,75%的代碼包含具有已知安全漏洞的開(kāi)源組件,而伴隨著(zhù)開(kāi)源軟件數量的不斷增加,無(wú)論是開(kāi)源組件還是成品的開(kāi)源軟件,含有漏洞的產(chǎn)品的占比將會(huì )持續增加。


一、開(kāi)源軟件在工業(yè)領(lǐng)域的安全風(fēng)險


近年來(lái),開(kāi)源軟件使用率逐漸增長(cháng),但其中的安全性問(wèn)題也日益凸顯。主要的安全性問(wèn)題表現為以下3個(gè)方面。一是使用過(guò)期和廢棄的開(kāi)源代碼的行為非常普遍,并且使用易受攻擊開(kāi)源組件的行為也比較普遍。二是開(kāi)源代碼和軟件安全漏洞收集與管理分散,社區對安全漏洞管理沒(méi)有十分重視。根據White Source公司2 0 2 0年發(fā)布的《開(kāi)源代碼脆弱性態(tài)勢》提供的數據,2019年報告的開(kāi)源軟件漏洞較上年增長(cháng)了50%,超過(guò)85%的開(kāi)源軟件漏洞已經(jīng)被公開(kāi)并修復,但只有84%的漏洞信息被收集在漏洞數據庫中。而當下的開(kāi)源軟件漏洞的信息廣泛而零散地分布在各大開(kāi)源社區中,造成了漏洞信息收集困難。三是無(wú)意行為與惡意行為并存。開(kāi)發(fā)者可能源于粗心的編程或使用“不安全的”開(kāi)發(fā)工具開(kāi)發(fā)開(kāi)源項目并發(fā)布在社區內。當然也存在不法分子利用開(kāi)源平臺注入惡意病毒、兜售漏洞信息或利用漏洞開(kāi)發(fā)開(kāi)源軟件或服務(wù)。這3方面不足以概括所有安全問(wèn)題,但確實(shí)廣泛存在于工業(yè)領(lǐng)域中。


互聯(lián)網(wǎng)領(lǐng)域,例如郵件傳輸代理Sendmail、Web服務(wù)器Apache、操作系統Linux、數據庫系統MySQL和辦公軟件包OpenOffice,廣泛使用開(kāi)源軟件與開(kāi)源的應用。除此之外,開(kāi)源軟件甚至已經(jīng)成為部分技術(shù)服務(wù)公司的核心基礎架構,例如Amazon、Google 和Yahoo。顯然,開(kāi)源軟件已經(jīng)是重要而關(guān)鍵的信息系統,它需要安全保護以免受攻擊。其可用性與使用范圍的不斷提高使它吸引了黑客和其他對軟件漏洞感興趣的人。更加危險的是,如果開(kāi)源軟件不是在封閉的環(huán)境中使用,而是與其他系統和網(wǎng)絡(luò )互聯(lián),相關(guān)漏洞的后果將更加難以預料。在2017年9月,客戶(hù)信用評估機構Equifax宣布了遭到網(wǎng)絡(luò )安全攻擊造成用戶(hù)數據泄露。該機構使用Java Web應用程序框架ApacheStruts建立他們的網(wǎng)站,而數據泄露是由Apache Struts 的漏洞(CVE- 2017-5638)引起的。開(kāi)源Apache在20 17年和2020年接連曝出高危漏洞,分別出現在A(yíng)pache的Tomcat組件和Spark組件中。對于前者,攻擊者可以構造參數攻擊Tomcat AJP協(xié)議,以讀取服務(wù)器webapp下的任意文件,后者則由于Spark認證機制存在缺陷,致使密鑰認證失效,攻擊者可以通過(guò)構造調用指令攻擊服務(wù)器并取得遠程代碼執行的權限。上述漏洞均被CNVD評為高危漏洞。


工業(yè)控制系統開(kāi)源軟件方面,在2018年NIST報告的漏洞中,知名開(kāi)源工控系統Rapid SCADA被曝出由于弱權限導致的提權漏洞,該訪(fǎng)問(wèn)控制漏洞使得攻擊者可以在管理員環(huán)境中執行任意遠程代碼,被NIST評為“嚴重”級別,給出的弱點(diǎn)為CWE-274,屬于不正確的默認權限。Rapid SCADA作為完整的工業(yè)控制系統,包含了現場(chǎng)控制層、過(guò)程監控層及人機界面等多種功能,由于其成本低,被大量國內制造企業(yè)選為控制系統。一旦攻擊者使用該漏洞進(jìn)行攻擊,將引發(fā)嚴重后果。


二、開(kāi)源軟件在工控系統的安全應用實(shí)例


面向工業(yè)互聯(lián)網(wǎng),開(kāi)源軟件與組件被廣泛使用。以下通過(guò)一個(gè)簡(jiǎn)單的電力系統實(shí)例可以發(fā)現工業(yè)控制系統如何使用開(kāi)源資源,以滿(mǎn)足自身的現場(chǎng)設備層、現場(chǎng)控制層、過(guò)程監控層、制造執行系統層(MES)和企業(yè)管理層的構建。


在工業(yè)控制系統中,現場(chǎng)設備層是由遠程終端組件(RTU)、智能電子設備(IED)等構成,F場(chǎng)設備層通過(guò)各類(lèi)工業(yè)以太網(wǎng)連接可編程控制器(PLC )、分布式控制器和分布式數控等控制單元接入成為分布式控制網(wǎng)絡(luò ),形成現場(chǎng)控制層。其中,可以使用公開(kāi)的Modbus TCP協(xié)議設置點(diǎn)對點(diǎn)或總線(xiàn)式的數據通信。在現場(chǎng)設備層與控制層中,不同廠(chǎng)商的下位機使用的協(xié)議、物理接口均不同,開(kāi)源軟件難以運行在該層次。而在現場(chǎng)控制層和過(guò)程監控層中,用于管理下位機的OPC系統、人機交互界面(HMI)以及服務(wù)器后端(包含用于數據存儲的模塊)等均可以使用開(kāi)源軟件。


除此之外,隨著(zhù)物聯(lián)網(wǎng)技術(shù)的發(fā)展,遠程控制現場(chǎng)設備已經(jīng)成為趨勢,傳統的工控系統安全防護的方法,諸如物理隔離、網(wǎng)閘等措施不能很好地適用于現代工控系統。而對于工控系統使用的協(xié)議,如在SCADA系統中,其專(zhuān)業(yè)協(xié)議在發(fā)展的過(guò)程中逐漸向開(kāi)放的TCP/IP靠攏,具有TCP/IP協(xié)議的特性。此外,開(kāi)源環(huán)境支持配置開(kāi)發(fā)各種Internet服務(wù),如HTTP、FTP等,用于園區管理層的通信,F在企業(yè)管理層越來(lái)越廣泛地使用虛擬化,可以使用VirtualBox進(jìn)行管理。在工業(yè)互聯(lián)網(wǎng)概念下的云資源也有大量的開(kāi)源資源,例如Oracle 的VirtualBox hypervisor可以搭建云計算平臺。


當然,針對工控系統的信息安全防御,可以將傳統互聯(lián)網(wǎng)中的開(kāi)源網(wǎng)絡(luò )安全檢測工具運用于工控環(huán)境中。譬如基于縱深防御的思想在工控系統的每層之間架設防火墻和IDS系統,這些安全模塊都可以選用開(kāi)源的網(wǎng)絡(luò )防火墻和IDS系統,并對其進(jìn)行適當改進(jìn)。在該工業(yè)控制系統中,其中搭載了多種開(kāi)源安全工具,如Snort用于入侵檢測,Wireshark提供包捕獲功能,Sebekd支持擊鍵記錄,Argus收集網(wǎng)絡(luò )統計數據,MySQL用于數據存儲等,為管理人員提供高自由度的配置選擇。在該工控靶場(chǎng)系統中,風(fēng)險評估與事件掛鉤,根據事件的特點(diǎn)對事件賦予不同的可靠度值和優(yōu)先級。在態(tài)勢感知中,安全分析為每一個(gè)事件賦予一定的風(fēng)險等級:一旦事件的風(fēng)險值超過(guò)配置的閾值,就會(huì )生成一個(gè)“警報”并顯示在開(kāi)源環(huán)境下開(kāi)發(fā)的Dashboard上。


以上所描述的簡(jiǎn)易的工控系統都是在開(kāi)源環(huán)境下搭建的、廣泛使用開(kāi)源組件開(kāi)發(fā)的和借助開(kāi)源軟件支持下實(shí)現的。借助這樣的開(kāi)源工具,幫助在低成本高效率地構建工控系統時(shí),不可避免地為我們引入了開(kāi)源環(huán)境的安全性問(wèn)題。


三、開(kāi)源軟件脆弱性的原因分析


開(kāi)源軟件的興起離不開(kāi)開(kāi)源社區的發(fā)展。社區的興起為開(kāi)源軟件的開(kāi)發(fā)和傳播奠定基礎。開(kāi)源軟件具有協(xié)作開(kāi)發(fā)的特點(diǎn),故開(kāi)源軟件存在著(zhù)不同于傳統軟件的安全脆弱性。從開(kāi)源軟件安全技術(shù)開(kāi)發(fā)分析,開(kāi)源軟件安全劃分為管理、架構、認證和部署4個(gè)方向。在這4 個(gè)方向中,大多數的研究者更傾向于研究架構和認證方向的技術(shù),主要著(zhù)眼于開(kāi)源安全系統設計、開(kāi)源漏洞特征分析等研究方向。而研究管理和部署方面相關(guān)的社會(huì )技術(shù)的研究者較少,導致用于戰略管理、政策管理、培訓等方面理論很少,進(jìn)一步造成了在解決開(kāi)源軟件安全問(wèn)題時(shí),多使用傳統技術(shù)的局面。對于一個(gè)完善的安全管理系統,社會(huì )技術(shù)方面和傳統技術(shù)方面同樣重要。從社會(huì )技術(shù)角度對造成開(kāi)源軟件脆弱性的原因進(jìn)行劃分,可以發(fā)現從軟件開(kāi)發(fā)時(shí)的分工到開(kāi)源軟件社區公布的安全要求,都會(huì )對開(kāi)源軟件的安全性產(chǎn)生影響,主要影響來(lái)源于以下6個(gè)方面。


(1)開(kāi)發(fā)者對軟件安全的態(tài)度和行為方面。開(kāi)發(fā)者或組織者并沒(méi)有意識到軟件可能會(huì )出現安全漏洞,或是開(kāi)發(fā)者認為軟件價(jià)值不足以召來(lái)攻擊者,抑或是關(guān)注軟件安全審計會(huì )導致工作量增加使得開(kāi)發(fā)者不愿意投入精力。安全檢查工作會(huì )致使開(kāi)發(fā)者的工作量增加,因此部分開(kāi)發(fā)者不愿投入過(guò)多精力在安全性檢查上,該類(lèi)群體將主要精力放在實(shí)現軟件功能以及提升軟件性能上,而如果開(kāi)發(fā)者的能力不足或沒(méi)有做安全性檢查的習慣,開(kāi)發(fā)出的軟件可能會(huì )產(chǎn)生漏洞。


(2)開(kāi)發(fā)者開(kāi)發(fā)能力與開(kāi)發(fā)者行為方面。由于部分軟件開(kāi)發(fā)者并不直接接觸代碼或是沒(méi)有系統接觸過(guò)軟件安全分析流程,該群體并不具有對軟件安全性進(jìn)行分析的能力,也并不了解軟件安全性分析的流程,最終只能根據經(jīng)驗對軟件進(jìn)行修改或直接選擇承受風(fēng)險。


(3)開(kāi)源社區規范制定方面。要求開(kāi)源軟件的開(kāi)發(fā)團隊針對軟件安全制定一套規范比較困難,所以多數團隊把開(kāi)發(fā)重點(diǎn)放在實(shí)現軟件功能上,退而求其次使用開(kāi)源社區提供的規范,然而大部分社區并沒(méi)有提供相關(guān)規范,這就意味著(zhù)對于大多數開(kāi)源項目,軟件安全規范方面還是空白的、缺少相關(guān)規范的限制,開(kāi)源軟件安全性分析的流程不規范可能會(huì )導致安全審查過(guò)程出現缺失。


(4)開(kāi)源開(kāi)發(fā)管理方面。部分開(kāi)源軟件開(kāi)發(fā)團隊沒(méi)有設置專(zhuān)門(mén)的安全管理團隊。原因可能是成員不具有安全管理的能力,或大部分的團隊并沒(méi)有與安全軟件公司掛鉤以獲取安全管理資源。因此大多數情況下,安全管理工作由組織者承擔。管理的效果則與組織者的個(gè)人責任感和能力相關(guān),無(wú)法保證能及時(shí)發(fā)現別有用心者在軟件組件中安插的非法操作代碼。


(5)溝通渠道與組織管理方面。由于大部分項目是由志愿者開(kāi)發(fā)組件,由組織者進(jìn)行綜合,在此過(guò)程中會(huì )出現兩方交流不徹底的情況,致使組織者提供的安全要求無(wú)法及時(shí)傳達到個(gè)人,以及志愿者在開(kāi)發(fā)時(shí)遇到安全問(wèn)題無(wú)法找到有效的解決方案。最終,志愿者上傳的組件中的安全問(wèn)題未得到有效解決卻直接被組織者采用。


(6)開(kāi)源社區使用者方面。雖然理論上當越多的人看到軟件的源代碼時(shí),軟件代碼中的漏洞越容易被發(fā)現,軟件也會(huì )變得越安全。但實(shí)際情況中,大多數代碼審核者并沒(méi)有刻意去尋找漏洞,即便是對發(fā)現這些漏洞最感興趣的人群,也大都傾向于發(fā)掘較為淺顯的漏洞,故而具有嚴重影響的漏洞并不一定會(huì )被及時(shí)發(fā)現。


以上是開(kāi)源軟件存在問(wèn)題的原因,主要可以歸納為責任劃分不具體或缺少責任劃分、安全意識薄弱、對軟件安全性抱有僥幸心理以及開(kāi)發(fā)人員能力不足。


四、開(kāi)源軟件安全分析與安全應對


通過(guò)以上工控系統的構建實(shí)例,我們可以發(fā)現相比于傳統軟件,開(kāi)源軟件突出的特點(diǎn)為源代碼公開(kāi),用戶(hù)可以在源代碼的基礎上根據實(shí)際使用需求對代碼進(jìn)行選擇、更改和配置。傳統軟件開(kāi)發(fā)注重經(jīng)濟效益,以贏(yíng)利為目的,故有保護源代碼的剛需,而開(kāi)源軟件的開(kāi)發(fā)者團體多為興趣所驅動(dòng),使源代碼得以公開(kāi),開(kāi)源社區進(jìn)行技術(shù)交流和技術(shù)支持。在使用時(shí)用戶(hù)可以刪減不必要的代碼,優(yōu)化需要的核心功能。經(jīng)過(guò)修改后的代碼更加符合用戶(hù)需求,在體積上也更加輕量化,相比于傳統軟件注重功能的全面性,開(kāi)源軟件將重點(diǎn)放在了軟件的多樣性和專(zhuān)一性上,在某些有特殊要求的領(lǐng)域,如工業(yè)互聯(lián)網(wǎng)中有較好的表現。此外,由于代碼的公開(kāi),開(kāi)源軟件出現的漏洞會(huì )很快被志愿者發(fā)現并反饋給開(kāi)發(fā)團隊,使之得到及時(shí)修正或能夠讓使用者及時(shí)得到提醒。


開(kāi)源軟件具有的另一特點(diǎn)是使用成本低。在用做商業(yè)用途時(shí),使用軟件所投入的成本大小就必須要納入考慮范圍,開(kāi)源軟件的低成本使其成為較好的選擇。開(kāi)源軟件的使用成本主要體現在對軟件的修改、部署和后期的運維上。開(kāi)源軟件的使用者對軟件的使用、研究和改良都是自由的,傳統軟件受到知識產(chǎn)權相關(guān)法規的保護,無(wú)關(guān)個(gè)人或組織對傳統軟件的研究和改良都是不受法律保護的,在某些地區甚至與當地法規相違背,而開(kāi)源軟件并不存在這些桎梏,使用者可以任意對軟件進(jìn)行研究、更新,且所有的研究結果和改良方式都為使用者所擁有,不存在產(chǎn)權問(wèn)題,這為開(kāi)源軟件脆弱性分析提供了便利。因此,開(kāi)源軟件的使用者不會(huì )如傳統軟件的使用者那樣受到軟件廠(chǎng)商的更新限制,可以更加及時(shí)地更新軟件。


那么如何做好安全的開(kāi)源軟件安全開(kāi)發(fā)呢?筆者建議可以從以下3個(gè)方面去做。


(1)管理好開(kāi)源社區:可以毫不猶豫地說(shuō)當今任何優(yōu)秀的開(kāi)源軟件或基礎軟件,都離不開(kāi)開(kāi)源社區的支持。因此扶持管理好有價(jià)值的開(kāi)源社區非常重要。圍繞規范的開(kāi)源社區,研究與開(kāi)發(fā)新的開(kāi)源軟件的安全需求處理框架和策略對開(kāi)發(fā)人員安全開(kāi)發(fā)軟件有很大的幫助。例如,從開(kāi)源軟件項目的非功能性和功能性的需求中識別安全需求,研究高精度的自動(dòng)化工具支持安全需求追蹤以及選擇測試策略并生成測試用例的方法等技術(shù)就非常有意義。


(2)從政策上引導開(kāi)源軟件安全開(kāi)發(fā)與安全開(kāi)發(fā)從業(yè)人員培養:我國人力資源豐富,為開(kāi)源軟件開(kāi)發(fā)提供了基礎。利用產(chǎn)學(xué)研協(xié)同合作可以很好地構建人才體系和優(yōu)化的開(kāi)發(fā)工業(yè)軟件。在安全性上,要明確安全開(kāi)發(fā)的核心。傳統的安全學(xué)習方法通常以安全性為中心,以主題形式介紹知識內容,因此不適合于興趣驅動(dòng)學(xué)習者進(jìn)行學(xué)習。開(kāi)發(fā)人員或安全問(wèn)題的學(xué)習者面對如此廣泛的安全知識,通常會(huì )認為軟件安全性很難實(shí)現,傾向于將其拋在一邊。因此,需要從上至下,有組織有協(xié)調地從需求開(kāi)發(fā)入手,組織資源,為軟件安全構建特定的學(xué)習情境和交流平臺,使學(xué)習者可以瀏覽安全知識并將其與他們熟悉的環(huán)境相關(guān)聯(lián)。這一行為需要從政策上協(xié)調,實(shí)現合理規劃與資源配置。


(3)加強開(kāi)源軟件安全開(kāi)發(fā)合作和形成安全策略:開(kāi)源軟件安全開(kāi)發(fā)需要各方有效有序有力的合作,需要在國內外合作的基礎上,在產(chǎn)、學(xué)、研配合下,在政策指導下,保障開(kāi)源軟件安全開(kāi)發(fā)?紤]到現有開(kāi)源軟件項目要么缺失相應的安全策略,要么所采用的安全策略局限過(guò)大,故需要借鑒成熟的安全策略,合并到統一合作的機制中。因此,未來(lái)的研究應確定在實(shí)踐中使用的更多候選安全策略,并找到將它們系統地納入現有安全策略層次結構的方法。將新發(fā)現的安全策略納入策略層次結構時(shí),還需要進(jìn)行進(jìn)一步研究以評估其有效性。


五、結語(yǔ)


近年來(lái),越來(lái)越多的事件暴露出我們國家基礎工業(yè)軟件方面的薄弱問(wèn)題。在開(kāi)發(fā)重要的基礎工業(yè)軟件上,開(kāi)源社區和開(kāi)源軟件不可避免地扮演著(zhù)重要角色。安全開(kāi)發(fā)開(kāi)源軟件需要至少從管理好開(kāi)源社區、從政策上引導開(kāi)源軟件安全開(kāi)發(fā)、加強開(kāi)源軟件安全開(kāi)發(fā)合作和形成安全策略三方面發(fā)力。做好開(kāi)源軟件安全開(kāi)發(fā)將有利于我國基礎工業(yè)軟件的蓬勃發(fā)展。

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

相關(guān)產(chǎn)品

聯(lián)系我們

跟隨軍民融合的步伐,無(wú)數企事業(yè)單位的選擇。

聯(lián)系人:肖老師

手機(微信同號): 18628251745

Q Q: 724857775

郵箱: 724857775@qq.com

二維碼

地址: 成都市武侯區武侯大道鐵佛段1號優(yōu)博國際1單元201(3號、9號線(xiàn)地鐵武青南路站A口直達)

深水埗区| 临泽县| 浏阳市| 扬中市| 启东市| 桃园市| 施秉县| 汝城县| 安义县| 大石桥市| 白朗县| 肃宁县| 东乡县| 丹巴县| 平阳县| 瓦房店市| 城步| 温州市| 图片| 屏东市| 天气| 南安市| 屯门区| 斗六市| 花垣县| 休宁县| 驻马店市| 内黄县| 达孜县| 宜章县| 杂多县| 共和县| 忻州市| 都匀市| 定陶县| 景德镇市| 交口县| 安乡县| 东方市| 天台县| 本溪市|