멀티 클라우드, 빌드부터 런타임까지 보호해야
상태바
멀티 클라우드, 빌드부터 런타임까지 보호해야
  • 데이터넷
  • 승인 2023.01.12 09:00
  • 댓글 0
이 기사를 공유합니다

클라우드 장점 극대화하는 클라우드 네이티브 애플리케이션 아키텍처
CNAPP으로 빌드·IaC·런타임 및 워크로드·구성오류·스토리지까지 보호
<김석주 한국트렌드마이크로 이사>

[데이터넷] 국내 클라우드 환경은 기존 데이터센터와 퍼블릭 클라우드 환경이 공존하는 하이브리드 클라우드가 주를 이루고 있다. 그런데 최근에는 클라우드 서비스 사업자(CSP)들이 특화된 클라우드 서비스를 제공하면서 국내 고객에게 애플리케이션 런타임 환경에 대한 서비스 선택의 폭을 넓히는 멀티 클라우드 전략을 채택하게 하고 있다.

멀티 클라우드는 애플리케이션 개발, 배포, 운영, 서비스를 제공하는데 최 적의 환경을 제공하며, 비용을 효율적으로 사용하게 한다. 이로써 기업의 애플리케이션 개발, 배포 운영을 위한 애플리케이션 아키텍처도 클라우드 네이티브 환경으로 변하고 있다. 또한 컴퓨팅 환경이 클라우드 인프라로 전환되면서 구성과 운영 부담을 덜기위해 서버리스, FaaS(Function as a Service)를 채택하 고 있다.

클라우드 네이티브 위한 보안 요구사항

클라우드 네이티브 애플리케이션 아키텍처는 클라우드의 장점을 극대화해 고객의 요구사항을 빠르게 반영하고 배포할 수 있도록 지원한다. 전통적인 애플리케이션 아키텍처와 비교해 애플리케이션의 개발, 배포, 운영에서 많은 장점을 가져왔다.

클라우드 네이티브 애플리케이션은 애자일 기반의 애플리케이션 개발과 배포, 운영 프로세스 구축과 빠른 업데이트를 가능하게 한다. 또한 개발과 운영을 통합한 데브옵스 채택으로 애플리케이션 생산성을 높인다.

클라우드 네이티브 애플리케이션을 통해 클라우드 혁신을 성공시키기 위해 다음의 보안 요구사항을 검토해야 한다.

▲클라우드 네이티브 애플리케이션 보안 이슈
▲클라우드 네이티브 애플리케이션 보안 이슈

• 애플리케이션 빌드 단계에서의 보안

클라우드 애플리케이션 배포 전, 애플리케이션 빌드 단계에서 보안에 대한 고려가 필요한다. 클라우드 애플리케이션 런타임 환경은 호스트 기반 환경과 다르게 애플리케이션 실행 환경에 대한 접근이 어렵다. 따라서 애플리케이션의 빌드 단계에서 보안 사항을 점검해 안전하게 애플리케이션을 배포해야 한다.

도커 허브 이미지와 같이 공개 개발 허브에서 받아서 재사용되는 애플리케이션과 오픈소스 도구 사용이 증가하면서 의도하지 않은 위협이 애플리케이션에 포함되는 사례가 발생하고 있어서 애플리케이션 배포전 보안 검사는 필수다.

• 애플리케이션 런타임 환경 보호

클라우드 네이티브 애플리케이션의 런타임 환경은 ▲도커, 컨테이너를 호스트 기반(VM)으로 실행하는 환경 ▲CaaS(Container as a Service) 환경 ▲서버리스 런타임 환경으로 구분된다.

애플리케이션에 대한 위협은 모두가 잘 알고 있는 인젝션 공격, 원격코드 실행, 리다이렉트 형태의 공격과 애플리케이션이 실행시 사용자와 주고받는 데이터를 이용한 악성페이로드, 악성파일 업로드 등이며, 이러한 위협에 대응하는 방안을 반드시 마련해야 한다.

이에 더해 앞서 언급한 3가지 애플리케이션 런타임 환경에서의 위협을 생각해야 한다. 호스트 기반 도커, 컨테이너 환경에서는 호스트(OS)부터 컨테이너까지 풀스택에 대한 위협, CaaS 환경에서는 실행되고 있는 컨테이너 환경에 대한 위협, 서버리스 환경에서는 런타임 환경에 대한 접근이 코드로만 가능하기 때문에 애플리케이션 자체에 대한 위협을 고려해야 한다.

• 클라우드 전반의 보안관리

클라우드 애플리케이션의 런타임 환경을 포함한 전체 클라우드 환경에 대한 안전한 보안 관리가 필요하다. 다양한 서비스로 복잡하게 구성된 클라우드 환경에 대한 설정 오류로 발생할 수 있는 위협을 사전에 방지하고 기업이 준수해야 하는 보안규정에 대한 실시간 검증과 관리가 필요하다. 또한 클라우드 환경에서 가장 많이 사용되며 기업의 중요한 정보와 메타데이터를 저장하기 위해 사용되고 있는 대표적인 스 토리지 서비스에 대한 보안도 필수다.

