우리가 생각하는 안전한 컨테이너란 무엇일까?

이미 알려진 취약점(CVE)을 스캔하는 것은 최근 많이 활용되는 대표적인 컨테이너 보안 활동 중 하나이다.

컨테이너 이미지를 배포하기 전에 보안 취약점이 이미지 내에 존재하는지 외부 툴을 이용해 스캔을 하는 것으로, 이미지 자체에 내포된 위험을 줄일 수 있다는 점에서 유의미한 보안 활동이다.

하지만 보안 사고는 컨테이너 이미지가 안전하다고 100% 방지되는 것이 아니다. 컨테이너가 실행 중인 환경, 즉 런타임에서도 보안 사고는 언제든 일어날 수 있는 것이다.

그래서 이번 아티클에서는 컨테이너 이미지 런타임 보안 활동에 대해 알아보려 한다.


1. 왜 컨테이너 런타임 보안이 중요한가

컨테이너 이미지 자체에 내포된 취약점을 점검하는 것은 정적 분석에 해당된다.

이미 널리 알려진 취약점 항목을 컨테이너 이미지 구조와 대조하여 스캔하는 방식이기 때문이다.

어떤 행위를 생명주기의 초기 단계로 옮기는 것을 Shift Left라고 하며, ‘왼쪽으로 이동’한다는 뜻이다.

컨테이너 이미지 보안 관점에서 보자면, 컨테이너가 실행되는 시점에 수행하는 보안 검사를 컨테이너 빌드 시점으로 당기는 것을 Shift Left라고 볼 수 있는 것이다.

Shift Left 방식은 필요한 작업을 사전에 수행함으로써 사고 시 발생하는 비용을 미리 절약한다는 장점이 있다.

하지만 이를 반대로 생각하면, 사전에 잡아내지 못한 위험은 그대로 사고로 이어질 수 있는 것이다.

특히 컨테이너는 실제로 동작하고 있는 런타임 환경에서 악성 행위나 무단 침입 같은 사고가 발생하는 비중이 크기 때문에 이런 Shift Left 방식만으로는 보안 사고를 충분히 예방할 수 없는 것이다.

게다가 컨테이너는 기본적으로 호스트 커널을 공유한다. 즉, 컨테이너를 통해 호스트에 무단 침입이 가능하게 된다면 서버에 저장되어있는 다른 민감한 데이터도 유출될 위험이 존재하는 것이다.

마지막으로, 컨테이너 이미지 스캔 작업을 통해 안전한 이미지라고 판단한다고 해서 악성 코드가 아예 없는 무결한 상태라고 보증할 수는 없다.

그래서 우린 컨테이너가 동작하고 있는 시점에도 수상한 동작이나 비정상적인 행위를 감시하고 차단할 수 있어야 하는 것이다. 이런 활동이 바로 컨테이너 런타임 보안이다.


2. 컨테이너 런타임 보안의 핵심과 관련 툴

앞서 컨테이너가 호스트 커널을 공유한다고 했었다. 그렇기 때문에 컨테이너 런타임 보안의 기본은 eBPF 기술이다.

eBPF(Extended Berkeley Packet Filter)는 리눅스 커널 내에서 사용자가 요구하는 작업을 별도의 영역에서 미리 처리하고 검증한 다음 실행하는 기술이다. eBPF 기술 덕에 호스트 커널을 사용하는 컨테이너의 동작들도 모두 실시간으로 포착되는 것이다.

Falco는 eBPF가 감지해내는 컨테이너의 동작들 중 수상한 행위를 포착할 수 있는 클라우드 네이티브 보안 툴이다. 기본으로 정의된 규칙이나 사용자가 정의한 규칙에 위반되는 행위를 감지하는 것이다. eBPF가 리눅스 커널의 CCTV라고 비유한다면, Falco는 CCTV를 통해 이상징후를 감지하는 알람 시스템이라고 보면 된다.

500 (출처: Falco 공식 문서)

eBPF와 Falco를 통해 컨테이너 동작 중 이상행위를 포착하면 끝일까? 자동으로 대응하는 시스템도 마련해야 더욱 안전한 컨테이너 런타임 보안이 가능하다.

그 역할을 해주는 툴로 Tetragon이 있다. eBPF 기반 보안 관측 및 런타임 제어 툴로, 특히 Kubernetes 환경에 특화되어있다. Tetragon도 Falco처럼 기본 규칙 또는 사용자 정의 규칙을 기반으로 동작하며, 이에 위반되는 이상행위를 즉시 차단할 수 있다. Grafana 같은 모니터링 툴과도 쉽게 연동된다.

(출처: Tetragon 공식 문서)

즉, eBPF와 Falco, Tetragon을 함께 사용하면 컨테이너 런타임의 이상행위에 대해 실시간 알람과 자동 차단, 모니터링까지 가능한 보안 체계를 구축할 수 있다.


3. 컨테이너 런타임 보안 도입의 가치

우리는 컨테이너 런타임 보안 활동을 통해 크게 3가지 가치를 창출할 수 있다.

1. 실시간 위협 대응

Tetragon과 같은 자동 대응 툴을 활용하면 컨테이너 내에서 위반 활동 발생 시 즉각 차단하는 실시간 위협 대응이 가능하다.

컨테이너를 향한 악성 행위는 언제 어떻게 시도될지 모르므로, 미리 정의된 이상행위에 대해서는 실시간으로 즉각 대응하는 시스템을 구축하는 것이 중요하겠다.

2. 제로 트러스트 구현

보안 원칙 중에는 아무도 믿지 말라는 제로 트러스트(Zero Trust) 원칙이 있다.

eBPF 기반의 컨테이너 런타임 보안은 제로 트러스트 원칙을 컨테이너 내부 프로세스 단위까지 확장하여 보다 안전한 클라우드 네이티브 시스템을 실현할 수 있는 것이다.

3. 컴플라이언스와 가시성

금융이나 의료 등 보안에 매우 민감한 규제 산업에서는 실시간 감사 로그 확보와 같은 보안 요구사항이 있다.

eBPF 기반으로 기록되고 모니터링 가능한 컨테이너 런타임 보안 활동은 이런 규제를 준수에 큰 도움이 되며 인프라 전체의 투명성을 제고할 수 있다.


마무리

이번 아티클에서는 eBPF 기반의 컨테이너 런타임 보안의 핵심과 관련 툴들, 이러한 보안 활동이 가져다 줄 가치에 대해 알아봤다.

클라우드 네이티브가 너무나 당연한 현 시대에 컨테이너 런타임 보안은 점점 더 필수가 되어가고 있다.

물론, 컨테이너 이미지 보안 스캔과 같은 사전 정적 분석과 컨테이너 런타임 보안이 공존해야 더욱 안전한 클라우드 환경에서 서비스를 운영할 수 있을 것이다.