自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何保證應(yīng)用程序的安全性

譯文
安全 應(yīng)用安全
安全掃描工具的選擇對于企業(yè)的安全團(tuán)隊來說是一個重要的決定,因此需要在應(yīng)用程序安全掃描工具的概述中探索選項。

譯者 | 李睿

審校 | 孫淑娟

軟件架構(gòu)師Bob和安全開發(fā)工程師Alice是一家軟件開發(fā)初創(chuàng)公司的成員。以下是他們之間關(guān)于開發(fā)一套新的微服務(wù)的對話。  

Bob說:“你聽到通知了嗎?客戶交易已經(jīng)敲定。我們可以開始為他們在云平臺上使用的金融服務(wù)開發(fā)分析應(yīng)用程序?!?   

Alice:“太棒了!那么應(yīng)該使用哪種編程語言構(gòu)建應(yīng)用程序?”  

Bob:“還沒有確定。它可以基于任何一種軟件編程語言,但更重要的是它必須是安全的。我們所有的系統(tǒng)及其應(yīng)用程序都應(yīng)該打上最新的安全補(bǔ)丁,并且軟件版本應(yīng)該始終以正確的配置運(yùn)行。  

我會通過電子郵件給你發(fā)送詳細(xì)的業(yè)務(wù)用例和技術(shù)要求。簡而言之,它將是持續(xù)集成和交付的快速發(fā)展。那么你建議我們使用什么工具進(jìn)行端到端安全掃描?”

Alice說:“當(dāng)然,我會向你發(fā)送一份工具清單,這些工具將使我們能夠在生產(chǎn)部署之前檢測和修復(fù)漏洞。我認(rèn)為需要有一種有前途的方法來掃描和消除代碼或應(yīng)用程序可能帶來的網(wǎng)絡(luò)安全風(fēng)險。”  

Bob說:“太好了,我們更喜歡采用開源掃描工具,但如果有的話,你可以列出對流行的第三方專有工具的見解?!? 

Alice開始探索關(guān)于代碼掃描主題的各種現(xiàn)有資源。根據(jù)Bob提供的需求規(guī)范,她考慮了所有關(guān)鍵領(lǐng)域,例如代碼的靜態(tài)分析、面向互聯(lián)網(wǎng)的用戶界面(UI)和API端點(diǎn)的動態(tài)分析以及依賴包的漏洞掃描。  

而幾天過去了,她仍然感到困惑,難以做出決定,因為得到的大部分信息都是基于用戶角色和軟件可用性規(guī)范而不是以代碼為中心的,雖然這從開發(fā)人員角度來看是有用的,并且可以適應(yīng)需求。  

以下將深入了解各個安全掃描工具內(nèi)容(這足以幫助Alice做出決定)。  

1.類別  

以下是各種安全掃描工具的類別:  

(1)SAST(靜態(tài)應(yīng)用程序安全測試),又名靜態(tài)掃描  

  • 用于分析應(yīng)用程序源代碼以識別漏洞來源的白盒測試過程;通常在應(yīng)用程序開發(fā)生命周期的編碼/質(zhì)量保證階段實施,從而能夠早期識別和緩解代碼中的漏洞。
  • 確保應(yīng)用程序從設(shè)計階段就以強(qiáng)大且安全的方式構(gòu)建,并在投入生產(chǎn)之前符合安全編碼標(biāo)準(zhǔn)。
  • 提供SAST的一些工具包括SonarQube、App Scan、IBM Code Risk Analyzer、Fortify Static Code Analyzer、WhiteSource等。
  • 使用SAST工具之前,常用的評估標(biāo)準(zhǔn)是:
  1. 支持所需的編程語言。
  2. 誤碼率。
  3. 漏洞檢測精度。
  4. 詳細(xì)程度。
  5. 代碼安全分析結(jié)果的清晰性。

