999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

源代碼檢測分析技術與應用研究

2023-06-26 18:22:49孫麗
無線互聯科技 2023年8期
關鍵詞:網絡安全

孫麗

摘要:隨著近幾年的實戰攻防演練的強度增加以及拍打力度的增強,源代碼檢測技術迄今為止仍是有待解決的重要問題。不同于軟件缺陷,源代碼漏洞更加難以識別和修復。文章從源代碼安全的必要性、軟件供應鏈安全的安全風險和不可控風險出發,重點闡述了源代碼檢測的技術原理、技術難點以及目前國產源代碼的技術突破,同時對“安全左移”的具體落實提出建設性意見。

關鍵詞:源代碼安全;網絡安全;軟件供應鏈安全;源代碼檢測技術;安全左移

中圖分類號:TP 399? 文獻標志碼:A

0 引言

隨著近幾年國家對網絡安全的重視及《中華人民共和國網絡安全法》的發布,伴隨著各種攻防演練、護網行動的開展,等級保護測評工作、密碼測評工作、風險評估工作的落實,網絡“安全左移”已是志在必行。源代碼安全已成為網絡安全中不可或缺的一分子。研究源代碼檢測分析技術與應用的問題隨之呈現。源代碼檢測分析技術可以實現對程序本身的缺陷進行檢測,從而提高軟件的安全性。本文從研究源代碼檢測技術的目的——源代碼安全的必要性出發,分析了源代碼因軟件供應鏈問題而存在的安全風險,進而對源代碼檢測的技術要點和技術難點進行探討,對“安全左移”提出建設性意見。

1 關注源代碼安全的必要性

1.1 法律法規驅動

《中華人民共和國網絡安全法》中第二十一條國家實行網絡安全等級保護制度,第二十六條開展網絡安全認證、檢測、風險評估等活動,向社會發布系統漏洞、計算機病毒、網絡攻擊、網絡侵入等網絡安全信息,應當遵守國家有關規定。《中華人民共和國網絡安全法》于2016年11月7日發布,2017年6月1日起施行,共7章、79條,對企事業單位來說,有38條明確規范義務。《GB/T 28448—2019 信息安全技術網絡安全等級保護測評要求》中安全建設管理在軟件開發過程中對安全性進行測試、軟件安裝前對可能存在的惡意代碼進行檢測;外包軟件開發應保證開發單位提供軟件源代碼,審查軟件中可能存在的后門和隱蔽信道。隨著法規、政策的完善,“安全左移”刻不容緩。

1.2 內部需求驅動

隨著近幾年的實戰攻防演練的強度增加以及拍打力度的增強,對開發單位的系統健全性的要求越來越高。其主要分為以下兩個方面:(1)提升開發過程安全性。在軟件開發生命周期全程對安全缺陷進行管控,從而提升軟件本身的安全能力,減輕應用上線后給安全運行帶來的壓力。(2)加強實戰對抗能力。當前安全形勢對快速響應漏洞的發現及修補提出了更高要求。在系統上線前解決漏洞問題,系統才具備更好的健全性及實戰對抗能力。

1.3 管理成本驅動

美國國家標準與技術研究院NIST曾發布“系統建設不同階段問題處理成本”模型,需求分析及設計階段的問題成本為1,編碼階段為5,集成測試階段為10,系統驗收測試階段為15,發布階段為30。顯而易見,從節省人員成本和提升工作效率的角度,源代碼的安全值得關注。

2 關注軟件供應鏈安全是源代碼安全的基礎

據美國Synopsys公司《2021年開源安全和風險分析報告》統計:98%的代碼庫包中含開源代碼,73%的代碼由開源代碼構成,84%的代碼庫至少有一個漏洞,65%的代碼庫存在許可證沖突。開源軟件已成為軟件開發的核心要素,但也引入了多種風險。同時,部分公司在一些開源軟件的基礎上進行簡單“加工”而形成所謂自主可控的產品,并不清楚其產品涵蓋哪些源代碼。軟件開發者缺少攻擊者的思維方式,對核心代碼的維護能力極低。如果此類產品應用于一些關鍵領域,那么會帶來安全隱患,從而對“自主可控”造成威脅。

2021年7月,著名IT管理軟件供應商Kaseya發生供應鏈攻擊,攻擊者利用了Kaseya的虛擬系統管理員 (VSA) 技術中的3個漏洞。許多托管服務提供商 (MSPs) 都會使用這種技術來管理其客戶網絡。這導致攻擊者在托管服務提供商下游客戶的數千個系統上分發勒索軟件。此事件波及17個國家上千家企業和機構的上百萬臺設備被加密,索要贖金高達7 000萬美元,是迄今為止規模最大的供應鏈事件。

