1、子芽子芽懸鏡安全 DevSecOps敏捷安全技術落地實踐探索軟件工程安全的兩個共識系統一定有未被發現的安全漏洞程序員每寫1000行代碼,就會出現240個邏輯性缺陷。每個邏輯性的缺陷,或者若干個邏輯性缺陷,最終導致一個漏洞;“缺陷是天生的,漏洞是必然的”。78%-90%的現代應用融入了開源組件,平均每個應用包含147個開源組件,且67%的應用采用了帶有已知漏洞的開源組件,軟件供應鏈安全威脅迫在眉睫?,F代應用都是組裝的而非純自研現代應用軟件的安全風險面開源組件缺陷第三方開源組件現代應用組成成分自研代碼Web通用漏洞SQL注入、命令執行、XXE、XSS等OWASP TOP10業務邏輯漏洞水平/垂直越
2、權、短信轟炸、批量注冊、驗證碼繞過等CNNVD、CNVD、CVE等針對現代應用全面風險審查應考慮從第三方開源組件、自研代碼通用漏洞、自研代碼業務邏輯漏洞等維度綜合審計。應用軟件安全問題產生-內因 軟件規模持續擴大,功能越來越多,越來越復雜 軟件模塊復用,導致安全漏洞延續 軟件擴展模塊帶來的安全問題Windows操作系統不同版本源代碼數量01020304050607080Win NT4.0Win 95Win 98Win XPWin VistaWin7Win10SLOC(百萬行)Windows系列代碼行數增長率應用軟件安全問題產生-外因 開源軟件的盛行對應用安全的挑戰 開發環境和開發人員對軟件安全
3、的挑戰 開發者缺乏安全開發的動機 市場和業務要求將交付期和軟件功能做主要因素 用戶方較少提供安全方面的壓力 開發者缺乏相關認知及知識 軟件復雜性加大,開發者需要學習更多東西 傳統軟件開發缺乏針對性安全教育 缺乏有效的安全開發工具 缺乏安全開發配套管理、有效安全測試工具等引用第三方2020年開源安全和風險分析報告應用開發模式的技術演進瀑布模型敏捷模型DevSecOps瀑布式開發敏捷開發DevOps傳統SDL面臨的安全挑戰l業務先上線,安全問題后補救l安全責任過于依賴有限安全團隊資源l安全較緩慢,常置于流程之外,當版本更新快時,傳統安全手段影響業務交付設計開發測試部署DevSecOps敏捷安全框架
4、莫比烏斯帶,寓意無窮大“”,也象征著融合及亙古永恒。DevSecOps新特性l安全是每個人的責任l柔和嵌入研發運維流程,持續循環改進l自動化流程,人更趨向于運營反饋處理l適用于周期較短,迭代較快的業務DevSecOps CI/CD黃金管道CI/CD黃金管道:AST應用安全測試(灰、黑、白)1SCA第三方組件成分分析2RASP運行時應用自保護3紅藍對抗和SRC眾測4關鍵敏捷工具鏈技術:RSAC2018正式提出“Golden Pipeline”軟件流水線實踐體系,強調 CI/CD 自動化工具鏈支撐DevSecOps工具鏈-AST技術優劣分析對比AST技術系SAST白盒IAST灰盒DAST黑盒誤報率
5、高極低低檢出率高高中檢測速度隨代碼量依點擊流量實時檢測隨URL、payload數量第三方組件漏洞靜態掃描支持運行時支持依賴payload、指紋語言支持區分不同語言區分不同的語言不區分語言框架支持一定程度區分一定程度區分不區分框架漏洞驗證利用很難驗證利用可驗證利用可驗證利用使用風險無無臟數據、大流量使用成本高,人工排查誤報低,基本沒有誤報較低漏洞詳情代碼行數、執行流請求響應、代碼行數、數據流、調用堆棧等參數、請求響應DevOpsCI/CD支持較高高低漏洞種類覆蓋更偏向應用代碼漏洞更偏向應用本身漏洞,難以回顯帶外也可發現可發現配置、運維、運行時層面漏洞 任何一項新興技術出現,都有時代的背景和其適用
6、的場景。DevSecOps工具鏈-IAST技術實踐IAST主要關鍵技術狹義的IAST特指運行時插樁模式,可幫助普通研發測試人員快速完成業務安全測試,精準定位漏洞細節及修復指導。廣義的IAST須包含流量學習和日志分析模式,對研發測試等使用人員完成透明,無流程侵入,不依賴應用編程語言注意:IAST比較依賴用戶點擊流量覆蓋的全面性,可通過主動模擬點擊技術做補充。DevSecOps工具鏈-被動IAST技術誤報及漏報高于主動IAST無數據重放、無臟數據可處理簽名、加密接口被動IAST(動態污點追蹤)基于應用插樁探針,Web應用運行過程中,通過實時監控程序的污點數據在系統程序中的傳播來檢測數據能否從污點源
7、傳播到污點匯聚點。污點追蹤主要包括:污點輸入(Source)、污點傳播(Propagation)、污點清潔(Sanitizer)、污點匯聚(Sink)。DevSecOps工具鏈-主動IAST技術掃描端發送payload插樁Agent在關鍵函數,獲取上下文信息綜合分析 1)HTTP/HTTPS請求/響應 2)URL是否觸發相關插樁點 3)payload是否進入了執行流程精度更高,更易于指導研發修復支持漏洞利用、漏洞復現無法處理簽名加密接口主動IAST(交互式缺陷定位)基于應用插樁探針,Web應用運行過程中,通過精心構造重放流量的payload來主動觸發潛藏在業務應用里的安全漏洞,并在應用執行的關
8、鍵函數點進行敏感操作判斷和深度的臟數據處理,在發現潛藏漏洞的同時精準定位其所在代碼行。DevSecOps工具鏈-IAST流量鏡像及嗅探技術交換機測試網生產網全流量收集,7*24實時監控,資產變更檢測http/httpsnetwork旁路鏡像主機嗅探探針嗅探透明流量收集漏洞利用漏洞檢測SQL注入、命令執行、SSRF、XSS弱口令、組件漏洞.數據拉取前端演示反彈shell漏洞檢測驗證,提供漏洞依據適合測試目標或部門之間存在隔離,無法清晰了解測試資產,通過在網絡出口旁路部署流量鏡像或目標主機上預置流量嗅探服務,透明無感知接入。漏洞分享、代碼修復反饋、回歸測試閉環管理測試人員客戶端測試目標wwwwww
9、代理/VPN算法引擎業務邏輯漏洞:水平/垂直越權、驗證碼繞過,短信轟炸通用漏洞:sql、命令執行、XSS(反射、存儲、DOM)、文件上傳/讀取、遠程包含、XXE、SSI等應用及組件漏洞:coremail、致力遠OA、jenkins等struts2、Spring、jiango、Jboss等心臟滴血、永恒之藍、shellsock等弱口令:web應用弱口令(phpMyAdmin、)系統服務弱口令(mysql、mongo、redis)適合測試人員對小規模網站進行深度滲透測試,不依賴測試系統語言環境,無須介入測試環境即可進行安全測試。DevSecOps工具鏈-IAST用戶端流量代理技術DevSecOps
10、工具鏈-IAST運行時OSS開源組件分析漏洞缺陷對齊引擎分析開源社區漏洞情報信息IAST探針加載運行時監控物料清單指紋比對開源組件漏洞信息開源組件許可信息基于運行時OSS組件檢測 運行時OSS分析,更加側重應用系統實際運行過程中動態加載的第三方組件及依賴,在此基礎上實時檢測組件中潛藏的各類安全漏洞及開源協議風險。BOMDevSecOps工具鏈-IAST技術的應用場景WEB應用HTTP協議開源RPC協議自有協議動態污點追蹤交互式缺陷定位縱深流量學習微服務接口物理機虛擬機容器部署環境應用類型后臺任務/服務關鍵技術協議類型場景適配多檢測模式多語言支持多平臺對接風險覆蓋Web通用漏洞業務邏輯缺陷OSS
11、組件缺陷全流程閉環服務弱口令/未授權實時日志分析開源框架IAST技術特點檢測范圍可覆蓋黑盒OWASP TOP10及白盒CWE TOP25主要漏洞及缺陷;相比傳統SAST/DAST,IAST精準度更高;IAST可以解決簽名接口問題;IAST獲取信息全面和精細,有利于指導研發;IAST更易于整合到DevSecOps CI/CD流程;主被動IAST融合,將使IAST技術優勢更加突出。落地重點考慮事項同時支持應用插樁和多種流量追蹤技術,應對業務場景豐富、開發語言眾多、部署環境復雜等場景;支持自動化安裝,協調CI/CD完成批量部署;支持配置熱加載、性能異常熔斷機制;支持SCA第三方開源組件運行時監測分析
12、;支持Jenkins、Jira、CAS等第三方平臺;支持全流程閉環漏洞管理,包括從漏洞發現、問題溝通、修復整改、漏洞復查及趨勢分析等維度。DevSecOps工具鏈-IAST技術總結某證券機構DevSecOps(工具鏈)案例應用構建構建觸發測試環境 部署測試環境 測試生產環境 部署手動/定時/事件/遠程觸發拉取GitLab倉庫代碼應用編譯打包分發docker鏡像容器鏡像檢測部署應用腳本執行API testOSS開源組件檢測IAST檢測獲取安全測試結果應用包檢測制品庫拉取應用制品Docker鏡像構建推送KubernetesDeploy服務檢測Kubernetes回滾流水線結果報告 或 客戶內部漏洞
13、跟蹤管理平臺DevOps敏捷安全平臺UI test質量紅線docker run技術要求:1)整個流程十幾分鐘,測試用例覆蓋度可度量(類數量、請求數量);2)質量紅線設定很關鍵(漏洞等級、對應CVE是否有POC、應用內外網屬性等);3)要求批量自動化安裝部署,支持配置熱加載,支持定制啟動入口,對接DevOps平臺;4)支持自研私有協議和開發框架,對接流水線項目及子系統信息,便于追蹤定位。拉取Agent部署拉取基礎鏡像質量紅線某銀行機構DevSecOps(平臺+工具鏈)案例DevOps 敏捷開發平臺編碼SAST構建部署SCA測試IASTDAST發布DevSecOps安全開發賦能平臺流水線 1安全工
14、具調用測試進度查看質量紅線控制流水線漏洞關聯分析流水線 2 應用測試覆蓋評估綜合安全測試報告流水線 n 流水線 3.流水線安全活動DevOps質量門禁DevOps數據接口度量指標標準化發放、源代碼檢測、開源組件檢測、IAST灰盒測試、DAST黑盒測試只從制品庫獲取、源代碼檢測漏洞情況、開源組件檢測高危組件情況、IAST灰盒測試漏洞情況、DAST黑盒測試漏洞情況獲取制品信息、獲取源代碼檢測漏洞情況、獲取開源組件檢測高危情況、獲取IAST灰盒測試漏洞情況、獲取DAST黑盒測試漏洞情況制品全自動發放比例、制品安全加固比例、OSS組件掃描覆蓋率、OSS組件風險指標、IAST檢測覆蓋率、IAST漏洞檢測
15、數量、DAST檢測覆蓋率、DAST漏洞檢測數量參考BSIMM、綜合評估軟件及團隊安全成熟度、持續發現調整改進方向 非重度度量指標 指標覆蓋各風險類型 指標覆蓋各風險階段 項目風險數據收集 工具檢測數據收集 安全與研發流程融合懸鏡DevSecOps落地解決方案云衛士EDR自適應安全運營平臺檢測響應威脅發現靈脈IAST灰盒安全測試平臺威脅建模夫子DevSecOps全流程安全開發賦能平臺懸鏡DevSecOps智適應威脅管理體系威脅模擬靈脈PTE智慧滲透測試平臺SDL安全咨詢安全編碼指南源代碼審計安全開發實訓滲透測試風險評估等保咨詢攻防演練安全開發 安全運營開源治理源鑒OSSIAST灰盒安全測試平臺DevSecOps敏捷安全技術未來演進方向DevSecOps敏捷安全技術實踐體系DevSecOps敏捷安全建設傳統基礎安全建設DevSecOps建設初心:1)安全是一門平衡藝術本質是風險和信任的平衡擁抱變化是安全建設的基石2)人是安全的基本尺度從源頭做威脅治理內生安全3)從左移到無處不移