Cloud Computing ?
Cloud Computing 은 어디서나 존재하고 편리하며, 공유된 컴퓨팅 자원 풀(pool) 설정이 가능하면서 네트워크 접근 요청에 즉시 응답하는 모델 – by NIST
용어: CP(Cloud Provider), CC(Cloud Consumer)
Cloud Computing 요소
아래 요소에 대한 설명이 이 글의 주된 내용이 되겠다.
1. 배포 모델
Public – 사용자가 비용을 지불하며, 클라우드 서비스 제공업체(CP: Cloud Provider)의 인프라를 사용
Private – 클라우드 컴퓨팅을 사용하려는 기업이 직접 클라우드 시스템을 구축
Community – 특정 조직, 특정 기관들만 사용하도록 클라우드 시스템을 구축하여 운영
ex) 행정기관 전용 웹 서버용 클라우드 시스템
Hybrid – 앞서 설명한 방식 중 2개 이상 동시에 운영되는 것
ex) Public Cloud의 SaaS를 사용하여 업무를 진행하면서 사내 Private Cloud에 있는 저장소에 데이터 저장한다.
2. 서비스 모델
- IaaS (Infrastructure as a Service)
사용자가 운영하는 프로그램을 구동하기 위한 기본 컴퓨팅 자원(CPU, 메모리, 저장장치 등)을 CP가 제공하는 형태의 클라우드 서비스. 일반적으로 서버 운영체제 계층까지 제공 - PaaS (Platform as a Service)
사용자가 개발한 응용 프로그램을 구동하기 위한 환경을 제공하는 서비스. 미들웨어, 데이터베이스, 웹 서버 등의 응용 프로그램의 구동 환경을 제공하는 것. - SaaS (Software as a Service)
사용자가 필요로 하는 소프트웨어 또는 응용프로그램을 제공하는 것. 기업들이 업무에 필요한 공통 업무를 제공하는 것이 일반적(전자우편 서비스, 기업 회계시스템(ERP) 등)
3. 핵심 필수요소
- 광대역 네트워크 대역폭(Broad Network Access)
클라우드 서비스의 네트워크 가용성을 제공해야 한다.
표준 클라이언트 매커니즘으로 접근할 수 있어야 한다.
– 전통적 : IP / TCP
– 특정 기술에 종속적이지 않은 접속 방식 제공 필수
네트워크를 이용해서 다양한 단말들에게 서비스를 제공 - 서비스 탄력성(Rapid Elasticity)
사용자의 서비스 요구사항에 따라 자원의 확장, 축소가 요구될 수 있다.
특정 작업을 위해서 많은 자원이 일시에 할당될 수도 있다.
작업이 종료된 후에는 할당되었던 자원을 모두 회수할 수 있어야 한다. - 측정 가능한 서비스(Measured Service)
클라우드 시스템은 자동적 자원의 사용을 제어하고 최적화해야 한다.
서비스 유형에 따라 측정 기능을 활용하여 최적화를 실시
여기서 서비스 유형은 저장소, 프로세서, 대역폭, 사용자 계정 등
활용중인 서비스가 CP와 CC 간 투명하게 구현되면, 자원 활용을 모니터링하고 제어/보고 - 사용자 요청 서비스(On-demand Self-service)
사용자는 서버시간, 네트워크 저장 공간 등의 컴퓨팅 가용자원이 필요할 때 서비스 제공 담당자와 직접 연결하지 않아도 서비스를 사용할 수 있어야 한다.
자원 사용 시 서비스 제공 담당자와 직접 소통해야 한다면, 대역폭 확대나 지원 증설을 요구하는데 시간 제약이 발생할 수 있다. - 자원 공유(Resource Pooling)
서비스 제공자는 가용 컴퓨팅 자원을 풀에 저장하고 다중 사용자 모델을 이용해서 다수의 사용자에게 제공할 수 있다.
클라우드 서비스 제공자가 공급하는 모든 자원은 공용으로 사용될 수 있으며, 사용자의 요청에 따라 동적으로 할당되고 회수될 수 있어야 한다.
Cloud Computing의 7가지 문제점과 대응방안
- Abuse and nefarious use of cloud computing(클라우드 컴퓨팅의 남용과 악의적 사용)
문제점
– 서비스 사용 유도를 위해서 등록과정이 쉬우며 무료 체험 기회도 존재함, 이것을 악용하여 공격자는 스팸, 악성코드 공격, DDoS 공격을 위해서 컴퓨팅 자원을 사용함
– 대응 방안
1. 엄격한 초기 등록 및 검증 절차
2. 신용카드 부정사용 방지 모니터링과 연계
3. 사용자 네트워크 트래픽에 대한 정교한 분석
4. 외부 위협 목록에 대한 차단 - Malicious Insiders (악의적인 내부자)
– 문제점
클라우드 컴퓨팅 도입으로 조직은 보안 등에 직접 통제를 하지 않으며 위탁하는 추세이며, 이 과정에서 클라우드 제공자의 보안 수준에 대해서 논의하고 있음.
클라우드 아키텍처에서 시스템 관리자는 보안관리자 역할도 수행해야 함.
– 대응 방안
채용 과정에서 법적 계약의 한 부분으로 보안 사항을 명시
정보보안 관리 절차, 컴플라이언스와 같이 모든 정보에 대한 투명성 요구
발생 가능한 침해사고에 대한 사고 대응 절차 정의 - Insecure Interfaces and APIs (취약한 인터페이스와 API)
– 문제점
CP는 서비스 동작 및 관리를 위해 API를 노출 시키는데, 클라우드 서비스의 가용성과 보안성은 이런 기본 API 보안에 종속된다. 따라서 인증, 암호를 위한 접근통제, 행동 분석 등의 인터페이스는 갑장스러운 악성 우회 시도로부터 대응력을 가져야 한다.
– 대응 방안
강력한 인증기법과 접근 통제
인터페이스 및 API에 대한 이해 - Shared technology Issues (공유된 기술 문제)
– 문제점
IaaS 제공자는 제공하는 서비스를 공유기법을 통해 확장 가능하도록 제공하는데, 이러한 인프라를 구성하는 각종 구성품(CPU,GPU 등)은 멀티 테넌트 구성에서 독립적으로 동작하도록 설계되지 않을 수도 있다.
CP는 개별 클라이언트마다 분리된 가상 머신을 이용하여 이러한 문제를 처리하지만 완벽한 해결책은 아님.
– 대응 방안
설치와 환경설정에서 보안설정을 최적으로 설정
허가되지 않은 변경/동작 등에 대한 모니터링
관리자 접근이나 운영은 강한 접근통제와 인증을 사용
취약점 점검 및 환경설정 감사를 지속적 수행 - Data loss or leakage (데이터 손실 및 유출)
– 대응 방안 : 강력한 API 접근 통제, 데이터 전송 시 무결성 보호 및 암호화, 설계와 실행 과정에서 데이터 로직 분석, 강력한 키 생성, 보호, 관리 및 파기 절차를 구현 - Account or service hijacking (계정 및 서비스 하이재킹)
– 문제점
훔친 계정정보를 통해 운영중인 클라우드 컴퓨팅의 핵심 자원에 접근이 가능할 수 있고 비밀성, 무결성, 가용성을 손상시킬 수 있음
– 대응 방안
사용자, 서비스 계정정보 공유 금지
Two-Factor 인증 사용
무허가 행위를 탐지하기 위한 사전 모니터링 실시 - Unknown Risk profile (알려지지 않은 위험 프로파일)
– 문제점
고객은 서비스 통제권을 CP에게 양도하는데 이것이 보안에 영향을 줄 수 있다. 그러므로 고객은 위험 관리에 Range & Responsibility를 명확히 하고 주의를 기울여야 함
– 대응 방안
데이터 및 어플리케이션 로그의 공개
인프라 상세 명세에 대한 일부 또는 전부 공개
필요 정보에 대한 감시 및 경고 필요
여기까지 Cloud Computing의 기본적인 내용을 알아보았고, 이어서 클라우드 컴퓨팅 데이터 보안을 정리하겠습니다.