2020.03.12

비자가 컨테이너 보안 솔루션을 "자체적으로" 구축한 방법

Lucian Constantin | CSO
금융 서비스 시장의 대기업인 비자(Visa)도 다른 많은 대기업과 마찬가지로 컨테이너화(containerization) 기술을 도입했다. 컨테이너화는 레거시 모놀리식 앱을 사용하는 기업이 클라우드 인프라에서 대규모로 관리, 업데이트, 배포하기가 더 용이한 마이크로서비스 기반 애플리케이션 아키텍처로 전환할 수 있게 해준다.
 
ⓒ Getty Images Bank 

비자의 보안 팀은 여러 상용 솔루션을 조합해 이를 자체 환경에 맞춰 운영하느라 리소스를 소비하는 대신 기본으로 돌아가 보안 정책 시행, 사고 탐지 및 교정을 위한 지속적 모니터링 솔루션을 자체적으로 개발했다. 

비자는 이 프로젝트로 우수한 보안에 수여되는 CSO50 상을 수상했다. 매시업(Micro-services based Adaptive Security Hardening and Usage Platform, MASHUP)으로 불리는 이 솔루션은 파일시스템 액세스 컨트롤, SE리눅스(SELinux) 정책, 그리고 cgroups(control groups)와 같은 기존 컨테이너 오케스트레이션 플랫폼에 이미 있는 기본 기능을 활용하며 주로 오픈소스 툴과 라이브러리를 기반으로 만들어졌다.


만들기 대 구매하기

비자가 기존 공급업체의 상용 솔루션을 구매하는 대신 자체 보안 플랫폼을 만들기로 한 데는 여러 가지 이유가 있다.

첫째, 컨테이너 기반 인프라와 컨테이너화된 앱을 위한 보안 솔루션을 제공하는 공급업체의 상당수가 신생 업체라는 점이다. 신생 업체의 경우 대규모 조직이 기대하는 성숙도 표준을 아직 충족하지 못하는 경우가 많다.

또한 컨테이너를 위한 모니터링 및 보호 기능이 일부 조직에는 불필요한, 훨씬 더 넓은 범위의 기능 집합에 포함된 제품도 있다. 비자는 10%의 필요한 기능을 위해 나머지 90%의 불필요한 기능까지 함께 구매하기는 원하지 않았다.

비자가 솔루션을 직접 만들기로 한 또 다른 중요한 이유는 개발 유연성(flexibility)과 민첩성(agility)이다. 플랫폼에 대한 통제권을 온전히 손에 쥔다는 것은 내부 팀이 요청하는 새로운 기능을 구현하거나 경영진이 정한 새로운 우선 순위 및 전략에 따라 제품 로드맵을 변경할 때 신속하게 움직일 수 있음을 의미한다. 확인된 버그를 빠르게 수정할 수 있다는 점도 중요한 요인으로 작용했다.

또한 상용 제품 중에는 비자 특유의 환경에 필요한 기능이 없는 경우도 있었다. 이런 기능이 없을 경우 위협이 방치되거나 공급업체가 기능을 추가해줄 때까지 기다려야 하는 위험에 노출된다.

비자의 기술 및 운영 부문 CISO인 수닐 세샤드리는 본지와의 이메일 인터뷰에서 “비자는 내부 전문 기술이 우수하고 대처해야 할 문제도 잘 알았기 때문에 직접 제품을 만들기로 결정했다. 또한 시장의 기존 솔루션으로는 필요한 부분을 완벽하게 충족할 수 없었으므로 우리의 사용 및 위협 모델에 맞는 전용 제품을 만들었다”라고 말했다.

마지막으로, 자체 솔루션을 구축함으로써 비자의 운영, 보안, 개발 팀은 상호 더 긴밀히 협조하고 지원할 수 있게 됐다. 이는 데브섹옵스(DevSecOps)의 부상과 함께 최근 몇 년 사이 중요성이 높아지고 있는 부분이다.

