針對8萬個應用程式的調查發現,有7成程式含有開源漏洞

針對8萬個應用程式的調查發現,有7成程式含有開源漏洞

應用程式安全業者Veracode本周公布其軟體安全研究報告,指出在所掃描的8.5萬個應用程式中,有7成應用程式所使用的開源函式庫,至少含有一個安全漏洞。

此次Veracode的研究著眼於開源函式庫的安全漏洞。這是因為在現代的應用程式中,開源函式庫幾乎無所不在,例如大多數的JavaScript程式都含有數百個開源函式庫,有些更超過1千個;而且許多程式語言都有同樣的核心函式庫組合,例如每一個JavaScript或PHP程式都使用了一些特定的核心函式庫。

Veracode分析了8.5萬個應用程式所使用的35.1萬個外部函式庫,顯示開源函式庫幾乎無所不在,以JavaScript程式的使用數量最多,多半使用數百個開源函式庫,而不管是Ruby程式、Java程式、PHP程式、.NET程式、Python程式、Go或Swift程式,也都使用了數個到數百個不等的開源函式庫。

根據統計,有接近6成的PHP開源函式庫含有安全漏洞,超過5成的Go開源函式庫有漏洞,雖然只有20%左右的Swift開源函式庫含有安全漏洞,但Swift開源函式庫的漏洞密度最高,代表每個Swift開源函式庫含有更多的漏洞,約為7個。約有26%的JavaScript開源函式庫含有安全漏洞,但平均每個函式庫的漏洞數量為2個。

這些開源函式庫的安全漏洞前三名為跨站指令碼(Cross-site scripting,XSS),占29.1%,不安全的反序列化(23.5%),以及有缺陷的存取控制(20.3%)。

值得注意的是,在應用程式中所採用的、含有安全漏洞的函式庫,有高達47%並非是開發者自行嵌入的,而是因為與其它函式庫相依而被導入的,而這樣的情況在JavaScript、Ruby、PHP與Java程式中特別常見。不過,幸好7成的漏洞只要藉由更新就能修補,而不必重寫程式。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