메뉴

문서정보

목차

CSA(Cloud Security Alliance)의 최신 보고서에 따르면 클라우드 컴퓨팅과 관련된 가장 큰 위험은 설정(configuration)인증(Authentication)에 관련된 문제다. 이전 보고서에서 시스템 취약성(vulnerabilities)과 멀웨어(malware)를 지적했던 것에 비하면 새로운 방향전환이라 할 만하다.

기업은 서버를 포함한 디지털 자산과 애플리케이션 그리고 모든 종류의 데이터들을 클라우드로 지속적으로 옮기고 있다. 클라우드는 운영성, 확장성, 접근및 관리 등에 있어서 많은 이점을 가지고 있다. 대부분의 경우에는 클라우드 시스템을 신뢰하고 호스팅하기에 충분하며 사용자는 이 이점을 누릴 수 있다. 그러나 다른 모든 기술과 마찬가지로 클라우드의 사용에도 위험이 있다. 이 문서는 인증과 설정관련 문제로 시작하는 11개의 중요 위협과 이들 위협에 대한 대응 방안을 담고 있다. 대응은 AWS를 기준으로 한다.

Data Breaches

데이터 유출(Data Breaches)는 사이버 공격과 같은 보안사고로 승인되지 않은 당사자가 기밀 또는 민감한 데이터를 보거나 도난, 판매, 사용되는 것을 의미한다.

사업에 미치는 영향

주요 권장 사항

방안

암호화 기술 구현 : AWS의 EBS, S3, SQS, SNS, Kinesis, Redshift, MQ 등 데이터를 다루는 주요 서비스들은 기본적으로 암호화 기능을 제공한다. 암호화는 default encryptionSSE(Server side encryption)두 가지 타입이 있다. Default encryption은 암호화 설정을 체크하는 하면 활성화되며, 저장이 되는 시점에 암호화되고 읽는 시점에 복호화된다. SSE는 애플리케이션 혹은 서비스가 데이터를 암호화해서 쓰고 읽는 방식(AWS 서비스에 따라서 사용 할 수 있는 암호화 옵션에 차이가 있을 수 있다.)이다. 예를 들어 S3버킷에 SSE를 적용했다면 S3 객체를 업로드하거나 다운로드 할때 kms:Decrypt권한이 하다. 따라서 특정 애플리케이션(kms:Decrypt IAM 권한을 가진)만이 데이터를 읽고 쓸 수 있다.

중요 데이터에 대한 접근관리 : IAM을 이용해서 리소스별로(데이터베이스, 스토리지) 접근권한을 설정할 수 있다. 보안 감사 : CloudTrail로 IAM의 생성, 삭제, 사용에 대한 로그를 모니터링 할 수 있다.

정보보호 가버넌스 : 업무계획을 수립할 때, 정보보호 활동도 함께 수행한다. 서비스가 다루는 정보들 중, 중요 정보와 비 중요 정보들을 가려내고 어떤 보호 조치를 취해야 할지를 결정한다. 개인정보, 신용정보, 의료정보, 위치정보 등이 중요 정보들이 될 것이다. 모든 중요 정보를 하나의 동일한 (높은)레벨로 관리를 하는 건 보안조직의 입장이다. 하지만 데이터는 사용 가능해야 하므로, 중요 정보도 몇 단계로 나눠서 적절한 수준으로 관리를 해야 한다. 즉 보안은 가용성, 기밀성, 무결성을 강조할 것이고, 서비스 및 개발 조직은 사용성을 강조 할 것이다. 균형을 맞춰야 한다.

잘못된 설정과 제어

컴퓨팅 설정이 잘못된 경우 악성활동에 취약해진다. 아래는 잘못된 설정의 예다.
  1. 중요 데이터가 저장된 S3의 설정을 실수 해서, 외부에 노출됐다.
  2. 컨테이너, 애플리케이션에 과도한 권한을 줬다.
  3. 시스템 로깅, 모니터링 설정을 빼먹었다.
  4. Security Group을 잘못 설정해서 모든 포트가 모든 소스에 대해서 열려있다.

사업에 미치는 영향

설정 오류의 설정, 데이터가 암호화 돼있는지, 모니터링/감지 속도에 따라 사업에 미치는 영향이 결정된다. 가장 일반적인 문제는 스토리지에 저장된 데이터가 외부에 노출되는 것이다.

주요 권장 사항

