절대 뚫리지 않는 클라우드 보안은 가능한가?

[컴퓨터월드]

▲ 오영택 이글루시큐리티 인프라컨설팅팀 차장


철옹성 같은 클라우드, 어떻게 만들 수 있을까?

올해 9월에 개봉한 영화 ‘안시성’은 동아시아 사상 가장 위대한 승리로 전해지는 88일간의 안시성 전투를 압도적인 스케일로 박진감 있게 그려내어 큰 호평을 받았다.

당나라 20만 대군이 고구려 안시성에 있는 5천 명을 상대로 몇 개월에 걸쳐 수차례 공격을 시도하지만 침략에 대비해 철저하게 훈련된 병사들과 성주의 탁월한 전략, 그리고 성의 특성을 잘 알고 있는 백성들의 도움으로 안시성은 모든 공격을 막아내는데 성공한다.

성주를 중심으로 똘똘 뭉친 빈틈없는 방어로 40배 전력 차이를 이겨낸 이 전투는 급변하는 IT환경 속 다양해진 사이버 공격에 대응하는 보안업계에도 유의미한 시사점을 안겨준다. 물론 100%의 방어는 불가능하겠지만 실제 공격 발생에 앞서 사고 대응을 위한 보안 태세를 갖추고 날로 고도화되는 보안 위협을 사전에 인지하고 대비함으로써 선제적으로 대응할 수 있다면 보안성을 한층 높여나갈 수 있기 때문이다.

해커들에게 보물창고라고 불리는 클라우드 또한 마찬가지다. 클라우드에서의 보안 역시 철저한 환경분석을 통해 강화해야 하는 영역을 사전에 인지하고 대비해나간다면 실제 공격 발생 시 보다 유연하고 신속한 대처가 가능할 것이다. 이에 클라우드 정의에서부터 클라우드 환경을 노리는 사이버 공격의 유형까지, 클라우드 보안을 위해 알아야 할 사항들을 짚어보며 철옹성 같은 클라우드 실현을 위해서는 어떠한 대응책 마련이 요구되는지 살펴보는 시간을 가져보고자 한다.


진화하는 클라우드 컴퓨팅 서비스

클라우드는 언제 어떻게 세상에 처음 소개됐을까? 사실 클라우드 서비스의 개념은 1965년 미국의 컴퓨터학자 존 매카시가 ‘컴퓨팅 환경은 전기, 수도 등 공공 서비스를 사용하는 것과도 같을 것’이라고 언급한 데서 유래한 만큼 짧지 않은 역사를 가지고 있다.

그는 컴퓨터 자원도 먼 훗날 전기나 수도와 같이 공공재처럼 쓰이게 될 것이라고 말하며 그 개념을 시사했고, 그 후 2006년 구글에서 사용하지 않는 컴퓨터의 자원을 재활용하며 ‘클라우드’라는 용어가 직접적으로 사용됐다. 같은 해 아마존에서 AWS(Amazon Web Service)를 시작하며 본격적으로 널리 알려지게 된 클라우드는 오늘날 ‘클라우드 컴퓨팅’이라고 불리며 필요에 따라 컴퓨터 자원에 접근해 데이터를 처리하고 연산할 수 있도록 서버, 네트워크, 저장장치, 소프트웨어를 연결하는 컴퓨팅 서비스를 가리키는 용어로 자리 잡았다.

클라우드는 서비스 이용자가 필요한 시점에 필요한 만큼의 자원을 빌려 쓰고 다시 반납해 재사용할 수 있다는 점, 개별적으로 시스템을 구축 및 유지 보수할 필요가 없기에 이에 소요될 비용을 절감할 수 있다는 점, 그리고 인프라를 위한 공간확보와 전문인력을 위한 고정 비용을 줄일 수 있다는 점을 장점으로 4차 산업혁명을 이끄는 핵심 기술 중 하나로 손꼽히고 있다.

보다 나은 비즈니스 의사결정을 위해, 고객 경험 향상을 위해, 새로운 서비스 및 비즈니스 모델 개발을 위해, 추구하는 목적은 다를지라도 현재 여러 분야의 많은 기업들이 다방면에 걸쳐 클라우드를 활용하기 위해 심혈을 기울이고 있다.

▲ 클라우드 컴퓨팅 서비스(출처: png트리)

