企業SDLC建設不成熟設想

2022-06-26 01:33:15 字數 2629 閱讀 6496

之前在n市,面試的是「it系統安全工程師」的崗位但合同上籤的是「整合工程師」的名頭(前陣子找之前的郵件offer才注意到的),工作內容現在看來還是和當時離職時表述一樣基本一半是系統整合的工作一半是安全的工作。其好處是一方面對資料庫、中介軟體、大資料平台等技術有比較深入的了解,另一方面對4a、soc、安全基線等安全概念也有一定程度的認識。

來到s市,司職是正經的安全崗位「滲透測試工程師」,滲透能力逐漸形成了比較完整的知識體系,最後又演變成了當前的sdlc認識。

之所以說「不成熟」,一是因為從自己感覺上沒有很完善,二是因為沒有大量的實踐證明其可靠性和可行性;而之所以要「強行描繪」,一是為了做個階段總結,二是感覺後邊去t公司後短時間內也沒機會實踐sdlc全流程。

其實感覺企業安全體系核心包括兩方面,一是以sdlc為核心的單個應用的從設計到上線全流程,二是以soc為核心的所有安全裝置、安全系統的統籌管理。但對於後者一是自己概念就更模糊了,二是感覺即便在業界也未形成統一的認識,如果以後有更深的理解再說了。

出身:即便到現在網上還可以經常聽到某某黑客大佬不是資訊保安專業出身、不是計算機學院出身、沒讀過大學、小學沒畢業之類的說法。但就趨勢而言,以後科班出身的比例會越來越高,專業知識掌握得越深的人走得越遠。

入行:現在進入安全行業,主流途徑一般是學校課上學計算機/資訊保安的知識、課餘自己找環境實操打打ctf,畢業後進入安全乙方安全公司、安全崗,積累一定程度後轉入甲方安全崗。

最開始聽到的應該不是sdlc而是sdl,而最早開始聽到sdl應該是在軟體工程課上講的微軟的sdl;因為軟體工程講的是軟體開發生命週期,所以我一直以為講課一筆帶過的微軟sdl是「software development lifecycle」。

近幾個月聽到很多公司很多安全崗位都講sdlc,感覺雖然意思可以理解但安全直接占用開發的名詞不太好吧,但回頭一看其實出自微軟的sdl並不是「software development lifecycle」而是「security development lifecycle」,確實本身就是乙個安全名詞。

一方面,可能安全人員之間說sdl或sdlc不會有歧義但與開發等交流就會有問題;另一方面,當下安全所謂的sdl就是指安全人員要介入到軟體開發生命週期的整個流程中,在開發框架大體不變基礎上建設安全。所以現在書面形式上更多使用s-sdlc(secure software development lifecycle)的說法(比如owasp)。

我們前面說,當下在安全行業中,sdl、sdlc、s-sdlc都是乙個意思,都是指介入到「software development lifecycle」中建設安全,那具體怎麼個建設法呢。

我們知道軟體開發生命週期可以分為可行性分析、需求分析、設計、編碼、測試、上線、運維幾個階段。在最開始的時候,軟體一般是都不做安全的基本都是在運維階段發現安全漏洞後再去進行修復;在開始做安全後發現很多漏洞完全可以在上線時自我檢測發現(很多公司現在都是做到這一步在上線時設定安全關卡);在積累到一定程度後人們又發現,檢測出的很多安全問題要麼都是同類原因引起的(比如sql注入都是因為使用拼接形式)要麼就是因為軟體架構原因修改工作量相當大(比如原來沒有水平越權防護資料庫的所有資源都沒有許可權標識),如果安全部門在編碼等更早階段介入那就可以更多避免」翻工「的情況。

總而言之,安全中的sdlc就是指將原來集中在軟體開發生命週期後期進行的工作,散布到軟體開發生命週期各個階段去,在每個階段做安全該做能做的事。

安全培訓:主要是告訴開發安全是什麼、安全要做什麼、安全怎麼做的。可選的一些主題,如」滲透測試方法「、」滲透測試工具使用「、」某種語言的安全編碼規範「等。

法律法規可行性分析----針對要開發的系統,衡量其是否違背法律法規,或者有哪些需要注意的點。

安全編碼規範----參與需求分析會議,了解需求,針對需求擬定相應的安全編碼規範。

各方案資料流圖----要求開發提供資料流圖、設計文件,對各方案進行安全評審。

靜態**審計(sast)----使用fortify、sonarqube等工具對**進行掃瞄,一方面理解**是否按設計實現,另一方面看是否有存在問題的地方。注意靜態**掃瞄誤報一般會比較大要注意先自己確認,而不要一把就給開發。

第三方元件列表----要求開發整理使用到的的第三方元件列表,作為運維階段的輸入。主要包括元件名稱、元件官網、當前使用元件版本等列。

埠矩陣列表----要求開發整理埠矩陣列表。主要包括程序名、執行使用者、監聽ip、監聽埠等列。

手工滲透----對系統進行手工滲透測試。可參考「滲透測試思路總結 」。

基線掃瞄----自行編寫基線規範檢測程式,在上線時要保證主機和服務都符合基線規範。可參考「安全基線自動化掃瞄、生成報告、加固的實現(以tomcat為例) 」。

網路掃瞄----使用nessus等網路掃瞄器對主機進行掃瞄,確保伺服器上執行的服務軟體沒有什麼重大漏洞。

web掃瞄----使用awvs等掃瞄器對web進行掃瞄,確保別人使用這些通用工具也掃不出什麼問題。

第三方元件最新版本跟蹤----在提供的第三方元件列中中新增最新版本一列,編寫自動追蹤指令碼每次執行就可以在「最新版本」列顯示最新版本。可參考「python3第三方元件最新版本追蹤實現 」。

第三方元件cve跟蹤----編寫指令碼,每天爬取更新的cve並篩選出產品使用的所有第三方元件的cve。可參考「最強半自動化抓雞工具打造思路 」。

應急響應中心----包括src郵箱、src**。

成熟不成熟

進入社會也有3年了,沒有感到自己成熟起來。在一家公司負責網路,現在是光桿乙個。老大今天單獨和我談話,問我有沒有洩露考勤資料。我知道是說的李建新,就馬上承認是我做的。而且是在李離職後,李向我要考勤資料,我當時和他關係還不錯,處於哥們義氣,就給了他。現在後果出來了,老闆要老大查。老大語重心長地教育我,這...

什麼叫不成熟?

不諳世事的表現 1.輕易得罪人 稍有心計的人,只有在觸及利益糾紛的時候才有可能得罪人。沒有利益關係,何必處處樹敵。2.很容易被得罪 希望給別人造成愧疚,實際上人都是自以為是的。沒有人因為你生氣就會感到對不起你。3.情緒波動大 說變臉就變臉,太高看自己,沒有換位思維,如果別人對你說變臉就變臉,你會感覺...

男人不成熟的標誌

男人不成熟的標誌 1 跟知己 2 同見面 3 和情人結婚 4 把愛好當成職業 5 將同事當成朋友 6 到朋友的公司打工 7 在領導面前知無不言 言無不盡 8 輕信上司的許諾 9 喜怒哀樂都掛在臉上 10 在人堆裡用手機大聲講話 11 頭髮油光可鑑,皮鞋積灰 甚至粘泥巴 12 不會給自己找藉口 13 ...