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

如何將SAST融入DevSecOps流程中?

安全 應用安全
我們認為,SAST工具的能力未來將不斷增強,同時開發(fā)團隊也應根據(jù)自身需要,在工作流程中選擇適當?shù)墓?jié)點使用合適的SAST工具進行代碼安全審查,向實現(xiàn)真正安全防護一體化的DevSecOps更進一步。

敏捷開發(fā)大幅提高了開發(fā)團隊的工作效率和版本更新的速度,但卻不利于運維工作的進行。為了讓開發(fā)人員與運維人員更好地溝通合作,縮短系統(tǒng)開發(fā)生命周期,實現(xiàn)高質量的持續(xù)交付,開發(fā)團隊逐步轉向DevOps模式。

[[423861]]

DevOps可以有效推進快速頻繁的開發(fā)周期,但是過時的安全措施則可能會拖累整個流程,因此催生出了DevSecOps概念。DevSecOps強調在軟件開發(fā)生命周期(SDLC)的早期引入安全防護,在軟件研發(fā)開始階段就要考慮應用和基礎架構的安全性,為DevOps打下扎實的安全基礎。

在DevSecOps的建設中,想要大幅度降低安全風險,核心是構建和利用好應用安全工具(AST)進行自動化漏洞發(fā)掘,確保執(zhí)行缺陷檢測的時機準確、及時,并且不會影響研發(fā)效率。

目前市場上的應用安全工具主要有Static AST (SAST)、Dynamic AST (DAST)、Interactive AST (IAST)以及Mobile AST,其中靜態(tài)代碼分析工具SAST采用白盒測試的方式,從直接從代碼中發(fā)現(xiàn)查找問題,是目前較為廣泛使用的工具。本文將介紹SAST在DevSecOps中常見的使用場景。

SAST融入Devsecops的不同場景

場景1. IDE研發(fā)階段檢測

  • 使用場景:將SAST集成到開發(fā)人員的IDE中,在開發(fā)人員鍵入代碼時保存時,進行檢測
  • 目的:在代碼被提交到代碼倉庫之前發(fā)現(xiàn)修補并最常見的的安全問題,幫助代碼研發(fā)人員在研發(fā)階段發(fā)現(xiàn)缺陷
  • 檢測耗時:秒級
  • 規(guī)則集:低誤報的檢測項,偏規(guī)則類,主要采用函數(shù)內分析技術

在前期階段的檢測中,為了最大程度降低安全工作對生產效率的影響,開發(fā)人員對于檢測工具的要求是響應速度快,并且盡可能的低誤報。故在此階段,檢測引擎在研發(fā)者本地,檢測器通常只檢測編碼風格、API使用錯誤等低級錯誤。對于部分檢測器無法確定的問題,SAST工具在預提交檢測時會選擇暫時不報出漏洞,避免給開發(fā)人員增加額外的負擔。

場景2. 提交時檢測

  • 使用場景:代碼提交至代碼倉庫后自動觸發(fā)
  • 目的:每次提交的結果快速返回給提交代碼的開發(fā)人員
  • 檢測耗時:分鐘級
  • 規(guī)則集:可選有限檢測項

此階段檢測由開發(fā)人員向版本管理工具提交代碼時自動觸發(fā),每次提交都會觸發(fā)一次。開發(fā)人員提交代碼后,檢測器對于單次提交的代碼以及其影響的數(shù)個文件進行檢測,收集本次提交中需要關注的重要缺陷和漏洞。與IDE檢測不同的是,在該階段會關注跨函數(shù),跨文件的缺陷類型。對代碼質量要求比較高,或接近發(fā)版的團隊,往往選擇該方式進行代碼檢測。

場景3. 構建時檢測

  • 使用場景:代碼提交成功并編譯后,定時進行檢測
  • 目的:每天定時反饋問題
  • 檢測耗時:小時級
  • 規(guī)則集:允許配置更全面的檢測項,例如OWASP Top 10

