Binarly緊急發(fā)布Linux后門掃描工具
固件安全廠商Binarly近日緊急發(fā)布了一款免費(fèi)在線Linux后門掃描工具,用于檢測(cè)可能受CVE-2024-3094漏洞影響的所有Linux可執(zhí)行文件。
CVE-2024-3094是在XZ Utils中發(fā)現(xiàn)的,史上最危險(xiǎn)、最復(fù)雜(但“功虧一簣”)的軟件供應(yīng)鏈攻擊之一。曝出該漏洞的XZ Utils是一套廣泛應(yīng)用于主流Linux發(fā)行版的壓縮工具和庫(kù),但Binarly推出的后門程序掃描工具的檢測(cè)范圍不限于XZ Utils。
去年底,微軟工程師Andres Freud在調(diào)查DebianSid(滾動(dòng)發(fā)行版)SSH登錄異常(緩慢)時(shí),發(fā)現(xiàn)最新版本的XZ Utils軟件包存在后門程序。該后門由代號(hào)為“匿名貢獻(xiàn)者”的人士引入到XZ5.6.0版本中,并延續(xù)到5.6.1版本。不過,由于采用“激進(jìn)更新”方式的Linux發(fā)行版和版本較少,因此大多數(shù)使用早期安全庫(kù)版本的發(fā)行版并未受到影響。
XZ后門發(fā)現(xiàn)后,大量部門和企業(yè)立即啟動(dòng)了檢測(cè)和修復(fù)工作。美國(guó)網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局(CISA)建議降級(jí)到XZUtils5.4.6穩(wěn)定版,并持續(xù)追蹤和報(bào)告相關(guān)惡意活動(dòng)。
Binarly指出,迄今為止的XZ后門威脅緩解工作主要依靠簡(jiǎn)單的檢測(cè)方法,例如字節(jié)字符串匹配、文件哈希黑名單和YARA規(guī)則,這些方法不僅會(huì)帶來(lái)大量誤報(bào)警報(bào),還無(wú)法檢測(cè)其他項(xiàng)目中類似的后門程序。
為了解決這個(gè)問題,Binarly開發(fā)了一款針對(duì)特定庫(kù)和攜帶相同后門的任何文件的專用掃描器。
Binarly表示:“如此復(fù)雜且專業(yè)設(shè)計(jì)的綜合性植入框架并非一次性操作就可以完成的。它可能已經(jīng)被部署在其他地方,或部分用于其他操作。這就是我們開始專注于這種復(fù)雜后門的更通用檢測(cè)方法的原因。”
XZ后門通過修改IFUNC調(diào)用來(lái)攔截或掛鉤執(zhí)行,從而插入惡意代碼。Binarly的檢測(cè)方法采用靜態(tài)分析二進(jìn)制文件的方式,識(shí)別GNU間接函數(shù)(IFUNC)轉(zhuǎn)換過程中的篡改行為。
具體來(lái)說,掃描器會(huì)檢查在植入惡意IFUNC解析器過程中標(biāo)記為可疑的轉(zhuǎn)換。GCC編譯器的IFUNC屬性允許開發(fā)人員創(chuàng)建同一函數(shù)的多個(gè)版本,然后根據(jù)處理器類型等各種標(biāo)準(zhǔn)在運(yùn)行時(shí)進(jìn)行選擇。
Binarly解釋道:“XZ后門利用GCC編譯器用于運(yùn)行時(shí)解析間接函數(shù)調(diào)用的GNU間接函數(shù)(ifunc)屬性,作為其在執(zhí)行過程中獲取初始控制的核心技術(shù)之一。植入的后門代碼最初會(huì)攔截或掛鉤執(zhí)行。它修改ifunc調(diào)用,替換原本應(yīng)該簡(jiǎn)單調(diào)用“cpuid”的“is_arch_extension_supported”檢查,轉(zhuǎn)而調(diào)用由有效載荷對(duì)象文件(例如liblzma_la-crc64-fast.o)導(dǎo)出的“_get_cpuid”,并調(diào)用植入下圖所示代碼中的惡意_get_cpuid()?!?/p>
??????
Binarly的掃描器通過檢測(cè)除XZ Utils項(xiàng)目之外的各種供應(yīng)鏈組件來(lái)提高檢測(cè)率,并且檢測(cè)結(jié)果的可信度也大大提高。
Binarly的首席安全研究員兼首席執(zhí)行官Alex Matrosov表示:“這種檢測(cè)基于行為分析,可以自動(dòng)檢測(cè)任何類似的后門程序變種。即使經(jīng)過重新編譯或代碼更改,我們也能檢測(cè)到它?!?/p>
該后門掃描器現(xiàn)已上線,網(wǎng)址為xz.fail,用戶可免費(fèi)上傳二進(jìn)制文件進(jìn)行無(wú)限次的檢測(cè)。