75% 的商業應用程式包含過時且有漏洞的開源程式碼

新思科技公司 分析過的 1253 個商業程式碼庫,並得出結論,幾乎所有 (99%) 所審查的商業應用程式都至少包含一個開源元件,並且所審查的儲存庫中 70% 的程式碼是開源的。 相較之下,在 2015 年的一項類似研究中,開源的份額為 36%。

然而,在大多數情況下,使用的第三方開源程式碼沒有更新,存在潛在的安全問題——91%的審查程式碼庫都有開放元件,這些元件已經超過5年沒有更新或已經處於廢棄狀態至少兩年且不由開發商維護。 因此,在儲存庫中發現的 75% 的開源程式碼包含未修補的已知漏洞,其中一半具有高危險等級。 在 2018 年的樣本中,存在漏洞的程式碼比例為 60%。

最常見的危險漏洞是
一個問題 CVE-2018,16487 (遠端程式碼執行)在庫中 Lodash 對於 Node.js,其易受攻擊的版本已出現超過 500 次。 最古老的未修補漏洞是 lpd 守護程式中的問題(CVE-1999,0061),1999年修訂。

除了商業專案程式碼庫的安全性之外,對於遵守免費授權條款也存在疏忽的態度。
73%的程式碼庫發現使用開源的合法性存在問題,例如授權不相容(通常GPL程式碼包含在商業產品中而沒有開放衍生產品)或在未指定授權的情況下使用程式碼。 93% 的許可證問題發生在 Web 和行動應用程式。 在遊戲、虛擬實境系統、多媒體和娛樂節目中,59% 的案例中發現違規行為。

該研究總共確定了所有程式碼庫中常用的 124 個典型開放組件。 最受歡迎的是:jQuery (55%)、Bootstrap (40%)、Font Awesome (31%)、Lodash (30%) 和 jQuery UI (29%)。 就程式語言而言,最受歡迎的是 JavaScript(74% 的專案中使用)、C++ (57%)、Shell (54%)、C (50%)、Python (46%)、Java (40%)、 TypeScript (36%)、C# (36%); Perl (30%) 和 Ruby (25%)。 程式語言的總份額為:
JavaScript (51%)、C++ (10%)、Java (7%)、Python (7%)、Ruby (5%)、Go (4%)、C (4%)、PHP (4%)、TypeScript ( 4%)、C# (3%)、Perl (2%) 和Shell (1%)。

來源: opennet.ru

添加評論