好久沒寫文章了,之前寫的文章都是實(shí)際解決方案的文章常??雌饋肀容^晦澀,本文就說說與我工作有關(guān)的故事吧。
先聲明一下小我不雅點(diǎn):
1. 利用安然工作決不成能都是由利用安然工作者完成的,不是全員介入的利用安然工作決不成能做出安然性很好的產(chǎn)品。
2. 公司期看所有與利用安然有關(guān)的工作均有益用安然工作者來完成,那必然是計謀上的不放在眼里、戰(zhàn)術(shù)上的弊端,最終必將以重大年夜安然變亂的呈現(xiàn)而結(jié)束這場戰(zhàn)爭。
3. 企業(yè)利用安然工作者理應(yīng)是:安然風(fēng)險的辨認(rèn)者、解決方案策劃者與設(shè)計者及企業(yè)工程師安然意識的培訓(xùn)者,必需獲得最高層的直接正視方可得以很好的實(shí)施。安然的具體實(shí)施理應(yīng)由通俗的工程師完成,規(guī)范化滲入測試工作理應(yīng)由通俗的測試工程師來完成。導(dǎo)彈是高科技產(chǎn)品,它的零部件仍然是通俗的工人來完成的,不要覺得利用安然很高深,通俗工程師做不了,那是利用安然實(shí)現(xiàn)“工藝設(shè)計”人員的工作沒做好!
【故事一】:XSS的猜疑
在公司的初期,當(dāng)我演示XSS的標(biāo)題問題給我們的開辟者與測試人員的時辰(e.g. http://www.testfire.net/search.aspx?txtSearch=%3Cscript%3Ealert%281%29%3C%2Fscript%3E),他們最最猜疑的一個標(biāo)題問題是:
|誰沒事把本身的頁面注進(jìn)一串javascript的然后在本身的瀏覽器傍邊履行?這是縫隙嗎?
這個標(biāo)題問題看起來仿佛很傻,其實(shí)不然,這里蘊(yùn)涵著一個很是首要的標(biāo)題問題:誰是報復(fù)打擊者、誰是受害者和誰是責(zé)任者的標(biāo)題問題,你想過這些標(biāo)題問題嗎?若想讓你的公司的員工大白XSS標(biāo)題問題標(biāo)嚴(yán)重性必需讓他們從底子上理解標(biāo)題問題,方可以得以從心底里接管。因而我就做了一個虛擬的場景:
假定我是黑客,我發(fā)現(xiàn)某公司網(wǎng)站上可以注進(jìn)JS腳本,因而我就奇妙的機(jī)關(guān)報復(fù)打擊URL,經(jīng)由過程社會工程學(xué)的編制誘使對方點(diǎn)擊我的URL,當(dāng)對方處于登錄狀況時,我可以獲得對方的會話信息、本地cookie信息等等,我可以做的事你可以想象了…,在這里我是報復(fù)打擊者,我們的產(chǎn)品用戶是受害者,我們公司是責(zé)任者,你說我們要不要措置這個標(biāo)題問題?
【故事二】:關(guān)于CSRF的那些事
先問問讀者:CSRF是縫隙嗎?
在我要求開辟人員解決CSRF(CSRF概念可查詢CSRF)標(biāo)題問題標(biāo)時辰,我曾被一個資深開辟人員問的呆頭呆腦,開辟人員的標(biāo)題問題是:
一個需要做身份驗(yàn)證的URL,我們在實(shí)現(xiàn)的時辰已做了嚴(yán)格的身份驗(yàn)證,此刻你的要求便是是讓我我們再做一次身份驗(yàn)證,這不是折騰嗎?換句話問用戶拜候了一個只有登錄成功才可以拜候的URL,當(dāng)用戶登錄后可以正常拜候,為甚么你還說它需要做身份驗(yàn)證?
開辟人員的標(biāo)題問題是有效的,且我覺得是有價值的,假定你不克不及給開辟人員解決這個標(biāo)題問題,他們是不克不及從心底里構(gòu)成近似標(biāo)題問題標(biāo)防御意識,相反他們會構(gòu)成一種心里的抵當(dāng),最終的結(jié)果將是可想而知的。因而我又做了一個場景的虛擬:
假定我是黑客,你是用戶,我是黑客,當(dāng)然我同時也是一個用戶,沒有跡象表白我是一個黑客,對別的用戶來講,我就是一個通俗的用戶罷了。OK,你登錄了我們的產(chǎn)品,我也登錄了我們的產(chǎn)品,此刻我找到了changePasswd.do的API,我發(fā)現(xiàn)它并沒有做CSRF防備,可是這個URL是做了嚴(yán)格的身份認(rèn)證查抄的,此刻我用changePasswd.do?newPWD=XXXX來機(jī)關(guān)一個URL,發(fā)給你,為了有隱蔽性,我可利用短鏈接的編制發(fā)給你,你一眼也看不出來它里面包含了甚么,當(dāng)你點(diǎn)擊以后,它會如何樣? 開辟說:可以正常運(yùn)行! 我問:為甚么不需要登錄、為甚么沒要求身份驗(yàn)證? 開辟說:我已登錄了!我說:這就是CSRF了,你感覺它嚴(yán)重嗎?
此例子傍邊報復(fù)打擊者是我,受害者是阿誰開辟人員,責(zé)任者仍然是我們產(chǎn)品—辦事的供給者。
【故事三】:身份認(rèn)證與授權(quán)難解之惑
我們要求開辟描述清晰你寫的URL或API的身份認(rèn)證的要求,好比:myInfo.do,
開辟人員:只有登錄的用戶才可以拜候myInfo.do,不然會轉(zhuǎn)到登錄頁面要求用戶登錄。
我說:如許寫是不合弊端的,你如許寫表白只要登錄的用戶都可以拜候myInfo.do了.
開辟人員:沒錯啊,登錄的用戶便可以拜候myInfo.do,這有甚么標(biāo)題問題?
我說:假定我登錄了,可是我拜候的是你的myInfo.do會如何樣?
開辟人員:(…深思了一會…),這類環(huán)境是可能存在的,可是這是比較偏的環(huán)境
我說:我們做安然需要考慮的就是可能存在的安然風(fēng)險,準(zhǔn)確的描述拜候是:只有登錄的用戶才可以拜候他本身的myInfo.do!讀者可能會問:句斟字嚼嗎? 我想說的是:如許的句斟字嚼必需有,不然后果很嚴(yán)重。