(2)SCA(軟件組合分析),又名依賴項掃描  

  • 跟蹤代碼庫中的開源組件以檢測漏洞、潛在的安全和許可證合規(guī)性威脅,使團(tuán)隊能夠通過避免與IP、聲譽(yù)和費(fèi)用方面的沖突及早進(jìn)行補(bǔ)救。
  • 當(dāng)靜態(tài)掃描檢測內(nèi)部開發(fā)的專有源代碼中的漏洞時,軟件組合分析(SCA)執(zhí)行依賴掃描以識別開源依賴中的漏洞、發(fā)現(xiàn)已棄用的依賴項,并評估數(shù)字簽名。它幾乎沒有誤報,掃描速度非常快。不需要訪問源代碼,可以在軟件開發(fā)生命周期(SDLC)的任何階段進(jìn)行集成,甚至在后期部署。
  • 一些提供SCA/依賴掃描的工具是White Source Software、GitLab、GitHub、Snyk和Jfrog Xray。
  • 使用SCA工具之前常用的評估標(biāo)準(zhǔn)是:
  1. 開源組件及其漏洞的知識庫。
  2. 支持各種編程語言。
  3. 掃描速度。
  4. 易于使用報告的分析結(jié)果。
  5. 開發(fā)生命周期各個階段的集成能力。

(3)DAST(動態(tài)應(yīng)用程序安全測試),又名動態(tài)掃描/Web應(yīng)用程序掃描  

  • 這是一個黑盒測試過程,用于通過滲透測試識別應(yīng)用程序Web端點(diǎn)的漏洞,并且無法訪問其源代碼,通常在構(gòu)建應(yīng)用程序的質(zhì)量保證(QA)和預(yù)生產(chǎn)階段執(zhí)行。它探索應(yīng)用程序運(yùn)行狀態(tài),并檢查其對由該工具進(jìn)行的模擬攻擊的響應(yīng),這將有助于確定應(yīng)用程序是否易受攻擊,以及是否可能面臨真正的惡意攻擊的風(fēng)險。
  • 適合檢測身份驗證和配置問題;獨(dú)立于應(yīng)用程序使用的語言和平臺。
  • 一些提供動態(tài)掃描的工具是OWASP ZAP、App Scan、Netsparker和Detectify。
  • 使用DAST工具之前常用的評估標(biāo)準(zhǔn)是:
  1. 支持API測試。
  2. 認(rèn)證掃描。
  3. DevSecOps(作為CI/CD管道的一部分完全自動化運(yùn)行的能力)。

(4)IAST(交互式應(yīng)用安全測試)  

  • IAST是一種結(jié)合了SAST和DAST優(yōu)點(diǎn)的混合測試方法。IAST通過在運(yùn)行時使用代理和傳感器檢測應(yīng)用程序來分析漏洞。與DAST不同,IAST可以查看整個代碼庫,并可以指向代碼的確切易受攻擊位置。此外,與SAST不同,它能夠捕獲錯誤配置等運(yùn)行時問題,并且誤報率最低。
  • 提供IAST的一些工具是Veracode和Netsparker。
  • 使用IAST工具之前常用的評估標(biāo)準(zhǔn)是:
  1. 支持的技術(shù)。
  2. 易于報告和分析的詳細(xì)程度。
  3. 執(zhí)行速度。
  4. 準(zhǔn)確度極低/無誤報的結(jié)果。

(5)數(shù)據(jù)庫安全掃描  

  • 通過檢查數(shù)據(jù)庫的內(nèi)部和外部配置(如身份驗證、機(jī)密性、完整性和可用性)來識別數(shù)據(jù)庫應(yīng)用程序中的漏洞的過程。
  • 其中一些工具是Scuba、Zenmap和SQLRecon。

2.工具  

(1)WhiteSource Scan

WhiteSource具有SAST和SCA功能來執(zhí)行代碼的安全掃描。SAST能力可用于檢測源代碼中的漏洞,SCA可用于檢測開源依賴項中的漏洞。WhiteSource幫助開發(fā)人員修復(fù)漏洞。它與Jenkins、Bamboo、AzureDevOps、GIT和TFS集成。  

(2)SonarQube

SonarQube是一個用于檢查代碼質(zhì)量的開源平臺,并與GitHub、BitBucket、GitLab、Maven、Gradle、Travis、Jenkins、Bamboo和Azure DevOps集成。SonarQube可以測量關(guān)鍵指標(biāo),包括錯誤、代碼缺陷、安全漏洞和重復(fù)代碼。SonarQube支持創(chuàng)建SonarQube插件,這有助于自定義代碼規(guī)則。  

(3)IBM CRA  

