학술 - 클라우드 컴퓨팅과 보안
학술 - 클라우드 컴퓨팅과 보안
  • 정성재 / (주)스컴씨엔에스 기업부설연구소장
  • 승인 2015.03.04 19:29
  • 댓글 0
이 기사를 공유합니다

구름 속 정보를 지켜라, 클라우드 컴퓨팅 보안
클라우드 컴퓨팅의 개념과 서비스
클라우드 컴퓨팅이란 말 그대로 컴퓨터 및 서버 등의 자원들이 하나의 커다란 구름 모양 집합으로 구성되어 사용자들이 언제 어디서나 다양한 기기를 이용하여 자원을 할당받아 작업을 처리해줄 수 있는 환경을 말한다. 기술적으로는 인터넷을 포함한 유·무선 네트워크를 기반으로 가상화 기술을 활용하고, 유틸리티(Utility) 컴퓨팅, 서버 기반 컴퓨팅, 네트워크 컴퓨팅, 그리드 컴퓨팅 등의 개념을 묶어서 형성된 것이라고 볼 수 있다. 이러한 클라우드 컴퓨팅 기술은 IaaS, PaaS, SaaS 등과 같이 다양한 as a services 시리즈를 양산해내면서 가상 서버, 데스크톱, 데이터베이스, 개발 플랫폼, 스토리지 등 다양한 서비스를 제공하고 있다.

클라우드 컴퓨팅 핵심 기술의 발전 동향
클라우드 컴퓨팅의 가장 핵심적인 기술은 가상화 기술을 손꼽을 수 있다. 현재 가상화 기술은 서버, 데스크톱, 네트워크, 스토리지 등 다양한 영역에서 사용되지만, 가상화 기술의 시작은 1960년 후반 메인프레임의 가상 메모리 기술에서 출발하였다. 하나의 물리적 서버에 다수의 사용자가 접속하던 시절에 IBM은 CPU, 메모리, 디스크 자원을 분할하여 여러 사용자에게 별도의 컴퓨터가 있는 것처럼 제공하였다. 그러나 이 시기에는 엄청난 하드웨어 비용과 자원 부족 현상 등으로 인해 크게 주목받지 못하였다.
1990년 후반 서버 시장에서 성능이 크게 좋아진 x86 기반의 시스템이 메인프레임과 유닉스를 대체하기 시작하고, 점점 대중화되기 시작하였다. 또한, 유휴 자원(Idle Resource)이 많이 발생하게 되면서 효율적인 시스템 운영을 위한 방법으로 서버 가상화 기술이 다시 주목 받게 되었다.
2000년 초반 Xen을 필두로 해서 KVM, VirtualBox 등의 하이퍼바이저(Hypervisor)가 등장하였다. 하이퍼바이저는 시스템의 자원을 분할하여 여러 개의 가상 머신을 생성 및 관리해주는 프로그램으로 서버 가상화 기술은 하이퍼바이저 활용 방법, 지원 기능, 활용도 등을 기준으로 제1세대부터 제3세대로 나눌 수 있다.
제1세대 서버 가상화 기술은 하나의 물리적 서버에 하이퍼바이저를 이용하여 여러 개의 가상 머신을 생성/삭제/운영하는 수준의 기술이다. 이러한 경우는 단순히 유휴자원이 많이 남는 다수의 물리적 서버를 하나의 서버로 자원을 통합만 하는 경우에 유용하다. 리눅스 기반의 Xen, KVM, VirtualBox 등이 이에 해당한다.
제2세대 서버 가상화 기술은 다수의 물리적 서버의 자원을 통합하여 관리 기능을 제공하는 기술이다. 여러 대의 물리적 서버를 하나로 묶어서 하나의 서버 풀(Server Pool)로 구성하고 물리적 서버간의 관리와 에러 처리 등이 가능한 기술이 2세대 기술의 핵심이다. 다수의 물리적 서버 중에 오류가 발생한 서버가 있으면 해당 서버위의 가상 머신들을 정상적인 서버로 이동시키는 실시간 마이그레이션(Live Migration), 고가용성(High Availability) 등 서버 운영에 필요한 확장 기능까지 제공하는 기술들을 내장하고 있다. 현재 이러한 기술은 제1세대 기술의 핵심 기술인 하이퍼바이저를 활용하여 상업화시킨 경우가 대부분이다. Oracle의 Oracle VM, VMware의 vSphere(일명 ESXi), Citrix의 XenServer 등이 이에 해당한다. 제2세대 서버 가상화 기술은 서버 풀로 형성된 물리적 서버를 관리하기 위해 별도의 시스템에 데이터베이스를 설치하여 관리해야 한다.
제3세대 서버 가상화 기술은 다양한 하이퍼바이저들은 통합 관리하기 위한 플랫폼이 이에 해당한다. 제2세대 서버 가상화 기술들은 각각의 하이퍼바이저끼리만 호환이 될 뿐, 다른 하이퍼바이저들과의 연동을 지원하지 않는다. 각기 다른 하이퍼바이저 위의 운영되는 가상 머신을 관리하기 위해 등장한 것이 Openstack, Cloudstack, Eucalyptus, OpenNebula 등이 있다.
아울러, 최근에는 하이퍼바이저없이 프로세스 형태로 동작하는 컨테이너 방식인 Docker도 자원의 효율성 면에서 우수한 평가를 받으면서 새롭게 각광받고 있다.

