別再依賴安全掃描了

本文中的“安全掃描”是指開(kāi)發(fā)團(tuán)隊(duì)在距離產(chǎn)品上線日期比較近的時(shí)候,通過(guò)公司里的安全團(tuán)隊(duì)或者外部第三方安全公司對(duì)產(chǎn)品進(jìn)行安全掃描,團(tuán)隊(duì)基于安全掃描報(bào)告,對(duì)產(chǎn)品中存在的安全漏洞進(jìn)行修復(fù)的過(guò)程。不同的公司,不同的開(kāi)發(fā)團(tuán)隊(duì)對(duì)它的稱呼可能不一樣萄喳,有人把它叫做滲透測(cè)試,也有人把它叫做安全審查蹋半、安全評(píng)估他巨、安全檢查等等。

如果不做安全掃描會(huì)怎樣减江?

想象一下染突,你所在的開(kāi)發(fā)團(tuán)隊(duì)正在開(kāi)發(fā)一款互聯(lián)網(wǎng)金融產(chǎn)品,所有的核心業(yè)務(wù)功能基本開(kāi)發(fā)完畢辈灼。此時(shí)此刻份企,離計(jì)劃中的上線日期只有不到三周時(shí)間。通常而言巡莹,這時(shí)候安全掃描就會(huì)介入進(jìn)來(lái)司志,掃出一堆問(wèn)題扔給團(tuán)隊(duì)修復(fù)。

不過(guò)這次不一樣降宅,如果我提議骂远,不必給產(chǎn)品做安全掃描,就這樣直接上線可好腰根?我想激才,絕大多數(shù)人的反應(yīng)會(huì)是下面這樣的:

“神馬?额嘿!不做安全掃描瘸恼?那我怎么知道產(chǎn)品安不安全?萬(wàn)一出問(wèn)題了怎么辦册养?”

“我知道我們產(chǎn)品中一定會(huì)有安全問(wèn)題东帅,安全掃描正好可以幫助我們把這些問(wèn)題暴露出來(lái),將其修復(fù)之后再上線才是萬(wàn)無(wú)一失的選擇球拦】勘眨”

“雖然每次安全掃描都會(huì)掃出一堆問(wèn)題來(lái)邓夕,搞得團(tuán)隊(duì)壓力山大,但如果不做掃描阎毅,我們到是輕松了,可產(chǎn)品的安全性卻又是個(gè)問(wèn)題点弯∩鹊鳎”

“安全掃描可是我們安全團(tuán)隊(duì)的殺手锏,不讓我們給開(kāi)發(fā)團(tuán)隊(duì)做掃描抢肛,那我們的價(jià)值怎么體現(xiàn)出來(lái)狼钮?”

“公司規(guī)范里說(shuō)了,不做安全掃描不準(zhǔn)上線捡絮“疚撸”

“年少輕狂的年輕人,我以過(guò)來(lái)人的經(jīng)驗(yàn)告訴你福稳,這么做是要付出代價(jià)的涎拉。”

反應(yīng)越是激烈的圆,說(shuō)明團(tuán)隊(duì)越是依賴安全掃描鼓拧。甚至可以說(shuō),安全掃描在你的團(tuán)隊(duì)里越妈,是保證產(chǎn)品安全的最后一道屏障季俩,也是唯一的手段。

安全掃描是陳舊落后的手段

有人會(huì)說(shuō)梅掠,最后一道屏障又怎樣酌住,唯一的手段又如何,不管紅貓黑貓阎抒,抓到耗子的都是好貓酪我。

先不談這樣做是好是壞,我們先來(lái)?yè)Q個(gè)角度思考一下挠蛉,如果把“安全問(wèn)題”這幾個(gè)字換成“功能缺陷”或者“Bug”祭示,你還會(huì)認(rèn)同這種在臨近產(chǎn)品上線之前做一次性的、運(yùn)動(dòng)式的大檢查谴古,然后期待著開(kāi)發(fā)團(tuán)隊(duì)在所剩無(wú)幾的時(shí)間里快速修復(fù)掉所有Bug质涛,還不能引入新Bug的做法嗎?

答案顯然是否定的掰担。大家都明白汇陆,功能缺陷越早發(fā)現(xiàn)越好,否則修復(fù)成本將會(huì)非常高带饱,越往后拖越對(duì)團(tuán)隊(duì)不利毡代。

現(xiàn)如今阅羹,還有哪個(gè)開(kāi)發(fā)團(tuán)隊(duì)敢說(shuō),在開(kāi)發(fā)過(guò)程中不需要對(duì)軟件做測(cè)試教寂,等到最后上線前做一次集中式的測(cè)試就夠了捏鱼?開(kāi)發(fā)團(tuán)隊(duì)也是極盡所能的快速響應(yīng)軟件質(zhì)量問(wèn)題,例如進(jìn)行測(cè)試驅(qū)動(dòng)開(kāi)發(fā)酪耕,編寫(xiě)大量的自動(dòng)化測(cè)試并且通過(guò)CI持續(xù)的對(duì)軟件質(zhì)量進(jìn)行監(jiān)控导梆。