비자는 CSO50 상을 수상하면서 “보안 컨트롤을 사후에 끼워 넣는 대신 이 제품을 설계에 포함해서 라이브 시스템의 방치된 위협으로 인해 발생할 수 있는 미래 비용을 낮출 수 있었다. 현재 비자의 컨테이너 보안 솔루션인 매시업은 비자 프라이빗 클라우드에서 실행되는 주요 애플리케이션 스택을 보호하는 동시에 여러 상태의 빌드와 배포, 런타임 보안에 걸쳐 핵심적인 컨테이너와 쿠버네티스 보안을 제공하는 데 도움이 되고 있다”라고 전했다.


작게 시작해서 크게 만들기

비자는 처음에는 리눅스와 같은 호스트 운영체제의 기본 기능에 의존해서 작게 시작하고 이후 단계별로 기능을 추가했다. 최종적으로 제품은 대부분의 영역에서 플랫폼 독립성을 갖추고, 손쉬운 조정을 통해 모든 호스트 운영체제(OS) 또는 컨테이너 오케스트레이터와 작동할 수 있게 됐다.

매시업은 커널, SE리눅스, 런타임 및 컨테이너 애플리케이션 수준에서 액세스 제어를 구현하고 모니터링을 실행하며, 호스트 수준 이벤트와 컨테이너 수준 이벤트 및 활동을 구분하고 둘 사이의 연관성을 찾을 수 있다. 또한 공격자가 악용 가능한 틈새를 차단하는 기본 안전 구성을 강제한다. 이와 같은 ‘시프트-레프트(shift-left)’ 방식의 검증은 심사를 거친 안전한 구성만 프로덕션으로 들어가도록 보장한다.

개발에서 중요하게 초점을 둔 한 가지는 수백만 개의 이벤트를 생성하는 수천 개의 워크로드에 대해 자동으로 생성된 프로필을 두고 이 프로필에서의 이탈을 포착함으로써 순차 및 포인트 이상점 탐지를 수행하는 머신러닝 엔진을 구축하는 일이었다. 비자는 텐서플로우(TensorFlow)와 같은 오픈소스 라이브러리를 사용해 이 머신러닝 엔진을 구축했다. 사고가 탐지되면 매시업은 비자의 보안 팀이 상황을 해결하기 위해 만든 자동화된 플레이북을 적용해 대응한다. 비자에 따르면 전에는 며칠씩 걸렸던 사고 대응 시간이 이를 통해 몇 분 단위로 줄었다.

세샤드리는 “이 시스템은 2년 이상 반복하며 개발했다. 가장 좋았던 부분은 쿠버네티스 기술의 성숙과 반복 속도가 빨랐다는 것이다. 컨테이너 기술도 마찬가지다. 덕분에 새로운 기능이 나오고 새로운 위협이 발견될 때 이에 맞춰 제품을 개선할 수 있었다”라고 말했다.


확장성과 효율성

이 시스템은 새 노드와 컨테이너가 클러스터에 추가됨에 따라 손쉽게, 자동으로 확장되도록 설계됐다. 매시업은 백그라운드에서 작동하며 모니터링 대상 애플리케이션에는 완전히 투명하다. 즉, 애플리케이션 런타임에 연결되는 부분이 없으므로 애플리케이션 코드를 변경할 필요도 없다.

매시업 서버와 에이전트는 그 자체로 컨테이너 이미지로 패키징되므로 다운타임 없이 롤링 업그레이드가 가능하다. 비자 측은 이 솔루션이 시스템 리소스 소비에 미치는 영향은 작으며(구체적인 성능 측정치 제공은 거부함), 시스템이 제공하는 다양한 보안 기능을 감안하면 허용 가능한 수준이고 같은 기능을 위해 여러 개의 상용 솔루션을 실행하는 경우에 비하면 훨씬 더 낮을 것이라고 말했다

시스템은 지속적 통합 및 지속적 제공(CI/CD) 파이프라인에 통합되므로 보안 컨트롤은 실시간으로 검증되며 취약점 스캔 프로세스는 엔터프라이즈 환경에서 보편적인 주, 월 단위에서 지속적 모니터링으로 전환됐다.


도입 효과 

