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

Web應用代碼安全防護方案研究

2022-01-21 01:11:34張小梅郭新海
信息通信技術 2021年6期
關鍵詞:分析

劉 安 張小梅 郭新海 丁 攀

中國聯通研究院 北京 100048

引言

Web應用和人們的生活緊密相關,承載著大量隱私信息,一旦被攻擊者獲取后用于違法活動,會造成巨大的損失。近年來,每天都有大量不法分子進行攻擊活動,攻擊的安全事件也越來越多。注入攻擊、XSS、文件上傳、反序列化等攻擊手段層出不窮,攻擊方式更為隱蔽,許多0day漏洞也不斷曝出,給人們造成巨大損失。如何加強對Web應用的安全防護,成為人們普遍關心的問題[1]。

Web應用被攻擊,究其根源是因為開發人員安全意識淡薄以及編碼水平限制,在研發Web應用時無意中引入漏洞[2]。漏洞來自兩個部分:一是源代碼本身存在的編碼缺陷,二是來自編碼過程中引入的依賴庫。超過六成的安全漏洞和代碼缺陷相關,這種漏洞會在后期部署后逐一顯露,代碼引入的漏洞隱蔽性比較強,靠后期的防護手段成本較大,對于一些隱藏比較深的漏洞,傳統的防護手段很難發現,容易產生一些0day漏洞,造成安全威脅。另一方面,為了給開發者提供方便,將一些公共函數封裝成依賴包供開發者調用,提高了研發效率,但是依賴庫一旦出現安全漏洞,對所有引用依賴庫的應用都會產生影響,波及范圍更廣。現許多企業都以開源組件作為自身的代碼架構基礎,開源組件的可更改性和便利性,都可能成為攻擊者首選的攻擊點。開發人員在研發應用時有必要確保他們所使用的開源組件的安全性,并持續監控這些組件的安全漏洞。

在應用研發階段,增強開發人員安全意識,及時發現編碼中的缺陷,識別依賴庫中的漏洞,能夠從源頭處及時阻斷漏洞發生的可能性,減少后期安全防護的成本,從根本上保證Web應用的安全性。

1 防護方案

根據Web應用項目代碼的特點,防護方案從三個層面對項目代碼進行整體防護,如圖1所示。一是通過靜態源碼審計技術對項目源代碼進行安全審計,分析代碼中的編碼缺陷。二是通過軟件成分分析技術對項目代碼中依賴的第三方庫進行漏洞識別,消除開源代碼中的漏洞。三是提供安全編碼規范以及安全基礎庫SDK,研發人員在編寫代碼時以安全編碼規范為指導,避免安全漏洞的引入,并通過調用安全基礎庫SDK中提供的安全函數,消除編碼過程中的安全隱患。在使用靜態源碼審計技術對代碼進行審計時,可以將安全基礎庫SDK中的安全函數添加白名單,減少審計源代碼時的誤報率,提高效率。

圖1 Web應用代碼整體防護方案

1.1 靜態源碼審計

Web應用的開發人員安全經驗不足,以完成功能點為導向的開發模式很容易忽視編碼中的安全問題。此外,由于開發人員缺乏安全知識,很容易引入代碼缺陷,項目一旦上線,其安全問題接踵而至,增加了防護成本[3]。因此,靜態源碼審計技術應運而生,識別代碼缺陷,保證應用的安全性。

源代碼審計技術的原理如圖2所示。上傳源代碼后,防護方案首先進行詞法分析,讀取源代碼的字符流,并將其分解成小的程序片段[4]。然后進行語義分析,根據詞法分析的結果,生成抽象語法樹,將生成的結果和漏洞安全規則庫中的規則進行匹配,識別程序中的漏洞。至此階段的分析,還不能完全理解軟件中的語義,漏報率和誤報率較高,需要進一步分析。根據詞法和語義分析的結果,生成稱為控制流圖的有向圖,分析語句之間的關系,提取代碼中的控制流信息[5]。在此基礎上進行數據流分析,遍歷源代碼生成的控制流圖,收集程序執行中的數據信息,根據上下文理解指令的行為,推斷程序中存在的安全漏洞。為了提高檢測的準確度,對上述分析的結果進行深度分析,深度分析的方法包括區間分析、循環摘要、函數分析、指向分析和缺陷模式約束。最后對各階段的結果進行分析整理,生成源代碼漏洞檢測報告。在整個漏洞識別的過程中,其判斷依據主要來源于國外的GitLib、Github、NVD、CVE和國內的CNNVD等組織,根據這些組織提供的漏洞信息,建立漏洞庫和漏洞模式庫識別代碼中相關漏洞。

圖2 源代碼審計方案

1.2 軟件成分分析

第三方依賴庫的使用,大大縮短了開發周期,減少開發者的工作量。目前越來越多的Web項目都引用了第三方依賴庫,由于開發人員安全經驗不足,對安全漏洞關注度不夠,很容易引入帶漏洞的依賴庫,所以其安全性應該引起足夠重視。軟件成分分析技術通過識別依賴庫的版本和名稱等信息,與后臺的CNNVD和CVE漏洞庫以及未公布的漏洞庫等進行匹配,發現所引用依賴庫的漏洞。下面詳細說明防護方案中軟件成分分析技術實施過程。