安全問(wèn)題是如此的重要,它也是軟件質(zhì)量的一部分迂烁,只不過(guò)換了個(gè)名字看尼,變了種表現(xiàn)形式而已,而我們卻用如此落后的方式來(lái)對(duì)待它盟步,顯然不合理藏斩。

提前做安全掃描可能是空中樓閣

又有人說(shuō),安全掃描不就是太晚了一點(diǎn)嘛却盘,我們把掃描時(shí)間點(diǎn)往前提一些不就好了嗎狰域?

思路是對(duì)的,但很可惜谷炸,要做到這一點(diǎn)卻幾乎是不可能的北专。因?yàn)榘踩珤呙栌幸欢ㄇ疤釛l件,它只能對(duì)已經(jīng)開(kāi)發(fā)完成了的功能進(jìn)行掃描旬陡,這也就意味著拓颓,那些還處于開(kāi)發(fā)過(guò)程中的功能是覆蓋不到的。而且隨著開(kāi)發(fā)的進(jìn)行描孟,軟件功能會(huì)有所調(diào)整驶睦,之前做過(guò)的安全掃描很可能會(huì)失去意義,最終還是得等到所有功能都開(kāi)發(fā)完畢了匿醒,在上線之前再做一次最終的安全掃描场航。于是這又回到了上面那個(gè)問(wèn)題。

安全掃描的短板不止一處

安全掃描除了上面講到的時(shí)間太晚的問(wèn)題之外廉羔,還有不少短板溉痢。首當(dāng)其沖的就是速度太慢,跟不上開(kāi)發(fā)團(tuán)隊(duì)的節(jié)奏憋他。盡管有自動(dòng)化工具的幫助孩饼,但是一次全面、細(xì)致竹挡、深入的安全掃描镀娶,往往需要好幾天,甚至更長(zhǎng)時(shí)間揪罕。在如今追求快速開(kāi)發(fā)上線梯码,迅速調(diào)整以響應(yīng)市場(chǎng)變化的環(huán)境下宝泵,開(kāi)發(fā)團(tuán)隊(duì)沒(méi)有這么多時(shí)間和耐心來(lái)等待掃描結(jié)果。

某些采用敏捷或者精益開(kāi)發(fā)方式的團(tuán)隊(duì)轩娶,每個(gè)迭代甚至每天都有新功能上線和舊功能調(diào)整儿奶、問(wèn)題修復(fù)等等,而等到幾天甚至幾周后鳄抒,團(tuán)隊(duì)拿到安全掃描報(bào)告的時(shí)候廓握,被掃描的功能可能早就被廢棄了,這么做簡(jiǎn)直是在浪費(fèi)資源嘁酿。

其次,留給安全掃描的時(shí)間窗口十分有限男应,它往往只能在產(chǎn)品功能完成之后闹司,最終上線之前才能進(jìn)行,在這種情況下沐飘,往往只有一次機(jī)會(huì)進(jìn)行掃描游桩,也只能給團(tuán)隊(duì)提供一次性的安全反饋。但實(shí)際情況卻是耐朴,業(yè)務(wù)需求在不斷發(fā)展和變化借卧,開(kāi)發(fā)團(tuán)隊(duì)也在持續(xù)對(duì)產(chǎn)品功能做出調(diào)整,除非每次產(chǎn)品功能發(fā)生變化之后立即進(jìn)行一次安全掃描筛峭,否則以現(xiàn)有的模式铐刘,是沒(méi)有辦法及時(shí)給開(kāi)發(fā)團(tuán)隊(duì)提供安全性反饋的。

最后影晓,安全掃描的成本也是不得不考慮的因素镰吵。購(gòu)買(mǎi)外部安全公司的安全掃描服務(wù)到是很方便,可是動(dòng)不動(dòng)就是幾十萬(wàn)的支出不是任何團(tuán)隊(duì)都能承受得起的挂签。通過(guò)自有安全團(tuán)隊(duì)做安全掃描看上去可能更加經(jīng)濟(jì)實(shí)惠疤祭,畢竟是公司內(nèi)部資源,但是別忘了饵婆,自建安全團(tuán)隊(duì)也是有成本的勺馆,而且要招到杰出的安全工程師也不是件容易的事情。

既然安全掃描有這么多缺點(diǎn)侨核,那為什么還有如此多的團(tuán)隊(duì)在用它草穆?

