因其跨平臺(tái)能力,Electron開發(fā)平臺(tái)是許多應(yīng)用的關(guān)鍵組成部分。基于JavaScript和Node.js的Electron被用于Skype、WhatsApp和Slack等流行消息應(yīng)用,甚至被用于微軟的Visual Studio Code開發(fā)工具。但Electron也會(huì)帶來安全隱患,因?yàn)榛谒膽?yīng)用會(huì)被輕松地修改并植入后門——而不會(huì)觸發(fā)任何警告。
在上周二的BSides LV安全會(huì)議上,安全研究員Pavel Tsakalidis演示了一個(gè)他創(chuàng)建的使用Python開發(fā)的工具BEEMKA,此工具允許解壓Electron ASAR存檔文件,并將新代碼注入到JavaScript庫(kù)和內(nèi)置Chrome瀏覽器擴(kuò)展。安全研究員表示他利用的漏洞不在應(yīng)用程序中,而在應(yīng)用程序使用的底層框架Electron中。Tsakalidis稱他聯(lián)絡(luò)了Electron但沒有得到回應(yīng),而且這個(gè)漏洞仍然存在。
雖然進(jìn)行這些更改在Linux和macOS上需要使用管理員訪問權(quán)限,但在Windows上只需本地訪問權(quán)限即可。這些修改可以創(chuàng)建新的基于事件的“功能”,可以訪問文件系統(tǒng),激活Web cam,并使用受信任應(yīng)用程序的功能從系統(tǒng)中泄露的信息(包括用戶憑據(jù)和敏感數(shù)據(jù))。在他的演示中,Tsakalidis展示了一個(gè)后門版本的Microsoft Visual Studio Code,它將打開的每個(gè)代碼選項(xiàng)卡的內(nèi)容發(fā)送到遠(yuǎn)程網(wǎng)站。
Tsakalidis指出,問題在于Electron ASAR文件本身未加密或簽名,允許在不更改受影響應(yīng)用程序的簽名的情況下對(duì)其進(jìn)行修改。開發(fā)人員要求擁有加密ASAR文件權(quán)限的請(qǐng)求被Electron團(tuán)隊(duì)關(guān)閉,但他們也沒有采取任何行動(dòng)。