首页 文章详情

为什么像BlackCat这样的勒索软件组织正在转向Rust语言?

UniSMS (合一短信)

BlackCat勒索软件组织,也称为Alphv,在两个月的时间内在美国、法国、西班牙和菲律宾进行了一系列成功的攻击,引起了全世界安全研究人员的关注。最近的受害者是比利时、德国和荷兰的石油码头。有迹象表明BlackCat是BlackMatter和DarkSide勒索软件组的继承者。

网络安全公司Attivo Networks和Unit 42的研究人员表示,BlackCat 最近成功的一个关键因素是一个用Rust编写的新勒索软件代码,它增加了检测规避功能、更好的安全性和多功能性,这使得威胁者可以同时攻击Linux和Windows系统。

早在2014年,勒索软件组转向使用新的非传统语言编写代码的趋势就出现了。当时VirusBulletin报告了由于逆向工程的复杂性,Visual Basic 6 被认为是“最讨厌的二进制文件”之一分析恶意软件的代码。

Adwind远程访问木马转向与平台无关的Java语言,以针对各种操作系统。勒索软件组织“Cozy Bear”(APT29)也采用了类似的策略。

Rust有助于规避恶意软件检测系统的静态分析

Rust已经存在了十多年。Rust由Graydon Hoare在 Mozilla Research任职期间设计,于2010年开发,旨在增强Mozilla Firefox的性能。Rust 网站将这种编程语言描述为“速度极快且内存效率极高”。

网络安全专家Carolyn Crandall对BlackCat迁移到Rust并不感到奇怪。Rust可以在嵌入式设备上运行,也可以与其他语言集成。她告诉ISMG,攻击者总是会创新,用新的代码来绕过端点防御系统。“BlackCat 勒索软件“非常复杂”,因为它是人工操作和命令行驱动的。”Crandall表示。

此外,Iron.io一篇博客称,除了命令行接口除了速度快、效率高之外,还能更好地处理重复性任务,所需资源更少,CPU处理时间也更少。

恶意软件开发人员,最终将摆脱他们以前用于编写恶意软件的传统编程语言,如 C 或 C++,并采用更新的语言,如 Rust , Go和Nim。恶意软件开发者有很多理由迁移到Rust、Go和Nim等语言。但主要原因是这些更新的语言速度很快,并且可以避开大多数恶意软件检测系统的静态分析。

恶意软件检测可以通过静态或行为分析来完成。在静态检测中,所有的安全端点系统——EDR、XDR或AV端点——都是用C++等通用语言设计的,并且有一组固定的签名。

“当你使用一种不像c++那样广泛使用的编程语言时,用于检测的签名没有得到充分的更新,无法读取模式并推断出某个特定逻辑是否是恶意的。”

根据安全人员的说法,在Rust或Go编译器中,当代码转换为可执行程序时,内部结构比C或c++的对应版本要复杂得多。这使得恶意软件开发者在分析时比威胁猎人更有优势。

“逆向工程和分析基于go的恶意软件非常困难,因为有太多的代码段,”他说。

Proofpoint研究人员在分析RustyBuer恶意软件后,发现Buer恶意软件的原始代码被Rust重写了。重写后的代码增加了“反分析特性、字符串和命令控制请求的编码”。

eYnRkTXYf8.png

BlackCat 核心选项(Windows 变体)

是什么让Rust优于C/C++

安全人员称,Rust是当今可用的最安全的语言之一。根据GeeksforGeeks上的一篇文章,该语言被证明非常有效,以至于程序员开始转向Rust,而不是使用 C++ 进行软件开发。尽管Rust在语法上与C++相似,但在速度和内存安全方面得分更高。

在c++上编写打印“Hello World”的代码与Rust之间的比较说明了Rust的编码简便性和速度。

在C++中:

#include

int main() {

std::cout << "Hello, world!";

return 0;

}

在Rust中:

fn main() {

println!("Hello World!");

}

更好的安全性和稳定性

安全人员称,如果一个脚本kiddie用C或c++设计恶意软件,必然会有多个漏洞,因为这两种语言都容易出错。“然而,当你在Rust中编码时,99%的代码在编译成可执行文件后是安全的。”

此外,用Rust编写的勒索软件不会包含内存损坏或逻辑错误,而安全研究人员可以利用这些漏洞。

GeeksforGeeks表示,就更安全的内存管理而言,Rust是一种更具创新性的系统级语言。这是因为,与C或c++不同,Rust不允许悬挂指针或空指针。悬空指针指向一个已删除的内存位置。

hvTC6rpOkD.png

攻击向量

BlackCat勒索软件组的常见作案手法是网络入侵,然后入侵域控制器,然后执行勒索软件代码。

安全人员称,与APT组织不同,像BlackCat这样的勒索软件组织并不优先考虑持久性。他说:“一旦他们袭击了你,他们就会偷走数据,然后离开。”出于这个原因,他还没有观察到BlackCat采用了任何持久性机制。

这使得传统的检测工具很难准确地标记入侵。“众所周知,BlackCat 使用多种加密模式、横向移动并获得管理权限以在计算机之间传播、加密其他设备并清除信息以防止恢复,”Crandall说。

针对Linux和Windows的多功能勒索软件

BlackCat的开发者开发了两个版本的勒索软件——一个用于Linux,另一个用于Windows。

“BlackCat 的功能方面是与众不同的。已经看到过实际的代码——是一个非常强大的工具,通过提供在系统上运行的多个参数为用户提供了很大的灵活性,”安全人员称。

他补充说,通常当研究人员检查勒索软件代码时,他们只会发现一种加密算法来锁定系统,但在BlackCat中,攻击者使用多种加密技术来锁定入侵。

企业应该怎么做

据德国《商报》(Handelsblatt)报道,继BlackCat勒索软件集团通过一系列有针对性的供应链攻击,将比利时、德国和荷兰的石油运输和存储公司作为目标后,工业自动化公司罗克韦尔自动化(Rockwell automation)前副总裁兼首席信息官道恩•卡佩利(Dawn Cappelli)在LinkedIn的一篇帖子中说:“如果您的公司运行OT环境并且没有集成的 IT/OT 网络安全计划,请将此视为警钟。”

她建议公司让其IT和安全人员以及工厂经理检查NIST网络安全框架,确定最关键的安全漏洞并努力修复它们。

在软件生产及使用前,对其代码或组件清单进行安全检测,尤其静态应用程序安全测试可以在编码期间发现安全漏洞及代码缺陷,从源头降低安全风险。

公司不应该担心恶意软件的编码语言。而是首先确保基本的网络安全机制不会让 BlackCat等勒索软件找到进入组织网络的漏洞和途径。


文章来源:

https://www.inforisktoday.com/ransomware-groups-such-as-blackcat-are-turning-to-rust-a-18507

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter