Sophos日前發表一種新的防禦方式,可以防範惡意分子試圖載入無檔案型惡意軟體、勒索軟體和遠端存取代理程式到已遭感染電腦的臨時記憶體。
已遭入侵電腦的記憶體區域是惡意軟體普遍的藏身之處,因為安全掃描不會檢查記憶體。因此,很難偵測和阻止這種類型的惡意軟體。惡意分子試圖安裝到記憶體中的惡意軟體類型包括勒索軟體和遠端存取代理程式。遠端存取代理程式是其餘攻擊的跳板,因此越早發現和阻止它們越好。
Sophos 研究人員建立一種根據行為來防禦記憶體中此類惡意軟體的方法。他們發現,無論類型或用途為何,攻擊程式碼在記憶體中的行為都是相同的。
‧ 與安裝在主記憶體中的一般軟體應用程式不同,攻擊程式碼會被插入到記憶體的某一部分,稱為「堆積」(heap)。堆積可為應用程式提供額外的記憶體空間,以進行儲存或解壓縮程式碼等操作。
‧ 惡意分子會以數個階段新增攻擊程式碼。首先,他們將一個稱為「載入程式」的小檔案插入到堆積記憶體中。然後,載入程序會要求額外的堆積記憶體空間來滿足主要裝載的需求。主要裝載可能是像 Cobalt Strike 這樣的遠端存取代理程式。接著,它要求為這些額外記憶體配置「執行」權限,以便執行惡意軟體。
Sophos 研究人員設計了一種實用的保護措施,可以阻止執行權限從一個堆積記憶體轉到另一個堆積記憶體。這項保護稱為「動態 Shellcode 保護」。
Sophos 工程總監 Mark Loman 表示:「防止攻擊者入侵已經遭駭的網路是全球安全從業人員的目標。這個目標非常重要,因為一旦被安裝遠端存取代理程式,它就可以成為跳板,協助攻擊中絕大多數的主動攻擊策略。包括執行、使用憑證、升級權限、探索網路、橫向移動、收集、滲透和發布勒索軟體。
「這些惡意使用的程式碼會經過大幅模糊和封裝,然後直接載入到記憶體中,以躲避偵測。安全工具不會定期掃描電腦記憶體,因此即使對程式碼解模糊、解壓縮和解封裝,也經常無法偵測出來。
Sophos 發現它們有一個特徵:『堆積-堆積』記憶體配置,在多階段遠端存取代理程式和其他載入記憶體的攻擊程式碼中很常看到這個特徵,Sophos 並且已經對此提供保護措施。」