비자는 프로젝트 개발 첫 해 도중에 컨테이너 환경의 절반에 매시업을 연결했다. 이 수치는 현재 70%까지 높아졌고, 프로젝트 2년차가 마무리되는 시점에는 전체에 적용될 것으로 예상된다. 비자는 CSO50 수상에서 “보안 컨트롤로 매시업이 있는 지금 보안 관련 이벤트와 공격의 대부분이 자동으로 탐지된다. 평균 탐지 시간이 빠르고, 평균 억제 시간도 몇 분 수준이다”라고 밝혔다.

비자는 서드파티 공급업체의 상용 솔루션을 구현한 것보다 상당한 비용 절감을 이뤘다고 믿는다. 공급업체 솔루션 구축에 따르는 인프라와 인건비, 고정 수수료와 연간 유지보수 수수료, 공급업체 솔루션 인력 채용 및 교육 비용을 절약하고 오픈소스 기술을 사용하므로 제품 라이선스 비용도 절감된다.

다른 기업도 똑같이 할 수 있을까? 이 정도 프로젝트에 착수할 수준의 엔지니어링 역량과 보호하고자 하는 환경 및 데이터에 대한 심층적인 이해가 있다면 물론 가능하다. 시작은 정확하고 체계적인 위협 모델이다.

세샤드리는 “위협 환경과 공격 표면 측면에서 조직 간에 비슷한 점도 있지만 차이점도 있고 그 차이점이 매우 중요하다. 조직에서 고려해야 할 요소로는 자체 구축과 구매 중 선호하는 방식, 가용한 엔지니어링 인력, 뛰어난 운영 및 엔지니어링 기술 확보 여부, 장기간 반복을 거치기 위한 유연함, 자체 구축이 목표에 이르지 못할 경우 선택할 상용 솔루션 대안, 그리고 자본과 인력, 프로젝트가 성공하지 못할 경우의 영향 등이 있다”라고 말했다.

보안 분야에는 자체 암호화 알고리즘을 만들면 안 된다는 말이 있다. 해당 일을 할 만한 지식을 갖춘 암호화 전문가와 암호해독자가 비교적 드물고, 만든다 해도 보편적으로 도입되거나 권장되기 전에 엄격한 심사와 피어 리뷰를 거치기 때문이다. 전반적인 보안 시스템에 이와 동일한 사고방식을 적용해 보면 직접 만드는 것보다 전문가가 만든 시스템을 사용하는 편이 항상 더 좋다는 생각에 이르게 될 것이다.

그러나 지난 5년 사이 머신러닝이 발전하고 사용자가 머신러닝 기술을 활용할 수 있게 해주는 무료 리소스와 피어 리뷰를 거친 오픈소스 라이브러리가 쏟아져 나오면서 이러한 양상도 바뀌고 있다. 많은 상용 제품이 내부적으로는 동일한 오픈소스 툴과 네이티브 기능을 사용해 데이터를 포착하고 분석하며 이를 기반으로 통계 모델을 구축했다. 오늘날 이런 모델은 표준 라이브러리 내에 잘 정의돼 있다. 기업은 사각 지대를 피하고 데이터와 위협을 아는 데 필요한 모든 이벤트를 캡처할 수만 있다면 각자의 특정 환경에 더 적합한 효과적인 규칙 기반 이상 탐지 엔진을 만들 수 있다.

세샤드리는 “오픈소스 라이브러리는 조직이 빠르게 시작하는 데 도움이 되지만 성공적인 이상 탐지 모델을 구축하기 위해 필요한 다른 요구 사항이 사라지는 것은 아니다. 예를 들어 모든 지능적인 시스템에는 데이터, 상당량의 데이터를 처리할 수 있는 컴퓨팅 플랫폼, 매개변수나 학습된 모델을 활용하기 위한 머신러닝 라이브러리가 포함된 소프트웨어 스택, 거의 실시간으로 위협에 대응하기 위한 인프라, 그리고 이 모든 것을 실행할 인력이 필요하다”라고 말했다.

비자는 그동안 개발한 툴과 프로세스의 일부를 커뮤니티에 기여하는 방안을 검토하고 있다. editor@itworld.co.kr  


