美國大學因umn故意提交程式碼被禁止向主線linux核心提交補丁| 硬創精選

作者 | 褚杏娟

“即使你可以提供證據證明那些補丁是有效的,但為什麼事實上我們卻是在浪費時間做額外的工作?”

Linus Torvalds 應該要氣炸了。

近日,Linux 核心穩定分支的維護者 Greg Kroah-Hartman 將美國明尼蘇達大學(UMN)拉入了“黑名單”,禁止其向主線 Linux 核心提交補丁,原因是 UMN 故意提交有安全影響的可疑程式碼,並以研究的名義進行其他“實驗”。

1

並非第一次引起爭議

前段時間,明尼蘇達大學計算機科學與工程專業的博士生 Qiushi Wu(本科為中國科學技術大學)和該學院的助理教授 Kangjie Lu(本科為北京大學)撰寫了一篇旨在提高 OSS 中修補過程安全性的論文,題為“On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits”。

據悉,Qiushi Wu 在 2018 年獲得了中國科學技術大學資訊科學與工程系的學士學位,研究方向是程式分析技術在 Linux 核心等作業系統上的應用。Qiushi Wu 在今年 2 月份將上述論文上傳到 GitHub 上(目前已經刪除),並計劃在 5 月份舉行的第 42 屆 IEEE 安全與隱私研討會上針對該論文進行討論。

該論文探索了在開源專案的補丁程式中藏匿安全漏洞的可能性,希望指導維護團隊更科學地衡量此類補丁、正確做出合併判斷。

在研究中,研究團隊用實驗來演示引入漏洞補丁的實用性,該行為被認為會在作業系統軟體中引入錯誤條件。而且在論文中,他們公開了將漏洞插入 Linux 核心及其他開源專案的可行方法,並表示向各類開源專案的漏洞植入成功率已經接近 60%。這些在當時就引發了很大的安全爭議。

美國大學因umn故意提交程式碼被禁止向主線linux核心提交補丁| 硬創精選

對此,Qiushi Wu 在去年 12 月 15 日也做出瞭解釋。“我們沒有也不打算在 Linux 核心中引入任何錯誤或漏洞。所有引入錯誤的補丁只在電子郵件交流中保留,並沒有被採用或合併到任何 Linux 分支中,這是由維護者明確確認的。因此,在任何 Linux 分支中,郵件中引入錯誤的補丁甚至都沒有變成 Git 提交。沒有 Linux 使用者會受到影響。”

同時,Qiushi Wu 也表示,該實驗已通過了 UMN 的機構審查委員會(IRB)審查,該委員會確定該專案不涉及人類研究,因此沒有再進行倫理審查。

但最近,明尼蘇達大學的研究人員又提交了新一輪的補丁,這些補丁聲稱來自“一個新的靜態分析器”,這引起了 Greg 的反感,並將整個明尼蘇達大學拉入黑名單。

“我一直想這麼做,但最近的事件終於迫使我這麼做了。”Greg 表示。對此,明尼蘇達大學計算機科學與工程專業博士生 Aditya Pakki 表示很氣憤,並向 Greg 發郵件表示:

Greg,我謹請你停止這些誹謗性的野蠻指控。

這些補丁是作為我編寫的新靜態分析器的一部分發送的,顯然它的靈敏度不高。我提交了補丁,希望能得到反饋。我們不是 Linux 核心方面的專家,但(你)反覆發表這些宣告令人討厭。

這顯然是一個錯誤的步驟,但是你先入為主的偏見如此強烈,以至於你提出的指控毫無根據,也沒有帶來任何正向、有益的反饋。由於不但不受歡迎而且還會嚇到新手和非專家,因此我將不再提交補丁。

而 Greg 也在回覆的電子郵件中強調,錯在明尼蘇達大學,社群不是其測試物件:

你和你的團隊已經公開承認傳送了已知的錯誤補丁,以檢視核心社群對它們的反應,並基於此發表了一篇論文。

現在你又提交了一系列明顯錯誤的補丁,我該怎麼看待這件事情呢?

這些補丁顯然不是由任何一個有智慧的靜態分析工具建立的,因為它們都是完全不同的模式的結果,而且所有這些顯然都沒有修復任何東西。那麼,除了你和你的團隊繼續透過提交這種毫無意義的補丁來對核心社群的開發者進行試驗之外,我還能想到什麼?

任何對 C 語言有一定了解的人,用點時間都可以看出來你們提交的補丁根本沒有任何作用,所以認為一個工具創造了這些補丁,然後你認為它們是有效的 “修復”,這完全是你們的疏忽,不是我們的。錯在你們,我們的工作不是成為你創造的工具的測試物件。

