“클라우드 네이티브 실행 환경 고려한 보안 정책 마련해야”
상태바
“클라우드 네이티브 실행 환경 고려한 보안 정책 마련해야”
  • 데이터넷
  • 승인 2020.06.27 09:00
  • 댓글 0
이 기사를 공유합니다

클라우드 속도 보장하는 데브섹옵스 환경 마련 필수 … 실행 중 애플리케이션도 보호
▲ 신종회 엔씨소프트 정보보안센터장
▲ 신종회 엔씨소프트 정보보안센터장

[데이터넷] 클라우드 환경이 빠르게 진화하면서 보안 적용 방안에 대한 새로운 요구가 발생하고 있다. 빠르게 연속적으로 이어지는 CI/CD 파이프라인에 보안을 주입하는 데브섹옵스 구현이 필수로 꼽히며, 운영 중인 클라우드에서도 위협을 모니터링하는 방법을 필요로하고 있다. 실제 클라우드 운영 환경에서 필요한 보안 기술과 방법론을 소개한다. <편집자>

코로나19 영향으로 기업의 재택근무와 원격근무가 늘어나면서 클라우드 이용률이 가파른 성장세를 보이고 있다. 클라우드는 인프라 안정성과 기업 데이터 보안 등에 대한 우려로 다양하고 복잡한 보안사항이 요구된다. 이에 클라우드 서비스 제공자들은 여러 보안인증을 획득하거나 필요 솔루션을 제공하는 등의 노력을 이어왔다. 

그러나 기업마다 IT환경이 서로 다르고 사용되는 서비스도 다양해 개별 특성에 최적화된 클라우드 보안을 제공하는데 어려움을 겪어왔다. 이에 클라우드 사용을 계획하거나, 이미 사용을 시작한 기업들은 클라우드 인프라 보안성을 유지하면서 성능에 미치는 영향을 최소화할 수 있는 클라우드 네이티브 보안 솔루션을 선택해 사용하고 있다. 

최근 클라우드 시장 성장은 인프라 부문에만 머물지 않고, 기업의 애플리케이션 개발 운영 영역까지 빠르게 확장되고 있는 추세다. 실제로 많은 기업들이 애플리케이션 개발과 운영에 새로운 클라우드 네이티브 애플리케이션 개발 방법론을 채택하면서 클라우드 성장은 더욱 가속화되고 있다. 이러한 측면에서 기업은 이제 클라우드 인프라 보안에서 클라우드 애플리케이션 보안으로 한단계 진화를 모색해야 할 시점이다. 

▲ 개발과 운영 통합한 데브옵스
▲ 개발과 운영 통합한 데브옵스

애플리케이션 개발환경 변화 
클라우드 네이티브 애플리케이션 아키텍처는 기업이 고객의 요구사항에 빠르게 대응할 수 있도록 개발자 프로세스의 효율적인 운영과 빠른 애플리케이션 배포를 가능하게 한다. 애플리케이션 운영 측면에서도 실시간으로 변화하는 사용자 증가·감소에 따라 애플리케이션을 자동으로 확장되고 축소될 수 있도록 해주며, 클라우드 인프라 비용 절감을 위해 최적화된 애플리케이션 구성이 가능하도록 해준다. 

클라우드 네이티브 애플리케이션의 가장 큰 특징은 데브옵스(DevOps) 기반 CI/CD(Continuous Integration/Continuous Delivery), 마이크로서비스(Microservice), 자동화(Automation)라 할 수 있는데 즉, 애플리케이션의 개발부터 운영에 이르는 애플리케이션 라이프사이클을 자동화해 구현할 수 있게 만들어 주는 것이다. 클라우드 네이티브 애플리케이션 보안 대한 효과적인 두 가지 방안을 살펴보자. 

▲ 클라우드 네이티브 애플리케이션 배포 전 검증 통한 데브섹옵스 구현
▲ 클라우드 네이티브 애플리케이션 배포 전 검증 통한 데브섹옵스 구현

CI/CD 파이프라인 위한 데브섹옵스 구현
사용자 요구에 빠르게 대응하기 위해 클라우드 애플리케이션 개발과 빌드에 다양한 오픈소스 기반 자동화 도구가 사용된다. 이러한 자동화 도구의 증가는 마이크로서비스를 위한 컨테이너 이미지에 제로데이 취약점, 악성코드, 악성 콘텐츠 등 잠재적인 위협이 포함돼 배포될 수 있는 위험이 높다.

그래서 데브옵스의 CI/CD 파이프라인에서 배포 전에 컨테이너 애플리케이션 이미지에 대한 검증이 필요하다. 또한 개발자 부주의로 중요한 정보가 포함돼 배포된 후 그대로 노출될 우려도 있다. 

