보안 / 클라우드

글로벌 칼럼 | 클라우드 보안, 억지로라도 시작하라

Roger A. Grimes | InfoWorld 2010.08.30

여전히 클라우드 컴퓨팅은 단지 “어려운 말로 포장된” 네트워크 컴퓨팅에 불과하다고 주장하는 사람들이 있다. 하지만 애석하게도 그 사람들은 틀렸다 : 클라우드 컴퓨팅은 여러 가지 측면에서 IT의 근본적인 변화를 의미한다. 특히 보안 관리자라면, 애플리케이션 담당이든 인프라 담당이든 관계없이 엄청난 업무의 변화를 맞이하게 될 것이다.

 

우선 내부, 즉 프라이빗 클라우드와 외부, 즉 퍼블릭 클라우드 모두를 상대해야만 할 것이다. 문제는 이런 환경이 LAN, WAN, 인트라넷, 익스트라넷(Extranet) 등의 기존 용어로 설명하기에는 너무나 복잡하다는 것이다.

 

한 예로, 클라우드란 용어는 애플리케이션과 데이터가 호스팅되는 위치에 대한 모호함을 의미한다. 이는 기업의 폴트 톨러런스(Fault-tolerance)나 성능에 대한 요구 조건(애플리케이션 서버와 데이터가 대개 여러 지역에서 호스팅됨을 의미)뿐만 아니라, 가상화가 클라우드 컴퓨팅의 핵심 구성요소로 자리잡아가고 있기 때문이기도 하다.

 

프라이빗 클라우드에서는 필요에 따라 여러 데이터센터들 간의 신속한 애플리케이션과 데이터 이동을 위해서 고급 가상화 기능이 사용되고 있다. 여러 대의 서버를 패치해야 하는 상황도 문제없다. 가상화 소프트웨어가 임시적으로 활성 세션과 데이터를 다른 지역에 있는 노드로 이동시킬 것이니까. 재해 복구 시나리오와 관계되어 있다고? 가상화가 재해 지역으로부터 멀리 떨어진 곳에서 애플리케이션과 데이터를 가동시키는 작업을 쉽게 해줄 것이다.

 

퍼블릭 클라우드에서는 애플리케이션과 데이터가 어디에 저장되어 있는지를 밝혀내는 문제가 훨씬 더 끔찍하다. 심지어는 클라우드 공급업체 자신도 특정 애플리케이션과 데이터가 어디에 있는지를 모를 때가 많다. 자신도 어디에 있는지를 모르는 자산의 안전을 확보하기란 도대체 얼마나 더 어려운 일이겠는가?

 

한술 더 떠서, 퍼블릭 클라우드에서는 멀티 테넌시(Multi-tenancy), 즉, “여러 명의 독립적인 고객들”이라는 내재된 특성으로 인해 기업의 내부 네트워크에서는 흔하지 않은 위협요소가 유입되기도 한다. 물론 최근에는 많은 기업이 자사의 사설 네트워크에서조차 멀티테넌시를 처리해야만 하는 입장이기는 하다. 어쨌든 클라우드 공급업체들은 비록 공유 자원 상에 존재하기는 하지만, 개개 고객의 데이터를 분리시킬 수 있는 기능을 개발해야만 한다.

 

클라우드 트래픽 제어

클라우드 컴퓨팅이 성숙해 감에 따라, 공급업체들은 자체적으로 개발한 데이터 태깅(Tagging) 방법을 사용해서 각 고객의 데이터를 추적하기 위한 프로세스 개발을 할 수밖에 없는 상황이 되었다. 일부 고객은 자신의 데이터가 물리적으로 어디에 위치해 있는지를 알아야 할 필요가 있다. 일부 고객은 데이터를 국외로 송신할 수 없으며, 어떤 고객은 추가적인 완화 방법이 있는지를 확인하지 않고는 그렇게 할 수 없다. 거기에다가, 이 문제는 특히, 가상화 기술이 자동으로 여러 데이터센터 간에 부하를 여기저기로 이동시키는 바람에 클라우드 공급업체가 클라우드의 어디에 데이터가 있는지를 정말로 모르고 있는 경우가 흔하기 때문에 더 어려워진다.

 