IT 보안과 클라우드
얼마 전 기사에 국가 전자조달 시스템인 ‘나라장터’의 관련 사용자 PC를 해킹해 900여 억 원의 관급 공사를 불법으로 낙찰시켜 수수료를 챙긴 브로커를 2년 만에 검거했다는 신문 기사를 접했다. 이 기사 말미에 “조달청에서는 2013년 나라장터 해킹 사건 이후에 클라우드 기반의 가상입찰 서비스를 도입해서 해킹의 실익이 없도록 조치했다”라는 내용이 있었다.
보는 관점에 따라 클라우드 컴퓨팅 기술을 도입하면 상당히 보안에 강화된다고 생각되겠지만, 클라우드 컴퓨팅 기술의 본질은 효율성이다. 물론 서버 분야에서 클라우드 기반으로 인프라를 전환하면 보통 공인 IP 주소 대신에 사설 IP 주소를 사용하기 때문에 직접 노출된 경우보다 안전한 것은 사실이고, 데스크톱 분야에서는 중앙에서 이미지 파일을 업데이트 및 관리를 하기 때문에 위의 해킹처럼 악성코드 감염에 따른 피해를 줄일 수 있다. 그러나 클라우드는 자원의 효율적 관리를 기반으로 발전되어 왔고, 그 기능의 일부로 보안이 자리 잡고 있는 것이지 보안이 절대적인 것이 아니다.
쉽게 예를 들면 옛날에는 전부 단독주택에서 살았지만, 지금은 집단 거주형태인 아파트를 선호하고 있다. 아파트가 일반 주택에 비해 더 안전하다고 볼 수도 있으나, 국가 입장에서는 좁은 땅에 많은 사람을 거주 시킬 수도 있고 세금도 손쉽게 거둘 수 있어 장려한 측면도 없지 않다. 아파트가 많아진 현재 시점에서 도둑들은 아파트라고 포기하는가? 그렇지는 않다. CCTV나 디지털 도어락 등의 첨단 보안 장비를 한 아파트라도 그 곳에 거주하는 사람들이 많아지고, 특히 부유한 사람들이 많다면 그 곳을 공략하기 위해 새로운 파훼법을 가지고 나온다.
클라우드 환경도 마찬가지인데, 현재 클라우드 인프라 구성의 대부분은 하이퍼바이저를 이용한다. 초기에는 하이퍼바이저가 안전하다는 인식하에 하니팟(Honeypot)같이 해커들을 유인하는 가상 머신도 구성하였고, 지능형 악성코드 탐지시스템이라는 이름으로 가상머신 기반의 보안 장비들도 등장하였다. 그렇지만, 이러한 상황은 하이퍼바이저가 안전하다는 가정 하에 가능한 얘기이다. 반대로 얘기하면 하이퍼바이저 해킹을 당하면 전 가상머신에 대한 통제권이 상실될 수 있다는 얘기가 된다.
실제로 몇 년 전부터 가상화 내부 영역에 대한 보안상의 취약점이 노출되고 있다. 하이퍼바이저 기반으로 구성된 내부 가상머신들의 IP 주소를 바꾸거나, 다른 네트워크 대역의 사설 IP를 부여하여 분리한다고 하더라도 내부적으로 상호 연결된 환경이기 때문에 다양한 공격이 가능하다. 내부의 가상머신에서 다른 가상머신으로의 패킷스니핑, 해킹, DDoS 공격, 악성코드 전파 등이 더욱 용이하다. 또한 최근에는 다수의 물리적 서버를 하나의 서버 풀(Pool)로 구성하여 하나의 물리적 서버에 존재하는 가상머신에 이상이 발생했을 경우 다른 물리적 서버에 가상 머신을 이동시켜주는 실시간 라이브 마이그레이션(Live Migration)을 통해 악성코드가 물리적으로 분리된 플랫폼 간에도 이동될 수가 있다.

맺음말
 클라우드는 보안의 절대적인 방법이 아닌 작업 처리와 자원의 효율적인 이용을 위한 인프라이다. 앞으로 사물인터넷(Internet of Things, IoT) 시대가 본격적으로 도래 하면 더 많은 정보가 수집될 것이고, 나보다 더 나에 대해 더 잘 분석한다는 빅데이터 분석을 통해 더욱 많은 정보가 생성될 것이다. 이러한 정보를 저장하기 위해서는 유연성과 확장성이 좋은 클라우드 환경을 이용할 수 밖에 없을 것이고, 해커들도 어쩔 수 없이 공략해야할 대상이 될 것이다. 가까운 미래에는 클라우드 기술이 너무 보편화되어서 ‘클라우드’라는 용어 자체가 사라질 수도 있지만, 더욱 더 보안에 신경써야할 대상임을 잊지 말아야 한다.