如圖3所示,項目的jar包解壓后,會發現lib目錄下包含項目代碼中所有的依賴包,pom.xml文件中通過包坐標的形式也定義了項目所需的依賴包,軟件成分分析實施方案在分析依賴包時,主要依據pom.xml以及項目包中的lib文件進行鑒別。首先,將lib下的jar包進行MD5值計算,然后查詢后臺的漏洞庫進行MD5值匹配,發現引用包中的漏洞。其次,通過pom.xml分析引用包中的依賴關系,根據分析得到所有依賴包的版本和包名等信息,和后臺的漏洞庫進行版本和包名的匹配。最后,將兩個過程發現的漏洞取合集,識別出依賴庫中的漏洞。如果提供的是源碼,則只能通過對pom.xml的分析項目代碼中所有的依賴包來識別漏洞。

圖3 Web應用代碼依賴包

1.3 安全編碼規范和安全基礎庫SDK

從目前公開的漏洞來看,大部分安全漏洞很大程度上是由于代碼編寫不規范、缺少安全編碼意識所致。編寫安全漏洞的防護代碼往往需要研發工程師具備一定的安全知識,否則很容易造成修復不當再次被繞過利用的風險。因此,將安全編碼規范與安全基礎庫SDK兩者進行融合,真正將安全編碼規范落地到研發鏈條中,實現效果最大化。下面詳細說明防護方案中安全編碼規范與安全基礎庫SDK實施過程。

首先,進行漏洞統計分類。由于OWASP TOP10只定義了10個大類,通過對Web應用中普遍出現的漏洞進行分析,以及安全領域的經驗,對10個大類進行了細分類,同時對OWASP TOP10沒有涉及的漏洞也進行了總結,得到的結果如表1所示。然后,對這些小類漏洞進行安全編碼規范和安全基礎庫SDK的開發,其中安全編碼規范內容包含漏洞描述、安全編碼方法、安全編碼用例以及缺陷代碼示例,安全基礎庫SDK中由專業安全人員進行開發,其中包含了避免這些漏洞的函數。最后,開發人員根據安全編碼規范為指導進行安全編碼,并且在編碼過程中調用安全基礎庫SDK的函數,避免漏洞的產生。同時在靜態源碼審計時,將安全基礎庫SDK中函數設置白名單,減少誤報,提高審計效率。

表1 不同UP演進版本定義的5G消息功能

2 代碼安全防護檢測效果分析

代碼安全是漏洞引入的源頭,所以要足夠重視,但是當前現狀是只引入了靜態源碼審計技術或者軟件成分分析技術,或者引入了兩種技術但是沒有一個有效的方法指導開發人員避免或者修補代碼漏洞,所以目前已存在的方法不能有效對Web應用代碼進行整體安全防護。通過分析代碼安全防護的痛點,提出了一整套的Web應用代碼安全防護方案。在Web應用代碼安全防護方案整體建設中,既需要依賴靜態源碼審計技術對開發人員研發的代碼做漏洞檢測,及時發現代碼中的漏洞[6],也需要對開發人員引入的組件進行漏洞檢測,及時發現含有漏洞的開源組件,同時需要編碼規范和安全基礎庫SDK對代碼漏洞進行整改,并指導開發人員在Web項目的開發中避免引入代碼漏洞。下面對Web應用代碼安全防護方案中的主要技術進行實驗效果分析。

1)靜態源碼審計技術實驗效果分析

本文選用OWASP Benchmark作為測試靶場。

OWASP Benchmark測試集包含2740個漏洞,分為真漏洞和假漏洞,能夠很好體現出源代碼審計實施方案的效果,檢測出其誤報率和漏報率。將代碼上傳至源碼審計系統進行審計,測試中會有以下幾種結果:正確識別真實漏洞(True Positive-TP),真陽性;無法識別真實漏洞(False Negative-FN),假陰性,屬于漏報;正確地識別假漏洞(True Negatvie-TN),真陰性;錯誤地報出假漏洞(False Positive-FP),假陽性,屬于誤報。表2是源代碼審計檢測結果的統計分析表。

通過表2的數據,進行計算可得如下結果:

表2 Benchmark檢測結果

2)軟件成分分析檢測效果分析

開源依賴包的引入,給應用開發者帶來了極大的便利,大大縮短了開發周期。很多公司默認為開源即安全,不重視開源依賴包的漏洞檢測。隨著開源軟件漏洞的不斷出現,SCA的重要性也凸顯出來。目前市面上沒有公開的漏洞靶場去檢測SCA技術的優劣,下面采用Github和私有軟件以及jar包和源碼包相結合的方式來檢測SCA方案的優劣,并通過查詢NVD漏洞庫,證實組件漏洞的真實性,證實過程如圖4所示:首先利用軟件成分分析技術查找含有包含漏洞的組件版本,本例中為MyBatis 3.5.3,屬于包含高危漏洞的組件,為了證實結果的準確性,登錄NVD官網,輸入該組件的名稱進行搜索,可以看到該組件在3.5.6版本之前都存在漏洞,并且根據V3.1評分標準該組件存在高危漏洞,所以就證實了分析結果的準確性,根據該步驟驗證其他組件,便可以檢驗利用軟件成分分析技術檢測包含漏洞組件的準確性。