Code Risk Analyzer獲取所有基于Git的代碼、配置和部署工件,構(gòu)建依賴關(guān)系圖,并運(yùn)行合規(guī)性控制檢查管道。它會生成一個物料清單(BOM)文件,其中列出了所有第三方操作系統(tǒng)包和應(yīng)用程序包的依賴關(guān)系。它會發(fā)現(xiàn)物料清單(BOM)文件中列出的包中的漏洞。Code Risk Analyzer僅支持IBM Cloud?Continuous Delivery托管的github.com存儲庫、Git存儲庫和問題跟蹤存儲庫。它可以啟用CRA來掃描拉取請求和合并。  

(4)HCL AppScan

HCL AppScan是一個全面的、基于云的應(yīng)用程序安全解決方案,與構(gòu)建環(huán)境、DevOps工具和IDE集成。AppScanon Cloud提供一整套測試技術(shù)(SAST、DAST、IAST和開源)以提供最廣泛的覆蓋范圍。它可以使用AppScan UI設(shè)置誤報。  

(5)Gosec

Gosec是一個安全工具,可以對Golang項目的安全漏洞進(jìn)行靜態(tài)代碼分析。Gosec通過將所有源代碼加載到AST(抽象語法樹)中來工作,并應(yīng)用一組內(nèi)置規(guī)則來查找常見錯誤,例如代碼中的秘密。它允許用//#nosecG101G102識別誤報。  

(6)OWASP ZAP  

Zed Attack Proxy(ZAP)是一種免費(fèi)的、開源的動態(tài)掃描工具,由開放式Web應(yīng)用程序安全項目(OWASP)維護(hù)。ZAP專為Web應(yīng)用程序的滲透測試而設(shè)計。它設(shè)置警報過濾器以設(shè)置誤報。  

3.工具比較

工具名稱

用途

支持的語言

忽略列表

優(yōu)點(diǎn)

缺點(diǎn)

??WhiteSource Scanning??

開源庫掃描工具。漏洞通過MITRE和NVD驗證

Java、C#、C++、Golang、Node.js、Ruby、.Net、Dockerfiles、Javascript 等

Whitesource的配置文件以包含忽略列表

漏洞影響的細(xì)節(jié)很清楚,可用于所有依賴項的許可證類型分類與 Eclipse、VsCode、IntelliJ 等集成,問題在存儲庫中修復(fù)后會自動關(guān)閉

圖像掃描(操作系統(tǒng)包)和源代碼掃描不包括在內(nèi)。

??HCL ASOC??

源代碼靜態(tài)掃描和動態(tài)掃描工具

Android、Kotlin、Java、c/c++、Golang、Groovy、JS、Python、PHP、Scala、Ruby、TypeScript等

在UI中標(biāo)記誤報

一款涵蓋靜態(tài)代碼和動態(tài)代碼掃描的工具。  

掃描Dockerfile問題誤報太多  

誤報太多。

誤報設(shè)置適用于行號,因此每次行號更改時都必須重新設(shè)置誤報。

主要關(guān)注 SQL 注入和 CSRF 相關(guān)漏洞,

不是廣泛的源代碼掃描。

??IBM CRA??

依賴掃描。

不是源代碼掃描。

使用 security.snyk.io 作為 CVE 數(shù)據(jù)庫

Java, Node.js, Python, Golang, Docker files, Kubernetes, Terraform

.cra/.fileignore(可以排除開發(fā)依賴項(--excludedev))

執(zhí)行基本映像(操作系統(tǒng)包)掃描。

可以集成到管道中。

自動創(chuàng)建的問題沒有很多細(xì)節(jié)(管道有細(xì)節(jié)但沒有鏈接到問題)。  

修復(fù)后的問題不會自動關(guān)閉。  

運(yùn)行管道時可能出現(xiàn)重復(fù),如果Dockerfile需要傳遞ARG,需要確保將ARG設(shè)置為環(huán)境變量。還可以使用Docker BUILDFLAG環(huán)境變量。  

僅支持IBM Cloud? Continuous Delivery托管的Github.com存儲庫、Git存儲庫和問題跟蹤存儲庫。

??OWASP ZAP??

開源滲透測試工具

Java, Python, Node.js, .NET, PHP或者Go

可以在 UI 中設(shè)置誤報。

使用配置文件忽略警報。