此階段檢測由開發(fā)人員向版本管理工具提交代碼時自動觸發(fā),每次提交都會觸發(fā)一次。開發(fā)人員提交代碼后,檢測器對于單次提交的代碼以及其影響的數(shù)個文件進行檢測,收集本次提交中需要關注的重要缺陷和漏洞。與IDE檢測不同的是,在該階段會關注跨函數(shù),跨文件的缺陷類型。對代碼質量要求比較高,或接近發(fā)版的團隊,往往選擇該方式進行代碼檢測。

場景4. 測試時檢測

  • 使用場景:成功構建后在環(huán)境中進行全量檢測
  • 目的:將構建好的軟件部署到模擬環(huán)境中,進行全量測試
  • 檢測耗時:數(shù)小時級
  • 規(guī)則集:全部檢測項

SAST檢測結果將由QA進行分析和評估。QA期望發(fā)現(xiàn)盡可能多軟件可能存在的問題,因此,與前三個場景要求低誤報有所不同,此階段需要SAST工具報告所有可能的漏洞或缺陷,保證低漏報,達到較高覆蓋率。在這一階段,使用工具的往往是測試部門,利用SAST工具對所有文件進行全量檢測。

應用現(xiàn)狀及發(fā)展

實際使用中,由于部分技術尚未成熟,代碼分析工具出現(xiàn)的一些問題讓開發(fā)人員抱怨頻頻,這使得在DevOps中融入SAST工具,阻力依然較大。一些企業(yè)用戶的測試人員花費大量時間去除了誤報,但在第二次檢測后仍然報出類似問題,飽受開發(fā)團隊詬病。

此外,漏報率高也不容忽視。研究人員曾使用三種國外主流的代碼分析工具對CVE中100個緩沖區(qū)溢出錯誤進行檢測,其中表現(xiàn)最好的工具也只檢測出了其中的32個,漏報率接近70%。

但了解以上SAST工具的使用場景后,我們看到SAST工具已經在盡力適應開發(fā)人員的工作習慣。為滿足各階段開發(fā)人員對于代碼分析工具的要求,SAST工具的規(guī)則集、檢測時長在不同時期做出調整。例如,開發(fā)人員認為在編寫代碼時進行安全檢測影響其生產效率,故SAST在初期只允許配置有限規(guī)則集,就是為了能夠進行快速掃描、及時反饋,盡力降低開發(fā)與安全檢測脫節(jié)的影響。

即使對于同一檢測項,SAST工具在不同階段的檢測范圍也有所不同。拿SQL注入舉例,SAST工具在預提交時可能只檢測單函數(shù)內部的問題,提交時檢測單文件內的問題,最后階段再進行跨文件檢測。通過這種方式進行誤報、漏報、檢測時間的調節(jié),最大程度提高開發(fā)人員對SAST工具的接受度。

我們認為,SAST工具的能力未來將不斷增強,同時開發(fā)團隊也應根據(jù)自身需要,在工作流程中選擇適當?shù)墓?jié)點使用合適的SAST工具進行代碼安全審查,向實現(xiàn)真正安全防護一體化的DevSecOps更進一步。

【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權】

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2022-05-05 11:39:07

智能技術智能建筑

2024-08-14 14:37:02

2013-03-28 11:00:17

網頁設計內容設計戰(zhàn)略

2024-05-14 15:20:57

人工智能數(shù)字化轉型

2018-10-26 14:57:18

2016-10-18 10:57:03

2022-11-25 16:27:07

應用開發(fā)鴻蒙

2019-05-13 08:20:33

Hadoop集群數(shù)據(jù)庫

2012-08-30 10:34:31

云計算業(yè)務流程開發(fā)者

2023-11-23 16:09:13

AIGenAI

2018-10-22 14:48:39

KafkaHadoop代碼

2021-11-30 18:31:45

DevOps敏捷開發(fā)應用安全

2009-08-26 18:05:25

ViewState持久

2015-03-10 11:04:33

開源社區(qū)

2020-05-11 17:35:57

vue開發(fā)組件

2025-02-12 11:06:24

Go函數(shù)MultiBytes

2015-10-16 10:48:03

Gate One嵌入Web

2019-07-15 10:00:53

DockerJava容器

2019-07-15 16:00:24

Docker架構容器

2022-11-21 07:54:32

安全護欄應用安全程序
點贊
收藏

51CTO技術棧公眾號