설계부터 운영까지 중단없는 보호

앞서 살펴본 클라우드 네이티브 애플리케이션 보안 문제를 해결하는 방법은 다음과 같다.

• 애플리케이션 배포 전 빌드단계 보안 적용 방법

데브옵스의 파이프라인, CI/CD에서 배포 전 컨테이너 이미 지의 안전성을 검증해야 한다. 개발자가 사용하는 새로운 오픈소스 기반 애플리케이션 라이브러리, 오픈소스 도구에 대 한 취약점이 배포 이미지에 그대로 포함돼 있을 수 있다. 알려졌거나 알려지지 않은 악성코드와 악성행위를 야기하는 악의적인 URL도 포함될 수 있다. 또한 기업의 중요 정보가 배포 이미지에 아무런 제약없이 노출될 수 있다.

따라서 데브옵스 파이프라인에서 배포 이미지에 대한 사전 검증은 중요하다. 기업의 전체 소프트웨어 라이프사이클 관리 측면에서도 안전한 배포 이미지만을 배포되도록 사전 검증을 수행하는 것이 배포 후에 발생할 수 있는 공격으로 인해 애플리케이션의 수정과 서비스 중단/재개에 필요한 시간보다 더 빠르고, 효율적으로 안전한 소프트웨어 라이프사이클을 유지할 수 있게 한다.

▲애플리케이션 배포 전 이미지 검증과 제어
▲애플리케이션 배포 전 이미지 검증과 제어

• IaC 배포에 대한 검증 방안

앤서블, 테라폼, AWS 클라우드포메이션, 애저 리소스 매 니저, 구글 클라우드 디플로이먼트 매니저 등 코드 기반 인 프라(IaC)를 배포할 수 있는 도구의 사용이 증가하면서 애플리케이션 배포와 함께 애플리케이션이 실행되는 인프라 환경도 코드기반으로 배포가 가능하게 됐다. 따라서 이에 대한 아키텍처 모범사례(Well-Architect framework) 기반 검증과 보안성 검증을 데브옵스 파이프라인 프로세스에 포 함해 보안 이슈가 발생할 수 있는 인프라 구성을 사전에 방 지해야 한다.

• 애플리케이션 런타임 환경에 대한 보안 적용 방안

컨테이너, 서버리스 환경의 애플리케이션과 API에 대한 위협 대응 방법을 적용해야 한다. 서버리스, CaaS 환경의 애플리케이션 보안은 개발 스트림과 애플리케이션 성능에 미치는 영향을 최소화하면서 신속한 애플리케이션 배포를 지원해야 한다.

애플리케이션에 통합해야 하는 SDK와 달리 런타임에 애플리케이션 자체에 임베디드 돼 보안기능을 수행하는 런타임 애플리케이션 자가방어(RASP)를 적용하는 방법이 가장 효과적이다.

RASP는 개발단계에서 소스코드에 제어 흐름과 입출력되는 데이터에 대한 안전성을 검증하는 코드를 추가한다. 애플리케이션 실행 시간에 보안 검증 수단을 애플리케이션에 부트 스트랩하는 방법이다. 실행시간에 애플리케이션이 스스로 제어 흐름과 처리하는 데이터에 대한 검증을 수행해 불법 적인 데이터 처리와 실행을 탐지하고 방어한다.

서버리스, 애플리케이션 보안 라이브러리를 포함시키고 애 플리케이션 키를 사용해 보안 기능을 활성화한다. 허가되지 않은 애플리케이션 사용과 동작을 실시간으로 탐지·차단하는 방식을 사용한다.

또한 애플리케이션 실행 시간에 발생하는 상세공격정보(공격 시간, 공격 출처, 공격 유형 등)를 실 시간으로 관리 콘솔에서 확인할 수 있도록 제공해 클라우드 애플리케이션에 대한 런타임 행위를 확인할 수 있도록 하는 방법을 제공한다.

• CSPM·클라우드 스토리지 파일 보호

클라우드 보안 형상 관리(CSPM)를 기업의 클라우드 환경 에 적용하는 방법은 복잡한 클라우드 인프라와 서비스에 대 해 보안관리와 컴플라이언스 관리를 용이하게 한다.

CSPM은 클라우드 계정 내 리소스 설정을 자동으로 검사하고 잘못된 클라우드 설정으로 발생할 수 있는 위협으로부터 안전하게 보호한다. 클라우드 환경이 점점 복잡해지고 사용하고 있는 서비스도 증가하고 있어서 간편하게 전체 환경에 대한 보안관리를 할 수 있다면 효과적인 보안관리 방안이 될 것이다.

또 클라우드 환경에서 기업의 중요한 정보와 메타데이터를 저장하기 위해 가장 손쉽게 많이 사용되고 있는 클라우드 스토리지에 대한 안전성을 보장해야 한다. 클라우드 파일·객체 스토리지 서비스를 워크플로우에 통합해 악성 파일에 취약한 새로운 공격 경로를 사전에 방어해야 한다. 클라우드 스토리 지에 대한 악성코드 스캔을 적용해 파일에 대한 안전성을 확보해야 한다.


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