암호화 기능도 필요한 경우에는, 새로운 측면 공격 경로를 만들지 않고 데이터 태깅을 달성하기가 더 어려워진다. 데이터 태깅은 암호화된 데이터 검색에 아주 유용한 (암호화 되지 않은) 데이터 인덱스의 생성을 필요로 하지만, 그다지 투명하지 않아서 너무 많은 정보를 드러내 보인다. 이는 이전부터 엔터프라이즈 암호화의 주요 과제 중 한 가지였다. 그리고 이미 여러 곳에서 지적된 것처럼, 가상화는 게스트 간의 취약점과 게스트와 호스트 간의 취약점을 포함하여, 물리적인 시스템에는 없는 추가적인 보안 위협이 추가된다.

 

제대로 된 SLA(Service-Level Agreements)와 보안 정책의 부재가 지금 클라우드 업계 전체에 아주 만연해 있다. 성능과 가용성에 대한 약속에 전력투구하고 있는 업체도 몇 있지만, 그런 업체는 대개 자신의 내부 보안 정책(예를 들어, 기본적인 호스트 시스템을 얼마나 자주 패치하는지, 고객에게 알려진 보안 취약점을 알려주는지의 여부, 어떤 내부 보안 정책을 준수하고 있는지 등)을 공유하지 않고 있다.

 

만약 공급업체가 패치되지 않은 노후된 소프트웨어를 자사 내부의 네트워크에서 용인하고 있다면, 이는 클라우드 서비스에도 영향을 줄 수 있다. 대표적인 예가 중국의 구글 해킹이다.

 

클라우드 공급업체는 자신의 클라우드에 대해 철저한 보안 검토와 취약점 시험을 수행했는가? 한 고객이 다른 고객에게 제공된 자원을 볼 수 없는 것이 확실한가? 최근의 몇 가지 연구에 따르면 한 고객이 우리가 과거에 닥쳐보지 않은 새로운 각도의 공격을 통해서 다른 고객의 자원을 침해하는 것이 그다지 어렵지 않다고 한다.

 

애플리케이션에 대한 위협이 컴퓨터 보안 퍼즐 중에서도 가장 풀기 어려운 조각이다. 기업에서 퍼블릭 클라우드 애플리케이션을 사용하고 있다면, 클라우드 공급업체는 자신의 애플리케이션에 대한 검토를 얼마나 잘하고 있는가? 비즈니스 규칙(Rule)과 로직은 어떤가? 애플리케이션은 크로스사이트 스크립팅(Cross-site Scripting) 공격, SQL 인젝션(Injection), 버퍼 오버플로우 등에 취약하지는 않은가?

 

만약 공급업체가 “예, 우리는 모든 올바른 보안 조치를 취하고 있습니다”라고 말한다면, 그 업체는 클라우드 평가를 위해 사용된 검토 결과나 더 나가서는 프로세스까지도 공유하고 있는가? 설사 있다고 해도 고객사가 엄청난 구매력을 가지고 있다면 모를까 얼마나 많은 클라우드 공급업체들이 ) 자신의 내부 프로세스를 기꺼이 공유하려 할지 의문이다.

 

반드시 봐야 할 클라우드 관련 자료

기술자가 클라우드의 기술과 보안에 대한 최근 동향을 이해하는데 도움이 되는 입문서는 셀 수 없이 많다. 필자가 권고할 수 있는 최고의 책 2권은 모두 오라일리(O’Reilly)가 발간했다. 첫 번째는 조지 리스(George Reese)의 Cloud Application Architectures이다. 이 책은 실제 클라우드의 예로 아마존의 클라우드 서비스에 초점을 맞추고 있기는 하지만, 훌륭한 입문서이다. (이 책은 마이크로소프트의 윈도우 애저(Azure)가 발표되기 전에 발간되었다.) 필자가 더 좋아하는 두 번째 책은 마터 쿠마라스와미(Mather Kumaraswamy)와 라티프(Latif)의 Cloud Security and Privacy이다. 이 책은 필자가 읽어본 어떤 자료보다 상이한 클라우드 아키텍처에 대해서 잘 서술하고 있으며 클라우드 보안 기본에 초점을 맞추고 있다.

 