總體來說,軟件供應鏈的安全風險和不可控風險并存,安全風險分為軟件漏洞、軟件后門、惡意篡改、信息泄露、供應鏈劫持5點;不可控風險分為服務停止、技術出口管制、開源變閉源3點。

2.1 軟件自身漏洞

在軟件產品原生開發過程中產生的及次開發從上游繼承的軟件漏洞,主要是開發能力、管理水平不足引發的。2021年12月披露的Apache Log4i遠程代碼執行漏洞,存在遞歸解析功能。攻擊者可直接構造惡意請求,觸發遠程代碼執行該漏洞。2021年12月,log4j2JndiRCECVE-2021-44228漏洞被爆出。當程序將用戶輸入的數據進行日志記錄時,即可觸發此漏洞。攻擊者利用此漏洞可以在目標服務器上執行任意代碼。該漏洞影響多達60 644個開源軟件,涉及相關版本軟件包高達340 657個。本次漏洞的觸發模式簡單且成本極低,是一場Java生態的浩劫。

2.2 人為惡意代碼植入

人為惡意代碼植入是指為達到某種目的對正常軟件功能進行修改的行為。該行為包括3種類型:源代碼植入、開發工具植入、供應信息篡改。2020年,GitHub發現其平臺上26個Java集成開發環境相關開源代碼庫被植入惡意代碼。代碼隨開發者下載使用激活后竊取平臺技術秘密。

2.3 軟件惡意后門

供方出于軟件維護的目的在軟件產品中預置后門,或為滿足國家的需要,為國家安全部門預留一些“接口”,方便獲取用戶敏感數據、控制用戶系統運行等,如被曝光的“棱鏡門”。

2.4 供應鏈劫持

供應鏈劫持是普遍存在的供應鏈污染,涵蓋整個軟件開發生命周期,包括需求設計階段、編碼階段、集成測試階段、系統驗收階段、系統運行維護升級階段。供應鏈劫持安全風險突出,涉及捆綁惡意代碼、下載劫持、網絡劫持、物流鏈劫持、升級劫持等。

2.5 開源許可證違規使用

軟件產品發布時缺少開源許可證類型,或軟件產品發布時不符合相應許可協議的規范和要求。使用開源軟件,應當遵守其許可證的要求,否則視為違規使用開源軟件。

2.6 上游供應中斷

(1)技術出口管制導致開源軟件相關服務被禁,開源代碼托管平臺被禁。2021年8月13日,Docker聲明禁止“禁運國家”和被列入美國“實體清單”的組織和個人使用遵循該服務協議的公共鏡像存儲服務DockerHub。2022年3月2日,GitHub 官方稱將遵守美國政府的相關規定,嚴格限制俄羅斯通過GitHub獲得其維持軍事能力所需的技術和其他物品。(2)開源變閉源。開源軟件在某版本后不再提供開源代碼,或者由于缺少投入,維護不及時、不到位,開源項目不能穩定發展甚至終止。(3)停服風險。巨頭企業為其利益改變既定開源規則或商業模式,導致開源項目停止更新維護。Linux系統如表1所示。

2.7 敏感信息泄露

軟件供應鏈信息被有意或無意地泄露在用戶不知情的情況下,軟件產品產生的數據、流程等全部或部分被泄露到用戶可控范圍外。網絡地下黑產猖獗,當前各行業部門和企事業單位大量收集存儲公民個人信息、地理位置等數據,但在數據使用上重收集、輕防護,導致其大量外泄。網絡數據黑市幾乎囊括了吃穿住行等方方面面。近期,南京公安機關偵破的一起侵犯公民個人信息案中,犯罪分子在云盤存儲上百億條公民個人信息,其中包括銀行賬戶余額等高隱私信息。

2.8 建立開源軟件應用規則的急迫性

軟件供應鏈的安全風險和不可控風險是并存的,這就體現了建立開源軟件應用規則的重要性。在開源技術引入前期,對其進行全面、詳盡、科學的風險檢查與評估,符合規定的才能被企業引入,為開發所用,不符合的需要杜絕,從源頭上降低風險引入。

企業需要全面建設DevSecOps能力,在傳統的安全左移基礎之上增強軟件成分分析能力,具備組件文件、代碼片段等不同粒度的分析、溯源、風險檢查能力,更需把開源技術的八大類風險均實現左移。

