安全動態(tài)

有史以來復制最多的 StackOverflow 代碼段存在缺陷!

來源:聚銘網(wǎng)絡    發(fā)布時間:2019-12-09    瀏覽次數(shù):
 

信息來源:OSCHINA

對于開發(fā)者而言,Stack Overflow 和 GitHub 是最為熟悉不過的兩大平臺,這些平臺充斥著大量開源項目信息和解決各類問題的代碼片段。而就在近日,Palantir的 Java 開發(fā)人員,也是 StackQflow(與編程相關的問題的問答網(wǎng)站)中排名最高的參與者之一  Andreas Lundblad 卻承認,一段自己十年前寫的代碼,也是 Stack Overflow 上復制次數(shù)最多、傳播范圍最廣的代碼段均包含一個錯誤。

據(jù)悉,2018年發(fā)表的一篇學術論文確定了在網(wǎng)站上發(fā)布的代碼片段 Lundblad 是從 StackOverflow 提取的復制最多的 Java 代碼,然后在開源項目中重復使用。

該代碼段以人類可讀格式(例如 123.5 MB)打印了字節(jié)數(shù)(123,456,789 字節(jié))。學者發(fā)現(xiàn),此代碼已被復制并嵌入到 6,000 多個 GitHub Java 項目中,比其他任何 StackOverflow Java 代碼段都多。

而在上周發(fā)布的博客文章中,Lundblad 則承認,該代碼存在缺陷,并且錯誤地將字節(jié)數(shù)轉換為人類可讀的格式。他表示,在學習了學術論文及其結果之后,已重新審視了代碼。同時再次查看了該代碼,并在其博客上發(fā)布了更正的版本。

STACKOVERFLOW 代碼有時包含安全性錯誤

據(jù)了解,盡管 Lundblad 的代碼段是存在一個瑣碎的轉換錯誤,僅導致文件大小估計稍有不準確,但情況或許可能會更糟。例如,該代碼可能包含安全漏洞。如果這樣做的話,那么修復所有易受攻擊的應用程序將花費數(shù)月甚至數(shù)年,使用戶容易受到攻擊。

事實上,即使普遍認為從 StackOverflow 復制粘貼代碼是一個壞主意,但開發(fā)人員還是一直這樣做。

2018 年的研究論文顯示了這種做法在 Java 生態(tài)系統(tǒng)中的普及程度,并揭示了復制流行的 StackOverflow 答案的絕大多數(shù)開發(fā)人員甚至都沒有理會其來源。

從 StackOverflow 復制代碼但沒有署名的軟件開發(fā)人員,實際上對其他編碼人員隱藏了他們已經(jīng)在項目內部引入未經(jīng)審查的代碼的情況。

這聽起來像是一個過于警惕的聲明,但在 2019 年 10 月發(fā)表的另一項學術研究項目顯示,StackOverflow 代碼段確實包含漏洞。該研究論文在過去十年中在 StackOverflow 上發(fā)布的 69 種最流行的 C ++ 代碼片段中發(fā)現(xiàn)了主要的安全漏洞。

研究人員透露,他們在總共 2859 個 GitHub 項目中發(fā)現(xiàn)了這 69 個易受攻擊的代碼片段,顯示了一個錯誤的 StackOverflow 答案如何對整個開源應用生態(tài)系統(tǒng)造成破壞。

 
 

上一篇:網(wǎng)絡信息安全動態(tài)防御體系研究

下一篇:2019年12月09日 聚銘安全速遞