2020.03.12

비자가 컨테이너 보안 솔루션을 "자체적으로" 구축한 방법

Lucian Constantin | CSO
금융 서비스 시장의 대기업인 비자(Visa)도 다른 많은 대기업과 마찬가지로 컨테이너화(containerization) 기술을 도입했다. 컨테이너화는 레거시 모놀리식 앱을 사용하는 기업이 클라우드 인프라에서 대규모로 관리, 업데이트, 배포하기가 더 용이한 마이크로서비스 기반 애플리케이션 아키텍처로 전환할 수 있게 해준다.
 
ⓒ Getty Images Bank 

비자의 보안 팀은 여러 상용 솔루션을 조합해 이를 자체 환경에 맞춰 운영하느라 리소스를 소비하는 대신 기본으로 돌아가 보안 정책 시행, 사고 탐지 및 교정을 위한 지속적 모니터링 솔루션을 자체적으로 개발했다. 

비자는 이 프로젝트로 우수한 보안에 수여되는 CSO50 상을 수상했다. 매시업(Micro-services based Adaptive Security Hardening and Usage Platform, MASHUP)으로 불리는 이 솔루션은 파일시스템 액세스 컨트롤, SE리눅스(SELinux) 정책, 그리고 cgroups(control groups)와 같은 기존 컨테이너 오케스트레이션 플랫폼에 이미 있는 기본 기능을 활용하며 주로 오픈소스 툴과 라이브러리를 기반으로 만들어졌다.


만들기 대 구매하기

비자가 기존 공급업체의 상용 솔루션을 구매하는 대신 자체 보안 플랫폼을 만들기로 한 데는 여러 가지 이유가 있다.

첫째, 컨테이너 기반 인프라와 컨테이너화된 앱을 위한 보안 솔루션을 제공하는 공급업체의 상당수가 신생 업체라는 점이다. 신생 업체의 경우 대규모 조직이 기대하는 성숙도 표준을 아직 충족하지 못하는 경우가 많다.

또한 컨테이너를 위한 모니터링 및 보호 기능이 일부 조직에는 불필요한, 훨씬 더 넓은 범위의 기능 집합에 포함된 제품도 있다. 비자는 10%의 필요한 기능을 위해 나머지 90%의 불필요한 기능까지 함께 구매하기는 원하지 않았다.

비자가 솔루션을 직접 만들기로 한 또 다른 중요한 이유는 개발 유연성(flexibility)과 민첩성(agility)이다. 플랫폼에 대한 통제권을 온전히 손에 쥔다는 것은 내부 팀이 요청하는 새로운 기능을 구현하거나 경영진이 정한 새로운 우선 순위 및 전략에 따라 제품 로드맵을 변경할 때 신속하게 움직일 수 있음을 의미한다. 확인된 버그를 빠르게 수정할 수 있다는 점도 중요한 요인으로 작용했다.

또한 상용 제품 중에는 비자 특유의 환경에 필요한 기능이 없는 경우도 있었다. 이런 기능이 없을 경우 위협이 방치되거나 공급업체가 기능을 추가해줄 때까지 기다려야 하는 위험에 노출된다.

비자의 기술 및 운영 부문 CISO인 수닐 세샤드리는 본지와의 이메일 인터뷰에서 “비자는 내부 전문 기술이 우수하고 대처해야 할 문제도 잘 알았기 때문에 직접 제품을 만들기로 결정했다. 또한 시장의 기존 솔루션으로는 필요한 부분을 완벽하게 충족할 수 없었으므로 우리의 사용 및 위협 모델에 맞는 전용 제품을 만들었다”라고 말했다.

마지막으로, 자체 솔루션을 구축함으로써 비자의 운영, 보안, 개발 팀은 상호 더 긴밀히 협조하고 지원할 수 있게 됐다. 이는 데브섹옵스(DevSecOps)의 부상과 함께 최근 몇 년 사이 중요성이 높아지고 있는 부분이다.