DevSecOps主要的目標是建設一套自動化風險檢查、評估與智能管理系統。該系統需要貫穿軟件開發的全生命周期,包括技術選型、軟件開發、軟件測試、軟件上線運維以及軟件停服下線等階段。本設計在不同階段,給企業提供不同能力,做到全面的風險左移、可知可控。

3 國產源代碼檢測新技術特點

3.1 傳統的檢測手段

傳統的代碼檢測分析技術其實就是靜態漏洞檢測技術,用來分析代碼在運行過程當中的詞法、語法以及語義,這是一個常見的檢測手段。同時,它會配合數據流的分析和污點分析等技術,也就是常說的污點追蹤。當一個數據進來后,此技術可能要對其進行持續的跟蹤,研究其最終是否被利用。技術人員會對程序代碼進行抽象和建模,最終抽象成一個數據結構,從而對其中的缺陷進行分析,主要分析程序中的數據依賴(數值等應用)、控制依賴(條件控制)、變量受污染的狀態信息。此技術通過內置的安全規則或是模式匹配等方式來挖掘程序代碼中存在的漏洞。這種技術是非常常見的,也是目前主流的商業工具中比較常用的一種手段,其一是算法相對比較成熟,其二是在檢速率、可控性方面比較優異。

3.2 新型的檢測手段

隨著人工智能的發展,機器學習在代碼檢測的應用過程中變得越來越廣泛。機器學習在代碼檢測過程中主要是對代碼進行解析,把代碼看成是一種文本,或者把代碼進行程序切片,從而保留與代碼漏洞檢測相關的信息,把無關的代碼信息全部剔除;采用詞嵌入等技術將源代碼的中間表示或是切片映射到具體的向量空間;此技術借助機器學習或深度學習模型中強大的大數據挖掘能力,學習源代碼所蘊含的各類信息,包括控制依賴和數據依賴的信息,進而實現漏洞檢測。可把傳統靜態檢測方法中提取源代碼污點變量的傳播情況、凈化函數的有效性等信息應用到機器學習中,豐富模型學習的知識空間,從而獲得性能更好的檢測模型。

機器學習在學術研究中可能有較多涉及,而在實際的生產過程中,其僅在幾類特定的缺陷或某類特定的語言中效果甚佳。在大規模的語言還有海量的數據方面,由于數據及語言特性的限制,機器學習還處于研究中。目前,機器學習的商業化產品最典型的是美國一家公司所研發的DeepCode,但其一期的能力僅局限于規范的檢測,對于這種深度的缺陷挖掘,其能力不夠成熟。

3.3 基于代碼檢測分析技術目標不同的分類

代碼檢測分析技術的目標通常是分為兩類:(1)檢測目標為源代碼。面向源代碼的靜態分析以程序的源代碼作為輸入,將其轉換為某種特定形式的中間表示,也就是子法UR分析,構建語法樹,再遍歷語法樹從而升遷成中間代碼結構,基于該中間結構進行分析。因為此分析基于源代碼進行,所以能夠捕獲豐富的代碼結構、語義和邏輯等信息。常見的基于源代碼分析的技術如Fortify,CheckMarx,Coverity等。(2)檢測目標為二進制代碼。面向二進制代碼的靜態分析是以經過反匯編等手段處理后的二進制代碼作為輸入,設法恢復程序信息,運用模式匹配或補丁對比等方式實現漏洞檢測。相比源代碼,二進制代碼缺乏與代碼相關的高級語義信息,以二進制代碼形式表示的漏洞模式更為復雜,大部分的二進制帶份檢測分析以漏洞挖掘為主,制作此類成品化、批量顯示的代碼檢測分析產品挑戰性較高。目前,較為常見的就是美國國土安全局發布的Ghidra,這是一款用Java語言編寫的代碼檢測工具,其功能非常強大。

3.4 代碼檢測分析技術的四大難點

3.4.1 前端解析

如果該代碼依賴編譯,那么只需做好符號信息捕獲和提取。在編譯過程中提取符號詳細信息,雖然無需專門的前端處理器,但是存在相對應的挑戰。如果編譯過程中存在元素缺失,編譯會立即失敗,代碼檢測分析也隨之失敗。如果該代碼為非編譯類型,通過預編譯的方式,采用容錯機制,則不會遇到語法或者編譯錯誤等障礙。預編譯就是寫一份前端解析,隨著目標代碼語法更新,需要升級調整預編譯處理器。

3.4.2 編程語言的差異化

當前的研究大多針對用某一特定類型語言Java編寫的軟件程序展開。雖然已有的檢測方法在特定的應用場景下表現不錯,但是在對編程語言的多樣性和迭代更新快等特性的適應性問題處理上仍存在不足。因此,改善漏洞分析方法的通用性,提高分析模型的適配能力是當前靜態分析中的關鍵問題。

