심각도가 높은 결함으로 인해 공격자는 Kyverno 서명 확인을 우회할 수 있습니다.
ARMO 연구진에 따르면 컨테이너 이미지용 Kyverno 어드미션 컨트롤러에는 심각도가 높은 보안 취약점이 있다고 합니다.
공격자는 악성 이미지 저장소 또는 MITM 프록시를 사용하여 이 버그(CVE-2022-47633)를 악용하여 이미지 확인 정책을 우회하여 서명되지 않은 이미지를 보호된 클러스터에 삽입할 수 있습니다.
이 결함으로 인해 공격자는 클라우드 프로덕션 환경에 악성 코드를 주입할 수 있습니다. 따라서 사용자는 Red Hat이 GitHub에서 유지 보수하는 오픈 소스 Kubernetes 정책 엔진 Kyverno를 사용하여 클러스터 및 애플리케이션에 대한 정책을 정의하고 적용할 수 있습니다.
Kyverno는 클러스터의 리소스, 애플리케이션 및 기타 구성 요소가 운영, 보안 및 규정 준수 요구 사항을 충족하는지 확인하는 데 사용할 수 있습니다. 취약점을 성공적으로 익스플로잇하면 공급망 문제로 이어질 수 있습니다.
악의적인 이미지 레지스트리(또는 중간자 공격자)는 Kyverno 1.8.3 및 1.8.4의 이미지 서명 검증 우회 취약점을 통해 서명되지 않은 임의의 컨테이너 이미지를 보호된 쿠버네티스 클러스터에 주입할 수 있습니다. 확인을 위해 verifyImages 규칙을 사용하기 때문에 알 수 없는 레지스트리를 방지할 수 없기 때문에 이 취약점은 Kyverno 버전 1.8.3에서 도입되었습니다.
ARMO 연구진에 따르면 이 취약점은 컨트롤러의 서명 검증 프로세스가 이미지 매니페스트를 두 번 다운로드하지만 다운로드 중 하나의 서명에 대해서만 서명을 검증하기 때문에 발생한다고 합니다.
연구진에 따르면 공격 후 해커는 피해자의 포드를 성공적으로 장악하고 서비스 계정 토큰을 포함한 모든 리소스와 자격 증명을 사용하여 API 서버에 액세스할 수 있습니다. 악성 이미지 저장소 또는 MITM 프록시를 사용하여 확인 프로세스에 다른 매니페스트를 반환함으로써 유효성 검사 프로세스를 우회했습니다.
공격자는 소셜 엔지니어링을 사용하여 관리자가 컨테이너에 악성 이미지를 삽입하도록 유도했습니다. 그런 다음 이러한 이미지는 손상된 계정에서 호스팅되며 피싱 공격은 사용자를 속여 이미지를 사용하도록 하는 데 사용됩니다. 이미지를 처음 가져올 때 악성 레지스트리는 유효한 이미지를 허용 컨트롤러에 반환합니다.
반면에 허용 컨트롤러는 변이에 대한 다이제스트를 얻기 위해, 즉 컨테이너의 사람이 읽을 수 있는 태그를 업데이트하기 위해 서명된 이미지의 매니페스트를 두 번째로 요구합니다. 이번에는 서명 유효성 검사가 수행되지 않으므로 악성 레지스트리가 서명되지 않은 다른 악성 이미지를 반환할 수 있으며, 이 이미지가 최종적으로 스핀업되어 실행됩니다.
이 취약점은 버전 1.8.5에서 서명을 인증하는 데 사용된 것과 동일한 이미지 해시가 워크로드 사양을 수정하는 데도 사용되도록 보장하여 해결되었습니다.
이 글의 출처는 DarkReading의 기사입니다.