Container Runtime Security(컨테이너 런타임 보안)이란 컨테이너화된 애플리케이션이 동작 중일 때 보안성을 높이기 위한 활동들을 의미합니다.

컨테이너 런타임 보안이 중요한 이유

컨테이너 내부의 애플리케이션은 실제로 동작하는 개체이면서, 대부분 데이터를 처리하는 역할을 수행하기 때문에 보안 공격 대상이 되기 쉽습니다.

게다가 컨테이너는 호스트의 커널을 공유하기 때문에, 공격자가 컨테이너 내부 애플리케이션에 무단 침입 후 컨테이너 외부로 빠져나오게 된다면 해당 호스트나 다른 컨테이너에도 접근하게 되므로 심각한 보안 사고로 이어질 수 있습니다.

그렇기 때문에 동작 중인 컨테이너에 대한 보안은 중요하다고 할 수 있겠습니다.

컨테이너 런타임 보안 활동이 이뤄지는 방식

이러한 컨테이너 런타임 보안 활동에는 컨테이너에 대한 실시간 모니터링 및 보호 활동 등이 포함됩니다.

컨테이너가 실행되면서 발생하는 Linux 커널의 System Call을 감시하는 것이 일반적이라고 할 수 있겠습니다.

이렇게 감시를 진행하다가 프로세스의 이상 행위나 잠재적인 보안 유해 행위가 감지된다면 이를 사용자 또는 관리자에게 알리는데, 더 나아가 미리 정의된 규칙에 따라 이러한 행위를 제한하는 경우도 있습니다.

컨테이너 런타임 보안을 위해 개발된 툴

컨테이너 런타임 보안 활동을 위해 개발된 툴에는 여러가지가 있습니다. 그 중 대표적인 3가지를 간략히 소개해드리겠습니다.

  • Falco
    • Linux 커널 및 Kubernetes API Call을 통해 노드 및 컨테이너 내 이상 행위를 감지할 수 있는 툴 (관련 글)
  • Aqua Security
    • 컨테이너의 런타임 보호 기능을 제공하며, 보안 제어 자동화를 도와줌
  • Sysdig Secure
    • 런타임 보안, 포렌식, 취약점 관리 기능 등을 제공함

References