본문 바로가기

보안라이프/IT트렌드

IT 핫이슈 클라우드 컴퓨팅 A부터 Z까지

최근 정보통신기술의 급성장과 멀티 디바이스 시대의 도래에 따라 다양한 형태의 클라우드 컴퓨팅 서비스가 나타나면서 클라우드 컴퓨팅이 주요한 이슈로 떠오르고 있다. 클라우드는 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어·소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스다. 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술로서, 인터넷을 이용한 IT 자원의 주문형 아웃소싱 서비스라고 정의되기도 한다 

클라우드 컴퓨팅을 이용하면, 컴퓨터 시스템을 관리하는데 들어가는 비용과 서버의 구매 및 설치비용, 업데이트 비용, 소프트웨어 구매 비용 등을 줄일 수 있다. 뿐만 아니라 PC에 자료를 보관할 경우와 달리, 외부 서버에 자료들이 저장되기 때문에 안전하게 자료를 보관할 수 있으며 언제 어디서든 자신이 작업한 문서 등을 열람하고 수정할 수 있다는 이점이 있다. 현재 우리는 구글·다음·네이버 등의 다양한 포털사이트에서 구축한 클라우드 컴퓨팅 환경을 통하여 태블릿컴퓨터나 스마트폰 등 휴대용 IT기기로도 손쉽게 각종 서비스를 사용할 수 있게 되었다. 이용편의성이 높고 산업적 파급효과가 커 차세대 인터넷 서비스로 주목받고 있는 클라우드 컴퓨팅은 2000년 대 후반에 들어 새로운 IT 통합관리모델로 등장하였다.

클라우드 컴퓨팅은 그리드 컴퓨팅과 유틸리티 컴퓨팅을 혼합한 패러다임으로 볼 수 있다. 그리드 컴퓨팅(Grid Computing)은 인터넷에 연결된 다양한 컴퓨팅 디바이스들의 유휴자원을 하나로 통합하여, 서버 급 내지는 슈퍼컴퓨터 정도의 성능을 제공함으로써 복잡한 연산을 수행한다. 그리드 컴퓨팅은 가트너가 선정한 10대 전략기술 중에서 1위인 가상화 기술을 사용하여 분산된 자원을 하나로 통합하는데, 바로 여기에서 클라우드 컴퓨팅과 기술적으로 유사하다. 하지만 클라우드 컴퓨팅은 서비스를 제공하는 사업자의 컴퓨팅 자원을 이용하기 때문에, 인터넷상의 유휴 자원을 이용하는 그리드 컴퓨팅과는 차이가 있다.

한편, 유틸리티 컴퓨팅(Utility Computing)은 서버, 스토리지, 네트워크, 소프트웨어 등의 다양한 IT요소들을 전기 요금이나 수도요금처럼 하나의 서비스 개념으로 파악하여, 구입하거나 자체 개발하지 않고 중앙 집중적인 서비스 공급자와의 계약을 통해 실제로 사용한 양에 따라 다르게 요금을 지불하는 컴퓨터 패러다임을 뜻한다. 필요할 때 플러그를 꽂아서 사용한다는 의미로서, -디맨드 컴퓨팅(On-demand Computing)이라고도 불린다. 사용자가 실제로 서비스를 사용한 만큼 요금을 지불한다는 측면에서 클라우드 컴퓨팅과 유사하다. 하지만 유틸리티 컴퓨팅이 주로 기업을 대상으로 했다면, 클라우드 컴퓨팅은 기업뿐만 아니라 개인까지도 대상으로 한다는 점에서 차이가 있다  

 클라우드 서비스 분석

클라우드 서비스는 크게 서비스 범위, 제공 방법, 구현 방법을 기준으로 분석해 볼 수 있다.

서비스 제공 범위에 따른 분류

클라우드 서비스는 제공 범위를 기준으로 공공용, 사설용, 하이브리드 서비스로 분류된다공공용 클라우드 서비스는 우리가 흔히 사용하는 구글 앱스 페이스북 앱스 등과 같이 다수의 대중을 대상으로 제공하는 클라우드를 의미한다. 초기에 투자비용이 없고, 사용자의 이용량에 따라 요금을 지불하는 특징이 있다. 하지만 제공업체의 플랫폼에만 의존해야 한다는 단점이 있다.

사설용 클라우드 서비스는 회사와 같은 하나의 조직을 대상으로 제공하는 서비스로서, IBM, HP 등에서 제공되고 있다. 이 서비스는 사용단체의 요구대로 서비스 수준을 관리 할 수 있고, 공공용 클라우드 서비스에 비해서 높은 보안성을 가질 수 있다. 하지만 서비스 구축에 투자비용이 많이 필요하단 한계를 지니고 있다.