비자는 CSO50 상을 수상하면서 “보안 컨트롤을 사후에 끼워 넣는 대신 이 제품을 설계에 포함해서 라이브 시스템의 방치된 위협으로 인해 발생할 수 있는 미래 비용을 낮출 수 있었다. 현재 비자의 컨테이너 보안 솔루션인 매시업은 비자 프라이빗 클라우드에서 실행되는 주요 애플리케이션 스택을 보호하는 동시에 여러 상태의 빌드와 배포, 런타임 보안에 걸쳐 핵심적인 컨테이너와 쿠버네티스 보안을 제공하는 데 도움이 되고 있다”라고 전했다.


작게 시작해서 크게 만들기

비자는 처음에는 리눅스와 같은 호스트 운영체제의 기본 기능에 의존해서 작게 시작하고 이후 단계별로 기능을 추가했다. 최종적으로 제품은 대부분의 영역에서 플랫폼 독립성을 갖추고, 손쉬운 조정을 통해 모든 호스트 운영체제(OS) 또는 컨테이너 오케스트레이터와 작동할 수 있게 됐다.

매시업은 커널, SE리눅스, 런타임 및 컨테이너 애플리케이션 수준에서 액세스 제어를 구현하고 모니터링을 실행하며, 호스트 수준 이벤트와 컨테이너 수준 이벤트 및 활동을 구분하고 둘 사이의 연관성을 찾을 수 있다. 또한 공격자가 악용 가능한 틈새를 차단하는 기본 안전 구성을 강제한다. 이와 같은 ‘시프트-레프트(shift-left)’ 방식의 검증은 심사를 거친 안전한 구성만 프로덕션으로 들어가도록 보장한다.

개발에서 중요하게 초점을 둔 한 가지는 수백만 개의 이벤트를 생성하는 수천 개의 워크로드에 대해 자동으로 생성된 프로필을 두고 이 프로필에서의 이탈을 포착함으로써 순차 및 포인트 이상점 탐지를 수행하는 머신러닝 엔진을 구축하는 일이었다. 비자는 텐서플로우(TensorFlow)와 같은 오픈소스 라이브러리를 사용해 이 머신러닝 엔진을 구축했다. 사고가 탐지되면 매시업은 비자의 보안 팀이 상황을 해결하기 위해 만든 자동화된 플레이북을 적용해 대응한다. 비자에 따르면 전에는 며칠씩 걸렸던 사고 대응 시간이 이를 통해 몇 분 단위로 줄었다.

세샤드리는 “이 시스템은 2년 이상 반복하며 개발했다. 가장 좋았던 부분은 쿠버네티스 기술의 성숙과 반복 속도가 빨랐다는 것이다. 컨테이너 기술도 마찬가지다. 덕분에 새로운 기능이 나오고 새로운 위협이 발견될 때 이에 맞춰 제품을 개선할 수 있었다”라고 말했다.


확장성과 효율성

이 시스템은 새 노드와 컨테이너가 클러스터에 추가됨에 따라 손쉽게, 자동으로 확장되도록 설계됐다. 매시업은 백그라운드에서 작동하며 모니터링 대상 애플리케이션에는 완전히 투명하다. 즉, 애플리케이션 런타임에 연결되는 부분이 없으므로 애플리케이션 코드를 변경할 필요도 없다.

매시업 서버와 에이전트는 그 자체로 컨테이너 이미지로 패키징되므로 다운타임 없이 롤링 업그레이드가 가능하다. 비자 측은 이 솔루션이 시스템 리소스 소비에 미치는 영향은 작으며(구체적인 성능 측정치 제공은 거부함), 시스템이 제공하는 다양한 보안 기능을 감안하면 허용 가능한 수준이고 같은 기능을 위해 여러 개의 상용 솔루션을 실행하는 경우에 비하면 훨씬 더 낮을 것이라고 말했다

시스템은 지속적 통합 및 지속적 제공(CI/CD) 파이프라인에 통합되므로 보안 컨트롤은 실시간으로 검증되며 취약점 스캔 프로세스는 엔터프라이즈 환경에서 보편적인 주, 월 단위에서 지속적 모니터링으로 전환됐다.


도입 효과 

