如何在DevSecOps道路上快速、安全地抵達終點(diǎn)
數據安全問(wèn)題,引發(fā)了一種全新的開(kāi)發(fā)理念DevSecOps(開(kāi)發(fā)安全運維)的應運而生。
本文作者:吳翔,上海鑒釋科技公司產(chǎn)品開(kāi)發(fā)總監
近年來(lái),移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展給人們帶去不少便利,在軟件安全領(lǐng)域內,一種名為敏捷開(kāi)發(fā)的模式正悄然流行,而可打破業(yè)務(wù)隔離、提高效率的DevOps(開(kāi)發(fā)運維)也受到了廣泛歡迎。DevOps是開(kāi)發(fā)(Development)與運維(Operations)相結合的稱(chēng)呼。在DevOps理念下,軟件開(kāi)發(fā)人員和運維人員緊密合作,以促進(jìn)軟件及應用更有效率的進(jìn)行快速迭代。
然而,軟件開(kāi)發(fā)周期的縮短也帶來(lái)了一些弊端。相比擁有更長(cháng)開(kāi)發(fā)周期,為確保軟件穩定性與安全性提供充足時(shí)間的傳統開(kāi)發(fā)模式,敏捷開(kāi)發(fā)模式由于軟件版本頻繁迭代,開(kāi)發(fā)周期被壓縮,出現安全漏洞的可能性也就更大。
DevSecOps,將安全植入開(kāi)發(fā)運維骨髓
據國家互聯(lián)網(wǎng)應急中心發(fā)布的《2019中國互聯(lián)網(wǎng)網(wǎng)絡(luò )安全報告》稱(chēng),國家信息安全漏洞共享平臺(CNVD)收錄的安全漏洞數量創(chuàng )下了歷史新高,同比上年增長(cháng)14%,其中應用程序漏洞(56.2%)、Web應用漏洞(23.3%)和操作系統漏洞(10.3%)占比前三。
圖1: 2019 年 CNVD 收錄的安全漏洞占比按影響對象類(lèi)型分類(lèi)統計(來(lái)源:CNCERT/CC)
數據背后,無(wú)數教訓已讓眾多開(kāi)發(fā)團隊和企業(yè)意識到了安全的重要性,以及安全問(wèn)題所引發(fā)的災難性后果。一種全新的開(kāi)發(fā)理念DevSecOps(開(kāi)發(fā)安全運維),就這樣應運而生。開(kāi)發(fā)團隊需要在軟件開(kāi)發(fā)的整個(gè)生命周期內將Sec,即安全(Security)融入DevOps實(shí)踐。要在DevOps里嚴格地執行安全理念和活動(dòng),除了展開(kāi)定期的安全培訓以外,還需要安全團隊進(jìn)行攻防演練等。
要將DevSecOps這種新的組合工作模式付諸實(shí)踐,首先需要所有的團隊及成員都具備嚴謹的安全思維。然而DevSecOps在企業(yè)內部的落地往往會(huì )遇到阻力,一是高層領(lǐng)導不給予足夠的重視和支持,業(yè)務(wù)負責人也不鼓勵加強安全措施,二是DevOps實(shí)踐的初衷是加速開(kāi)發(fā)流程,而加入安全監督環(huán)節則被認為與DevOps所追求的高速開(kāi)發(fā)背道而馳。
如果將軟件產(chǎn)品開(kāi)發(fā)生命周期比作一段道路,起點(diǎn)是需求分析,終點(diǎn)是產(chǎn)品交付。人們步行抵達終點(diǎn),猶如采用傳統的軟件開(kāi)發(fā)模式。而采用DevOps的敏捷模式,利用輔助工具產(chǎn)品及平臺,就好比坐上了一輛車(chē),可以開(kāi)車(chē)快速地抵達終點(diǎn)。但若車(chē)開(kāi)太快且車(chē)速不可控,則很容易發(fā)生安全事故。我們需要的應當是具備精良速度控制機制和剎車(chē)系統的,安全可靠的載具。
AST,多行業(yè)應用安全漏洞檢測不可或缺
為了幫助企業(yè)提升產(chǎn)品研發(fā)效率和質(zhì)量,同時(shí)實(shí)現DevOps和Sec兩個(gè)目標,可在軟件開(kāi)發(fā)的初期便進(jìn)行介入和預防,借助工具提升代碼安全檢測的效率。因此AST(應用程序安全漏洞測試)軟件成為了首要選擇。AST領(lǐng)域包含SAST(靜態(tài)測試)、DAST(動(dòng)態(tài)測試)和IAST(交互式測試)這三類(lèi)測試方法。
如果開(kāi)發(fā)者能在左移測試(Shift-Left Testing),即在開(kāi)發(fā)生命周期的初期使用SAST工具,則可以有效地提升代碼檢測的準確性和效率,極大地降低時(shí)間、資金、人力等資源的消耗。而市場(chǎng)對于SAST工具的核心要求便是掃描效率高、速度快、準確率高。鑒釋目前提供的SAST核心產(chǎn)品就可以有效融入軟件開(kāi)發(fā)生命周期(SDLC)中,為DevSecOps實(shí)踐提供最大的幫助,鑒釋IAST產(chǎn)品的開(kāi)發(fā)也正在快速進(jìn)行中。
目前除了IT行業(yè),許多傳統行業(yè),例如金融、能源、工業(yè)、教育、醫療等都有軟件安全的需求, 此時(shí)AST類(lèi)的工具就該上場(chǎng)了。但面對多場(chǎng)景的應用,安全團隊不應該一味照搬公式,而是應該像給軟件和代碼做診斷的醫生一般詳細地了解、分析應用的行業(yè)背景、需求、痛點(diǎn)以及未來(lái)計劃等。缺乏細致、持續溝通的解決方案只能解決一時(shí)之急,鑒釋立足于目前核心的SAST產(chǎn)品,細心打磨自主解決方案,提供更快速、高效、持續的響應,已經(jīng)幫助多行業(yè)的開(kāi)發(fā)團隊安全、快速的走完開(kāi)發(fā)周期。
除了工具提供的輔助外,團隊上下對安全的重視程度也相當重要。Gitlab今年發(fā)布的第四次全球DevSecOps年度報告稱(chēng),安全團隊不再是“局外人”,開(kāi)發(fā)和運維人員的跨團隊緊密合作達到了前所未有的程度。“安全”,則變成了團隊每個(gè)成員都應該秉持的理念。該報告數據顯示,近30%的受訪(fǎng)者認為團隊內的每個(gè)人都應當將軟件安全視作己任,而20%的受訪(fǎng)者認為開(kāi)發(fā)人員也應挑起軟件安全的大梁,而不是只拘泥于開(kāi)發(fā)。
圖2:Gitlab對于團隊內部安全責任分擔問(wèn)題的調查結果
該調查結果無(wú)不標志著(zhù)安全責任正從原來(lái)的安全運維團隊逐漸擴大至軟件開(kāi)發(fā)團隊內的每個(gè)成員身上,開(kāi)發(fā)人員和運維團隊之間的界限越來(lái)越模糊,即將Sec深深融入DevOps骨髓之中。
作者簡(jiǎn)介
吳翔,上海鑒釋科技公司產(chǎn)品開(kāi)發(fā)總監,主要負責內部DevOps流程管理、產(chǎn)品測試及客戶(hù)售后的技術(shù)支持和服務(wù)。
關(guān)于鑒釋
鑒釋的使命是通過(guò)創(chuàng )建簡(jiǎn)單操作的工具來(lái)協(xié)助開(kāi)發(fā)人員構建并調配安全可靠的代碼。鑒釋成立于2018年,由擁有數十年開(kāi)發(fā)經(jīng)驗的世界級軟件專(zhuān)家創(chuàng )辦,并在深圳、北京、上海和香港設立了辦事處。鑒釋提高了代碼的審計、評估和缺陷檢測的速度和準確性。我們通過(guò)使用高級靜態(tài)分析技術(shù)幫助客戶(hù)降低成本,提高生產(chǎn)力,并確保其軟件開(kāi)發(fā)人員具備相應的能力以開(kāi)發(fā)更好、更可靠的軟件。
最后,記得關(guān)注微信公眾號:鎂客網(wǎng)(im2maker),更多干貨在等你!
硬科技產(chǎn)業(yè)媒體
關(guān)注技術(shù)驅動(dòng)創(chuàng )新
