最新研究表明,大多數(shù)端點(diǎn)檢測和響應(yīng)(EDR)產(chǎn)品用于監(jiān)視正在運(yùn)行進(jìn)程的“鉤子”(hooking)技術(shù)可以被濫用。
幾乎所有EDR系統(tǒng)的工作方式都存在一個通用缺陷,攻擊者可以利用這個缺陷偷偷植入惡意軟件。
安全公司Optiv在近期的一份報告中表示,解決該問題并非易事,需要對市場上大多數(shù)EDR系統(tǒng)進(jìn)行重大改造。
EDR產(chǎn)品旨在檢測并響應(yīng)端點(diǎn)設(shè)備上的可疑行為和攻擊。大多數(shù)產(chǎn)品結(jié)合了基于簽名的惡意軟件檢測、啟發(fā)式分析、沙箱以及其他技術(shù),發(fā)現(xiàn)和阻止威脅。安全團(tuán)隊(duì)使用EDR快速隔離失陷的系統(tǒng),收集端點(diǎn)日志和其他威脅跡象來進(jìn)行補(bǔ)救。
EDR系統(tǒng)的數(shù)據(jù)遙測流程
許多EDR產(chǎn)品使用“鉤子”技術(shù)檢測可疑活動并收集信息,進(jìn)行基于行為的分析。Optiv的技術(shù)經(jīng)理Matthew Eidelberg解釋,“鉤子”技術(shù)用于監(jiān)視計算機(jī)正在運(yùn)行的進(jìn)程。“鉤子”設(shè)置在系統(tǒng)調(diào)用接口上,系統(tǒng)調(diào)用接口允許正在運(yùn)行的進(jìn)程與操作系統(tǒng)進(jìn)行交互,請求服務(wù),例如分配內(nèi)存或創(chuàng)建文件。
進(jìn)程調(diào)用執(zhí)行流程示例
Eidelberg說:“許多EDR產(chǎn)品將‘鉤子’設(shè)置在用戶有權(quán)訪問的程序執(zhí)行點(diǎn),因此用戶有權(quán)刪除或完全繞開這些‘鉤子’?!?/p>
“鉤子”為終端設(shè)備上的EDR代理(agent)提供了監(jiān)視所有正在運(yùn)行的進(jìn)程并查找對這些進(jìn)程的任何更改的方法。EDR代理將“鉤子”收集的數(shù)據(jù)傳遞到EDR供應(yīng)商的云端平臺,進(jìn)行進(jìn)一步分析。
問題在于,“鉤子”位于用戶空間中,因而當(dāng)創(chuàng)建進(jìn)程時,該進(jìn)程內(nèi)存空間中的所有內(nèi)容都與運(yùn)行它的用戶具有相同的權(quán)限。
Eidelberg說:“這意味著惡意代碼與系統(tǒng)動態(tài)鏈接庫具有相同的權(quán)限?!?/p>
結(jié)果,攻擊者可以修改這些系統(tǒng)動態(tài)鏈接庫中的“鉤子”,允許惡意代碼繞過EDR產(chǎn)品的檢測和補(bǔ)救機(jī)制。由于存在“鉤子”,攻擊者還可能在進(jìn)程中寫入自己的惡意系統(tǒng)調(diào)用函數(shù),使操作系統(tǒng)執(zhí)行這些函數(shù)。
鉤子/Hooking執(zhí)行流程示例
Eidelberg說:“ EDR產(chǎn)品不知道惡意系統(tǒng)調(diào)用函數(shù)的存在及其位置,因此無法鉤住惡意系統(tǒng)調(diào)用函數(shù)?!?/p>
Optiv對EDR和內(nèi)存“鉤子”弱點(diǎn)的研究建立在其他研究人員先前的工作基礎(chǔ)上。Optiv在其報告中表示,安全供應(yīng)商與其專注于僅適用于單個產(chǎn)品的技術(shù),不如看它是否能夠發(fā)現(xiàn)攻擊者可以利用的所有EDR產(chǎn)品的“鉤子”系統(tǒng)性問題。作為這項(xiàng)工作的一部分,Optiv開發(fā)了一些漏洞利用程序,展示如何投遞惡意軟件偷偷繞過四家全球領(lǐng)先EDR產(chǎn)品的保護(hù)。
Eidelberg指出,攻擊者只需要訪問遠(yuǎn)程端點(diǎn)即可執(zhí)行這些攻擊。但是,在內(nèi)核空間中運(yùn)行的EDR應(yīng)不會受到影響。
Eidelberg說:“這是因?yàn)閮?nèi)核‘鉤子’安全是非常可靠的:考慮到內(nèi)核代碼加載的安全控制,攻擊者很難在內(nèi)核中執(zhí)行任何操作。”
Eidelberg 表示,Optiv一直在幫助EDR供應(yīng)商了解攻擊者在自然環(huán)境下如何利用這些問題。他說,一些EDR供應(yīng)商已經(jīng)開始改進(jìn)其產(chǎn)品,并通過“鉤子”增加收集遙測數(shù)據(jù),看EDR是否能夠檢測到對系統(tǒng)動態(tài)鏈接庫的篡改。一些EDR供應(yīng)商甚至將“鉤子”轉(zhuǎn)移到受保護(hù)的內(nèi)核空間。
Eidelberg 指出,以上改進(jìn)都是大的步驟,需要花一些時間來實(shí)施。同時,用戶應(yīng)確保擁有強(qiáng)大的控制和檢測機(jī)制,防止攻擊者先行一步在端點(diǎn)系統(tǒng)上執(zhí)行惡意代碼。攻擊者要利用此漏洞,他們需要將惡意代碼發(fā)送到用戶的系統(tǒng)中并執(zhí)行這些操作。