비자는 프로젝트 개발 첫 해 도중에 컨테이너 환경의 절반에 매시업을 연결했다. 이 수치는 현재 70%까지 높아졌고, 프로젝트 2년차가 마무리되는 시점에는 전체에 적용될 것으로 예상된다. 비자는 CSO50 수상에서 “보안 컨트롤로 매시업이 있는 지금 보안 관련 이벤트와 공격의 대부분이 자동으로 탐지된다. 평균 탐지 시간이 빠르고, 평균 억제 시간도 몇 분 수준이다”라고 밝혔다.

비자는 서드파티 공급업체의 상용 솔루션을 구현한 것보다 상당한 비용 절감을 이뤘다고 믿는다. 공급업체 솔루션 구축에 따르는 인프라와 인건비, 고정 수수료와 연간 유지보수 수수료, 공급업체 솔루션 인력 채용 및 교육 비용을 절약하고 오픈소스 기술을 사용하므로 제품 라이선스 비용도 절감된다.

다른 기업도 똑같이 할 수 있을까? 이 정도 프로젝트에 착수할 수준의 엔지니어링 역량과 보호하고자 하는 환경 및 데이터에 대한 심층적인 이해가 있다면 물론 가능하다. 시작은 정확하고 체계적인 위협 모델이다.

세샤드리는 “위협 환경과 공격 표면 측면에서 조직 간에 비슷한 점도 있지만 차이점도 있고 그 차이점이 매우 중요하다. 조직에서 고려해야 할 요소로는 자체 구축과 구매 중 선호하는 방식, 가용한 엔지니어링 인력, 뛰어난 운영 및 엔지니어링 기술 확보 여부, 장기간 반복을 거치기 위한 유연함, 자체 구축이 목표에 이르지 못할 경우 선택할 상용 솔루션 대안, 그리고 자본과 인력, 프로젝트가 성공하지 못할 경우의 영향 등이 있다”라고 말했다.

보안 분야에는 자체 암호화 알고리즘을 만들면 안 된다는 말이 있다. 해당 일을 할 만한 지식을 갖춘 암호화 전문가와 암호해독자가 비교적 드물고, 만든다 해도 보편적으로 도입되거나 권장되기 전에 엄격한 심사와 피어 리뷰를 거치기 때문이다. 전반적인 보안 시스템에 이와 동일한 사고방식을 적용해 보면 직접 만드는 것보다 전문가가 만든 시스템을 사용하는 편이 항상 더 좋다는 생각에 이르게 될 것이다.

그러나 지난 5년 사이 머신러닝이 발전하고 사용자가 머신러닝 기술을 활용할 수 있게 해주는 무료 리소스와 피어 리뷰를 거친 오픈소스 라이브러리가 쏟아져 나오면서 이러한 양상도 바뀌고 있다. 많은 상용 제품이 내부적으로는 동일한 오픈소스 툴과 네이티브 기능을 사용해 데이터를 포착하고 분석하며 이를 기반으로 통계 모델을 구축했다. 오늘날 이런 모델은 표준 라이브러리 내에 잘 정의돼 있다. 기업은 사각 지대를 피하고 데이터와 위협을 아는 데 필요한 모든 이벤트를 캡처할 수만 있다면 각자의 특정 환경에 더 적합한 효과적인 규칙 기반 이상 탐지 엔진을 만들 수 있다.

세샤드리는 “오픈소스 라이브러리는 조직이 빠르게 시작하는 데 도움이 되지만 성공적인 이상 탐지 모델을 구축하기 위해 필요한 다른 요구 사항이 사라지는 것은 아니다. 예를 들어 모든 지능적인 시스템에는 데이터, 상당량의 데이터를 처리할 수 있는 컴퓨팅 플랫폼, 매개변수나 학습된 모델을 활용하기 위한 머신러닝 라이브러리가 포함된 소프트웨어 스택, 거의 실시간으로 위협에 대응하기 위한 인프라, 그리고 이 모든 것을 실행할 인력이 필요하다”라고 말했다.

비자는 그동안 개발한 툴과 프로세스의 일부를 커뮤니티에 기여하는 방안을 검토하고 있다. editor@itworld.co.kr  


X