這部分都是云上的業(yè)務系統(tǒng)的安全建設情況。后面是我們在內部做運營開發(fā)時碰到的一些問題,以及目前采用的方法。Dev—SecOps的特點是敏捷快速,同時往往就忽略了安全的特性,因此360在內部這個過程當中把安全作為一個非常重要的因素把它嵌入到整個開發(fā)和運維的流程當中。Dev—SecOps的核心是把安全向左移動,以前軟件上線之后,你發(fā)現(xiàn)可能會有bug和安全隱患,這都是在運行過程中發(fā)現(xiàn)的,于是就要花很多的時間和精力解決這些問題,這樣的話就會花費很多Ops人員的時間和精力,我們希望能夠把安全這件事提前到整個預警中去做。
我們內部做過一些測算,如果我們的開發(fā)人員能花5%—10%的精力提高安全預警代碼的水平,整個Ops這塊的工作壓力尤其是安全這塊的工作壓力大概會下降50%以上甚至到80%左右,因此把它加入到Dev—SecOps過程中,看似增加了整個時間,但是從整個時間維度去看,它讓開發(fā)生產(chǎn)的安全性提高了,而且總的時間成本是下降的。
Dev—SecOps主要是敏捷,我把安全度提高以后,怎么不降低敏捷性,因此我們做了一些自動化的開發(fā)工具,它都是自動觸發(fā)的。比如說代碼的提交階段,研發(fā)人員一旦確定要提交代碼之后,他把代碼分包提交到我們的平臺之后,就會自動觸發(fā)測試這個動作。目前我們內部大概有將近60%左右的測試是完全可以自動化去完成的,因此在觸動這個測試之后,60%的工作就在這上面自動完成了,剩下的40%還需要主動去做。
任何一家公司在做產(chǎn)品開發(fā)的時候,可能都離不開開源軟件,離不開第三方軟件系統(tǒng)。我們發(fā)現(xiàn)大部分的漏洞都是在開發(fā)過程中引入的,比如說前段時間發(fā)生的漏洞都是在開發(fā)過程中引入的。因此我們在用整個Dev—SecOps的過程中,相對來說我們也是受益者,如果用傳統(tǒng)的安全方式去做的話,我們會發(fā)現(xiàn)真正你要去做排查的時候,大部分都是用人肉排查內部隱藏的漏洞。如果說在它上線之后,很有可能引入新的安全風險,反反復復做下來是很耽誤時間的。目前我們用這種自動化的測試,用Dev—SecOps去做之后,其實我們會把控制點控制在每一次上線之前,也就是說在這個軟件包上線的時候,它就會自動去做整個對軟件包的測試。一旦發(fā)現(xiàn)這個軟件包有漏洞的時候,上線系統(tǒng)就會自動阻止軟件上線,降低運維階段發(fā)生安全事件的風險,在整個運維生產(chǎn)和運行全生命周期提高我們整個生產(chǎn)效率。
我今天的內容大概就這些,謝謝大家!