하이브리드 서비스는 시스코, 인텔, LG CNS, KT 등에서 제공하는 서비스로서, 공공용 클라우드와 사설용 클라우드를 혼합하여 제공하고 있다. 하지만 최근 들어 클라우드 업체들이 공공용, 사설용 클라우드 서비스를 대부분 모두 제공하고 있어 그 경계가 점점 모호해지고 있다.

서비스 제공 방법에 따른 분류

클라우드 서비스는 제공 방법을 기준으로 인프라 서비스, 플랫폼 서비스, 소프트웨어 서비스로 분류할 수 있다. 먼저, Infrastructure a as service의 약자인 IaaS로 불리는 인프라 서비스는 각종 컴퓨터 기반요소들을 가상화하여 제공하고 있는 서비스다. 인프라 서비스를 이용하는 주요 고객으로는 자체 인프라를 구축하는데 투자하기 어려운 중소기업들이 주로 이용하고 있다. 인프라 서비스는 IT 인프라 관리 인력과 자원을 최소화 할 수 있는 장점이 있으며, 주요 서비스 업체로는 아마존과 AT&T 등이 있다.

다음으로 플랫폼 서비스는 Platform a as service의 약자인 PaaS로 불리며, 앱 제작에 필요한 SDK등 플랫폼 자체를 서비스 형태로 제공하고 있다. 여기에서 SDKSoftware Development Kit의 약자로 일반적으로 소프트웨어 개발자가 애플리케이션을 개발하는 개발도구의 집합이다. 플랫폼 서비스는 개발사가 자체적으로 비싼 장비개발 툴을 구매할 필요 없이 적은 비용으로 쉽게 애플리케이션을 개발 할 수 있다는 장점이 있다. 대표적인 서비스로는 구글 앱 엔진, 페이스북 F8 등이 있다.

마지막으로 software a as service의 약자인 SaaS라고도 불리는 소프트웨어 서비스는 소프트웨어나 애플리케이션을 서비스 형태로 제공하고 있다. 이 서비스는 소프트웨어나 라이센스를 직접 구매하여 단말기에 설치하는 방식이 아닌, 웹을 통해서 임대하는 방식이다. 소프트웨어 서비스는 완제품을 서비스로 직접 제공 받아서 사용할 수 있다는 큰 이점이 있다. 

서비스 구현 방식에 따른 분류

클라우드 서비스는 서비스 구현 방식을 기준으로, 크게 네이티브 앱 방식, 웹앱 방식, 하이브리드 앱 방식, 클라우드 스트리밍 방식으로 구분할 수 있다.

네이티브 앱 방식은 단말기의 OS위에 앱을 설치하고, 멀티 디바이스 간 공유가 필요한 데이터, 매우 복잡한 연산 등에 대해서 클라우드 스토리지 또는 클라우드 프로세싱을 이용하는 방식이다. 이는 보통 우리가 흔히 IOS나 안드로이드 마켓을 이용하여 받은 앱을 지칭한다. 이 방식은 각 운영체제의 언어를 통해 작성된 플랫폼에서만 작동을 한다는 특징이 있다. 대부분의 데이터와 앱이 os설치를 하며 부분적으로 클라우드를 이용하게 된다. 네이티브 앱 방식은 동작속도는 빠르지만, OS마다 별도의 개발이 필요한 단점이 있다. 서비스 방법으로는 OS 업체의 SDK를 통해 서비스가 개발되고 앱 스토어를 통해 배포가 된다.

웹앱 방식은 모든 데이터와 앱이 인터넷 상의 서버에 저장이 되고 하나의 앱으로 모든 단말기에 적용이 되는 방식이다. 이 때문에 동작 속도가 느리단 단점이 있다. 또한 프로그램의 소스가 그대로 노출이 되어 보안상에 문제가 생길 수도 있으며, 주변 장치 제어기능이 없기 때문에 고성능의 앱 개발이 힘들다. 서비스 제공 방법으로는 앱 스토어를 거치지 않고 사용자에게 바로 제공을 하며 주로 서비스 플랫폼 업체가 주도하게 된다.

하이브리드 앱 방식은 네이티브 앱의 개발 불편성과 웹 앱의 느린 속도를 보완하고자 두 가지를 적절히 혼합하여 서비스를 구현하는 방식으로, UI(User Interface)부분은 네이티브 앱 방식을, 서비스 동작 부분은 웹 앱 방식을 적용하는 것이다. UI 조작속도는 빠르고 OS별 개발양은 적다는 장점을 지니고 있으며, 또한 웹 브라우저만 있으면 운영체제에 상관없이 실행이 가능하다. 주로 앱 스토어를 통해 배포를 하며 OS 업체가 주도하게 된다.

