IBM安全研究高級(jí)架構(gòu)師Ryan Berg表示,金融服務(wù)業(yè)在推動(dòng)安全編碼實(shí)現(xiàn)上遠(yuǎn)遠(yuǎn)領(lǐng)先于其他產(chǎn)業(yè),而其它的公司,包括一些規(guī)模較小的獨(dú)立軟件供應(yīng)商,并沒(méi)有為此做出努力。Berg表示,一個(gè)公司的首席執(zhí)行官可以改變這種狀況。Berg強(qiáng)調(diào),如果首席執(zhí)行官承諾大幅改善軟件開(kāi)發(fā),并且有一定的預(yù)算支持,這將給整個(gè)軟件開(kāi)發(fā)過(guò)程帶來(lái)更多積極有利的變化。在此次采訪中,Berg列出了一些可能導(dǎo)致安全威脅的領(lǐng)域,并解釋了公司如何才能逐步提升自己的軟件開(kāi)發(fā)過(guò)程,以及從哪些發(fā)展模式中可獲得指導(dǎo)。
我們了解到大多數(shù)公司都把重點(diǎn)放在安全軟件開(kāi)發(fā)上。為什么要優(yōu)先考慮軟件的安全性呢?
Ryan Berg:大約12年前,我在一家名為BBN的公司工作, 那時(shí)BBN是第一家管理防火墻服務(wù)器的公司,被人們所熟知。在12年前,對(duì)一個(gè)公司來(lái)說(shuō)最大的威脅之一是來(lái)自網(wǎng)絡(luò)的訪問(wèn),這是每個(gè)人都在關(guān)心的問(wèn)題。于是防火墻孕育而生,你只需要一個(gè)高層次的管理員來(lái)配置防火墻。然而,我們的網(wǎng)絡(luò)運(yùn)營(yíng)中心最大的需求之一是:“你能為我打開(kāi)這個(gè)端口嗎?”隨著越來(lái)越多的應(yīng)用程序移植到網(wǎng)絡(luò)上,為了保證人們正常工作,試圖打開(kāi)防火墻的需求越來(lái)越多。當(dāng)時(shí)的應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序都相當(dāng)糟糕。那時(shí)的威脅來(lái)自于網(wǎng)頁(yè)置換,隨后網(wǎng)絡(luò)開(kāi)始演變。大約在5年前,我們看到越來(lái)越多的動(dòng)態(tài)信息被放到了網(wǎng)絡(luò)上,同時(shí)網(wǎng)絡(luò)也增加了一些更為實(shí)際的業(yè)務(wù)功能。雖然防火墻還規(guī)定了一個(gè)安全基準(zhǔn),但是用戶可以通過(guò)允許開(kāi)啟80端口,免費(fèi)、快速地訪問(wèn)網(wǎng)絡(luò)。曾經(jīng)人們所理解的內(nèi)網(wǎng)和外網(wǎng)概念已經(jīng)被徹底打破。大多數(shù)公司一旦在互聯(lián)網(wǎng)上開(kāi)展業(yè)務(wù),都會(huì)開(kāi)放80端口允許訪問(wèn)他們的網(wǎng)絡(luò),這樣他們基本上也為來(lái)自外界的訪問(wèn)打開(kāi)了方便之門。
很多應(yīng)用程序已經(jīng)放在網(wǎng)絡(luò)了,攻擊者似乎不再通過(guò)操作系統(tǒng)漏洞,而是通過(guò)瀏覽器的漏洞以及一些其他面向網(wǎng)絡(luò)應(yīng)用程序的漏洞來(lái)發(fā)動(dòng)攻擊,是這樣的嗎?
Berg:由于操作系統(tǒng)廠商在操作系統(tǒng)安全防范上做的很好,人們逐漸意識(shí)到攻擊者想得到的只是數(shù)據(jù)。這是一個(gè)數(shù)據(jù)經(jīng)濟(jì)時(shí)代。商務(wù)分析人士希望獲得這些數(shù)據(jù)來(lái)推動(dòng)自己的業(yè)務(wù)發(fā)展,黑客也想得到這些數(shù)據(jù)來(lái)推動(dòng)自己的業(yè)務(wù)發(fā)展。獲得數(shù)據(jù)的方式將不再是通過(guò)網(wǎng)絡(luò)和入侵操作系統(tǒng)。黑客正嘗試讓應(yīng)用程序本身去訪問(wèn)這些數(shù)據(jù),然后直接摧毀這些應(yīng)用程序。黑客試圖用一種邪惡的方式來(lái)合法的獲取數(shù)據(jù)。這就是為什么類似于SQL注入和跨站點(diǎn)腳本攻擊(XSS)這樣的攻擊成為主流的原因。這些都只是攻擊者用來(lái)破壞應(yīng)用程序正常功能的方式。軟件缺陷、不良設(shè)計(jì)或編碼質(zhì)量低下都是客觀存在的。
如果一家公司要把軟件安全列為優(yōu)先項(xiàng)目,那么它該從哪入手?公司里誰(shuí)應(yīng)該起帶頭作用?
Berg:我認(rèn)為應(yīng)該從首席執(zhí)行官開(kāi)始。你必須改變你對(duì)軟件制造的思維方式。公司改變其軟件制造方式的唯一途徑就是通過(guò)首席執(zhí)行官的領(lǐng)導(dǎo)。我接觸過(guò)很多公司,并不是開(kāi)發(fā)人員不想做正確的事情。他們也并不希望編寫出糟糕的代碼。但開(kāi)發(fā)人員沒(méi)有被告知,這是我們業(yè)務(wù)的一個(gè)基本職能。軟件交付使用時(shí)一定要具備安全性。為了使這成為一個(gè)標(biāo)準(zhǔn)以及讓開(kāi)發(fā)人員能夠堅(jiān)持自己的開(kāi)發(fā)理念,必須從公司最高管理層開(kāi)始貫徹落實(shí)。我從來(lái)沒(méi)有告訴過(guò)任何公司不要關(guān)心他們的軟件質(zhì)量。如果你關(guān)心軟件質(zhì)量,那么你必須關(guān)注它的安全性,因?yàn)椴豢赡艽嬖谌狈Π踩缘母哔|(zhì)量軟件。公司花費(fèi)了太多的精力在質(zhì)量上。有專門的質(zhì)量檢測(cè)工程師負(fù)責(zé)產(chǎn)品的測(cè)試。但是,還需要專門的工程師來(lái)測(cè)試軟件的安全性。質(zhì)量檢測(cè)工程師不能進(jìn)行這個(gè)測(cè)試,因?yàn)檫@是另外一門技術(shù)。所以需要有一個(gè)企業(yè)承諾需求和一個(gè)企業(yè)提供這樣的職能。
一旦做出這種承諾,將會(huì)產(chǎn)生許多種不同的模式,我們可以以此作為指南。比如成熟度模型(BSIMM)中的建筑安全就很管用。微軟也將它的SDL廣泛應(yīng)用。您對(duì)這些不同的模式怎么看?這會(huì)是一個(gè)很好的起步平臺(tái)嗎?
相關(guān)閱讀