클라우드 설정은 매우 복잡할 수 있으며, 동적으로 변경될 수 있다. 보통 사람의 손으로 수동으로 설정을 변경하는 과정에서 문제가 발생한다. 따라서 회사는 클라우드의 설정을 자동으로 적용 할 수 있는 시스템, 그리고 잘못된 구성을 지속적으로 스캔하고 실시간으로 문제를 해결 할 수 있는 방법/툴을 찾아서 도입해야 한다.

방안

데이터 암호화 : 잘못된 설정으로 데이터가 누출되더라도 피해를 최소화 할 수 있다. 모든 중요데이터를 암호화 하자.

IaC : VPC, Routing Table, Internet Gateway, Security Group을 모두 코드화 한다. 코드화를 하면 사람의 실수를 줄일 수 있으며, 자동화 할 수 있다. 코드이므로 CICD 과정과 통합 할 수 있다. CloudFormation, Terraform 등을 사용 할 수 있다.

Incident Management System: 자원변경을 모니터링하고 변경내용을 관리 할 수 있는 시스템이 필요하다. Opsgenie를 이용한 인프라 이벤트 관리 시스템을 참고하자.

클라우드 보안 아키텍처 및 전략 부족

기업이 IT 인프라를 클라우드로 이전함에 따라서, 클라우드에서의 적절한 보안 아키텍처와 정책을 수립하는 일이 중요해지고 있다. 기존의 내부 IT 스택과 보안 정책을 클라우드에 그대로 옮길 수 있다고(lift and shift) 가정하지 말자.

사업에 미치는 영향

클라우드로 안전하게 마이그레이션하고 배포 및 운영을 위해서는 적절한 보안 아키텍처 및 전략이 필요하다. 취약한 보안으로 사이버 공격이 성공하면, 재정적 손실, 평판 손상, 법적문제 등이 발생 할 수 있다.

주요 권장 사항

방안

DevSecOps 활동을 한다. 보안을 민첩한 DevOps 사이클에 통합한다. 프로젝트 설계/분석 단계에서 보안이 참여하도록 한다. 개발/배포 단계에서는 CICD 프로세스에 보안정책이 시행되도록 한다. CICD에서는 빌드외에 유닛테스트, 통합테스트, 문서화를 자동화 할 건데, 소프트웨어 취약점 분석, 설정변경 리뷰 등을 통합한다. CICD 사이클과 함께 점진적으로 보안수준이 높아지도록 할 수 있다.

DevOps에 "모니터링/관제/사고관리/운영" 시스템이 포함될 거다. 이 시스템에 보안도 넣는다. 보안담당자와 운영자는 보안 활동을 위해서 필요한 절차/툴을 개발해야 한다. 보안 설정의 코드화 클라우드 인프라, 클라우드 자원 등에서 발생하는 보안 로그들의 수집/분석/이벤트 관리 할 수 있도록 한다.

Cloud Native에 맞는 보안 정책을 수립해야 한다. 온-프레미스 환경에서의 보안 정책을 클라우드 환경에 lift and shift 했다가는 DevOps 가 무너질 것이다. 공동 책임 모델을 개발하자. 공동책임모델은 (약간씩 이름이 다르긴 하지만) AWS, Azure, GCP 등에서 베스트 프랙티스를 찾을 수 있으니 참고해서 개발 할 수 있다.

충분하지 않은 아이덴티티, 자격 증명, 액세스 키 관리

자격 증명의 부적절한 보호, 암호화 관리의 실패, 확장가능한 자격 증명 관리 시스템의 부재, 다단계 인증 미 사용으로 인한 보안 사고가 발생 할 수 있다.

사업에 미치는 영향

데이터에 대한 무단 액세스가 가능하다. 결과적으로 합법적인 사용자로 가장한 악의적인 사용자에 의한 정보보호 이슈가 발생 할 수 있다.

주요 권장 사항

방안

Account hijacking

계정 도용을 통해서 높은 권한을 획득해서 민감한 자원에 접근 할 수 있다. 클라우드 환경에서 가장 큰 위험은 계정이 털리는 거다.

사업에 미치는 영향

어차피 어카운트 털리면 문제가 되는건 온-프레미스라고 다를 건 없다고 할 수 있겠는데, "자원의 컨트롤이 매우 쉽다는" 클라우드의 특성으로 빠르게 문제가 확산될 수 있는 차이가 있다. 예를 들어 온프레미스 환경이라고 하면, 서버 어카운트 하나 털었다고 해서 전체 서버의 권한을 획득하는 건 불가능에 가깝다. 하지만 AWS 루트 어카운트 털리면, 그걸로 끝이다. 모든 자원의 권한이 다 넘어 간다. 권한을 제한한 어카운트라고 마찬가지다, 온-프레미스와는 달리, 그 제한된 권한을 전적으로 (그것도 아주 쉽게) 행사 할 수 있기 때문에 훨씬 위험하다.

