클라우드 환경의 속성과 보안 특수성
이번 시간에는 클라우드 서비스 환경에서 고려해야 하는 보안 속성에 대해 자세히 알아보도록 하겠습니다. 주변을 둘러보면 이미 온 프레미스(On-premises) 환경에서 클라우드 환경으로 활동 무대가 변한 것을 볼 수 있고, 대부분의 글로벌 IT 서비스가 클라우드를 바탕으로 제공되고 있음을 알 수 있습니다. 삼성SDS에서도 레거시(Lagacy) 시스템을 클라우드 환경으로 이전(Migration) 하거나, 신규 시스템을 클라우드 환경 기반으로 구축하는 사례가 몇 년 전부터 빈번해졌습니다.
이와 같은 추세에 따라 저도 아마존 웹 서비스(AWS)에 구축된 레거시 시스템을 삼성SDS 프라이빗 클라우드로 전환하는 프로젝트와 AI 관련 시스템을 삼성SDS의 프라이빗 클라우드로 신규 구축하는 프로젝트에 참여했었는데요. 해당 경험을 통해 최근 IT 업계의 대세가 클라우드임을 다시금 확인했었죠. 또한, 클라우드 서비스는 기존 온 프레미스 환경과는 다른 독특한 속성이 있고 이전과는 다른 관점으로 바라봐야 한다는 것을 알게 되었습니다. 지금부터 클라우드의 주요 속성에 대해 함께 이해해 보고, 그 속성을 통해서 고려해야 할 보안 관점의 특수성에 대해 생각해 보겠습니다.
클라우드 환경의 독특한 속성은 크게 멀티테넌시(Multi-Tenancy), 접근성(Accessibility), 탄력성(Elasticity)으로 얘기할 수 있습니다. 차례대로 확인해 볼까요?
# 너와 나, 우리 모두가 빌려 쓰는 IT 자원 > 멀티테넌시(Multi-Tenancy)
첫 번째 클라우드 속성은 멀티테넌시(Multi-Tenancy)입니다. 멀티테넌시라는 용어를 직역하면 ‘다수의 세입자’라는 의미인데, 비유를 통해서 좀 더 쉽게 알아볼까요? 예를 들어 4층짜리 집이 있다고 가정해 봅니다. 1층에는 펭수가 살고 있고, 2층에는 이효리가 살고 있고, 3층에는 유재석이 살고 있으며, 마지막 4층은 집 주인이 살고 있습니다. 1층, 2층, 3층에 사는 다수의 세입자(멀티테넌시)는 매달 월세를 지불하고 집을 빌려서 살고 있는 것이죠. 이러한 다수의 세입자는 복도의 조명과 엘리베이터, 주차 공간 등의 시설은 직접 관리하지 않고 단순히 사용만 할 뿐이지만, 각자가 거주하고 있는 집 내부는 직접 도배하고, 페인트칠하고, 가구를 들여오는 등의 인테리어 작업을 할 수 있습니다.
클라우드 서비스도 주택의 비유와 유사합니다. 클라우드 서비스 제공자(AWS, AZURE, 삼성SDS 등)는 다수의 클라우드 사용자들에게 가상화 기술을 통해 물리적인 자원을 논리적으로 분할하고 격리시켜 빌려줍니다. 아래의 우측 그림에서 자원 1은 펭수, 자원 2는 이효리, 자원 3은 유재석이라는 클라우드 사용자가 비용을 지불하고 자원을 빌리는 것으로 해석할 수 있겠네요. 물론, 클라우드 서비스 제공자에 의해 만들어진 클라우드 공용 영역(클라우드 관리 포털, 물리적 자원의 전원 관리, 상면 관리 등)들은 서비스 제공자가 직접 관리하고, 클라우드 사용자는 빌린 자원에 대해 운영 체제 설정을 변경하거나, 접속 계정을 생성하고 소프트웨어를 설치하는 등의 내부적인 설정 작업(인테리어 작업과 유사)만 수행하면 되는 것이죠.
단, 물리적인 자원을 함께 사용하는 만큼 의도하지 않는 보안상의 버그 발생 등을 이유로 중요한 데이터가 노출될 가능성도 있습니다.
# 언제 어디서든지 연결 > 접근성(Accessibility)
두 번째 클라우드 속성은 접근성(Accessibility)입니다. 이는 클라우드 서비스를 사용하기 위해서 인터넷을 통해 클라우드 자원으로 쉽게 접근할 수 있음을 의미합니다.
기존의 온-프레미스 환경에서는 IT 자원으로 접근하는 경로마다 검문소와 같은 경계를 설정하고, 각 경계마다 방화벽 등 각종 보안 장비를 구축하여 IT 자원으로의 접근을 겹겹이 통제(인증/인가) 합니다. 하지만 클라우드 환경에서는 보안 서비스로 제공되는 방화벽과 접근 통제 목록(ACL : Access Control List) 등을 활용하여 단순히 버튼 클릭만으로 즉시 보안 수준을 조절할 수 있고, 이를 통해 언제 어디서든, 심지어 어떠한 디바이스를 사용하더라도 클라우드 자원을 내 것처럼 접근할 수 있는 유연성을 가지고 있습니다.
단, 클라우드 환경은 시공간을 초월하는 편리한 특성을 갖고 있기 때문에 권한 부여와 회수, 인증/인가 체계에 대해서 사용자가 보다 철저히 신경 쓸 필요는 있겠죠.
# 바로 늘어났다 줄어드는 자유로움 > 탄력성(Elasticity)
세 번째 클라우드 속성은 탄력성(Elasticity)입니다. 말 그대로 탄력성은 클라우드 자원이 늘어나기도 하고 줄어들기도 하고, 새로운 자원이 추가되기도 하고 삭제되기도 하는 속성을 의미합니다. 즉, 클라우드 환경에서는 자원 사양이 늘어나는 스케일 업(Scale-Up), 자원 사양이 줄어드는 스케일 다운(Scale-Down), 동일한 자원이 새로 생성되는 스케일 아웃(Scale-Out), 동일한 자원 그룹 중에서 자원이 삭제되는 스케일 인(Scale-In) 작업들을 손쉽게 수행할 수 있는 것이죠.
이는 클라우드 자원이 살아 있는 생물처럼 언제든지 변화할 수 있는 동적인 특성이기 때문에, 클라우드 권한 남용에 의한 무분별한 자원 증설이나 자원 삭제 등의 보안 위협이 존재함을 예상할 수 있습니다.
# 클라우드! 너를 끝까지 추적한다 > 책임 추적성(Accountability)
지금까지 클라우드 환경의 속성인 멀티테넌시와 접근성, 탄력성에 대해 알아보고, 보안상 발생할 수 있는 위협을 몇 가지 짚어 보았습니다. 이처럼 클라우드 환경이 가진 독특한 속성은 악의적인 클라우드 자원 공격이나 의도한 민감 데이터 유출, 허가되지 않은 사용자의 접근 등으로 다양한 보안 위협을 일으킬 수 있습니다.
따라서 클라우드 환경의 보안 특수성인 책임 추적성을 만족하도록 클라우드 보안 서비스를 활용하여 보안 아키텍처를 구성해야
합니다. 여기서 책임 추적성이란 클라우드에 접근해서 자원을 활용하는 식별된 사용자의 행위를 기록하고, 수행한 행위에 대해 책임을 부여하는 전반적인 활동입니다.
이러한 클라우드의 책임 추적성을 만족하기 위해서는, 자원을 사용하기 전에는 ‘식별(Identification), 인증(Authentication), 인가(Authorization)’ 활동을 수행하고, 자원을 사용하는 중에는 항상 ‘로깅(Logging), 모니터링(Monitoring)' 활동을 수행하며, 자원을 사용한 이후에는 활동 이력에 대한 ‘감사(Audit)’ 활동을 수행해야 합니다. 이 일련의 6가지 과정은 향후 보안 서비스와 보안 아키텍처에 대한 내용이 나올 때 처리 방식과 기술에 대해 자세히 설명드리겠습니다.
다음 시간에는 클라우드 서비스를 구성하는 영역 중 네트워크 및 컴퓨팅, 애플리케이션 등의 보안 서비스에 대해서 알아보겠습니다.
+ 클라우드 보안 입문서를 소개합니다! <클라우드 x 보안 실무 가이드> 저자 인터뷰
+ 언제 어디서나 마음대로 사용하는 클라우드
+ 클라우드 서비스를 선택하는 방법 ‘클라우드의 유형과 서비스 종류 알아보기’
+ 클라우드 서비스의 장·단점과 국내외 시장 동향
출처: 클라우드 x 보안 실무 가이드(황치하·양지언 지음)