C-19

🏷️ 검증 안된 이미지·latest 태그

클라우드/컨테이너 · 컨테이너

위험도: 중
💡 쉽게 말하면
latest 태그는 이름표 없는 택배를 받는 것과 같습니다. 안에 무엇이 든지, 누가 바꿔치기했는지 모릅니다. 다이제스트 고정과 서명은 봉인된 정품 인증 택배만 받습니다.

🎯 직접 해보기 — 공격을 실행해 보세요

아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.

현재: 취약한 설정 — 공격이 통할까요?
# 레지스트리의 latest 태그를 악성 이미지로 바꿔치기한다 # [공격 실행] 버튼을 누르면 시작합니다.

📋 설정 비교 (왜 막혔나?)

✗ 취약한 설정
# 이미지 태그 $ kubectl get pod -o yaml | grep image: image: myapp:latest (미고정) → 변조/예측불가 버전 배포
✓ 안전한 설정
# 다이제스트/서명 $ image: myapp@sha256:... ; cosign verify 고정 digest + 서명 검증 → 무결성 보장

🔧 조치 방법

  1. 이미지를 @sha256 다이제스트로 고정하고 서명(cosign)을 검증합니다.
  2. 신뢰된 레지스트리만 허용(admission policy)합니다.

✅ 점검 체크리스트

  • 이미지가 고정 다이제스트로 배포됨
  • 이미지 서명이 검증됨
점검기준: 컨테이너 보안 > 이미지 무결성