拋開(kāi)安全問(wèn)題暴露出來(lái)之后,解決起來(lái)是如何痛苦這件事情不談芹关,其實(shí)安全掃描也并非一無(wú)是處续挟。

盡管安全掃描在時(shí)間上晚了一些,速度上慢了一點(diǎn)侥衬,還不可持續(xù)诗祸,但由于軟件開(kāi)發(fā)本身是個(gè)復(fù)雜的過(guò)程跑芳,開(kāi)發(fā)團(tuán)隊(duì)在產(chǎn)品安全性上總有疏忽大意的時(shí)候,只要進(jìn)行安全掃描直颅,大多數(shù)時(shí)候都會(huì)有所“收獲”博个。這樣的話,一方面安全掃描幫開(kāi)發(fā)團(tuán)隊(duì)發(fā)現(xiàn)了問(wèn)題功偿,另一方面安全團(tuán)隊(duì)也體現(xiàn)出了自身價(jià)值盆佣,正是在這樣的背景下,安全掃描無(wú)論是對(duì)于開(kāi)發(fā)團(tuán)隊(duì)還是安全團(tuán)隊(duì)而言械荷,都具有難以抗拒的誘惑力密强。

此外站辉,有時(shí)候做安全掃描也是一種無(wú)奈之舉,因?yàn)橛行╅_(kāi)發(fā)團(tuán)隊(duì)不見(jiàn)黃河不死心,除非你把安全問(wèn)題明確的擺在他們面前奔害,否則他們意識(shí)不到問(wèn)題的嚴(yán)重性尔邓,不會(huì)輕易的主動(dòng)去關(guān)注安全問(wèn)題掂名。

除了安全掃描然想,還有別的什么辦法?

既然安全問(wèn)題這么重要崖叫,安全掃描又是如此的低效遗淳,那我們?cè)撛趺醋霾拍芨玫慕鉀Q這個(gè)問(wèn)題呢?答案其實(shí)早就擺在眼前了心傀,軟件的安全性是軟件質(zhì)量的一部分屈暗,為何不嘗試一下把它和功能需求一樣,都當(dāng)做頭等公民來(lái)看待呢脂男?那些用于保證軟件質(zhì)量的最佳實(shí)踐對(duì)于軟件安全性同樣適用恐锦。

更具效率的做法是,在產(chǎn)品開(kāi)發(fā)的全生命周期里疆液,直接植入安全最佳實(shí)踐一铅,我們把它叫做Build Security In(簡(jiǎn)稱BSI)。例如堕油,在分析業(yè)務(wù)需求的時(shí)候潘飘,主動(dòng)去分析安全需求,給用戶故事建立安全驗(yàn)收標(biāo)準(zhǔn)掉缺;在開(kāi)發(fā)過(guò)程中時(shí)刻關(guān)注安全卜录,通過(guò)自動(dòng)化的安全測(cè)試持續(xù)性的關(guān)注產(chǎn)品安全;在測(cè)試過(guò)程中眶明,不僅測(cè)試產(chǎn)品看其是否滿足了業(yè)務(wù)需求艰毒,還基于安全驗(yàn)收標(biāo)準(zhǔn)設(shè)計(jì)并執(zhí)行安全測(cè)試用例。

傳統(tǒng)的安全掃描是從后外前推搜囱,倒逼著開(kāi)發(fā)團(tuán)隊(duì)做改變丑瞧,而B(niǎo)SI的做法則是從前往后梳理柑土,融入到日常的開(kāi)發(fā)過(guò)程中。正是因?yàn)樘崆安⑶页掷m(xù)性的關(guān)注產(chǎn)品安全绊汹,所以在后續(xù)的開(kāi)發(fā)中稽屏,團(tuán)隊(duì)才會(huì)有意識(shí)的去做安全防御,使得最后開(kāi)發(fā)出來(lái)的軟件默認(rèn)就已經(jīng)具備了不錯(cuò)的安全性西乖,給團(tuán)隊(duì)帶來(lái)的沖擊和壓力也是最小的狐榔。

邁出改變的第一步

安全掃描已經(jīng)深深的烙在了很多開(kāi)發(fā)團(tuán)隊(duì)的骨髓里,突然之間要改變這一切勢(shì)必不容易获雕,但是我們還是可以做很多嘗試來(lái)逐漸改變這個(gè)現(xiàn)狀薄腻。在這里我推薦一些比較好的切入點(diǎn),開(kāi)發(fā)團(tuán)隊(duì)可以作為參考届案,邁出改變的第一步被廓。

每當(dāng)在創(chuàng)建用戶故事的時(shí)候,多問(wèn)幾個(gè)和安全相關(guān)的問(wèn)題萝玷,比如:

  • 這個(gè)業(yè)務(wù)需求面臨著哪些威脅?
  • 和這個(gè)業(yè)務(wù)需求相關(guān)聯(lián)的安全需求是什么昆婿?
  • 有沒(méi)有什么東西是應(yīng)該被保護(hù)起來(lái)的球碉?
  • 應(yīng)該提前做些什么以應(yīng)對(duì)可能的黑客攻擊?

