Arch-Linux

如何檢查 AUR 包中的惡意程式碼?

  • October 7, 2020

後來從 3 個 AUR 包中發現並刪除了惡意程式碼acroreadblaz以及minergate例如:acroread PKGBUILD 詳細資訊)。它是在惡意使用者通過更改孤立 AUR 包的所有者並包含惡意curl命令而發布的送出中發現的。

curl命令將下載主 bash 腳本x,然後是第二個腳本u( u.sh),以創建 systemd 服務並使用函式收集一些系統數據(非敏感數據),但攻擊者可以修改腳本以按順序上傳。

實際上,由於某些原因(需要一些知識,需要更多時間等),並非所有使用者都能夠在他們的系統上建構任何軟體包之前檢查 PKGBUILD。為了了解它是如何工作的,我在這個 pastbin 頁面上下載並上傳了 2 個 bash 腳本。

檢查 AUR 包中是否存在惡意程式碼的最簡單方法是什麼?

裸安全:另一個存在惡意軟體問題的 Linux 社區

在 Arch Linux 使用者儲存庫中發現惡意軟體包

關鍵是對於沒有經驗的使用者來說檢查原始碼可能不是那麼容易。然而,從自然的對立面來看,Arch Linux 並不是最適合沒有經驗的使用者的 Linux 發行版。

Arch wiki(s)、AUR 助手和大多數線上論壇警告此類儲存庫/AUR 的危險,並且不能盲目信任它們。一些助手還警告您應該在安裝 PKGBUILD 之前閱讀它們。

作為建議,始終建議使用trizenaurman(或類似的實用程序)而不是yaourt(列為有問題/已停產),因為它們為使用者提供了檢查包/差異列表的機會。它還有助於在獲取或更新包時查看貢獻的歷史記錄。

當你有官方二進制包作為替代時,臨時使用者不應該使用這些儲存庫作為他們主要的包來源。如果您必須使用 AUR,您可以搜尋 Arch 論壇和/或郵件列表以獲取問題報告。然而,雖然這是一個過於樂觀的觀點,但 Arch 社區似乎定期檢查包,就像這裡的情況一樣。

您也可以嘗試使用maldetect在下載的原始碼中搜尋已下載的原始碼以查找已知的惡意軟體簽名,但是使用自定義程式碼擷取某些內容的機率為零。maldetect通常更適合在 PHP 程式碼中擷取惡意軟體。

PS 在我上一份工作中,我使用了一小段時間dhcpd從原始碼編譯的軟體包,並且多年來一直使用從原始碼編譯的 FreeRadius 軟體包(因為 Debian 版本已過時)。

在第一種情況下,我對 github 上的原始碼做了一些粗略的檢查,我下載了幾次。在第二種情況下,我積極關注了FreeRadius使用者論壇、github論壇和程式碼更新。我也有一個測試/隔離環境。(我什至設法送出了在我的測試環境中發現的重要錯誤報告)。

言歸正傳,如果您對原始碼安裝包進行任何認真的工作,它通常比發行版提供的官方編譯包涉及更多的工作。

PS2。通常,任何經驗豐富的 Unix 管理員都會告訴您直接執行直接來自的腳本/原始碼,curl而無需進行任何視覺檢查,從安全的角度來看,這是一個非常糟糕的主意。

引用自:https://unix.stackexchange.com/questions/456417