클라우드 컴퓨팅은 주로 서비스 모델에 따라 ▲서비스형 인프라(IaaS: Infrastructure as a Service) ▲서비스형 플랫폼(PaaS: Platform as a Service) ▲서비스형 소프트웨어(SaaS: Software as a Service) 등으로 나눠볼 수 있으며, 이용 모델에 따라서는 프라이빗(Private), 커뮤니티(Community), 퍼블릭(Public), 하이브리드(Hybrid)로 구분된다.

▲ 클라우드 컴퓨팅의 분류

그러나 최근 날로 다양 복잡해지는 인프라 및 서비스로 인해 클라우드의 이용모델 또한 변화하는 양상을 보인다. 멀티 클라우드(Multi-cloud)와 인터 클라우드(Inter-cloud)의 등장이 바로 그 예인데, 멀티 클라우드란 이름 그대로 다양한 클라우드 서비스를 한 환경에서 동시에 사용하는 형태를 뜻한다. 이는 하이브리드 클라우드보다 복잡하고 둘 이상의 퍼블릭 IaaS, 퍼블릭 온디맨드 관리 및 보안 서비스, 프라이빗 PaaS, 프라이빗 사용량 기반 회계 등 다수의 업체와 기술을 활용한다. IT업계에서 클라우드 기반 플랫폼 사용이 더욱 복잡한 방식으로 진화함에 따라 최적의 솔루션으로 다수의 최상급 클라우드 서비스 혼합체가 요구되면서 그 해답으로 멀티 클라우드가 부상하게 된 것이다.

인터 클라우드란 클라우드의 클라우드란 뜻으로, 퍼블릭-프라이빗-하이브리드 클라우드 간의 글로벌 상호 연결을 의미한다. 쉽게 말해 여러 종류의 클라우드 간에 상호호환성을 확보해 전세계적으로 연결된 클라우드를 개발하는 것인데, 클라우드가 어느 정도 보편화된 미국 및 유럽의 여러 기업들은 이를 이미 속속 도입해 활용하는 추세이며 국내에서도 위와 같은 용어들이 낯설 뿐 실제 사용을 눈앞에 두고 있는 상황이다.

▲ 인터 클라우드의 개념도(출처: 시스코 블로그)

최근 가파른 성장세를 지속하고 있는 국내 클라우드 시장을 공략하기 위해 아마존웹서비스(AWS), 마이크로소프트 애저, IBM 소프트레이어, 구글 클라우드 플랫폼 등 글로벌 기업들이 국내 사업 영역을 확장하고 있으며 국내 토종 기업들도 이에 맞서 클라우드 서비스를 하나 둘 출시하고 있다.

하지만 클라우드 서비스 도입에 앞서 명심해야 할 것은 제공되는 서비스에 따라 발생 가능한 보안 이슈가 상이하다는 점이다. 먼저 인프라를 서비스로 제공하는 경우에는 서버, 저장장치, 네트워크의 보안과 하드웨어를 구동하기 위한 소프트웨어, 서버의 단말 가상화 관련 보안 이슈가 있을 수 있으며 플랫폼을 서비스로 제공하는 경우에는 소프트웨어 및 가상환경에서 공유된 리소스 관리, 계정, 설계상의 취약점과 같은 보안 이슈가 있다. 애플리케이션을 서비스로 제공하는 경우에는 인프라와 플랫폼의 보안이 보장된다고 왜곡돼 해커의 의도에 따라 위협으로 유도되거나 서비스 거부 등의 보안 이슈가 발생할 수 있다.

▲ 클라우드 서비스상의 주요 보안 위협


클라우드 서비스에서의 보안사고

클라우드 서비스에서 발생 가능한 보안 사고로는 네트워크 트래픽의 위변조, 디도스(DDoS) 공격, 접근 권한 탈취로 인한 정보유출, 시스템 설계상의 오류 등 일반적인 서비스에서도 동일하게 발생 가능한 사고들이 대부분이며 클라우드의 특수적 환경에 기반한 것으로는 공유자원 문제로 인한 사고가 대표적이다.

클라우드에서는 가상화를 통한 위협이 있을 수 있으며 하이퍼바이저가 감염되거나 VM 내부공격으로 인한 침입탐지의 어려움, 가상머신의 이동성에 따른 보안문제가 뒤따를 수 있다.

그 외에 관리적인 측면에서의 위협들은 기존과 동일하게 사용자의 계정정보 유출, 데이터 센터 건물관리, 재해재난으로 인한 데이터 유실 등이 발생할 수 있으며 법 제도에 따른 문제들, 예를 들어 물리적으로 분산된 인프라의 경우 국가별 상이한 법체계로 인해 달라지는 정책과 자원의 통제력 그리고 사업자, 이용자, 제 3자 등 다양한 주체들이 존재해 서로 다른 계약과 정책에 의해 야기되는 차이 등이 발생할 수 있다.