3.4.3 機器學習技術應用的合理性

機器學習技術在解決某些問題上表現突出,但是其對海量數據和計算機資源的高度需求是不容忽視的。對于基于學習的靜態分析,由于漏洞數據集稀缺、數據集所包含漏洞樣本的覆蓋面缺乏廣度,導致訓練出的深度學習模型存在過擬合問題。在面對代碼高速迭代更新的大環境時,模型的性能往往與實驗結果相差較大。如何選擇和構建合理的學習模型來理解和學習源代碼表示的信息是基于學習的靜態分析的關鍵問題。

3.4.4 誤報和漏報的問題

源代碼檢測技術存在較高的誤報和漏報,降低了檢測的準確度。工具的實用性和有效性顯著降低無法有效提高軟件開發效率和軟件質量。誤報產生的原因:一方面受限于工具采用的算法技術,另一方面也存在部分主觀因素,如缺陷模型的認可、代碼上下文的關聯。漏報往往是因為規則的缺失,工具可擴展性受限。這些都是技術人員在現在和未來需要解決的問題。在生產過程中,技術人員一般會通過調研、配置策略、預打靶摸底等方式,與客戶達成共識,再通過缺陷類型的調整、增補、白名單、黑名單,不斷地去保證漏報和誤報在可控的范圍內。

3.5 國產源代碼檢測的關鍵技術突破

隨著“安全左移”的落實,對軟件的成分分析、開源安全漏洞、開源許可合規分析的能力要求均上升到源代碼片段級別,賦能企業安全合規能力,助力企業自主可控,保障軟件供應鏈安全迫在眉睫。目前,可以通過市面上一些國產源代碼檢測產品,快速、準確地識別源代碼中所使用到的第三方開源組件,護航企業網絡安全。

以下是國產源代碼檢測幾項關鍵技術的突破:(1)源代碼結構化特征提取技術。此技術根據語法規范進行源代碼文件的結構化處理,消除特定詞法的噪聲。(2)組件依賴分析技術。此技術通過研究不同包管理的包管理機制,進行組件信息特征提取與識別,通過組件坐標進行組件依賴的識別與定位。(3)安全漏洞關聯分析技術。此技術構建安全漏洞與開源軟件、開源組件間的知識圖譜,依托關聯分析技術,間接識別相關開源項目、開源組件的安全漏洞。(4)許可證、版權識別技術。此技術研究并分析許可證、版權聲明的方式與特征,基于文本的規則匹配和特征識別技術分別識別源代碼文件中的許可證和版權信息。(5)數據壓縮及特征提取技術。此技術通過特征提取與壓縮技術,從海量的源代碼文件中進行代碼片段級別的特征提取并自建索引,實現海量數據的存儲與單機部署。(6)基于大數據的開源項目溯源技術。此技術通過大數據并行計算技術,對代碼片段之間的海量匹配關系進行特征匹配、分組、合并、排序等相關操作,分別實現文件之間的同源分析以及開源項目的溯源分析。

4 結語

本文從發掘源代碼安全的必要性出發,通過各項數據證明軟件供應鏈的安全與源代碼安全息息相關,重點闡述軟件供應鏈的安全風險和不可控風險,以此為基礎分析源代碼檢測的技術原理、技術難點及目前國產源代碼的技術突破。堅決落實《中華人民共和國網絡安全法》,實現“安全左移”,在源代碼安全層面上,首先需要構建軟件物料清單,有效識別軟件供應鏈風險;其次需要建立開源軟件應用規則,明確符合不同規則開源代碼不同的使用地點,同時也要引導國內軟件開發供應商、第三方機構高度重視軟件供應鏈安全防護。通過對軟件成分分析、開源安全分析、開源合規分析、威脅情報分析,賦能企業安全合規能力,助力企業自主可控,保障軟件供應鏈安全。增強網絡安全意識,筑牢信息網絡安全防線,筆者有理由相信源代碼檢測分析技術在現在乃至未來,都是落實網絡安全工作的一個重要研究領域。

參考文獻

[1]鄧梟,葉蔚,謝睿,等.基于深度學習的源代碼缺陷檢測研究綜述[J].軟件學報,2023(2):625-654.

[2]劉永志.一種基于語義切片的源代碼缺陷檢測系統的設計與實現[D].北京:北京大學,2022.

[3]李炯彬.源代碼安全和質量缺陷靜態檢測技術研究[J].質量與認證,2021(8):66-68.

