持續應用安全(CAS)研討之:IAST
持續應用安全(CAS)是數世咨詢在軟件供應鏈安全研討會上首次提出的解決我國軟件供應鏈安全問題的新思路。CAS專注于保障數字化應用的,源代碼階段-構建部署階段-上線運行階段,全流程的安全狀態。CAS可以通過安全能力高度融合和安全數據關聯分析的方式,經由統一調度管理形成體系化的解決方案,以達到幫助用戶減少資源投入、整合安全能力和提升安全效率的目的。
持續應用安全(CAS)研討系列文章的主要目的是,通過CAS核心能力提供者對CAS的研究,從不同的角度解讀CAS,共同推進CAS的落地進程。
CAS已經得到比瓴科技、酷德啄木鳥、思客云、孝道科技、四維創智、邊界無限、云智信安等核心能力提供者的認同,目前已推出一篇文章——持續應用安全(CAS)研討之:ASOC。后續還會推出SAST、SCA、DAST、FUZZING、RASP和移動應用安全檢測方向的內容。
CAS(持續應用安全),原意是通過離散式制造、統一式交付、集中式管理 、智能式應用的方式使安全能力可持續發展。
拆解CAS
離散式制造:意味著自由度、靈活度、專業程度更高的技術產品研發風格,研發活動以及“安全力”的培養分散但不分裂。
統一式交付:CAS也似一條供應鏈,各個節點的技術產品的輸入口、輸出口的對接點需要內部“開源”,各個技術可實現排列組合式對接,為持續集成挖好“蘿卜坑”。
集中式管理:將安全活動的主動權集中交付到用戶手中,不僅能夠管理技術產品的供應商,還能做到技術應用規劃。
智能式應用:這絕不僅僅是簡單的產品堆疊、組合,而是高度自動化協同的工具鏈,且這根鏈條完全可以根據用戶的實際需求進行技術調整與置換。
所有的一切,均是為了安全的可持續發展。
對于CAS的實踐價值,我們認為在于可復用、可重組、可再生。
可復用:從安全效益角度來看,CAS即端點安全力的集束與分道,實現安全力的復用。
可重組:面對不同場景,可自動化編排CAS工具鏈。要知道,每改變一組工具搭配,獲得的有效數據便會攜帶完全不同的價值。
可再生:CAS擁有天然的學習力,所有的狀態數據都將成為正反饋以實現安全力的持續創新和增強。
CAS之IAST
IAST憑借能夠良好的適應敏捷開發和 DevOps,無縫融入到軟件項目的開發和測試流程的先天性優勢,已然具備成為持續性架構中心的特質。所以我們認為,IAST有能力作為CAS的圓心引動CAS持續性循環。
Gartner在2012年提出IAST,并在 2014年安全與風險管理峰會上,把交互式應用程序安全測試IAST列為信息安全性的十大技術之一。IAST問世的初衷,除了作為一種新的應用安全檢測技術,也彌補了原有應用測試技術的局限性,還要滿足不斷發展的新技術,實現安全左移。
智能動態污點跟蹤方法為IAST提供主要源動力,通俗來說是在應用和API中自動化識別和診斷軟件漏洞。IAST區別于SAST和DAST的關鍵點在于,IAST不是掃描器,而是使用插樁來收集安全信息,直接從運行中的代碼發現問題。
IAST通過程序運行時的程序內部視角(通過程序插樁實現對程序運行時的上下文進行監控)和外部視角(通過篡改原始數據報文重放報文進行探測)進行綜合安全分析,不破壞DevOps的協作性和敏捷性的同時,將部分安全測試工作提前到功能測試階段,實現安全測試的“左移”。
對應用來說,IAST通過運行時“靜默監聽”模式,對應用代碼層、應用層、開源組件進行漏洞檢測和開源組件許可分析,同時包括全量API發現以及敏感信息泄露風險檢測分析。IAST以在測試過程中不產生臟數據、且能無縫集成DevSecOps、實現安全測試左移等斷層領先的特質,成為應用安全測試的首選工具。
從技術實現看,IAST通過在服務端部署的Agent 程序,收集、監控 Web 應用程序運行時請求數據、函數執行,并與掃描器端進行實時交互,高效、準確地識別安全漏洞,定位到漏洞所在的代碼文件、行數、函數及參數,可識別漏洞的形成過程。通過IAST可獲取詳盡的漏洞報告,包括漏洞代碼行、應用程序內部漏洞形成過程、調用棧和代碼級的漏洞修復示例等,且誤報率極低。能夠幫助研發人員更早期的發現安全漏洞,以更低成本的解決安全漏洞,減少因安全問題導致的返工,提高整體項目研發效率。
經歷了十年的發展,IAST技術本身其實已然成熟。從市場發展來看,需求已經從金融行業擴展到互聯網、政府、醫療等行業。如今,當涉及到應用安全檢測或者進行軟件安全開發體系建設時,已經繞不開IAST相關產品,甚至會以此為起點去進行整個體系的建設。IAST作為安全開發體系建設中的一環,未來的發展方向會更加注重與整體流程的融入,并且會不斷地與其他安全產品進行結合,升級整體的安全能力,形成真正的安全能力閉環。
CAS高度強調自動化編排、迭代數據流,這是CAS實現最佳應用的關鍵性價值,而IAST能夠直接直接對應這點。即只需部署一個IAST探針,同時喚醒并串聯三組能力。這意味著用戶在應用IAST時,就可以同時有能力去針對漏洞的可達性、可利用性進行測試,將SCA和IAST有機地結合起來。另外,借助IAST與應用深度融合的優勢,在測試過程中遺留下來的包括應用程序的輸入輸出、執行指紋等數據,可以保留到應用的運行階段,為RASP提供更為精準的防御算法。
特別值得一提的是,在利用IAST所提供的數據進一步提高防護精度的同時,還能實現補強IAST。針對這一點,RASP是在執行點進行風險函數的插樁,當發現攻擊行為所利用的是前期IAST沒有覆蓋到的漏洞,相關數據就會并入到IAST中,從而補強IAST的污點分析能力,令平臺對用戶的安全能力實現有針對性地提升,從而更能充分發揮出IAST在CAS中的優勢。
CAS相當于在SCA、SAST、IAST、FUZZING、DAST、RASP、移動業務風險與合規檢測中間穿了一根線,而我們認為,作為其中關鍵節點的安全工具-IAST,便是左“牽”SCA、右“擎”RASP的“狂放少年郎”,也正是實現CAS持續特性的關鍵。IAST本身就攜帶“持續”基因,以持續彌合持續,未嘗不是對CAS的理念的優化級響應或者說端點實踐。
結語
我們始終認為,無論是應用安全還是其他數字領域的安全,最終都會走向持續、集中的模式。針對當前應用安全的實際痛點,CAS正是目前能夠保障數字化應用的構建、上線和運營全流程的安全狀態的最佳模式,是應用真正需要的持續安全。
從軟件供應鏈到數字業務,再到整個數字應用,安全應該是可以伴隨應用開發、運營、監管全周期并且以反饋信息反哺開發的,不僅僅是保障效益。我們更希望能從中獲得更多可以用于未來安全走勢研究的有效信息,因為,沒有絕對的安全,持續安全便是最良的安全原則。