따라서 데브옵스 프로세스에 보안을 적용한 데브섹옵스(DevSecOps, Dev Security Ops)를 반드시 적용해야 한다. 끊임없이 통합과 배포가 이뤄지는 데브옵스 파이프라인에서 사전에 보안을 고려해 안전한 배포 이미지를 확정할 수 있는 방안이 필요하다. 특히 속도가 생명인 데브옵스의 배포, 빌드 속도를 보장할 수 있는 자동화된 보안 검사방법을 적용하는 것이 중요하다.

최신 위협 정보를 포함한 위협 인텔리전스를 이용한 검사도 필요하다. 기업의 애플리케이션 라이프사이클 측면에서 배포 후 발생하는 공격 때문에 애플리케이션을 수정해야 할 경우, 서비스가 중단·재개되는데까지 필요한 시간과 비용을 계산해 보면 안전한 이미지가 배포되도록 검증하는 것이 얼마나 중요한 지를 알 수 있을 것이다. 이는 보안을 고려하지 않은 데브옵스 파이프라인보다 기업의 전체적인 애플리케이션 라이프사이클 유지에 도움이 되는 데브섹옵스의 가장 중요한 목적이라 할 수 있다. 

▲ 애플리케이션 가시성 확보
▲ 애플리케이션 가시성 확보

클라우드 네이티브 애플리케이션 런타임 보호
다음으로 고려해야할 클라우드 네이티브 애플리케이션 보안 요구 사항은 런타임 보호(Runtime Protection) 방안이다. 

멀티 클라우드에서 애플리케이션 실행 환경은 코드로서의 인프라, 마이크로서비스로 전환되고 있다. 애플리케이션이 컨테이너화 되고, 애플리케이션이 실행되는 런타임 환경은 호스트 상에서 실행되는 환경을 넘어 도커·컨테이너와 같이 효율성을 극대화하는 환경으로 진화하고 있다. 또한 컨테이너를 운영 관리하는 쿠버네티스와 같은 오케스트레이션 서비스도 사용되고 있으며, 기업의 인프라 관리 부담을 해결할 수 있는 서버리스 환경까지 확장되고 있다. 

기업은 최신 버전 유지와 새로운 패키지 관리가 까다로운 데브옵스 파이프라인의 경우에도 클라우드 서비스를 이용할 수 있게 됐다. 클라우드 인프라 구성에 대한 부담없이 기업 애플리케이션을 배포하고 실행할 수 있게 됐다. 이러한 클라우드 애플리케이션의 런타임 환경은 새로운 보안 이슈들을 야기하게 됐다. 이를 해결하기 위해 클라우드 애플리케이션의 실행과 동작에 대한 정확한 모니터링 방안을 도입해야 한다. 

도커, 컨테이너 환경의 가장 큰 장점은 플랫폼에 의존하지 않고 도커가 설치된 런타임 환경 어디서나 컨테이너 애플리케이션을 배포하고 실행할 수 있다는 것이다. 실제로 컨테이너로 만들어진 애플리케이션은 운영체제와 상관없이 도커가 설치된 데이터센터, AWS, 애저, 구글 클라우스 플랫폼(GCP) 등 기업이 사용하고 있는 모든 클라우드 환경에 배포되고 실행될 수 있다. 

계속 끊임없이 빌드·배포가 수행되는 멀티 클라우드 환경 하에서는 애플리케이션의 최종 런타임 환경에 대한 정확한 모니터링이 어렵다는 문제가 있으며, 여기에 서버리스 환경을 사용하는 경우에는 애플리케이션 실행 상태에 대해서 더욱 확인이 어렵게 된다. 

개발자의 코드를 이용해야 접근, 모니터링이 가능한 서버리스 환경의 특성으로 애플리케이션 실행 중 사용자가 입력하는 데이터에 대한 부적절한 데이터 처리와 복제, 그리고 인젝션, 리다이렉션과 같은 위협이 발생할 수 있고 허가되지 않은 애플리케이션 실행과 같은 행위에 대해서도 확인이 어렵다. 

따라서 애플리케이션 실행에 대한 정확한 모니터링 방안이 필요하며, 이는 실행되는 애플리케이션의 제어와 처리되는 데이터에 대한 실시간 검증이 이뤄져야 한다.

기업은 모든 애플리케이션 실행에 대한 동작과 데이터의 흐름에 대한 감시를 통해 클라우드 환경 내의 어디인가에서 실행되고 있는 애플리케이션의 동작을 파악하고 잘못된 사용과 데이터를 차단하는 방안을 고려해야만 하는 것이다. 여기에 애플리케이션 사용자 패턴에 대한 모니터링도 필요하다.

지금까지 살펴본 바와 같이 기업의 클라우드 환경은 복잡한 인프라 구성을 뛰어 넘어 애플리케이션의 개발과 실행 환경에 많은 변화를 가져오고 있다. 

클라우드 초창기 인프라 관점에서 보안을 고려했다면 이제는 사용자 요구사항에 빠르게 대응할 수 있는 클라우드 네이티브 애플리케이션 개발과 실행에 대한 보안을 고려해야만 할 시점이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.