[4]王璐.軟件源代碼安全漏洞表示學習及檢測技術研究與實現[D].北京:北京郵電大學,2021.

[5]張浩杰.基于深度學習的源代碼漏洞檢測技術研究[D].成都:電子科技大學,2021.

[6]畢藝菲.智能源代碼漏洞檢測技術應用研究[D].西安:西安電子科技大學,2021.

[7]李炯彬.源代碼安全和質量缺陷靜態檢測技術研究[J].質量與認證,2021(8):66-68.

(編輯 王永超)

Source code detection and analysis technology and application

Sun Li英文作者

(Jiangsu Golden Shield Detection Technology Co., Ltd., Nanjing 210042, China)

Abstract: With the increase of the intensity of actual combat attack and defense drills in recent years and the strengthening of beating, source code detection technology is still an important problem to be solved so far. Different from bugs, vulnerabilities are more difficult to identify and repair. Starting from the necessity of source code security, security risk and uncontrollable risk of software supply chain security, this paper focuses on the technical principle and technical difficulties of source code detection, as well as the technical breakthrough of domestic source code at present, and puts forward constructive suggestions on the concrete implementation of “security left shift”.

Key words: source code security; network security; software supply chain security; source code detection technology; safe left shift

猜你喜歡
網絡安全
網絡安全(上)
網絡安全知多少?
工會博覽(2023年27期)2023-10-24 11:51:28
新量子通信線路保障網絡安全
網絡安全
網絡安全人才培養應“實戰化”
上網時如何注意網絡安全?
網絡安全與執法專業人才培養探索與思考
設立網絡安全專項基金 促進人才培養
網絡安全監測數據分析——2015年11月
互聯網天地(2016年1期)2016-05-04 04:03:20
打造信息網絡安全的銅墻鐵壁
主站蜘蛛池模板: 老司机午夜精品网站在线观看| 久久精品最新免费国产成人| 国产久操视频| 五月综合色婷婷| 亚洲中字无码AV电影在线观看| 成人亚洲国产| 欧美天堂在线| 欧美亚洲国产日韩电影在线| 亚洲欧美另类日本| 一级爱做片免费观看久久| 欧美在线天堂| 欧美性色综合网| 一区二区自拍| 久996视频精品免费观看| 国产高清无码第一十页在线观看| 国产亚洲美日韩AV中文字幕无码成人| 亚洲日韩精品综合在线一区二区| 欧美在线网| 精品中文字幕一区在线| 手机在线免费不卡一区二| 秋霞午夜国产精品成人片| 欧美成人午夜视频免看| 巨熟乳波霸若妻中文观看免费| 日韩精品无码免费一区二区三区 | 2020亚洲精品无码| 精品国产女同疯狂摩擦2| 日韩av手机在线| 日韩不卡高清视频| 婷婷色婷婷| 精品国产亚洲人成在线| 99热国产这里只有精品无卡顿"| 国产成人精品一区二区不卡| 国产在线97| 国产综合在线观看视频| 伊人激情综合网| 在线色国产| 国产成人综合日韩精品无码不卡 | 国产美女精品一区二区| 国产成人精品优优av| 日韩少妇激情一区二区| 日韩精品少妇无码受不了| 亚洲国产精品VA在线看黑人| 亚洲AV色香蕉一区二区| 亚洲日本www| 国产99精品视频| 91口爆吞精国产对白第三集| 国产欧美精品专区一区二区| 亚洲欧美不卡视频| 久久精品无码一区二区国产区| 99视频在线免费| 亚洲动漫h| 国内丰满少妇猛烈精品播| 免费看久久精品99| 69av免费视频| 美美女高清毛片视频免费观看| 日日拍夜夜操| 伊人丁香五月天久久综合| 亚洲一区二区三区中文字幕5566| 久久这里只有精品国产99| 久久精品人人做人人综合试看| 丰满的少妇人妻无码区| AV不卡在线永久免费观看| 成人精品免费视频| 欧美五月婷婷| 欧美特黄一免在线观看| 在线观看亚洲成人| 久青草国产高清在线视频| 欧美午夜视频| 就去吻亚洲精品国产欧美| 国产成人亚洲精品色欲AV| 国产亚洲欧美在线视频| 亚洲国产看片基地久久1024| 亚洲免费黄色网| 亚洲第一视频免费在线| 精品欧美一区二区三区久久久| 国产精品香蕉在线观看不卡| 日本一区二区不卡视频| 午夜日b视频| 中文字幕永久在线观看| 免费一级无码在线网站| 69精品在线观看| 久久综合成人|