쿠버네티스는 랜섬웨어에 취약하지 않습니다 - 그리고 일루미오가 도울 수 있는 방법
랜섬웨어는 쿠버네티스에서는 문제가 되지 않죠? 컨테이너 구조는 매우 동적이고 일시적이기 때문에 랜섬웨어가 예를 들어 파드를 하이재킹한 다음 네임스페이스 간에 악성 페이로드를 횡적으로 전파할 시간이 거의 없습니다. 파드는 매우 동적으로 스핀업과 스핀다운이 이루어지기 때문에 Kubernetes에서는 랜섬웨어가 거의 문제가 되지 않으므로 내 클러스터는 이 특정 사이버 보안 위협으로부터 안전하다는 것이죠?
안타깝게도 이 가정은 여러 번 잘못된 것으로 입증되었습니다. 랜섬웨어는 컨테이너 클러스터 외부에서와 다르게 작동하는 경향이 있지만, 데브섹옵스 설계자가 무시할 수 없는 매우 현실적인 사이버 보안 위험입니다. 랜섬웨어는 쿠버네티스 클러스터에서 매우 실질적인 피해를 입힐 수 있으며, 가장 좋은 해결 방법은 예방입니다.
Illumio는 랜섬웨어가 Kubernetes 클러스터를 탈취하는 것을 방지하여 조직이 다음 사이버 공격의 피해자가 되는 것을 막을 수 있습니다.
쿠버네티스에서 랜섬웨어가 전파되는 방식
컨테이너가 아닌 워크로드에서 랜섬웨어는 호스트를 탈취한 다음 열려 있는 포트를 찾습니다. 많은 워크로드에서 기본적으로 열려 있는 일반적인 포트는 RDP, SSH 및 SMB입니다. 랜섬웨어가 이러한 포트를 통해 연결을 스푸핑하여 인접 호스트에 연결하는 것은 매우 간단합니다. 연결이 열리면 랜섬웨어는 다음 호스트로 악성 페이로드를 빠르게 전달하고, 이를 제어하고, 열려 있는 포트를 찾아 인접한 모든 호스트에서 이 과정을 매우 빠르게 반복할 수 있습니다.

이러한 호스트 간 전파는 대부분의 멀웨어 탐지 및 대응 솔루션이 식별하고 대응할 수 있는 속도보다 더 빠르게 발생할 수 있습니다. 얼마 지나지 않아 전체 인프라가 인질로 잡힐 수 있습니다.
Kubernetes에서 호스트("노드"라고도 함)는 컨테이너 코드를 실행하는 가상 머신(VM) 또는 베어메탈 호스트입니다. 노드의 기본 운영 체제(OS) 위에 추상화 계층을 생성합니다. 클러스터는 파드와 서비스가 네임스페이스와 연결되고 해당 네임스페이스에는 그 안에서 실행되는 애플리케이션에 필요한 모든 코드와 라이브러리가 포함되어 있을 때 생성됩니다. 네임스페이스 내의 구성은 동적입니다: 컴퓨팅 리소스가 수평적으로 확장됨에 따라, 파드는 스핀업되어 코드를 실행한 다음 빠르게 다시 스핀다운되었다가 나중에 다른 IP 주소로 다시 스핀업될 수 있습니다.
파드의 수명은 매우 짧을 수 있으며, 대부분의 파드는 RDP나 SSH와 같은 개방형 포트를 실행하지 않습니다. 이는 파드가 다른 파드와 통신할 때 이러한 프로토콜을 사용하지 않는 경향이 있기 때문이다. 따라서 랜섬웨어는 클러스터 내에서 관련성이 거의 없는 것으로 인식되는 경우가 많습니다.
랜섬웨어는 쿠버네티스의 주요 위협입니다↪f_200D↩↪f_200D↩
그러나 랜섬웨어는 Kubernetes 클러스터에서 빠르게 사이버 재앙이 될 수 있습니다. 악성 코드는 코드 개발 수명 주기 초기에 도입될 수 있지만 아직 실행되지 않았기 때문에 탐지되지 않을 수 있습니다. 악의적인 페이로드는 노출된 API, 취약한 인증 설정, 패치되지 않은 소프트웨어 또는 가장 일반적인 위험인 잘못된 설정을 통해 Kubernetes 클러스터에 유입될 수도 있습니다.
사이버 위협은 소프트웨어 공급망의 어느 곳에서나 발생할 수 있습니다. 예를 들어, 컨테이너의 이미지를 오픈 소스 리포지토리에서 다운로드한 다음 클러스터 내에서 실행하는 경우, 해당 이미지에는 실행되어 파드에서 기본 노드로 '이스케이프'될 수 있는 임베디드 코드가 포함될 수 있습니다. 그런 다음 해당 기본 노드에 랜섬웨어를 배포합니다. 이 시점에서 랜섬웨어는 해당 노드를 탈취하고 개방된 포트를 통해 인접 노드에 연결을 설정하여 위협이 Kubernetes 클러스터를 호스팅하는 모든 기본 노드를 빠르게 탈취하거나 암호화할 수 있습니다.
이로 인해 워커 노드에서 실행 중인 애플리케이션이 '브릭'되어 사실상 종료될 수 있습니다. 코드가 기본 마스터 노드로 빠져나가는 경우, 쿠버네티스 클러스터의 컨트롤 플레인이 탈취되어 전체 클러스터가 중단될 위험이 있습니다. 코드 개발 라이프사이클 초기에 발생한 작은 문제가 금방 큰 재앙으로 번질 수 있습니다.
이러한 유형의 멀웨어의 예로는 2021년 3월에 발견된 실로스케이프가 있습니다. 이 공격은 문서화되지 않은 스레드 프로세스의 취약점을 이용해 기본 노드에 액세스한 다음, kubectl에 액세스하여 인접 노드로 자신을 확산시키는 명령을 실행할 수 있습니다. 이는 Kubernetes 노드의 컨트롤 플레인을 보호하고 다른 프로세스에 의해 액세스가 제한되어야 하는 이유를 극명하게 보여주는 예입니다. Illumio는 호스트의 특정 프로세스에 대한 액세스를 강제하여 액세스 권한을 가진 사용자를 제한할 수 있습니다.
↪cf_200D↩일루미오는쿠버네티스에서 랜섬웨어로부터 선제적으로 보호할 수 있습니다.
Illumio는 Kubernetes 클러스터와 기본 노드 내에서 워크로드 통신을 시행합니다.
일루미오는 쿠버네티스 클러스터 내에서 네임스페이스 간 또는 인그레스 컨트롤러 외부의 네임스페이스와 워크로드 간 통신을 강제하여 워크로드 간의 불필요한 통신을 방지합니다. 다른 공급업체와 달리 Illumio는 컨테이너뿐만 아니라 전체 하이브리드 공격 표면으로 가시성과 시행을 확장하여 보안 운영팀이 정책 사일로를 제거하고 기존 운영을 컨테이너로 확장하여 사이버 복원력을 개선할 수 있습니다.

