乐趣区

关于安全:云原生安全端上能力建设

背景

云原生技术在各大公司的落地热火朝天,研发模式和基础设施都产生了很大的变动,新的 Kubernetes 和容器技术正逐渐取代传统的物理机和虚拟机。在云原生架构的演变过程中咱们发现也带来了一些新的危险和挑战,包含容器网络安全、容器逃逸、镜像平安等多个方面。
为保障业务上云平安,一方面是要剖析解决新的平安危险,另一方面须要放慢相应的平安根底建设。本文将介绍针对一些已知的危险点,如何应用 HIDS 来保障云原生环境的平安。

容器威逼起源

  1. Linux 内核提权:收集对写 exploit 有帮忙的信息,比方内核版本及安全漏洞,而后通过触发该破绽去执行特权代码,使得低权限用户晋升到 root 用户权限,最终管制整个零碎。
  2. 容器逃逸:通过冲破 Namespace 的限度,将高权限的 Namespace 赋到 exploit 过程的 task_struct 中,这往往是因为 Docker 安全漏洞或配置不当导致的。
  3. Docker 其余 CVE:比方通过歹意镜像利用 Docker runc 在应用文件系统描述符时存在的破绽。

    攻打过程:
    docker run 启动了被歹意批改的镜像
    宿主机 runc 被替换为恶意程序
    宿主机运行 docker run/exec 命令是触发执行恶意程序

  4. 特权容器或 Capability 权限过大:配置不当导致容器内的过程实现 Linux 零碎权限晋升。

检测伎俩

基线检测

用于检测局部非预期环境。
云原生重点关注 Kubernetes 和 docker 的安全漏洞以及谬误配置两方面,原理就是查看软件版本是否被爆出过 CVE 破绽,并检测配置文件内的配置项是否有危险,蕴含危险的查看项及时让业务或运维通晓并修复。
云原生相关检查项:

除此之外,还会查看容器及宿主机内其余的软件配置(Redis、MySQL、Tomcat 等)、弱口令、等保基线等。

入侵检测

用于检测局部非预期逻辑。

入侵检测的第一步就是采集足够具体的数据

其中包含:

  1. 文件的创立、读写、link、重命名等操作;
  2. 网络的连贯、bind 等状态;
  3. 过程对于 execve、setsid、prctl、ptrace、call_usermode 的调用;
  4. 登录日志、SSH 日志;
  5. 零碎已装置组件,RPM、PYPI 包等;
  6. crontab、port 详细信息。

对于过程监控的计划次要有以下几种:

计划 Docker 兼容性 开发难度 数据准确性数据 零碎侵入性
connector 定制 Docker 个别 存在内核拿到的 pid,在 /proc/ 下失落的状况
Audit 定制 Docker 个别 同 connector 弱,但依赖 Auditd
EBPF 定制 Docker 中等 准确 中等,依赖内核版本 3.18 以上
Hook(kernel module) 定制 准确

Hook 的计划,对系统侵入性太高了,尤其是这种最底层做 Hook syscall 的做法,如果测试不充沛将可能导致劫难级的故障,主机大面积瘫痪。
综合稳定性思考,HIDS 过程创立监控采纳 cn_proc 的计划,相比拟 Audit,对系统无侵入。但这种形式存在内核拿到的 pid,在 /proc/ 下失落的状况,因为很多过程启动后就立即隐没了,去读取 /proc/ 时就存在找不到的可能,但为了零碎稳定性,能够就义一些数据的准确性。

通过 Netlink Connector 在用户态即可取得内核提供的信息:

文件监控的次要逻辑:
docker inspect 命令通过 container id 找到对应的容器目录,通过映射目录获取 docker 内文件并进行监控。

Docker 容器文件系统:

监控网络连接:
Docker 内网络隔离是通过 Network Namespace 来实现的,每个 Network Namespace 都有独立的网络设备、IP 地址、路由表、/proc/net/ 目录。
先获取所有 docker init1 过程在宿主机的 pid,而后通过 /proc/pid/net 获取 docker 网络连接信息。

辨认威逼的下一步就是通过策略发现

通过内置的规定引擎对上报数据关联分类,并判断黑、灰行为,反对动静白名单,将检测后果写入 ES 中。

此处仅做科普,策略包含但不限于:

  • 比方子过程执行异样命令(拜访注册表、增加用户、删除高危目录等);
  • 网络外连未知 IP,须要通过 IP 匹配威逼情报;
  • 比对文件 MD5 和病毒特色库,发现 rootkit 等;
  • 通过 tcpdump 发现网络代理攻打;
  • ……

将来瞻望

联合 ATT&CK 框架,从行为的视角来对待攻击者和进攻措施,构建容器化利用平安体系,通过模仿红蓝反抗,评估企业目前的平安能力,对晋升企业平安防护能力是很好的参考。

退出移动版