我們社群不喜歡被試驗,也不喜歡透過提交已知的補丁被“測試”,這些補丁要麼是故意不做什麼,要麼是故意引入 bug。如果你想做這樣的研究,我建議你找其他社群,你在這裡是不受歡迎的。

因此,我現在不得不禁止你的大學今後的所有貢獻,並剔除掉你以前的貢獻,因為它們顯然是以惡意的方式提交的,目的是造成問題。

在此之後,UMN 計算機科學官方也透過 Twitter 釋出了以下宣告,表示該研究專案已被暫停,並計劃調查該專案的批准程式,以確定是否需要採取補救措施和可能的保障措施。

今天,明尼蘇達大學計算機科學與工程學系的領導瞭解到一位教職員工和研究生正在研究 Linux 核心的安全性的詳細資訊。由於所使用的研究方法引起了 Linux 核心社群的強烈關注,導致截至目前為止本大學被禁止為 Linux Kernel 做出任何貢獻。

我們對此非常重視,並立即中止了這一研究。我們將對該研究的方法和批准流程做相應的調查,確定適當的補救措施,並在需要時採取措施防止未來可能發生的問題。我們會盡快將調查結果報告給社群。

Mats Heimdahl,部門主管

Loren Terveen,部門副主管

美國大學因umn故意提交程式碼被禁止向主線linux核心提交補丁| 硬創精選

2

浪費社群時間還是有價值的研究?

Linux 核心是迄今為止規模最大的軟體開發專案之一,目前其程式碼總量已經達到 2800 餘萬。Linux 核心維護團隊每天都要接受來自世界各地、不同領域的貢獻者們提交的大量補丁,並在將成果正式合併前對內容進行稽核。明尼蘇達大學研究團隊的行為無疑遭到了 Linux 貢獻者和維護人員的強烈譴責。

在 Linux 核心方面擁有豐富經驗的開發人員 Leon Romanovsky 發現後立即表示要求明尼蘇達大學停止提交已知無效的補丁,“這是在浪費我們的時間。”甚至有網友表示,這篇論文故意誤導,試圖誇大其貢獻。“學術界的很多人只是為了拿到證書而已。”

位於美國波士頓的東北大學計算機科學副教授 Abhi Shelat 表示,“學術研究不應該浪費社群的時間。如果你覺得這項研究值得做,應該聯絡 UMN 的機構審查委員會。”Shelat 同時敦促 Linux 社群成員嚮明尼蘇達大學的 IRB 提出質疑,以確定該實驗是否得到了充分的審查。

針對這點,Qiushi Wu 在之前的解釋中也表示,這項工作確實了浪費了維護人員的時間,雖然仔細考慮過這個問題,但沒有找到更好的解決方案,但團隊將透過精簡補丁等方式在努力避免該問題。

不過,也有 Linux 核心社群之外的開發人員認為,大家應該關注的是 Linux 核心程式碼的安全性問題,而非研究人員的“滑稽”行為。

如果 UNM 沒有引起任何注意,它們是否會被發現?其他惡意行為者是否有做過這樣的事情而沒有被抓住?

“這似乎表明任何駭客組織或個人可以將自己的攻擊行為置於核心中。假設他們貢獻了 99。9%的有用程式碼,解決了實際問題,在幾年內建立了信任,並且很少編寫難以察覺的惡意漏洞。然後,每個人都認為那些漏洞只是普通的錯誤。”

Google 密碼學和軟體工程師 Filipo Valsorda 在推特上表示,就像 Linux 核心維護者說他們無法確定補丁是否是惡意的,因此必須依靠電子郵件地址域名。比起譴責學者,是否基於確定的程式碼正確性做出信任決定應該是更值得關注的問題。

盧塔安全公司 (Luta Security) 執行長凱蒂•穆蘇里斯 (Katie Moussouris) 也表達了類似的看法,稱這種反應是“情緒上的過度反應”,並認為這些發現從國家安全形度來看是有價值的。

經過激烈的爭論之後,Greg 現在表示,將還原該團隊提交的所有補丁,並再次進行審查來確定其是否有效。在此之前,該團隊的補丁仍會被刪除,以確保程式碼庫中沒有引入任何問題。

這個補丁集有的可以“簡單”恢復,有 68 個需要手動檢查恢復,其中一些還不能被還原。在確定這些更改有效後,明尼蘇達大學研究團隊可以重新提交。

但最後,Greg 還是表示,“即使你可以提供證據證明它們是有效的,但為什麼事實上我們卻是在浪費時間做額外的工作?”

TAG: 補丁Linux核心提交明尼蘇達