Trend Micro近期的報告揭露,一種由國家支持的隱密後門程式,名為 BPFDoor,據證據顯示該惡意後門程式與亞洲、中東和非洲地區的多個組織的網路間諜活動有其相關性,它利用先進的隱身技術來躲避檢測。經調查發現一個先前未知且未被查覺的控制者,BPFDoor 的攻擊目標包括電信、金融和零售行業,近期在韓國、緬甸、馬來西亞和埃及都有相關攻擊記錄,攻擊背後的威脅行為者是 Earth Bluecrow(「Red Menshen(紅門神)」,這是一個高級持續性威脅(APT)組織這是一個高級持續性威脅 (APT) 組織,一直在使用 BPFDoor 進行網路間諜活動。
BPFDoor是一種複雜的惡意軟體,以其隱身功能而著稱,其中許多功能與其使用伯克利包過濾器(Berkeley Packet Filtering, BPF)註1有關,BPF是一種允許在作業系統核心虛擬機器內執行程式碼的技術。透過利用BPF的封包過濾功能,BPFDoor可以在非常低的層級檢查網路封包,並使其能夠被這些封包中的特定「神奇數列(magic sequences)」註2啟動。這種方法允許後門程式規避包含防火牆在內的安全措施,因為惡意資料封包在防火牆阻擋前觸發後門。Trend Micro發現一個多功能且隱密的控制器-Earth Bluecrow所使用的工具,此類工具透過TCP、UDP和ICMP與受惡意程式感染的電腦進行互動(如圖)。此控制器具有以下功能:
圖:反向連線模式流程
此控制器依賴密碼驗證的對話。在收到包含密碼和神奇數列位元組的自訂資料封包後,目標會透過開啟反向shell或重定向流量來做出回應 - 具體取決於攻擊者選擇的命令。Trend Micro解釋「控制器發送的密碼必須與BPFDoor樣本中的某個「寫死(hard-coded)」註3值相符……惡意軟體在明文密碼前添加固定的鹽(Salt)註4,計算其MD5雜湊值,然後將其與寫死值進行比較」。Trend Micro監測顯示,BPFDoor自 2021年以來一直活躍至今,其目標為:
攻擊者通常會破壞 Linux 伺服器,將惡意軟體隱藏在非標準路徑中,例如 /tmp/zabbix_agent.log 或 /bin/vmtoolsdsrv。由於神奇的數列封包(magic packets )可以定制,並且每個樣本的密碼均可不相同,因此防禦者無法依賴靜態指標。然而,網路防禦者可以注意以下幾點:
BPFDoor是BPF技術如何被高階惡意攻擊者武器化的典型例子。儘管長期以來它與可觀察性資料封包過濾有關,但在類似利用rootkit後門程式有著標誌性的新攻擊威脅。Trend Micro警告稱:「BPF為惡意軟體作者打開了一扇未知可能性的新視野……這需要更深入的研究和持續的警惕,以便更深入地了解在其他環境中發起類似的網路攻擊」。
註1:伯克利包過濾器(Berkeley Packet Filtering, BPF):是類Unix系統上資料鏈路層的一種原始介面,提供原始鏈路層封包的收發。除此之外,如果網卡驅動支援混雜模式,那麼它可以讓網卡處於此種模式,這樣可以收到網路上的所有包,不管他們的目的地是不是所在主機。另外,BPF支援過濾封包——使用者態的行程可以提供一個過濾程式來聲明它想收到哪些封包。通過這種過濾可以避免從作業系統核心向使用者態複製其他對使用者態程式無用的封包,從而極大地提高效能。BPF有時也只表示過濾機制,而不是整個介面。一些系統,比如Linux和Tru64 Unix,提供了資料鏈路層的原始介面,而不是BPF的介面,但使用了BPF的過濾機制。
註2: 神奇數列(magic sequences):是一種特殊的整數數列,它具有獨特的性質,對於一個長度為n的神奇數列x0,x1,……..,xn-1,其中每個元素xi都在0到n-1這個範圍內,並且,對於數列中的每一索引i(0≦i≦n-1),數字i在整個數列中出現的次數恰好等於xi。例如:當i=0時,x0=6,這意味著數字0在數列中出現了6次,實際上數列中確實有6個0。
註3:寫死(Hard Code或Hard Coding):是指在軟體實作上,將輸出或輸入的相關參數(例如:路徑、輸出的形式或格式)直接以常數的方式撰寫在原始碼中,而非在執行期間由外界指定的設定、資源、資料或格式做出適當回應。一般被認定是種反模式或不完美的實作,因為軟體受到輸入資料或輸出格式的改變就必須修改原始碼,對客戶而言,改變原始碼之外的小設定也許還比較容易。
註4:鹽(Salt):在密碼學中,是指在雜湊之前將雜湊內容(例如:密碼)的任意固定位置插入特定的字串。這個在雜湊中加入字串的方式稱為「加鹽」。其作用是讓加鹽後的雜湊結果和沒有加鹽的結果不相同,在不同的應用情景中,這個處理可以增加額外的安全性。在大部份情況,鹽是不需要保密的。鹽可以是隨機產生的字串,其插入的位置可以也是隨意而定。如果這個雜湊結果在將來需要進行驗證(例如:驗證使用者輸入的密碼),則需要將已使用的鹽記錄下來。
本文參考自:https://securityonline.info/bpfdoor-backdoor-used-in-asia-middle-east-cyberespionage/