이렇듯 다양하게 발생 가능한 클라우드 서비스에서의 보안 사고를 최소화하기 위한 방안들은 꾸준히 논의되고 있으며 이를 위한 각종 제도도 현재 재정립해나가는 과정이라 할 수 있겠다.

▲ 클라우드 보안사고


클라우드 서비스 환경을 노리는 사이버 공격의 유형

글로벌 사이버 보안 연구소 SANS(SANS Institute)는 미국 샌프란시스코에서 열린 ‘RSA Conference (RSAC) 2018’을 통해 ‘가장 위험한 5가지 최신 공격 기법’을 발표했다.

기존에 침해된 데이터를 분석하고 결합해 정보보호 조치를 무력화하려는 시도부터 최근 이슈화된 암호화폐 채굴 공격, 하드웨어 보안 결합, 산업제어시스템(ICS/SCADA)공격까지 다양한 공격들이 선정된 가운데 클라우드상에서의 데이터 유출 또한 주목해야 할 공격 유형들 중 하나로 꼽혔다. 그렇다면 클라우드 서비스 환경을 노리는 사이버 공격에는 어떠한 것들이 있는지 살펴본다.

크립토마이닝(Cryptomining) 공격
암호화폐(Cryptocurrency) 열풍과 더불어 크립토 마이닝(Cryptomining)의 피해 또한 급격히 증가하는 추세다. 비트코인 또는 이더리움과 같은 알트코인은 온라인에서 채굴 가능하다. 그렇기 때문에 공격자는 스텔스 기능을 가진 원격접근 도구를 활용해 처리 능력을 하이재킹(hijacking)하여 사용자의 컴퓨팅 리소스를 무단으로 암호화폐 채굴을 수행하는데 사용한다.

크로스테넌트 공격(Cross-tenant Attack)
동일한 클라우드를 사용하는 기업이나 기관에서 업무를 위해 서로간 공유를 하는 행위가 많아진다면 클라우드의 테넌트(Tenant)간 경계가 흐려지게 된다. 이 때 한 명의 사용자를 통한 침해는 클라우드 전체가 공격 당하는 위협으로 확장되기 쉬우며 이는 특히 클라우드 환경에서 큰 피해를 야기할 수 있는 위협적인 공격이라 할 수 있다.

클라우드 랜섬웨어(Cloud Ransomware) 공격
2017년 한 해 동안 영국의 국민건강보험, 샌프란시스코의 페덱스(FedEx)와 같은 대기업들에게 재앙처럼 발생한 랜섬웨어는 비교적 간단한 형태의 멀웨어로 방어벽을 뚫고 아주 강력한 암호화를 통해 서버의 모든 파일을 암호화 시켰다. 클라우드 영역 역시 랜섬웨어 공격으로부터 안전하지 못하다.

인스턴트 메타데이터 API를 타깃으로 한 공격
클라우드 서비스에서 제공하는 인스턴트 메타데이터 API는 사이버 공격으로부터 보호하기 위한 기능이나 따로 모니터링 하는 경우가 거의 없기 때문에 각종 공격에 매우 취약하다. 특히 리버스 프록시 등을 이용한 공격에 쉽게 노출되는 경향을 보인다.

서버리스 공격(Serverless Attack)
서버가 없어도 되는 IT인프라인 서버리스 인프라 또는 서비스형 기능(FaaS)은 유지와 관리가 매우 쉽다는 장점으로 많은 사용자들이 보유하고 있지만 보안이 어렵다. FaaS는 보통 ‘쓰기’가 되는 많은 임시파일 시스템을 보유하고 서버의 역할로 각종 주요 정보에 대한 접근이 가능한 신개념 인프라지만, 그와 동시에 기존 보안 솔루션과의 호환성 문제로 공격에 매우 취약하다는 점을 명심해야 한다.

오케스트레이션 공격(Orchestration Attack)
서버의 활성화, 자원 할당, 네트워크 처리, 가상머신의 생성 등 클라우드 내에서 여러 가지 업무를 수행할 때 사용되는 기술을 클라우드 오케스트레이션이라 한다. 오케스트레이션 공격은 이러한 작업을 수행할 때 사용되는 계정 정보나 암호화 키를 훔쳐 여러 업무에 직접 접근하는 것을 뜻한다.

