从病毒到“基础软件污染”,Linux 真的安全吗?( 五 )


  • 后门的实现可能并不会引入具有特征的代码,甚至可能只是代码层面的微小变动 。此时,就需要对载体代码原本的功能逻辑和潜在脆弱点具备了解 。但同时,对目标有选择地审计也会造成盲区,因此全量代码比对存在必要 。
  • 持久化代码一般为独立函数、隐藏调用链,而比对发现非特定版本的二进制增量代码,在没有基于语义解析的自动化工具辅助下,需要大量人工分析投入 。
  • 成熟的攻击样本基本配备完备的隐藏方案 。例如,后门程序往往篡改了rpm配置文件,使得rpm -Va做rpm包校验无效;或消除了各类日志以避免通过行为异常发现 。
  • ? 云上大数据判别
    虽然个人用户很难判定自己主机的文件是否已经被替换为恶意版本,但是攻击事件往往不是孤立稀疏的,因此作为阿里云安全运营中心,就具备站在更高维度监控异动的可能 。
    阿里云的云安全中心目前具有对云上新增二进制程序样本的自动分析能力,针对集中或规律性出现、存在大量碎片化的Linux基础软件,从数据层面做趋势监控,并基于代码语义层面的相似度聚类,快速定位并辅助专家分析差异代码,圈定潜在恶意版本 。在3月以来,云安全中心的云查杀模块,上线了“被污染的基础软件”这一个新的告警类别,将上述所有Linux基础软件的污染、后门篡改统一告警,引导用户进行复核和修复 。对于大数据监控与自动化分析的方案,将在后续文章进行单独介绍 。
    ? 用户防护建议
    虽然基础软件篡改类型的恶意样本与入侵往往较为严密,在攻击成本和个人用户发现难度之间存在杠杆,但一般用户仍然可以从以下方面尝试被动发现和主动防护:
    • 应用文件篡改和奇异样本分析 。可以从主要系统基础程序的时间戳、rpm校验信息等方面入手,排查是否有较为简单的文件替换;如果有多个同配置主机实例,可以做文件比对,发现差异 。对于阿里云云安全中心用户,可以重点关注“篡改系统文件”和“被污染的基础软件”两种类型的告警,分别从行为和样本维度对上述分析实现自动化呈现 。
    • 积极处理各类异常告警并修复漏洞 。虽然基础软件污染难以做事后发现,但其自身并不构成完整攻击,总是和其它入侵事件配合 。因此用户需要对于各类告警做通盘考虑,修复告警的漏洞,确保告警的各类病毒、webshell等的清理结果,筛查分析各种可疑事件告警 。
    • 保证使用第三方软件来源可信 。软件供应链污染是新兴但并无充分曝光信息的低成本攻击方式,攻击者可能通过各种不可信的渠道从上游污染用户代码,潜在包括恶意的预编译软件包下载源、小众无透明可验证信息的rpm源、个人或非正式渠道发布的系统装机镜像或Docker镜像,等等 。以上需要用户自行进行安全性保证 。

    【从病毒到“基础软件污染”,Linux 真的安全吗?】


    推荐阅读