CWPP
Cloud Workload Protection Platform, 클라우드 워크로드 보호
Cloud Workload Protection Platform, 클라우드 워크로드 보호
CWPP(Cloud Workload Protection Platform)는 클라우드 환경에서 실행되는 워크로드(VM, 컨테이너, 서버리스 함수)를 보호하는 보안 플랫폼입니다. 전통적인 엔드포인트 보안이 PC나 서버 OS를 보호했다면, CWPP는 클라우드 네이티브 워크로드에 특화된 보호를 제공합니다.
CWPP의 핵심 기능은 취약점 관리, 런타임 보호, 네트워크 세그멘테이션, 무결성 모니터링입니다. 컨테이너 이미지 스캔으로 배포 전 취약점을 탐지하고, 런타임에서는 비정상 행위(쉘 실행, 권한 상승, 파일 변조)를 탐지하고 차단합니다.
에이전트 기반 CWPP는 호스트에 경량 에이전트를 설치하여 실시간 보호를 제공합니다. 프로세스, 파일 시스템, 네트워크 활동을 모니터링하고, 위협 탐지 시 즉시 대응합니다. 에이전트리스 방식은 클라우드 API를 통해 스캔하므로 배포가 간편하지만 실시간 보호에 한계가 있습니다.
Kubernetes 환경에서 CWPP는 Pod Security Standard, Network Policy와 연동하여 워크로드 격리를 강화합니다. Falco, Sysdig, Aqua, Prisma Cloud 같은 도구가 대표적입니다.
# Falco 런타임 보안 규칙 예시
# falco-rules.yaml
- rule: Terminal Shell in Container
desc: 컨테이너 내에서 터미널 쉘이 실행됨 (공격 의심)
condition: >
spawned_process and container and shell_procs and
proc.tty != 0 and container.image.repository != "debug-tools"
output: >
Shell spawned in container (user=%user.name container=%container.name
shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline)
priority: WARNING
tags: [container, shell, mitre_execution]
- rule: Sensitive File Read
desc: 민감한 파일 접근 탐지 (/etc/shadow, /etc/passwd)
condition: >
open_read and container and sensitive_files and
not user.name in (root, admin)
output: >
Sensitive file read (file=%fd.name user=%user.name container=%container.name)
priority: CRITICAL
# Kubernetes에서 Falco DaemonSet 배포
# helm install falco falcosecurity/falco --namespace falco
# 컨테이너 이미지 스캔 (Trivy)
# CI 파이프라인에서 사용
trivy image --severity CRITICAL,HIGH \
--exit-code 1 \
--ignore-unfixed \
ghcr.io/myorg/myapp:latest
# Aqua 런타임 정책 (declarative)
apiVersion: aquasecurity.github.io/v1alpha1
kind: RuntimePolicy
metadata:
name: block-crypto-mining
spec:
containers:
blockCryptoMiners: true
blockReverseShell: true
allowedCapabilities: []
dropAllCapabilities: true
보안팀: "프로덕션 컨테이너에서 쉘 실행이 탐지됐어요. Falco 알림인데 확인 부탁드려요."
운영팀: "아, 제가 디버깅하려고 kubectl exec 했어요. 정상적인 작업이에요."
보안팀: "그래도 로그 남기고 티켓 생성해주세요. 프로덕션 접근은 기록이 필요해요."
면접관: "컨테이너 런타임 보안을 어떻게 구현하시겠어요?"
지원자: "빌드 시점에 Trivy로 이미지 취약점을 스캔하고, 런타임에서는 Falco로 비정상 행위를 탐지합니다. 쉘 실행, 민감 파일 접근, 네트워크 이상 징후를 모니터링하고, PodSecurityPolicy로 privileged 컨테이너를 차단합니다."
보안: "이 Dockerfile에서 USER 지시문이 없어서 root로 실행돼요. CWPP에서 알림이 뜰 거예요."
개발자: "맞네요, USER 1000:1000 추가하겠습니다."