最佳元件庫並非安全開發營運的唯一正解
當製造商設計與交付的實體產品被證實將對人們帶來傷害(甚至讓人們暴露在傷害的風險時),一般來說,製造商該迅速撤回產品。像這樣的工廠撤回案例在所有產業都相當常見,兒童玩具、汽車與工業機械等三個領域尤為顯著。然而,當軟體開發商因網路安全漏洞而讓產品對人們與系統造成損害時,他們卻沒有被追究責任,這樣的情況似乎極為反常,因為在當今世界裡,生活中絕大部分系統都必須仰賴軟體才能運行。
隨著資料外洩的影響變得更加普遍且具有破壞性,這樣的責任歸屬似乎更難定義。軟體供應商是否該為產品缺陷負責,例如,危及數百萬人的電力供應問題?
對於 Sonatype 的共同創辦人兼技術長 Brian Fox 而言,「答案是相當肯定的 」;事實上,這不僅對於軟體產業而言是無法避免的轉變,美國聯邦貿易委員會的消費者保護委員會已有權力追究發行商的過失。他在接受 Tech HQ 的獨家採訪時表示,若是軟體製造商發表的產品本來就是不安全的,「這有可能已嚴重違規,當傷害是經過合理評估後可預見時,即可被追究責任[…]在我們先前的每一個產業都曾經歷過類似轉變。不管你信不信,早在 100 年前,曾有過食品製造商無需對產品內含有蟲,以及食物中毒事件負責[…],汽車製造商亦無需對車輪從他們製造的汽車脫落事件,而對消費者造成的相關損害負責。我說,聽好,若是打賭某種形式的責任與義務,從來都不會落到軟體製造商頭上,那麼基本上就是打賭一件史上[…]任何產業皆從未發生過的情況。我不知道你是怎麼想的,但我是不敢輕易打賭的。」
軟體產業現階段尚未對責任與問責的形式達成任何共識,也許早在數十年前,當專利產品以 CD 形式實體發表時,責任歸屬是相對明確的。但是目前快速更迭的生產週期與開源庫、框架與元件的使用,讓歸屬變得更加不明確。目前在搜尋引擎上排名較前的是 SBoM(軟體物料清單)之概念,在某些知名軟體供應鏈漏洞事件曝光後(特別是去年的Apache Log4j 漏洞事件),人們對這方面的興趣日益劇增。
軟體組織、公司、基金會與社群正在凝聚意見,治理與立法的雛形亦逐漸清晰。在歐洲,目前的重點是以《網路復原力法案》的形式進行撤回和監管。但 Brian 卻表示,儘管方向是正確的,但歐盟卻放錯焦點,混淆是否為開放源碼的定義。
在美國,行政命令對於 SBoM 的關注,似乎正在朝向一種射後不理的立法方向發展。 「推動[…]能夠進行撤回[…]是我[也]正在大力推行的目標之一。我不喜歡 SBoM 最初要求的一點是,焦點放錯地方。他們聚焦於需要建立出一份物料清單,並在銷售出軟體時將其交給我們[終端使用者]。我喜歡打的比方是,試想一下,如果我們告知汽車製造商不再需要進行撤回程序。當在銷售一輛汽車時,需要做的就只是列印出物料清單,並將它放在手套箱內,對吧?當我這樣比喻時,人們總是覺得很可笑,因為這真的很荒謬,但這正是 SBoM 行政命令所宣稱需執行的內容,並沒有實際上做些什麼來鼓勵公司將焦點放在 SBoM 上,並確保在未來突然出現漏洞時,他們會對此作出相應措施,這也代表了將責任都推到了終端使用者頭上。」
若是軟體開發商願意放慢腳步,不總是將焦點只放在快速迭代的趨勢,那麼最終產品將在某種程度上對終端使用者而言,也許更加安全,這似乎較合乎邏輯一點。但事實並非如此,Brian 告訴我們,在 Sonatype 最近調查的公司之中:「我們發現同時解決這兩個問題[快速且安全的開發流程]的公司,實際上比僅關注其中一項的公司更加安全且迅速,因此,這似乎是有點矛盾的」。他解釋著說,快速且安全的開發軟體公司將以更正確角度,聚焦於安全、開發與營運的 CI/CD 流程,而這些公司剛好也都是最成功的。
「做好供應鏈管理是否就代表你必須得放慢腳步?不,這個問題的答案其實是,當以更安全的方式執行時,你也將執行得更迅速,因為意料之外的修復與重複工作也相對較少。以更有效率的方式來管理依存關係,也代表開發人員也能以更安全的方式進行創新。這是一種少見的雙贏局面,若能處理得當,[安全性]不一定只能成為系統的累贅。」
想要打造無安全疑慮的軟體,幾乎可說是不可能的任務。依存關係、更新與全新運用方法都再再證明無法做出這樣的保證。但 Fox 指出,重要是需要注意,大多數的潛在漏洞事件,無論是現在抑或是將來,都可能只是出自於理論的構想,必須建構出一套軟體使用模式,讓任何人都無法利用漏洞得利。他告訴我們,錯誤的思維流程是:「把這個問題定義為是含有污染殘留物的生菜,不應該銷售有污染殘留物的生菜,其實不是很對,因為惡意攻擊就像含有污染殘留物的生菜,確實得快速地從倉庫中清除,但典型的漏洞事件其實更像是花生醬,能對某些人造成致命性過敏,而對其他人而言,是完全沒有任何危害的。」
Brian Fox 因為擔任政府與組織的顧問,足跡遍佈全球,最近的一次是與拜登政府合作,鑽研網路安全性與軟體問題,想要解決這方面的問題絕非易事,例如,事先審查所謂的安全性元件庫,「因為存放數以百萬計的元件,實在無法一一審查所有元件,因為這是不可能的任務。而這樣做的公司,他們稱之為是最佳元件庫。問題就出在間接地使創新停滯不前,因為你令開發者不能使用未經通過繁冗審查程序的素材。但最嚴重的問題是,大多數的流程並沒有被真正地追蹤跟進與審查元件庫的內容。」
若狀況真是如此時,最佳元件庫的所有者,也就是具備「完整安全元件庫」的軟體開發公司,在終端使用者的觀點中,仍需對使用軟體所產生的任何損失負責。
雖然沒有任何快速的方法能夠解決軟體的法律歸屬責任問題,但像 Fox 這樣深耕於軟體產業(與網路安全產業)的專家,將在制定出具備一致性政策方面,扮演極為重要的角色。只還需要更多的時間,才能讓這些準則成為,不再只是因多個實體對相同問題的不同看法,而制定出的規則。在接下來的幾年內,「謹慎消費 」仍是在日常使用軟體時,維持安全性的最佳建議,對於軟體開發公司而言,安全、開發與營運必須不再只是流行口號而已。
READ MORE
- Data Strategies That Dictate Legacy Overhaul Methods for Established Banks
- Securing Data: A Guide to Navigating Australian Privacy Regulations
- Ethical Threads: Transforming Fashion with Trust and Transparency
- Top 5 Drivers Shaping IT Budgets This Financial Year
- Beyond Connectivity: How Wireless Site Surveys Enhance Tomorrow’s Business Network