聊一聊應用安全那點事
從我最開始學習安全接觸的就是 web 安全相關(guān),當時的自己完全不明白學習的意義是什么,只知道學習了 web 安全可以去網(wǎng)絡上尋找存在漏洞的應用,拿到 webshell、然后提升權(quán)限到系統(tǒng)最高權(quán)限,這一個流程下來基本就達到了頂峰,在突破的時候是最有成就感的,我相信有非常多的同行是在這樣的情況下入行的。web 安全就是應用安全中的一部分。
說到應用,什么是應用?百度百科上說的一句 適應需要,以供使用 ,在現(xiàn)在的互聯(lián)網(wǎng)時代,所有的軟件都可以叫應用,他們的產(chǎn)生是為了滿足我們的日常需求,方便我們的衣食住行,多年前是 PC 互聯(lián)網(wǎng)的時代,近幾年進入了移動互聯(lián)網(wǎng)時代,未來會是物聯(lián)網(wǎng)時代、人工智能的時代 等等,隨著科技的進步,安全的需求也在不斷發(fā)生著變化,近幾年做滲透的朋友越來越感覺到難做,web 的安全漏洞越來越少,這可以說是時代的進步、安全意識的提升、代碼安全性增加、應用主戰(zhàn)場的變化 等等一系列因素的結(jié)果,這對于安全行業(yè)來說是好事,整體安全性在不斷提升,側(cè)面說明我們安全從業(yè)人員的價值體現(xiàn)。
對于應用產(chǎn)生的整個生命周期來講,考慮安全越早越好,早期的應用主要是為了實現(xiàn)功能、快速上線,互聯(lián)網(wǎng)行業(yè)迭代更新非???,時間就是競爭力,只有在業(yè)務因為安全問題而出現(xiàn)重大損失的時候才專門去招人或者購買安全服務進行及時止損,在上線之前沒有考慮安全,帶洞上線,從而導致大量的用戶隱私泄漏,最終的受害者還是使用應用的用戶,經(jīng)過多年安全人員的努力,企業(yè)對于安全也慢慢重視起來,那么如何做好應用安全呢?
SDLC 大家都聽過,翻譯過來就是軟件開發(fā)生命周期,是為了規(guī)范開發(fā)的流程、提升開發(fā)效率、增強代碼質(zhì)量,做到閉環(huán),SDLC 包含五個階段:需求分析、設計、編碼、測試、發(fā)布,如圖:
但這里并沒有把安全考慮進去,我們是否可以將安全貫穿到整個軟件開發(fā)的生命周期呢?如何做?請看下圖:
- 在需求階段做風險評估,提前將風險識別出來,作為安全的需求提交給研發(fā),不只是功能上的,還包括一些架構(gòu)不合理的地方,這對安全人員對能力要求是非常高的;
- 在設計階段做威脅建模、安全參與進行設計 review,指出設計存在的安全威脅,共同完成安全的設計方案;
- 在開發(fā)階段,要進行代碼 review,提前做代碼審計通過人工或者自動化的方式,這里對安全專業(yè)人才的需求也很高;
- 在測試階段進行安全評估,也就是安全測試或者滲透測試,通過黑盒的方式找出安全 bug,在上線之前解決掉,可以用功能測試的小伙伴進行合作或者其他的方式;
- 在發(fā)布階段要對主機進行安全檢查,升級最新補丁、關(guān)閉無用端口等,將攻擊面降到最低;
- 上線之后,通過開始 SRC 平臺接收來自白帽子的漏洞提交,補充安全測試不足,做到閉環(huán);
經(jīng)過上面的一系列操作之后,可以將大部分的安全問題扼殺在上線之前,從而大大降低應用的安全風險,但是完全這么做是需要大量的人力和時間的,對于大部分企業(yè)來說是不可能完全做到的,因為可能因為流程的復雜度或者人員的能力問題,造成項目的延期、錯事商機,具體做不做以及怎么做,需要上層領導的支持,不同公司的情況不同,需要制定的流程也不一樣,落地情況也不同。
理想的情況下是完全按照上面的流程做每一個項目,這是多少安全負責人的理想,可是往往投入產(chǎn)出比不那么好看,得不到領導的支持,參與流程的同事也很抵觸這么做,畢竟增加工作量多事,不是所有人都愿意做的,所以作為安全人員并不能強迫大家都按照你的要求來做,就需要平衡我們與開發(fā)人員之間的關(guān)系,在不增加別人工作量的同時,提升軟件安全性,在規(guī)范流程的同時,提升自動化能力,將研發(fā)當作我們的用戶,我們是為業(yè)務服務的,而不是監(jiān)管機構(gòu)。
今天就聊到這里吧,想要落地這個并沒有那么容易,也不是每一家公司都能做到,在自身人力不足的情況下還是不要做這個,做好滲透測試,在惡意攻擊之前發(fā)現(xiàn)安全問題,推動開發(fā)盡快修復安全問題,如果業(yè)務系統(tǒng)比較多,自身無法覆蓋全面的滲透測試,可以開設 SRC 集白帽子之力來幫助企業(yè)發(fā)現(xiàn)安全問題,然后自研掃描器,將歷史安全問題集成到掃描器中,保證歷史安全問題不再出現(xiàn),我們的價值也就能夠很好的體現(xiàn)了,安全無止境,共勉!