GSS 資安電子報0007期【如何確保外購商用軟體之安全 】

有時候,直接外購現成軟體真的比較容易

當面對流程自動化的要求,企業會面臨兩個基本選擇:外購軟體或自行開發。如果市場上剛好有一套現成的軟體或套件符合需求,直接從架上將它們購回似乎是一個簡單的決定。商用軟體可以減少開發時間,原因是軟體元件或應用程式可直接購得或租用,而不需從無到有自行開發;再加上可以大幅降低採購及維護成本,企業外購現成軟體便是司空見慣的事。

在您決定採購商用軟體前,商用軟體可以在其他機構測試及驗證。商用軟體廠商在品質及功效上的名聲可能是您決定是否採用軟體的主要依據。

由於軟體開發及維護需鉅額的成本,許多[美國]政府以及商業單位已經指定採用商業軟體,因此「自行開發」可能不是大多數單位的選項。

當您外購軟體,您能維護它的安全嗎?

商業軟體有其便利,但這不代表它是安全。您對其原始程式碼沒有控制權;當軟體被發現存在漏洞,您也只能被動等候廠商依其意願決定發佈修補檔的時程。將商用軟體元件整合至您的環境可以節省開發階段的期初成本。但試想若廠商一旦決定大幅修改產品的功能、或並不支援您未來的功能需求、或被其他廠商併購甚至永遠消逝於這個產業,您該如何處理?

此外,商用軟體比較容易存在漏洞,原因是駭客對它們比較瞭解。駭客只需單一的軟體安全漏洞,就可能竊取企業的所有資料,而且駭客持續尋找安全漏洞,從不歇息。有越多的地方安裝相同的軟體、駭客發現軟體漏洞所獲得的投資報酬率就越高。

企業資安長該採取哪些作為?

以下檢查表可協助您檢查外購商用軟體之安全:

  • 對企業所有外購商用軟體進行全面性的審查,建立基準線,以瞭解目前的風險漏洞。審查工作需針對每一套外購商用應用程式進行風險分析及威脅評估。企業需確認每套外購商用軟體皆完成審查。
  • 建立明確且可量化的安全標準,作為採用新的商用軟體的依據,並將此依據納入採購商業軟體流程(而非在完成採購再做事後的檢查)。
  • 瞭解商用軟體廠商過去發佈修復程式的記錄[譯註:發佈修補程式的時程是否即時、亦或漏洞被發現卻遲遲無法修復];瞭解軟體是否經過安全認證。不予考慮那些無法即時修復安全漏洞的廠商。
  • 瞭解商用軟體廠商對於軟體安全的態度:他們是否願意將「修復安全漏洞」視為比修復「品質瑕疵」更為重要。在商業軟體正式上線之後,您應該正式要求軟體廠商採取主動、快速、以及嚴格的軟體漏洞修復政策。
  • 正式要求軟體廠商提供程式碼的靜態及動態安全掃描檢測結果報告。
  • 建立漏洞修補管理政策以及複審流程。政策及複審流程需包含明確的數據,說明漏洞修補程式及更新程式在正式套用前,已通過測試。
  • 正式要求當軟體廠商所提供的軟體或更新程式無法符合安全規範時,購買方擁有「逆向工程」反組譯軟體程式的權力。
  • 若外購之商用軟體本身至為關鍵,則正式要求軟體供應商將原始程式碼交由第三方公正單位保管(escrow),以預防軟體商因故無法永續經營而造成軟體無法持續維護之困境。
  • 需注意,若您對本身已證明是安全的商用軟體進行客製化的工作,可能會導致軟體變為不安全。應建立一個安全架構以及軟體工程複審委員會,以檢查並核准自行修改後的商用軟體程式碼。
  • 建置軟體開發生命週期(Software Development Life Cycle),以確認將「安全」加入軟體開發流程是一個明確的要求。要求您的軟體供應商以及合作夥伴也做到相同的要求。

上述的許多的項目都包含了「正式」的要求規範。這代表這些要求應該正式加入您與軟體供應商所簽訂的採購合約中。許多軟體供應商不願意為中小型客戶修改採購契約。假如您無法讓軟體供應商在法律層面同意這些要求,可以考慮集合其他企業,以組成擁有相同需求的使用者群,這樣的使用者群在與廠商談判時,將成為擁有更多購買能力的單一組織。

Fortify協助掌控商業軟體安全

Fortify公司指導軟體廠商如何最佳實踐軟體安全,一直居於領導者的角色。Fortify所研發的安全檢查工具可軟體開發商在開發階段及上線前階段檢查軟體的安全,這代表程式的錯誤及漏洞在軟體正式成為產品前便已修復。

Fortify - 軟體安全的根源
Fortify Software產品可保護組織免於因關鍵應用軟體存在安全問題而導致威脅。Fortify產品已獲領先的軟體公司和Fortune前500大的IT組織使用。

Fortify已發展出領先業界且獲得專利的技術,該技術從內到外的將安全引入到軟體應用程式中,使安全成為軟體固有的本質,藉由在佈署前消除應用程式中的漏洞,應用程式可保護自己免受攻擊。你可以通過訪問 www.fortify.com 以進一步瞭解Fortify以及它的軟體安全產品。