▲ 사이버 공격의 프로세스(출처: SEI디지털라이브러리 Timothy Morrow)


클라우드 보안 철옹성을 쌓는 방법

지금까지 클라우드 서비스에서 발생 가능한 보안사고 및 사이버 공격의 유형들에 대해 살펴보았다. 전세계적으로 주요 기업들의 클라우드 도입이 급증하고 있는 요즘 클라우드 환경의 위험성을 최소화하기 위한 대책 수립은 선택이 아닌 필수 요소로 자리 잡았다.

가장 먼저 기술적인 영역을 본다면 애플리케이션의 보안성 향상을 위해 공유 환경에서 동작되는 애플리케이션은 설계 단계에서부터 종합적인 위협 요소들을 모두 고려해 개발돼야 한다. 특히 외부로 노출된 API를 사용하는 경우에는 다양한 채널의 보안 툴로 보완할 수 있어야 하며, VM간에는 하이퍼바이저로 가상머신들의 물리 자원에 대한 접근 권한 범위를 제한하고 데이터의 저장은 필수적으로 암호화하도록 한다. 암호화는 사용자 개발 단위로, 최소한 AES-256과 같은 산업 표준 대칭 암호화 알고리즘을 사용하는 것을 권하며 자원 반납 시에는 수차례 포맷이나 삭제전용 툴을 사용해 재생이 불가능하도록 한다. 네트워크 서비스를 이용할 때는 필수적으로 TLS, SSH, VPN을 통합적으로 활용해 VM간의 독립성을 보장할 수 있도록 한다.

▲ 가상머신에서 하이퍼바이저의 동작(출처: 한국인터넷진흥원)

클라우드 서비스 접속 시에는 다양한 인증방법을 활용하여 사용자 인증을 강화하고 로그 데이터를 분리돼 있는 SIEM으로 전송해 통합적으로 관리, 보안사고 시 효과적인 대응이 가능하도록 한다. 이 때 사용자의 계정정보, VM의 생성/사용/이동/삭제를 발생시킨 트래픽과 애플리케이션, DB접근제어, OS를 통한 시스템의 로그를 모두 저장하도록 한다.

만약 클라우드의 침입이 탐지될 경우 가상머신의 CPU, RAM, I/O정보, VM이 발생시키는 네트워크 패킷 캡처와 같은 가상머신 내부정보를 모두 분석해 공격을 식별할 수 있어야 하며 하이퍼바이저 상에서 IPS 및 방화벽 등의 기능도 사용할 수 있도록 해야 한다.

데이터 센터를 지리적으로 분산해 설치하는 것은 재난재해로 인한 위협에 대비하는데 좋은 대응책이 될 수 있으며 분산된 데이터 센터에는 상대적으로 근거리에 위치한 사용자의 접속을 허용해 원격 통신에 의한 네트워크 지연도 줄일 수도 있다. 더불어 서로 다른 프로토콜과 OS를 사용한다면 특정 클라우드 애플리케이션을 타깃으로 한 공격이 발생할 때 한 번의 공격으로 전체가 공격당하는 것을 방지할 수 있다.

이렇듯 하드웨어와 소프트웨어, 네트워크까지 환경이 상이한 방식을 운영한다면 관리의 어려움은 있겠지만 보안 취약점을 분산시키는 이점을 가질 수 있을 것이다.

최근 다방면으로 클라우드가 활발히 활용되는 것과는 별개로 클라우드 보안에 대한 우려는 여전한 상황이다. 날로 복잡해지는 IT환경과 지능화되는 사이버 공격에 클라우드 또한 피해갈 수 없기 때문이다. 앞서 언급했듯 이 중 대부분은 일반적인 시스템에서도 발생 가능한 보안 위협이지만 클라우드 서비스는 가상화 기술로 인한 공유 자원 환경을 기반으로 보다 복합적인 보안체계가 요구되는 것은 사실이다.

기존의 보안 방식들을 재구성해 방어 체계를 수립하고, 가상화를 사용해 발생되는 하이퍼바이저, VM 등의 보안 문제는 반드시 기술적인 부분과 관리적인 부분을 함께 고려돼야 한다. 더불어 클라우드 서비스를 이용하는 기업 및 개인 이용자들의 클라우드 보안에 대한 탄탄한 이해 및 전문성도 클라우드 보안성 향상을 위한 필수불가결한 요소다. 클라우드 사용자와 서비스 사업자, 모두가 힘을 모아 더욱 완벽한 클라우드 보안에 한 발짝 다가갔으면 하는 바람이다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지