或許你是一個頂級的開發人員或者是一個頂級程式員,但是你是否知道,程式語言會產生最多的軟體安全性漏洞。
最近,大量報道的出現,讓人們的注意力轉移到了Drupal 和WordPress的漏洞上邊。許多攻擊行為已被歸因為駭客在利用WordPress上的漏洞,並且在Drupal上也出現了類似的情況。然而,現在已經發現了罪魁禍首,而且它長期在產生不良影響,那就是PHP語言。
最糟糕的語言
在過去的18個月中,Veracode研究了超過50000個應用程式,這些程式都使用了流行的語言,比如PHP, Classic ASP, .NET, C和C++, Java, JavaScript, iOS, Android, Ruby, ColdFusion, 以及 COBOL。該報告的產生是基於對一些語言的問題的分析。例如,根據報告顯示,有86%的軟體用PHP編寫,至少存在有一個XSS漏洞。
此外,根據報告顯示,至少有56%的軟體存在一個SQL注入漏洞。對於Classic ASP和ColdFusion使用者,SQL注入漏洞的結果更令人擔心,因為根據報告顯示,有64%的軟體使用了這兩種語言,所以至少存在一個SQL注入漏洞。根據OWASP的測試結果顯示,類似的情況在ColdFusion, PHP, 和 Classic ASP上也有出現。按此情況看,在論及軟體安全性的時候,這些語言是最糟糕的語言。
Veracode的創始人和首席技術官Chris Wysopal說,SQL注入攻擊一直持續不斷的原因就在於類似於PHP語言的使用。這樣的語言很難保證程式安全。據他所說,指令碼語言導致了最近如此多的XSS漏洞,緩衝溢出以及SQL注入攻擊事件的發生,根據Veracode雲端式資料分析和應用研究的報告資料,可以輕易證實他的理念。
出現這些問題的原因
產生這些漏洞的主要原因是,這些語言使用的方式,以及例如PHP, Classic ASP 和ColdFusion語言的設計方法。這些語言缺少像.NET and Java的內建功能和安全APIs,這也就是為什麼這些指令碼語言,會更易導致XSS漏洞,緩衝溢出和SQL注入攻擊的出現。
SQL注入攻擊在SQL查詢沒有綁定參數時發生,PHP對於綁定參數根本起不到任何作用,因此使得它更易受到SQL注入攻擊。
由於PHP, ColdFusion 和 Classic ASP語言目前主要是由那些剛進入編碼領域的網頁開發人員使用,他們主要關心的是讓他們的網站看上去更棒,所以他們沒有使用提供安全功能的語言,如.NET和 Java。很多時候,這甚至不是開發人員的錯,因為不管他們的公司提供給他們什麼平台,他們也必須工作。
移動語言
上文提到的Veracode的報告,還提供了Android和iOS應用程式的研究結果。當你比較它們時,在安全方面沒有很大程度的差異。87%的Android程式存在有漏洞,與之相比,情況比較類似,有81%的iOS程式存在漏洞。在這兩種語言中,存在如此多的漏洞的主要原因是,沒有執行適當的SSL認證檢查,以及使用過時的密碼密碼編譯演算法。這樣的做法導致了安全性漏洞。
結論
ColdFusion, PHP, 和Classic ASP,這三種最糟糕的語言產生最多的軟體安全性漏洞。這些語言在Veracode的分析報告和OWASP的測試報告中,表現的最差,這說明它們在其他的語言中有最多的安全性漏洞。
由於超過70%的內容管理使用了如Drupal, Joomla,和 WordPress系統,這些系統都是基於PHP語言的,這份報告應該公開那些使用了這些內容管理系統和指令碼語言的公司。
本文由 360安全播報 翻譯,轉載請註明“轉自360安全播報”,並附上連結。
原文連結:https://www.hackread.com/program-languages-that-generate-most-software-security-bugs/