開發(fā)商是否應(yīng)該因?yàn)榘踩┒炊黄鹪V?
如果我們因?yàn)槌粤藵h堡而導(dǎo)致食物中毒的話,就可以起訴餐廳沒有盡到確保產(chǎn)品安全的責(zé)任——因此,如果軟件開發(fā)人員編碼疏忽導(dǎo)致黑客能夠輕松清空用戶銀行賬戶的話,我們卻為什么反而不能進(jìn)行起訴了呢?
劍橋大學(xué)的安全研究員理查德·克萊頓博士提出了這一個(gè)問題——他發(fā)出呼吁,希望軟件開發(fā)商能夠承擔(dān)起由于沒有發(fā)現(xiàn)自家產(chǎn)品中存在的可避免安全漏洞而給用戶帶來損害的賠償責(zé)任來。
在當(dāng)今的軟件最終用戶許可協(xié)議之中,開發(fā)商通常會(huì)要求用戶簽字放棄由于應(yīng)用程序中包含的安全漏洞導(dǎo)致計(jì)算機(jī)被惡意軟件攻擊后針對(duì)軟件開發(fā)者提起訴訟的權(quán)利。
克萊頓聲稱這項(xiàng)規(guī)定導(dǎo)致開發(fā)者不需要為自家軟件中存在的任何安全漏洞承擔(dān)一點(diǎn)責(zé)任。目前,這項(xiàng)觀點(diǎn)已經(jīng)獲得了歐洲地區(qū)官員的支持,英國上議院的一個(gè)委員會(huì)作出了在2007年實(shí)施這項(xiàng)措施的建議,歐盟委員會(huì)的專員們則在2009年針對(duì)這項(xiàng)要求進(jìn)行了討論——不過,相關(guān)決議并沒有獲得通過。
克萊頓認(rèn)為:“確保人們?cè)谫徺I所有產(chǎn)品的時(shí)間,都能夠被當(dāng)作消費(fèi)者對(duì)待是非常重要的;但是,軟件卻不在這其中,還屬于一種需要購買者自行判斷風(fēng)險(xiǎn)程度的東西。”
“這些年來,我們一直在呼吁【軟件開發(fā)商】應(yīng)當(dāng)為給其它人造成的損害承擔(dān)責(zé)任。畢竟,即便我們選擇去街道拐角賣漢堡,購買者依然能夠【基于受到的損害情況】來提起起訴”。
按照克萊頓的觀點(diǎn),只要讓開發(fā)商承擔(dān)起相應(yīng)的責(zé)任來,就可以避免軟件中可避免安全漏洞被惡意軟件使用來感染用戶,導(dǎo)致遭遇某種形式的重大損失——資金被盜竊之類的情況出現(xiàn)了。
克萊頓聲稱,只要在相關(guān)專家的幫助下,依靠針對(duì)先前案件中可以避免的缺陷所做出的定義,法院就能夠?qū)Ω腥驹吹膶?shí)際情況進(jìn)行確認(rèn)。
他解釋到:“問題的關(guān)鍵應(yīng)該是‘他們是不是由于疏忽沒有而盡到自己的責(zé)任?’”。但常規(guī)測試的目標(biāo)卻是確認(rèn)‘他們的工作質(zhì)量是否達(dá)到了現(xiàn)有標(biāo)準(zhǔn)的要求?’。他還進(jìn)一步指出,只要利用普通安全工具以及驗(yàn)證套件就可以找出代碼中的已知缺陷來。
他堅(jiān)持認(rèn)為,開發(fā)者需要承擔(dān)相應(yīng)責(zé)任就意味著消費(fèi)者能夠獲得的保障程度上升,還可以激勵(lì)為他們?cè)跍p少自有軟件安全漏洞方面作出更積極的努力。
克萊頓認(rèn)為,為了實(shí)現(xiàn)所有軟件開發(fā)者都必須承擔(dān)相應(yīng)責(zé)任的目標(biāo),這項(xiàng)決議就需要擁有國際級(jí)別的約束力。
“這并不是一件簡單的事情。原因就在于不僅要面對(duì)【業(yè)內(nèi)】所有成員的無數(shù)抱怨,而且不能在國家級(jí)別單獨(dú)進(jìn)行處理,因此為了實(shí)現(xiàn)這一點(diǎn)可能就需要在全球范圍內(nèi)堅(jiān)持很多年的時(shí)間”。
現(xiàn)實(shí)中,已經(jīng)出現(xiàn)過幾起最終用戶針對(duì)IT廠商提供的軟件在安全方面存在的漏洞提起訴訟的案例。按照歐華律師事務(wù)所合伙人詹姆斯·斯圖爾特的說明,其中有幾起訴訟甚至還獲得了成功,讓后續(xù)訴訟行動(dòng)可以作為一個(gè)判例使用從而增加勝訴的幾率。不過,即便這些訴訟獲得了一定的成功,但由于開發(fā)商可以對(duì)軟件最終用戶許可協(xié)議中的限制條件進(jìn)行調(diào)整,從而就能夠輕松做到不必為產(chǎn)品中存在的安全漏洞承擔(dān)更多的責(zé)任。
詹姆斯聲稱,對(duì)于任何由軟件制造商單方面給出的針對(duì)編碼缺陷造成損害需要承擔(dān)責(zé)任的規(guī)定獲得成功的可能性都非常值得懷疑。原因就在于,開發(fā)商總是能夠憑借各種各樣五花八門的限制措施,來達(dá)到將所有責(zé)任都推卸給最終用戶的結(jié)果:舉例來說,聲稱最終用戶未能遵循安全方面的規(guī)定就屬于一個(gè)非常不錯(cuò)的借口。
他指出:“軟件開發(fā)商可以利用很多種借口來回避掉這方面的問題。舉例來說,‘用戶是否已經(jīng)升級(jí)到可以消除這些漏洞的最新版本上?’就將是很常見的借口。”
并且,克萊頓與其它支持開發(fā)商承擔(dān)責(zé)任的人士正面臨著極為強(qiáng)大的反對(duì)之聲。有鑒于潛在責(zé)任之嚴(yán)重程度——惡意軟件造成各項(xiàng)損失的規(guī)模估計(jì)至少在每年數(shù)十億美元左右的等級(jí)——軟件產(chǎn)業(yè)正積極進(jìn)行游說反對(duì)實(shí)施任何此種類型的措施。
正如軟件業(yè)的游說者所聲稱,考慮到底層應(yīng)用程序代碼的極端復(fù)雜性,開發(fā)商或許真的已經(jīng)是竭盡全力來保證軟件的安全了。當(dāng)2007年英國上議院就該問題進(jìn)行討論的時(shí)間,來自反對(duì)方的軟件供應(yīng)商就做出過這樣的比喻:家里被盜之后,受害者通常是不會(huì)選擇起訴門窗制造商要求進(jìn)行賠償?shù)摹?/p>
開發(fā)商提到的另外一個(gè)問題就是,這將會(huì)導(dǎo)致軟件制造商選擇禁止自有應(yīng)用程序使用來自第三方的外部代碼,以防止無法預(yù)料到的潛在問題出現(xiàn),而最終的后果則可能會(huì)是創(chuàng)新與應(yīng)用程序之間的互操作性遭到全面扼殺。
還有一個(gè)問題就是,無明確個(gè)人或團(tuán)體負(fù)責(zé)開發(fā)工作的開源軟件中存在的缺陷應(yīng)該由誰來承擔(dān)責(zé)任,如何才能進(jìn)行確認(rèn)。在英國上議院就該問題進(jìn)行討論的時(shí)間,有人認(rèn)為應(yīng)當(dāng)豁免掉那些自愿為此類項(xiàng)目提供支持人員的賠償責(zé)任。