专栏名称: 腾讯安全威胁情报中心
御见威胁情报中心,是一个涵盖全球多维数据的情报分析、威胁预警分析平台。依托顶尖安全专家团队支撑,帮助安全分析人员快速、准确对可疑事件进行预警、溯源分析。
目录
相关文章推荐
laoduo  ·  卷死同行,豆包也开源了! ·  8 小时前  
laoduo  ·  卷死同行,豆包也开源了! ·  8 小时前  
福建高院  ·  解企诉讼之忧 护企稳健前行 ·  22 小时前  
科技日报  ·  龙芯处理器成功运行DeepSeek大模型! ·  3 天前  
创业家  ·  不要“性价比”,要做“价性比” ·  3 天前  
上海科创汇  ·  申报|普陀区2025年度中小微企业政策性融资 ... ·  3 天前  
51好读  ›  专栏  ›  腾讯安全威胁情报中心

sshd后门自动化检测 | BinaryAI在恶意软件检测场景的实践

腾讯安全威胁情报中心  · 公众号  · 科技创业 科技自媒体  · 2024-11-12 10:18

主要观点总结

腾讯安全科恩实验室基于BinaryAI的函数语义匹配技术,设计了一套自动化的sshd后门检测方案,用于检测在网络安全中攻击者在sshd身份认证相关函数中植入后门的行为。

关键观点总结

关键观点1: 引言

介绍了sshd后门攻击的背景和面临的挑战,以及传统检测方法的局限性。

关键观点2: sshd后门原理

详细解释了攻击者如何在sshd身份认证函数中插入后门,以及后门常见的行为。

关键观点3: sshd后门检测方法

介绍了腾讯安全科恩实验室设计的基于BinaryAI函数语义匹配技术的自动化检测方案的具体流程,包括BinaryAI引擎分析、身份认证函数提取和后门样本判定。

关键观点4: sshd后门样本发现

通过基于BinaryAI的方法发现了多种类型的sshd后门样本,包括硬编码后门密码、用户密码窃取和回传等。

关键观点5: 讨论

探索了使用大语言模型如GPT-4o-mini检测后门函数的可能性,并讨论了其局限性。

关键观点6: 总结

总结了基于BinaryAI的函数语义匹配技术的sshd后门检测方案的优势和成果。

关键观点7: 附录

提供了sshd身份认证函数集和相关IOC链接,供读者进一步分析和体验。


正文

1


引言

在网络安全攻防对抗中,攻击者经常通过在系统关键组件中植入后门程序,来获取持久的访问权限。sshd (SSH daemon) 作为管理远程登录的核心服务,是攻击者常用的目标之一。攻击者通过修改或者替sshd二进制文件,绕过原有身份认证机制。这样,他们就能获取对服务器的控制权,并实施各种恶意攻击。


然而,sshd后门的隐蔽性极强。攻击者通常仅对某个身份认证函数进行细微改动,例如增加特定的后门密码条件判断。这些改动往往形式多样,不同攻击者可能采用不同的后门密码,使得传统检测方法面临巨大挑战。

  • 杀毒软件:主流杀毒软件依赖特征码匹配,擅长检测已知的恶意软件模式,如特定字符串、字节序列等。然而,sshd后门的修改往往是语义层面的微小变化,难以通过通用规则进行有效检测,从而难以应对变种后门的识别。

  • 白名单机制:基于sshd白名单的检测方法虽然能够有效防范后门,但在动态业务环境中,由于sshd版本更新、补丁发布或正常业务逻辑引入,可能导致误报。这不仅影响正常用户的使用体验,也使得白名单的维护成本显著增加。

  • 人工分析:依赖安全专家进行人工分析虽然能够准确识别后门样本,但分析过程耗时且成本高昂,难以满足大规模服务器集群的检测需求。


为了克服这些传统方法的局限性, 腾讯安全科恩实验室结合BinaryAI的函数语义匹配技术,设计了一套自动化且精准的sshd后门检测方案。 基于BinaryAI引擎,该方案包含两阶段分析流程。首先,BinaryAI基于 BAI代码匹配模型 ,结合函数间语义信息,从全量开源C/C++库中精确检索目标样本的源函数;借助匹配到的源函数名,我们从sshd中提取所有与身份认证相关的函数。接着,通过比较身份认证函数与匹配到的源函数的语义相似度,进一步定位被篡改的后门函数。
基于该检测方案,科恩已成功发现了多个在VirusTotal [1] 未被任何引擎检出的sshd后门样本,证明该方案相比传统检测方法更具优势。

2


sshd后门原理

攻击者通过在sshd身份认证相关函数中插入后门,绕过原有身份认证逻辑。sshd后门常见的行为包括:

  • 设置后门密码,使用该密码可直接成功登录(万能密码)
  • 窃取正常用户的用户名和登录密码,可被攻击者用于横向移动


面以VirusTotal多家引擎检出的sshd后门样本 为例解释后门原理:

https://www. binaryai.cn/analysis/dfc86b375e974b3092bbff41eb24db3281fb4fc104f1043a7afbf95f85a2c1d5


通过“交互式分析”功能,找到 该样本的后门藏在 auth_password 函数中,该函数反编译伪代码如下图所示。

