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