穩(wěn)定的滲透測試/動態(tài)掃描解決方案。  

自動更新和拉取請求分析。  

提供四種不同的掃描模式。  

?安全的  

?受保護(hù)  

?標(biāo)準(zhǔn)  

?攻擊

需要更好的報告格式。  

主動掃描很危險,根據(jù)應(yīng)用程序可能會創(chuàng)建/修改/刪除數(shù)據(jù)。

??SonarQube??

源代碼質(zhì)量和安全掃描工具。漏洞通過MITRE和NVD驗證

Java(包括 Android)、C#、C、C++、JavaScript、TypeScript、Python、Go、Swift、COBOL、Apex、PHP、Kotlin、Ruby、Scala 等

沒有Sonar可以用來排除掃描代碼中的一行

對Java、C、C++等語言進(jìn)行廣泛的源代碼掃描,用于在代碼中檢測:  

?錯誤  

?代碼缺陷  

?安全漏洞  

?重復(fù)代碼  

提供有關(guān)如何修復(fù)代碼的詳細(xì)信息  

根據(jù)OWASPTop10和CWETop25標(biāo)準(zhǔn)跟蹤項目安全性。

商業(yè)版不支持GitHub集成。  

企業(yè)版價格高昂。  

不掃描依賴項。這需要將插件集成到SonarQube。  

定義政策/規(guī)則是一項挑戰(zhàn)。  

測試覆蓋報告需要第三方覆蓋工具集成。

Gosec

GoLang的代碼分析工具。漏洞由NVD驗證

GoLang

//#nosec G101

可以自定義Gosec以排除或包含某些測試。  

gosec-track-suppressions可用于查看所有抑制。  

Gosec將在Go模塊打開時自動獲取正在分析的代碼的依賴關(guān)系。  

支持多種輸出格式,如text、json、yaml、csv、sonarqube、JUnit XML、html和golint。

映射CWE而不是CVE報告每個問題。

結(jié)論  

盡管Alice之前沒有操作安全掃描工具的經(jīng)驗,但她不想嘗試每種工具,因為它們會為原型新軟件應(yīng)用程序環(huán)境帶來集成問題的成本。  

安全掃描工具的選擇是團(tuán)隊必須做出的重要決定。調(diào)查結(jié)果將進(jìn)一步導(dǎo)致關(guān)鍵決策,例如在安全掃描失敗的情況下阻止代碼交付,或在動態(tài)代碼掃描的情況下,記錄可審計的可追溯過程以確認(rèn)測試的安全接受(即接受或忽略錯誤正數(shù))。

而了解這些工具比較的細(xì)節(jié)之后,Alice將這些工具推薦給Bob,而這些工具很快就能入圍。

對于Bob來說,顯著避免使用不良的掃描工具比找到最好的工具更重要。Alice和Bob為此都很高興,因為可以節(jié)省更多的時間,讓他們專注于實際業(yè)務(wù)需求開發(fā)產(chǎn)品。

原文標(biāo)題:??Take Control of Your Application Security??,作者:Josephine E. Justin,Deepika Kothamasu,Swathi Pemmaraju

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2011-02-13 14:36:35

2013-02-18 16:12:55

2024-06-11 08:00:00

.NET開發(fā)網(wǎng)絡(luò)攻擊

2011-11-03 09:41:35

Android簽名安全性

2021-07-20 09:44:34

云原生應(yīng)用程序安全云安全

2012-05-10 09:50:53

云計算安全

2010-01-27 10:28:47

2010-01-11 10:43:16

應(yīng)用程序安全性

2010-01-23 20:34:02

企業(yè)網(wǎng)絡(luò)應(yīng)用程序安全

2019-08-21 17:10:13

安全技術(shù)網(wǎng)絡(luò)安全網(wǎng)站

2023-07-13 07:35:19

2019-07-21 07:46:46

應(yīng)用安全惡意軟件漏洞

2019-12-04 07:12:41

前端后端web安全

2011-03-31 13:05:10

2011-03-31 13:11:45

Web應(yīng)用程序

2011-03-31 13:03:04

2011-03-31 13:07:00

Web應(yīng)用程序漏洞

2013-01-11 14:00:18

云存儲云計算云安全

2016-06-28 10:47:02

2013-01-15 10:12:39

云存儲云安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號