43-48行加入了后门密码判断逻辑,如果用户输入的密码等于 SECRETPW 0Zm7HF) 则直接 返回1,表示密码认证成功,不进行其他的认证流程。65-73行将正常登录成功的用户名及其密码写入路径为 ILOG ( /etc/lps / lps ) 文件中,攻击者可利用这些信息进一步密码爆破内网其他服务器,实现横向移动。
观察到该函数由于插入了后门逻辑,BinaryAI检索得到的top-1源函数相似度仅为0.6958,远低于正常函数的top-1相似度(通常为0.85以上)。这说明虽然后门逻辑仅为几行代码的改动,BinaryAI的代码匹配模型依然可以精准感知到代码语义的变化,因此可以设置相似度阈值来检测后门函数。

3


sshd后门检测方法

为了有效检测 sshd 后门,腾讯安全科恩实验室设计了一种基于BinaryAI函数语义匹配技术的自动化检测方案。该方案能精准地捕捉sshd样本中的后门代码,具体检测流程如下图所示。


3.1.BinaryAI引擎分析

首先, 待分析样本会由BinaryAI引擎进行初步分析。BinaryAI通过反编译将二进制代码转换为伪代码,随后基于科恩自研的BAI 代码匹配模型,将每个函数表示为能够表达其语义的高维向量。结合函数的结构化信息,BinaryAI能够从全量开源C/C++库中精准检索与样本函数匹配的源代码函数。BinaryAI引擎的分析结果为后续的后门检测流程提供了基础。

3.2 .身份认证函数提取

理论上,sshd中所有涉及身份认证的函数都可能被攻击者植入后门,因此这类函数均应纳入检测范围。为此,需从待分析样本中提取所有身份认证相关函数。

为了实现这一目标,我们通过对sshd项目源码 [2] 的深入分析,汇总了一个包含63个身份认证函 数名的集合(见8.附录)。这些函 数与身份认证直接相关,极有可能成为后门植入的目标。得益于强大的代码语义表征能力,BinaryAI引擎能够精准地检索到待分析样本中所有函数对应的标准sshd源代码。通过判断匹配到的源码函数名是否在上述集合中,即可筛选出所有潜在的目标函数。

3.3 .后门样本判定

后门样本判定的核心思想是后门函数由于植入了后门代码逻辑,导致与匹配的源代码相似度较低。具体地,我们为每个函数设定相似度阈值,若函数对应的top-1源码相似度低于阈值,则视为后门函数;只要样本中存在至少一个身份认证函数被标记为后门函数,整个样本便被视为后门样本。我们在真实场景收集的大量sshd样本上进行统计分析,为每个身份认证函数设置了特定的阈值,以确保sshd后门检测的准确性。


4


sshd后门样本发现

基于上述方法,我们回溯了腾讯安全威胁情报、VirusTotal等来源的sshd样本 ,发现了42个新的sshd后门样本,其中8个样本VirusTotal零引擎检出(见8.附录相关IOC)。新发现的样本基于后门方法可分为以下几类。

(1)auth_password/sys_auth_passwd后门密码硬编码

该样本在 auth_password sys_auth_password 中直接硬编码了后门密码,如果用户输入密码为后门密码则认证成功。

(2)auth_password用户密码本地记录

该样本在auth_password中将用户密码记录到本地文件。

(3)auth_password用户密码回传

该样本在auth_password中通过curl将用户名与密码回传至攻击者服务器。
除了上述几种常见的在auth_password中直接添加后门的逻辑,我们还发现了以下其他几种值得关注的后门方式。
(1)使用函数名作为后门密码

该样本将一个sshd中的函数名作为后门密码,该后门可以绕过依赖字符串特征的检测方法。

(2)调用自定义函数,在自定义函数中加入后门

该样本在auth_password中调用了自定义的后门函数ssh_auth_aaa,该函数与其他进程通过socket通信进行身份认证,并将用户密码写入本地文件。
综上,我们的方案能有效检测出各类型后门植入形式,如硬编码后门密码,用户密码窃取、回传等;也发现了其他后门变种,例如利用函数名作为后门密码或通过自定义函数进行密码泄露等。值得注意的是,上述样本在VirusTotal上均零引擎检出,可见即使是简单的硬编码后门密码,现有的杀毒引擎有时也难以检出;特别的,其中某些样本在VirusTotal上已存在近三个月(如下图所示),但仍未被任何引擎发现,充分证明了基于BinaryAI代码语义匹配技术的sshd后门检测方案的有效性与优越性。

5


讨论

在sshd后门检测的实践中,除了基于函数相似度阈值的判定方法,我们还探索了使用大语言模型(如GPT-4o-mini)来检测后门函数的可能性。具体地,我们尝试将sshd中身份认证函数的伪代码交给GPT模型,并设置prompt指导其输出后门存在性判定与相应解释。

我们发现,GPT虽然能 准确识别上述各后门类型并给出相应的后门解释,但对于正常函数的判断存在较高误报。主要原因有:(1) 反编译伪代码相比源码结构更复杂,且存在大量地址信息,容易误导GPT产生错误判断;(2)GPT缺乏sshd正常函数的相关知识,很容易被看似“可疑”的词(如"pass", "fakepw"等)所误导。此外,该方法仍然依赖于BinaryAI事先提取样本中 的身份认证相关函数。

因此,基于GPT的后门检测方法难以在实际检测中应用。相比之下,基于BinaryAI函数语义匹配的检测方法显得更加精准和可靠。

6


总结

基于BinaryAI的函数语义匹配技术,腾讯安全科恩实验室设计了一套自动化的sshd后门检测方案。 该方案在真实场景样本中发现了多种后门类型,并且成功发现了多个VirusTotal零引擎检出的样本。 欢迎访问 “8附录”中相关IOC链接,前往样本BinaryAI页面进行体验分析。






请到「今天看啥」查看全文