發(fā)布于:2021-01-14 10:10:56
0
302
0
是時(shí)候測(cè)試語言了。哪種編程語言是最安全的,哪些語言有缺點(diǎn)?WhiteSource的一份報(bào)告研究了一些最受歡迎的編程語言中的安全漏洞,并研究了多年來高安全漏洞的趨勢(shì)。
由于某種原因,我們都有一種喜歡的編程語言。您是喜歡語法還是可以使用它的工具,或者只是習(xí)慣了它??紤]到這一點(diǎn),語言的安全性是否起作用?
一個(gè)報(bào)告從WhiteSource考察了流行的編程語言中的安全漏洞。
他們最安全的編程語言的最佳選擇是什么?
語言漏洞
讓我們查看報(bào)告中的列表并將其細(xì)分。
每種語言報(bào)告的開源漏洞總數(shù):
C (46.9%)
PHP (16.7%)
Java (11.4%)
JavaScript (10.2%)
Python (5.45%)
C++ (5.23%)
Ruby (4.25%)
WhiteSource從其數(shù)據(jù)庫(kù)中提取了他們的信息,該數(shù)據(jù)庫(kù)包括多個(gè)資源,包括“國(guó)家漏洞數(shù)據(jù)庫(kù),安全公告,GitHub問題跟蹤器和流行的開源項(xiàng)目問題跟蹤器”。
安全設(shè)定檔
起初,您可能會(huì)對(duì)C吹噓的大數(shù)字感到震驚,但這些數(shù)字并不能說明全部情況。C是一種較老的語言,在許多大型項(xiàng)目之后。(C出現(xiàn)在1972年左右!看到了鐘聲的興衰)。總的來說,考慮到這一點(diǎn),它仍然是一種安全的語言。
像Java這樣的主力語言在大部分編程人員中使用,這解釋了它在列表中的較高位置。自2015年以來,Java的高安全性漏洞有所減少。反序列化問題是Java最大的安全性問題之一。反序列化問題通常是Java特有的,在PHP,Ruby或Python中找不到。
JavaScript通常是排名第一的最流行的編程語言,因此在考慮其漏洞的增加時(shí)請(qǐng)牢記這一點(diǎn)。根據(jù)WhiteSource的研究,“ 61%的JS漏洞是路徑遍歷和加密,其中70%的軟件包幾乎未使用,維護(hù)或支持,到2018年下載量不到2000次”。人們避免下載這些軟件包的原因之一是由于自動(dòng)化工具的普及。
當(dāng)涉及到PHP時(shí),安全漏洞是相當(dāng)一致的。但是,它確實(shí)存在有關(guān)SQL注入(CWE-89)漏洞的問題。這大大削弱了PHP的安全性。在2017年和2018年,SQL注入漏洞很高。最近,PHP越來越流行。我們不知道它的未來如何;有人有任何預(yù)測(cè)嗎?
現(xiàn)在該是Python的時(shí)候了。平均而言,它在過去5年中具有最低的高安全漏洞數(shù)量。自2018年以來,該語言的安全漏洞在2018年有所減少,并且總體上一直在下降。
一線希望?
不要讓數(shù)字愚弄您,并認(rèn)為一種語言天生就比另一種語言天生好。該報(bào)告給出了這一寶貴的聲明:當(dāng)我們緊縮數(shù)字并查看每種編程語言隨時(shí)間推移報(bào)告的開放源代碼漏洞的數(shù)量時(shí),突出的事實(shí)是,除了所有語言報(bào)告的漏洞數(shù)量顯著增加這一事實(shí)之外,所有語言都沒有一致的趨勢(shì)在2017年。
安全性正在惡化嗎?還是我們只是在發(fā)現(xiàn)漏洞方面變得更好?還沒敲響警鐘。
該報(bào)告繼續(xù)解釋說,自動(dòng)化工具在發(fā)現(xiàn)開源組件中的漏洞方面已經(jīng)變得更好,這就是數(shù)量不斷增加的主要原因之一。實(shí)際上,“除了我們所研究的大多數(shù)語言(JavaScript和PHP除外),嚴(yán)重漏洞的百分比正在下降。”
沒有誠(chéng)實(shí),明確的答案,問哪種語言是“最安全的”是一個(gè)棘手的問題。沒有一種安全性,每種語言都有其用例。
作者介紹
熱門博客推薦