서비스 중단, 브랜드 가치 저하, 법적 책임 노출, 민감한 개인정보 유출로 이어질 수 있다.

주요 권장 사항

방안

내부자 위협

내부자는 방화벽, VPN 및 기타 방어장치를 거칠 필요 없이 내부 자원(인스턴스, 데이터베이스, 스토리지)에 직접 접근 할 수 있다.

사업에 미치는 영향

사업에 미치는 영향은 Account hijacking과 비슷하다.

주요 권장 사항

방안

안전하지 않는 인터페이스와 API

API(Application Programming Interfaces)와 UI(User Interface)는 외부에 직접적으로 노출되는 인터넷과의 경계에 위치한다. 모두가 자유롭게 접근 할 수 있기 때문에, 인증 및 액세스 제어, 암호화, 모니터링등 우발적이거나 악의적인 보안침해 시도를 방지하기 위한 설계가 필요하다.

사업에 미치는 영향

취약한 인터페이스, API 세트는 기밀성, 무결성, 가용성에 악영향을 줄 수 있다. API는 인터넷에 공개되기 때문에, 피해 확산속도가 매우 빠르고 치명적일 수 있다.

주요 권장 사항

방안

Weak control Plane

Control Plane을 잘 정의하면 Data Plane에서의 데이터 안정성을 제공 할 수 있다. Control Plane이 약하면 데이터 인프라의 논리적인 구성, 보안및 검증을 완전히 제어하지 못한다.

비지니스 영향

주요 권장 사항

방안

Metastructure and applistructure failures

메타스트럭처 및 응용구조의 여러 영역에서 실패가 발생 할 수 있다. 예를 들어 클라우드 서비스 제공자가 API를 잘못 구현하면 공격자에 의해서 서비스의 기밀성, 무결성, 가용성이 위협받을 수 있다.

사업에 미치는 영향

메타스트럭처와 응용구조는 클라우드 서비스의 중요 구성요소다. 클라우드 공금자 수준에서의 기능과 관련된 오류는 모든 서비스 소비자에게 심각한 영향을 줄 수 있다. 마찬가지로 고객이 구성을 잘 못 할 수 있는데, 이 경우 재정/운영 적으로 사용자를 혼란에 빠트릴 수 있다.

주요 권장 사항

방안

클라우드 자원 사용에 대한 제한적인 가시성

직원이 클라우드 접근, 사용 및 거버넌스에 익숙하지 않을 경우 민감한 회사 데이터를 공개된 혹은 개인이 사용 할 수 있는 위치에 복사해서 사용 할 수 있다.

사업에 미치는 영향

주요 권장 사항

방안

Abuse and nefarious use of cloud services

읙의적인 목적으로 컴퓨팅 리소스를 사용하는 행위다. DDoS 공격의 시작점으로 사용, 스팸메일 피싱 캠페인, (디지털 통화를 위한)채굴, 대규모 자동클릭, 데이터베이스에 대한 무차별 대입공격, 악의적인 컨텐츠 호스팅 등이다.

주요 권장 사항

방안

정리

AWS를 기준으로 한다.
  1. 클라우드 환경에서의 DevOps와 분리되는 보안은 DevOps 이니셔티브를 훼손 할 수 있다.
  2. DevOps와 Security를 통합하자. 클라우드는 인프라스트럭처, 소프트웨어 뿐만 아니라 보안 툴도 함께 제공한다. 이들을 잘 통합하면, 개발에서 배포까지의 과정이 점진적으로 개발되는 것처럼 보안도 그렇게 할 수 있다.
  3. AWS 보안 기술 백서를 읽어서 적용한다.
  4. IaS를 적용하고, 보안 설정도 코드화 한다.
  5. 핵심 툴은 아래와 같다.
    1. AWS Trusted Advisor
    2. AWS Organization, Account, IAM Multi-Factor Authentication
    3. IAM Role
    4. CloudTrail
    5. Security Group
    6. VPC, VPC Peering, PrivateLink, RoutingTable, Network ACL
    7. Logging : CloutFront, RDS, S3 객체 만료, S3 Access Log
    8. 모니터링 : CloudWatch, CloudWatch Alarm, EC2 Instanc, Simple Notification Service, Load Balancing
    9. 복원성 확보 : EBS 스냅샷, RDS 다중 AZ 설정, AWS Import/Export, Storage Gateway, 관리형 NoSQL/SQL, 다중 리전 배포, Route 53 및 DNS 장애 조회

참고