安全研究人員找到了一種在Apple,PayPal和Microsoft系統上運行代碼的方法
攻擊非常簡單,卻非常有效
最近更新時間 2021-02-11 09:56:14
安全研究員Alex Birsan發現了一個安全漏洞,使他可以在Apple,Microsoft,PayPal和其他30多家公司擁有的服務器上運行代碼。該漏洞利用顯然也很簡單,許多大型軟件開發人員都必須弄清楚如何保護自己免受攻擊。
該漏洞利用了一個相對簡單的技巧:用公共包替換私有包。公司在構建程序時,通常會使用其他人編寫的開源代碼,因此他們不會花費時間和資源來解決已經解決的問題。例如,我曾在必須將文本文件實時轉換為網頁的網站上工作。我的團隊沒有編寫自己編寫代碼的方法,而是找到了一個執行該操作的程序並將其構建到我們的網站中。
這些可公開使用的程序可以在存儲庫中找到,例如NodeJS的npm,Python的PyPi和Ruby的RubyGems。值得注意的是,Birsan發現這些存儲庫可用於實施此攻擊,但不僅限於這三個。
除了這些公共軟件包之外,公司通常還會構建自己的私有軟件包,這些私有軟件包不上傳,而是分發給自己的開發人員。這是Birsan發現漏洞的地方。他發現是否可以找到公司使用的私有軟件包的名稱(在大多數情況下,這項任務非常容易完成),他可以將自己的代碼上傳到一個具有相同名稱的公共存儲庫中,自動化系統會改用他的代碼。他們不僅會下載他的軟件包而不是正確的軟件包,而且還會在其中運行代碼。
為了舉例說明,假設您的計算機上有一個Word文檔,但是當您打開它時,計算機會說:“嘿,互聯網上還有一個同名的Word文檔。我會打開那個。” 現在,想象一下Word文檔可以自動對您的計算機進行更改。這不是一個好情況。
兩家公司似乎都同意這個問題很嚴重。Birsan在他的Medium帖子中寫道:“大多數已授予的Bug賞金都設置為每個程序的策略所允許的最大金額,有時甚至更高。” 對於那些不熟悉的人,錯誤賞金是公司向發現嚴重錯誤的人支付的現金獎勵。錯誤越嚴重,他們付出的錢就越多。
根據Birsan的說法,他就此漏洞所接觸的大多數公司都能夠快速修補其系統,因此它們不再脆弱。微軟甚至整理了一份白皮書,解釋了系統管理員如何保護他們的公司免受這類攻擊,但令人驚訝的是,花了這麼長時間才有人弄清楚這些龐大的公司容易受到這種攻擊。值得慶幸的是,這不是那種必須立即更新家中每臺設備的故事,但是對於系統管理員來說,這將是漫長的一週,他們現在必須更改其公司使用公共代碼的方式。