클라우드 관련 웹 사이트도 수백 개나 된다. NIST의 클라우드 섹션은 책을 한 권도 읽지 않고 클라우드 용어에 금방 친숙해 질 수 있는 훌륭한 곳이다. CSA(Cloud Security Alliance) 사이트는 엔터프라이즈 수준의 클라우드 관련 보안에 대한 많은 정보가 모여 있는 집결지다. New Research 섹션을 보라. 그리고 Black Hat에는 Chewing the Cloud: Attacking Cloud-Based Services란 제목의 클라우드 공격에 대한 재미있는 웹 캐스트가 있다.

 

물론, 몇몇 선도적인 클라우드 공급업체가 제공하는 정보를 봐서 해 될 것은 전혀 없다. 필자라면 아마존의 EC2(Elastic Compute Cloud), 마이크로소프트의 애저(Azure), 그리고 VM웨어와 세일즈포스닷컴부터 시작할 것이다. 세일즈포스닷컴은 아마도 세계에서 가장 선도적인 SaaS(Software-as-a-Service) 공급업체이고, 다른 업체들은 PaaS(Platform-as-a-Service)나 IaaS(Infrastructure-as-a-Service) 공급업체들이다.

 

미래의 인프라는 여러 개의 프라이빗 및 퍼블릭 클라우드 중 한 가지가 될 것이다. 클라우드 보안 과제 중에서 중요한 부분은 이런 클라우드들이 서로 대화하도록 하고, 한 클라우드에 속해있는 사용자나 클라우드 서비스 자체가 다른 클라우드의 자원과 서비스에 액세스할 수 있도록 만드는 것이다.

 

여러 개의 작은 클라우드(Sub-cloud)가 더 크고, 더 기능이 풍부한 종합적인 클라우드 서비스를 생성하게 될 것이다. 훨씬 더 규모가 웅장한 객체 지향형 프로그래밍이라고 생각하라. 협력하지 않을 경우 흔히 발생하는 수많은 경쟁 “표준안” (예를 들어, 수많은 리눅스 배포판) 대신에 필자는 한 개 또는 아주 적은 수의 개방형 클라우드 통합 인증 프로토콜만이 존재하기를 바랄 뿐이다.

 

그 모든 것을 어떻게 통합할지를 짐작해보는 차원에서, OpenID, oAuth, 그리고 마이크로소프트의 Geneva 프로젝트를 들여다보는 것도 도움이 될 수 있을 것이다. 마이크로소프트의 방안은 여러 가지 방법, 즉 게이트웨이, 서비스 등을 사용해서 사설 네트워크를 어떻게 클라우드 서비스와 통합할지를 보여주는 예로써 포함시켰다.

 

미래에는 어떻게 동작할 지에 대한 기본 프레임워크를 이해하는 것만으로도 더 나은 기술자가 되는데 도움이 될 것이므로, 5부작으로된 Geneva 시리즈를 통독해 볼 것을 권장한다. 마이크로소프트가 클라우드에 있어서 고려 대상이 아닐지라도, 미래 네트워크는 그런 인증 설계 중 한 가지와 닮아있을 가능성이 높다.

 

여러 가지 이유로, 클라우드 보안은 우리의 업무를 바꿔 놓고 있다. 컴퓨터 업계에서, 컴퓨터 보안 분야에서는 더더욱, 지난 2년간 축적한 지식만이 가치를 가진다. 클라우드 컴퓨팅이 사라질 것이라거나 업무를 그다지 바꿔놓지 않을 거라고 생각하고 있다면, 별로 발전이 없는 기업을 찾아보거나 조기 퇴직한 코볼 프로그래머가 될 위험을 안고 있다. 현재 클라우드 보안에 대해 조사하고 있지 않다면, 지금이라도 시작하라.  editor@idg.co.kr

Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.