然后仓蛆,團(tuán)隊(duì)共同給這個(gè)用戶故事設(shè)定安全相關(guān)的驗(yàn)收標(biāo)準(zhǔn)睁冬。

開(kāi)發(fā)人員在每日代碼審查的時(shí)候,多問(wèn)一下:“這樣設(shè)計(jì)看疙,或者代碼這么寫(xiě)豆拨,有沒(méi)有什么安全風(fēng)險(xiǎn)?安全驗(yàn)收標(biāo)準(zhǔn)滿足了嗎能庆?”

每當(dāng)測(cè)試人員拿到一張用戶故事對(duì)其進(jìn)行測(cè)試的時(shí)候施禾,也問(wèn)問(wèn)自己:“除了測(cè)試產(chǎn)品看其是否正確實(shí)現(xiàn)了業(yè)務(wù)需求之外,還需要基于安全驗(yàn)收標(biāo)準(zhǔn)設(shè)計(jì)并執(zhí)行哪些安全測(cè)試用例搁胆?”

上面這些提問(wèn)看似簡(jiǎn)單弥搞,但是當(dāng)你在團(tuán)隊(duì)里問(wèn)出這些問(wèn)題的時(shí)候,你一定會(huì)驚訝于它們帶來(lái)的影響力渠旁。試試唄攀例。


更多精彩洞見(jiàn),請(qǐng)關(guān)注微信公眾號(hào):ThoughtWorks

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末顾腊,一起剝皮案震驚了整個(gè)濱河市粤铭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杂靶,老刑警劉巖梆惯,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酱鸭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡加袋,警方通過(guò)查閱死者的電腦和手機(jī)凛辣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)职烧,“玉大人扁誓,你說(shuō)我怎么就攤上這事∈粗” “怎么了蝗敢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)足删。 經(jīng)常有香客問(wèn)我寿谴,道長(zhǎng),這世上最難降的妖魔是什么失受? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任讶泰,我火速辦了婚禮,結(jié)果婚禮上拂到,老公的妹妹穿的比我還像新娘痪署。我一直安慰自己,他們只是感情好兄旬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布狼犯。 她就那樣靜靜地躺著,像睡著了一般领铐。 火紅的嫁衣襯著肌膚如雪悯森。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天绪撵,我揣著相機(jī)與錄音瓢姻,去河邊找鬼。 笑死音诈,一個(gè)胖子當(dāng)著我的面吹牛汹来,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播改艇,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼收班,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了谒兄?” 一聲冷哼從身側(cè)響起摔桦,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后邻耕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鸥咖,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年兄世,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啼辣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡御滩,死狀恐怖鸥拧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情削解,我是刑警寧澤富弦,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站氛驮,受9級(jí)特大地震影響腕柜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜矫废,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一盏缤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蓖扑,春花似錦唉铜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柿赊。三九已至俩功,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碰声,已是汗流浹背诡蜓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胰挑,地道東北人蔓罚。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瞻颂,于是被迫代替她去往敵國(guó)和親豺谈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 本文中的“安全掃描”是指開(kāi)發(fā)團(tuán)隊(duì)在距離產(chǎn)品上線日期比較接近的時(shí)候贡这,通過(guò)公司里的安全團(tuán)隊(duì)或者外部第三方安全公司對(duì)產(chǎn)品...
    獨(dú)自旅行閱讀 301評(píng)論 0 1
  • 近日百度安全應(yīng)急響應(yīng)中心發(fā)布了《企業(yè)級(jí)自動(dòng)化代碼安全掃描實(shí)戰(zhàn)》,讀者可以管中窺豹來(lái)實(shí)例了解軟件安全中白盒掃描領(lǐng)域在...
    安全樂(lè)觀主義閱讀 635評(píng)論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月茬末,有人笑有人哭,有人歡樂(lè)有人憂愁,有人驚喜有人失落丽惭,有的覺(jué)得收獲滿滿有...
    陌忘宇閱讀 8,529評(píng)論 28 53
  • 步驟:發(fā)微博01-導(dǎo)航欄內(nèi)容 -> 發(fā)微博02-自定義TextView -> 發(fā)微博03-完善TextView和...
    dibadalu閱讀 3,129評(píng)論 1 3
  • 人工智能是什么击奶?什么是人工智能?人工智能是未來(lái)發(fā)展的必然趨勢(shì)嗎责掏?以后人工智能技術(shù)真的能達(dá)到電影里機(jī)器人的智能水平嗎...
    ZLLZ閱讀 3,766評(píng)論 0 5