한편, 클라우드 스트리밍 방식은 앞의 3가지 방식의 단점을 모두 극복할 수 있는 방법으로 데이터 및 앱의 저장뿐 아니라 앱을 실행하는 프로세싱까지도 모두 인터넷 상의 서버에서 이루어지는 방식이다. 이 방식의 경우, 단말기는 단지 서버에서 생성된 화면 이미지를 전송 받아 디스플레이 하는 역할만을 수행한다. 이 방식은 실제 프로세싱이 서버에서 이루어지기 때문에 빠른 동작을 수행하며, OS 종류에 상관 없이 실행될 수 있다는 장점이 있다. 다만, 이 방식은 네트워크 성능에 민감하여 네트워크가 단절되거나 속도가 느려지면 서비스가 중단되는 단점이 있다.

클라우드 기반 보안 

클라우드 컴퓨팅 구조는 크게 제공자 부분과 이용자 부분으로 나누어진다. 특히 위 그림의 클라우드 서비스 제공자에는 실제로 다수의 서비스 이용자가 접속하여 서비스를 이용하게 되며, 특히 클라우드 서비스가 인터넷을 이용하여 제공되지만 기존 웹과는 다르게 다양한 형태의 서비스를 제공할 수 있는 컴퓨팅 환경으로써 새로운 기술을 이용함에 따라 그에 상응하는 다양한 보안 문제 해결이 요구되고 있다.

일반적으로 클라우드 컴퓨팅에서 문제가 되는 보안 위협은 7가지이며, 이에 대응하는 보안 기술이 연구개발되고 있다.

1. 클라우드 컴퓨팅 오용과 비도덕적 사용: 악의적인 목적으로 클라우드를 도입하는 경우, 가상의 공간에 정보가 존재하는 특징이 있기 때문에 기존의 봇넷보다 더욱 높은 보안 위험을 가지게 된다.

2. 불안전한 인터페이스와 응용 프로그래밍 인터페이스: 부가 가치를 높이기 위해 기존 코드를 재사용 또는 합성 등을 통해 응용 프로그램을 개발하는 경우 프로그램 복잡도가 증가하여 이에 따른 보안 취약성이 발생할 수 있다. 

3. 악의적인 내부자: 클라우드 서비스 업체에서 실수로 해커, 조직범죄자, 기업스파이 등 악의적인 목적을 가진 사람을 채용하는 경우 클라우드 시스템 내에 존재하는 데이터가 유출될 수 있다.

4. 기술 공유 문제: 인프라 서비스(IaaS) 사업자는 공유 기술을 바탕으로 시스템 확장성을 제공하지만 다중 애플리케이션 아키텍처 사용을 위한 효과적인 자원의 분리가 이루어지지 않는 경우가 있을 수 있다 

5. 데이터 유실 또는 유출: 클라우드 환경의 구조적, 운영적인 특성으로 데이터 유출의 위험이 증가하며, 그 원인도 보다 다양해진다. 

6. 계정 또는 서비스 갈취: 피싱, 사기, 소프트웨어 취약점 등을 이용한 계정의 도용은 일반적인 상황이지만, 클라우드 환경에서 계정 정보의 유출은 기존의 경우보다 문제가 훨씬 더 심각해진다. 

7. 알려지지 않은 위험 프로파일: 클라우드 환경에서는 지금까지 알려지지 않은 많은 보안위험 요소가 있으며, 이에 대한 대응을 위해 소프트웨어 버전 업데이트, 취약점 프로파일 및 침입 시도에 대한 점검, 보안을 고려한 설계 등은 알려지지 않은 보안위험요소를 통한 피해를 최소화하기 위한 기본적인 방법이 된다.

스마트폰, 태블릿 등의 모바일 디바이스의 사용이 점점 많아지고 무선 인터넷 서비스가 나날이 발전함에 따라 클라우드 서비스의 입지는 더욱 중요해질 것이다. 클라우드 서비스가 정보통신 자원의 안전하고 편리한 공동 이용을 근간으로 하기 때문에, 이에 따른 보안 관련 이슈는 계속 제기될 것이다. 따라서 지속적인 보안에 대한 문제제기와 그 해결과정만이 클라우드 서비스의 눈부신 발전을 이뤄줄 해답이 될 것이다. Ahn


대학생기자 윤덕인 / 경희대 영미어학부