圖4 NVD官網查找組件漏洞

表3是測試分析結果,通過對比分析NVD漏洞庫,檢查組件漏洞的準確率可以達到100%。

表3 SCA測試結果分析表

從檢測結果來看,軟件成分分析技術可以檢測出項目中引入的開源軟件,識別出含有漏洞的開源軟件,幫助研發人員消除開源組件引入的安全風險。研發人員可以通過升級軟件版本的方法消除這些漏洞。

通過靜態源碼審計和軟件成分分析檢測效果的分析可知,該方案不僅能夠及時發現開發人員編寫源碼中存在的漏洞,而且能夠發現引入含有漏洞的開源組件。此外安全編碼規范和安全基礎庫SDK能夠指導研發人員進行漏洞整改以及指導開發人員進行安全編碼,形成從項目代碼編寫到項目安全測試全流程的安全防護,填補了當前對Web應用代碼安全防護方案的空白。

3 總結

Web應用提供了Web服務,為人們的衣食住行提供了便利。Web應用中包含個人大量的隱私信息,一旦被非法獲取到,會給個人乃至國家造成巨大損失[7]。Web應用項目代碼是漏洞產生的源頭,從源頭上消除安全隱患,才能節約成本,真正提升Web應用的安全性[8]。文中提出的Web應用代碼防護方案,不僅從源代碼和依賴庫進行了漏洞識別,而且對安全編碼規范和安全基礎庫SDK進行了研究,從寫代碼到識別漏洞,再到對開發人員進行安全編碼指導,全方位消除Web應用代碼可能產生漏洞的薄弱環節,保證了Web應用代碼的安全性,從根本上對Web應用進行了安全防護。

猜你喜歡
分析
禽大腸桿菌病的分析、診斷和防治
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
經濟危機下的均衡與非均衡分析
對計劃生育必要性以及其貫徹實施的分析
現代農業(2016年5期)2016-02-28 18:42:46
GB/T 7714-2015 與GB/T 7714-2005對比分析
出版與印刷(2016年3期)2016-02-02 01:20:11
中西醫結合治療抑郁癥100例分析
偽造有價證券罪立法比較分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: 99热这里只有成人精品国产| 国产精品无码AⅤ在线观看播放| 国产午夜一级淫片| 三上悠亚精品二区在线观看| 亚洲一区色| 综合色区亚洲熟妇在线| 亚洲国产av无码综合原创国产| 国产高清不卡| 国产精品亚洲五月天高清| 国产精品尤物铁牛tv | 欧美亚洲网| 国产精品深爱在线| 日本高清有码人妻| 成人亚洲国产| 日本在线视频免费| 国产免费羞羞视频| 狠狠色噜噜狠狠狠狠色综合久| 成人亚洲国产| 蝌蚪国产精品视频第一页| 日本AⅤ精品一区二区三区日| 熟女成人国产精品视频| 国产无套粉嫩白浆| 黄色三级网站免费| 国产真实乱子伦视频播放| 久久久四虎成人永久免费网站| 中国精品自拍| 欧美色图第一页| 久久久精品无码一二三区| 青青青视频91在线 | 97在线碰| 97成人在线观看| 国产精品成人观看视频国产| 中文字幕佐山爱一区二区免费| 久久 午夜福利 张柏芝| 欧美高清日韩| 国产尹人香蕉综合在线电影 | 又污又黄又无遮挡网站| 欧美爱爱网| 伊人久久大香线蕉综合影视| 91美女视频在线| 日本久久久久久免费网络| 香蕉国产精品视频| 中美日韩在线网免费毛片视频| 欧美综合激情| 国产国语一级毛片在线视频| 国产激情影院| 91成人在线观看| 99在线视频免费| 国产免费a级片| 日本亚洲成高清一区二区三区| 精品国产黑色丝袜高跟鞋| 欧美亚洲欧美| 国产91麻豆视频| 一本大道无码日韩精品影视| 蜜桃视频一区| 日本高清免费一本在线观看 | 99久久国产自偷自偷免费一区| 三上悠亚精品二区在线观看| 日韩一二三区视频精品| 国产欧美亚洲精品第3页在线| 亚洲男人在线天堂| 国产91视频免费| 亚洲国产av无码综合原创国产| 一区二区三区在线不卡免费| 色国产视频| 国产香蕉一区二区在线网站| 红杏AV在线无码| 国产精品成人AⅤ在线一二三四| 97国产在线播放| 亚洲欧美人成电影在线观看| 波多野结衣视频一区二区| 久久久久久国产精品mv| 国产精品人莉莉成在线播放| av在线人妻熟妇| 国产在线精品香蕉麻豆| 波多野结衣一区二区三区四区| 亚洲成综合人影院在院播放| 污污网站在线观看| 中文字幕av无码不卡免费| 亚洲h视频在线| 国产精品九九视频| 中文字幕色在线|