또한, 기반 노드 간에 통신을 강화하여 알려지지 않은 악성 코드가 Kubernetes 클러스터에서 노드로 탈출하는 경우 해당 악성 코드가 인접 노드로 전파되는 것을 방지할 수 있습니다. 이는 일루미오가 해당 노드 간에 세션이 설정되는 것을 방지하기 때문에 가능합니다. Illumio는 소프트웨어 공급망 초기에 도입된 위협으로부터도 침해가 불가피하다고 가정하기 때문에, 기본 인프라를 방해하려는 의도를 가진 랜섬웨어로부터 Kubernetes 클러스터를 보호합니다.
↪f_200D↩일루미오로 Kubernetes에서 왼쪽으로 보안을 전환하는 방법
사이버 보안에서 왼쪽으로 이동한다는 것은 코드 개발 수명 주기 초기에 보안 솔루션을 도입하는 것을 의미합니다:
- 라이프사이클의 오른쪽은 애플리케이션으로 코드를 호스팅하고 그 앞에 방화벽을 배포하는 것을 나타냅니다.
- 왼쪽은 개발 중인 코드의 탄생을 나타냅니다.
관리되는 워크로드에 알려지지 않은 위협이 코드에 포함되어 나중에 실행되어 인접 호스트로 확산을 시도하는 경우, Illumio는 해당 위협이 확산되는 것을 방지합니다.
이는 일루미오가 이러한 위협의 의도를 알지 못하더라도 마찬가지입니다. 대부분의 탐지 및 대응 보안 솔루션은 결정을 내리기 전에 위협의 특성을 이해하려고 시도합니다. 하지만 Illumio는 결정을 내리기 전에 이를 이해하려고 시간을 낭비하지 않습니다. 대부분의 워크로드에 필요한 측면 통신의 양은 제한되어 있으며, 대부분의 열린 포트는 닫거나 지속적으로 모니터링해야 합니다. 장치를 격리할 수 있으며 Illumio는 어떤 유형의 손상이 시도되고 있는지 알 필요 없이 모든 측면 통신을 차단할 수 있습니다.
쿠버네티스는 랜섬웨어로부터 안전하다고 간주해서는 안 됩니다. 예방이 최선의 치료 방법이며, Illumio는 랜섬웨어가 모든 워크로드를 감염시키는 것을 방지하며, 심지어 Kubernetes에서도 마찬가지입니다.
Illumio가 랜섬웨어의 확산으로부터 Kubernetes를 보호하는 방법에 대해 자세히 알아보고 싶으신가요? 무료 상담 및 데모를 원하시면 지금 바로 문의하세요.