보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

클라우드 환경의 보안사고 사례분석을 통한 대응방안

2023.11.20

5,236

01. 클라우드 컴퓨팅의 발전 현황 및 보안위협 요소

1) 클라우드 컴퓨팅 발전 현황

디지털 전환 및 애자일 비즈니스 전략에 의해 클라우드 전환이 본격화되었다. 분산구조와 오토 스케일링을 통한 효율적인 스토리지 관리로 인한 비용절감 등의 운영 효율과 블록체인, 인공지능 등 차세대 신기술의 테스트 베드로 활용되면서 2017년부터 급격한 성장을 이루며 인프라 생태계의 ‘퍼펙트 스톰’이 되었다. 클라우드 전환이 확산되면서 클라우드의 공격표면을 활용한 공격이 증가하였다. 따라서 이번 호에서는 클라우드 보안 협회(Cloud Security Alliance, CSA)에서 발표한 클라우드 보안 위협을 기반으로 클라우드 환경의 보안사고 사례 분석을 통한 보안강화 방안에 대해서 살펴보고자 한다.

클라우드 인프라의 보안 위협을 살펴보기에 앞서 프레임환경부터 클라우드까지의 IT인프라 발전 현황은 [표 1]과 같다. 초기 인프라 환경은 IBM과 같은 제조업체가 독자적인 통신 프로토콜과 단일 하드웨어 및 소프트웨어를 제공하는 메인 프레임 구조였다. 중앙관리가 본격화되면서 서버와 클라이언트 구조를 거쳐 물리적 리소스를 효율적으로 사용할 수 있는 가상화로 발전하게 되었다. 이후 분산 처리 기술 및 로드 밸런싱, 컨테이너 가상화, 서버리스 등의 기술 성숙도가 향상되면서 물리적 리소스의 제약없이 스토리지를 사용할 수 있는 클라우드로 확대되었다.

[표 1] IT 인프라의 발전 과정 주요 특징

2) 클라우드 서비스 모델 별 보안강화 방안

클라우드는 서비스 모델에 따라서 보안 접근방식이 기존 온프레미스와 다르다. 클라우드 서비스 제공자(CSP)와 클라우드 사용자가 영역별로 보안에 대한 책임을 분담하는 책임 공유 모델(Shared Responsibility Model, SRM)을 채택하고 있기 때문에 서비스 모델 별로 발생할 수 있는 보안 위협 요소 및 대응방안에 대한 고려가 필요하다. [표5-2]는 클라우드 서비스 모델 별 발생할 수 있는 보안 위협 요소와 대응방안을 매핑 한 자료다.

[표 2] 클라우드 서비스 모델 별 보안위험 및 대응방안 (출처 : 이글루코퍼레이션)

IaaS, PaaS, SaaS, FaaS, BaaS, CaaS 등 클라우드 서비스 모델은 제공 기능 및 구현 기술이 상이하기 때문에 클라우드 서비스 모델 별 위험요소를 식별하는 것은 보안을 강화하기 위한 가장 쉬운 방법이라고 할 수 있다. 책임 공유 모델에서 중요한 것은 클라우드 서비스 모델 별로 위험이 발생할 수 있는 요소에 대한 보안강화 방안에 대한 대책과 R&R(Role & Responsibilities)을 분류하는 것이다.

클라우드 서비스 제공자가 제공해야 하는 보안강화방안에 대해서는 SLA(Service Level Agreement )나 제공 서비스의 명세에 따라서 정확히 인지하는 것이 필요하다. 클라우드 서비스 제공자가 최소한의 보안을 제공할 뿐 추가적인 보안강화를 위해서는 보안 솔루션 도입 모니터링 방안 등은 클라우드 사용자가 고민해야 하기 때문에 서비스 목적과 클라우드 아키텍처 환경에서 발생할 수 있는 위험요소들을 식별하도록 노력해야 한다.

02. 클라우드 컴퓨팅 보안 위협 요소

1) CSA기반의 클라우드 컴퓨팅 보안 위협 요소

CSA에서 발표한 클라우드 컴퓨팅에 대한 주요 위협(Top Threats to Cloud Computing: Egregious Eleven)에서 2019년과 2022년의 목록을 살펴보면 클라우드 환경의 보안 위협을 크게 관리적 관점과 기술적 관점으로 분류해 볼 수 있다. CSA에서 발표한 2019년과 2022년의 클라우드 보안위협을 살펴보면, 코로나로 인한 근무환경의 변화 및 러시아-우크라이나 사태와 같은 국제정세의 불안으로 인해 클라우드 환경에 미치는 보안 위협도 증가하였다. 결국 국내외 환경요인 변화로 인해 사이버 환경의 공격 패러다임도 영향을 받는 것이다.

[그림 1] 클라우드 보안 위협 요소(출처 : CSA, Top Threats to Cloud Computing: Egregious Eleven일부 재구성)

[그림 1]에서 분류한 관리적 측면의 보안위협과 기술적 측면의 보안위협을 통해 공격 패러다임의 변화를 이해할 수 있다. 관리적 측면에서는 클라우드 환경에 최적화된 클라우드 보안 관리체계 부재와 휴먼 에러로 인한 문제가 두드러지고 있다. 2019년에는 내부 위협(Insider threat)이 보안사고를 유발하는 요인이 였으나, 2022년에는 내부 위협보다는 관리 미흡이나 잘못된 구성 설정 및 접근제어로 인한 보안사고 영향도가 높아진 것을 볼 수 있다. 기술적 측면에서도 공격의 변화 양상은 두드러진다. 클라우드 전환이 증가하면서 클라우드에 최적화된(Cloud Driven) 소프트웨어가 증가하면서 API나 공급망(Supply Chain)에서 시스템 취약점이나 APT공격으로 인한 연쇄적인 보안위협이 증가하였다.

[그림 1]에서 중요하게 봐야 하는 점은 관리적 측면과 기술적 측면에 영향을 미치는 ‘클라우드 보안 아키텍처 및 전략 부족(Lack of Cloud Security Architecture and Strategy)이다. 관리적 측면에서는 클라우드 보안 아키텍처 및 전략 부재로 인한 보안위협이 야기되지만, 기술적 측면에서는 관리적 측면의 영향으로 인해 클라우드의 공격표면(Attack Surface)이 증가하면서 클라우드 외부와 내부의 보안 위협에 영향을 미치고 있다.

클라우드 환경의 보안위협 및 대응방안을 수립하기 위하여 CSA에서 2022년에 발표한 클라우드 보안위협 11개를 기준으로 [표 3]과 같이 4가지 항목으로 재그룹화하여 위협을 식별하였다.

[표 3] CSA의 클라우드 컴퓨팅 주요 보안위협 및 대응방안 일부 재구성 (출처 : 이글루코퍼레이션)

[표 3]와 같이 클라우드의 보안위협은 크게 4가지 항목으로 분류할 수 있다. ‘보안 체계 및 전략과 관리 미흡’은 클라우드 체계에 맞는 보안체계나 전략의 부재 및 관리방안의 미흡으로 인한 문제다. 아키텍처 설계, 보안 솔루션, 데이터 흐름, 접근체계 구성 등 클라우드 환경에 최적화된 보안 거버넌스 및 아키텍처가 부재한 경우 보안사고로 이어질 수 있다. ‘클라우드 데이터 정보 노출 및 유출’은 자의적이거나 타의적인 문제로 인해 클라우드에 저장된 데이터가 공개되는 문제다. 특히 클라우드에 저장된 크리덴셜 API나 민감정보가 유출되는 경우에는 2차 피해가 발생될 수 있기 때문에 영향도가 높다.

‘인프라의 확대 및 소프트웨어 공급 증가’는 클라우드 환경의 소프트웨어 생명주기를 고려하지 않은 보안 위협이라고 할 수 있다. 클라우드내 운영되는 소프트웨어는 온프레미스와 마찬가지로 정적분석과 동적분석을 통한 위험요소 제거활동을 수행해야 하는데, 소프트웨어 개발 패러다임과 맞물리면서 API나 패키지 등 서드파티(3rd Party) 사용이 증가됨에 따라 클라우드 환경에서도 영향을 미치게 된다. ‘사이버 범죄 증가’는 앞서 살펴본 위험요소들의 악용 가능성이 높아지면서 공격자들의 타깃이 변화되고 있는 것을 의미하게 된다.

2) 클라우드 보안위협

① 보안 체계 및 전략과 관리 미흡

클라우드 보안위협이 발생하는 11가지 요소를 4가지 그룹에 따라 하나씩 살펴보고자 한다. 먼저 ‘보안 체계 및 전략과 관리 미흡‘으로 인해 발생되는 보안 위협은 4가지 위협이 있다. ‘부적절한 ID, 자격 증명, 접근 및 키 관리, 특권 계정(Insufficient ID, Credential, Access and Key Mgt, Privileged Accounts)’은 접근권한 부여 시 사용자 부주의에 의해 발생하는 문제다. 접근통제에 영향을 미치는 ID, 자격증명, 키 관리, 계정 관리의 부재로 및 미흡으로 인해 데이터 노출이나 유출이 발생할 수 있으며, 권한상승으로 인해 접근이 제한된 데이터에 접근이 가능해지게 된다.

클라우드의 접근통제를 강화하기 위해서는 클라우드 리소스 접근 전에 클라우드 서비스 인증 수준에 따른 구축모델을 생성하고 [그림 2]와 같은 프로비저닝(Provisioning)이나 디프로비저닝(Deprovisioning)과정에서 자원의 권한과 접근범위를 점검하고 지속적인 모니터링을 수행해야 한다.

[그림 2] Microsoft 365의 Provisioning과정 중 정책설정 화면 (출처 : Microsoft)

‘잘못된 구성 및 부적절한 변경 통제(Misconfiguration and Inadequate Change Control)’는 데이터 저장소나 잘못된 컨테이너 설정으로 자격증명 노출 및 비인가 접근이 허용되는 문제다. 보안을 강화하기 위해서는 [그림 3]과 같이 CSPM 솔루션을 적용해서 지속적인 변경 통제를 수행해야 한다. 부적절한 클라우드 구성은 클라우드 아키텍처에 대한 낮은 이해도 및 기술 성숙도 저하로 인해 발생할 수 있는 문제이기 때문에 클라우드 내 서비스 변화에 대한 모니터링과 서비스 배포 전후로 모의침투 등을 통해 부적절한 설정을 확인하는 것이 필요하다.

[그림 3] AWS의 CSPM AutoRemediation (출처 : Github, CSPM-AWS-AutoRemediation – CSPM security violation findings Auto-Remediation framework for AWS)

‘클라우드 보안 아키텍처 및 전략 부족(Lack of Cloud Security Architecture and Strategy)’과 ‘잘못된 구성 & 서버리스의 취약점 & 컨테이너 워크로드(Misconfiguration & Exploitation of Serverless & Container Workloads)’는 클라우드 보안 전략과 관리 규정의 현행화가 중요하다. 2개의 보안 위협 요소는 클라우드의 복원력과 저항성에 영향을 미치기 때문에 클라우드 서비스와 인프라 설계 시에 거버넌스 및 컴플라이언스 등 다양한 요소를 고려해야 한다. 클라우드 보안 아키텍처 설계 및 위협 모델링 프로세스는 CSA 에서 제시하는 보안 인프라 전략을 참고할 수 있다.

[그림 4] 클라우드 환경의 보안 성숙도(좌), 클라우드 보안 성숙도 수준별로 데이터 유출 식별 및 억제에 소요되는 평균시간(우) (출처 : IBM, 2022년 데이터 유출 비용 보고서)

클라우드 보안 성숙도에 따라 데이터 유출 및 식별에 소요되는 시간이 차이가 나게 되는데, [그림 4]는 IBM 데이터 유출 보고서의 클라우드 보안 성숙도에 관련한 내용이다. 보안 성숙도가 높은 경우 평균 176일이 소요되는 반면, 보안 성숙도가 낮은 경우 평균 244일이 소요된다. 결국 보안 성숙도는 데이터 유출 사고를 식별하고 대응하는데 평균 68일이라는 시간을 감소시키게 하는 효과가 있기 때문에 클라우드 보안 수준의 강화는 필수적인 요소라고 할 수 있다.

② 클라우드 데이터 정보 노출 및 유출

‘안전하지 않은 인터페이스 및 API(Insecure Interfaces and APIs)’는 API 사용량 증가와 연관이 깊다. Akamai 2021 보고서에 따르면 300조 개 이상의 API 요청이 발생하고 있으며 이 수치는 전년 대비 53% 증가한 수치라고 밝혔다. API사용량의 증가는 ‘안전하지 않은 인터페이스 및 API(Insecure Interfaces and APIs)’의 보안위협으로 이어질 수 밖에 없다. 인터페이스나 API는 기능명세 이외에 기능이나 보안위협들을 식별하기 어렵기 때문에 소프트웨어 개발 시에 시큐어코딩 적용 및 SAST, DAST등을 수행하거나, [그림 5]와 같이 WAAP솔루션을 적용해야 한다.

[그림 5] 구글 클라우드 WAAP 솔루션 아키텍처 (출처 : Google Cloud, Better protect your web apps and APIs against threats and fraud with Google Cloud)

‘우연한 클라우드 데이터 노출 / 공개(Accidental Cloud Data Disclosure / Disclosure)’는 클라우드 환경의 가시성 부재와 데이터 관리 미흡으로 인해 발생된다. 멀티 클라우드나 하이브리드 클라우드로 구성된 서비스의 경우 클라우드 간의 보안 가시성이 저하되면서 네트워크 보안 미흡 및 설정 오류로 인한 데이터 유출이 야기될 수 있다. 따라서 클라우드 서비스 운영을 위해서는 조직 구성원들에게 클라우드 보안 교육 및 정책을 제시하여 데이터 유출로 인한 문제를 최소화해야 하며, [그림 6]과 같은 Cloud DLP 등을 통해 데이터 흐름을 분석하고 노출 및 유출 여부를 점검하는 것이 필요하다.

[그림 6] Cloud DLP 사용 사례 (출처 : Google Cloud, Cloud Data Loss Prevention)

‘클라우드 저장소 데이터 유출(Cloud Storage Data Exfiltration)’은 내부 임직원을 대상으로 하는 ‘피싱(Phishing)’이나 보안 아키텍처를 대상으로 하는 ‘공급망 공격(Supply Chain Attack))’에 의해서 발생한다. 클라우드 보안 아키텍처 및 거버넌스를 수립하였다 하더라도 데이터 유출 사고를 언제든지 발생할 수 있기 때문에 클라우드 환경에 최적화된 데이터 유출 위협 및 사고대응 계획을 수립하는 것이 필요하다.

[그림 7] 데이터 유출로 인한 평균 비용 증가 (출처 : IBM, 2022년 데이터 유출 비용 보고서)

[그림 7]의 IBM 보고서에 따르면, 2020년에서 2021년에 데이터 유출 비용이 386만 달러에서 424만 달러로 증가하였으며 다음 해인 2022년에 435만 달러로 증가하였다. 2년간 평균비용이 12.7%가 증가한 것을 나타내는데, 코로나로 인한 원격 근무 사회가 지속되면서 관리 미흡 및 외부 공격으로 데이터 유출 보안 사고가 일어났기 때문이다. 따라서 사회적으로 원격 근무와 데이터 유출 간에는 서로 밀접한 상관관계가 있다고 분석된다. 더 나아가서 관리 미흡과도 상관관계가 있다고 해석된다. 추가로 코로나 외에도 디지털 사회가 발전하면서 클라우드 전환이 가속함에 따라 데이터 정보 유출에 관한 문제들은 2022년 이후로도 지속되어 증가할 것으로 전문가들은 예측한다.

③ 인프라의 확대 및 소프트웨어 공급 증가

‘안전하지 않은 소프트웨어 개발(Insecure Software Development)’과 ‘시스템 취약점(System Vulnerabilities)’은 SDLC와 관련되어 있다. 소프트웨어 상에서 발생하는 약점(Weakness)과 취약점(Vulnerability)을 관리하지 않는다면 연쇄적인 보안 위협을 야기하게 된다. 따라서 소프트웨어 공급망의 강화를 위해서 소프트웨어 보안강화 및 보안 업데이트 정책을 수립해야 한다.

‘서드파티 리소스 보안 해제(Unsecure Third Party Resources)’는 모든 소프트웨어 공급망에 영향을 미친다. 오픈소스 소프트웨어나 API, 인터페이스, 프레임워크 등으로 인해 소프트웨어가 유기적인 연결고리를 갖기 때문에 취약점이 발생하면 새로운 공격 트리거로 악용될 수 있다. 따라서 소프트웨어 공급망의 보안강화를 위하여 SBOM(Software Bill of Material)등을 통해 소프트웨어 구성요소의 투명성을 확보해야 한다.

[그림 8] 보안 취약점 증가 통계 (출처 : NIST, CVSS Severity Distribution Over Time)

[그림 8]은 미국 NIST(National Institute of Standards and Technology)에서 발표한 보안 취약점 추이를 정리한 자료다. 소프트웨어 수치가 증가하면서 소프트웨어 취약점 역시 정비례하고 있는 것을 알 수 있다. 클라우드 전환으로 인프라의 오픈소스 활용도가 증가되고 있다. 서비스를 구성하고 있는 일부 소프트웨어에 활용되고 있던 오픈소스는 운영체제, 데이터베이스, WEB/WAS, 프레임워크 등 다양한 영역으로 확대되면서 오픈소스로 인한 보안 위협도 증가되고 있는 추세다.

소프트웨어 보안강화를 위해서는 소프트웨어 개발 조직의 업무 절차 및 도구, 인력, 구성요소 등을 식별하는 것에서 출발해야 한다. SSDLC(Secure Software Development Life Cycle)를 구현하기 위해서 소프트웨어의 요구사항, 분석, 설계, 구현을 거쳐 단계별 검증과 테스트를 수행해야 한다. 이를 위해 KISA에서 발간한 시큐어코딩 가이드라인을 활용할 수 있다.

④ 사이버 범죄 증가

[그림 9] 사이버 범죄 증가 전망(출처 : statista, Cybercrime Expected To Skyrocket in Coming Years)

[그림 9]와 같이 Statista에서 발표한 자료에 따르면 조직의 근무체계 및 국제정세 변화로 인한 사이버 공격 비중이 증가되고 있다. 근무체계 다변화로 인한 원격근무 확산은 VPN, RDP등 원격접근 환경의 증가로 내부 시스템에 접근할 수 있는 공격접점으로 악용될 가능성이 높아졌다. 또한 국가지원형 사이버 공격이 증가하면서 북한, 러시아 등의 사이버 공격 활동의 증가로 클라우드 피해 규모가 증가되면서 ‘범죄 조직 / 해커 / APT(Organized Crime / Hackers / APT)’로 인한 클라우드 보안 위협 영향도가 증가되었다.

조직화되고 고도화된 사이버 공격을 대응하기 위해서는 체계적인 보안 체계를 수립하는 것이 필요하다. 지속적인 위협헌팅(Threat Hunting)을 통한 클라우드 인프라의 가시성을 확보하고, OSINT나 Intelligence등을 분석하여 선제적인 보안대응체계를 구축해야 한다.

지금까지 CSA기반의 클라우드 컴퓨팅의 보안위협과 공격벡터 등을 분석하였다. 다음 파트에서는 클라우드 보안사고를 토대로 클라우드 보안위협을 대응하는 방안에 대해서 살펴보고자 한다.

03. 사고사례 분석을 통한 클라우드 보안 대응 시 고려사항

1) 클라우드 보안 체계 및 전략과 관리 미흡을 대응하기 위한 고려사항

클라우드 환경의 보안사고 사례에서 도출한 4가지 보안위협 벡터를 통해서 클라우드 환경의 보안 고려사항을 살펴보고자 한다. 클라우드 보안에 대한 이해도와 성숙도가 증가하면서 일부 완화되는 것으로 보이나 여전히 클라우드 보안 체계 및 전략과 관리 미흡 이슈는 클라우드 환경에서 지속적으로 발생하는 이슈다.

2022년 7월 아마존의 S3 버킷의 설정오류로 콜롬비아와 페루의 공항 4군데를 포함한 공항 관련 데이터 3TB가 외부로 유출되었으며, 항공사 직원 사진 및 주민등록번호 정보 등의 직원 개인식별정보도 포함되어 있었다. 같은 해 10월 마이크로소프트도 클라우드 스토리지 설정 오류로 인해 애저 블롭(Azure Blob) 스토리지 버킷이 유출되어 6만 5천개 기업과 관련된 데이터가 노출되었다.

[그림 10] SEGA Europe 클라우드 보안 취약점 (출처 : VPNoverview.com, SEGA Europe Thoroughly Scrutinizes its Cloud Security)

SEGA의 클라우드 보안사고 사례분석을 통해 클라우드 보안 체계 및 전략과 관리 미흡으로 인한 문제점, 그리고 보안강화를 위한 고려사항에 대해서 보다 자세히 살펴보자. SEGA 클라우드 보안사고는 공개적으로 접근가능한 AWS S3 버킷에 실수로 민감파일이 저장되어 제3자가 접근가능한 문제였다. 해당 버킷은 데이터 접근 및 수정이 가능한 여러 키와 자격증명이 포함되어 있어 추가 피해가 예상되었으나, 신속한 대처로 인해 추가 피해가 발생되지 않아 보안사고 대응 프로세스의 모범사례로 볼 수 있다.

[그림 10]의 공격 시나리오에서 보면, 제3자는 버킷에 저장된 키와 자격증명으로 접근이 가능한 문제가 있었다. 버킷 정보를 이용해 CDN(Content Delivery Network)과 결합하면 악성코드 및 랜섬웨어 유포 등이 가능하게 된다. 또한 유출된 자격증명을 사용하면 악의적인 알람 생성이나 MailChimp손상을 통한 API공격이 가능해 지게 된다.

AWS S3 버킷의 구성오류로 인한 보안사고는 최근까지도 지속적으로 발생되고 있다. 따라서 사고 발생시, 관리자 실수나 잘못된 구성을 통해 문제가 야기 되기 때문에 버킷 설정 시에는 비공개 설정을 전제로 하고 저장된 데이터에 따라 공개여부를 결정하는 방안을 적용해야 한다. 또한 사고대응 및 분석을 위해서 버킷 로깅 설정을 통해 정상적인 동작여부나 이상접근을 모니터링해야 한다.

다른 대안으로는 S3버킷에 저장된 데이터를 암호화하는 방안이다. AWS S3 암호화 기능은 기본적으로 비활성화되기 때문에 저장 데이터에 따라 암호화적용을 고려해야 한다. 암호화는 데이터 저장 이외에도 전송구간의 암호화까지 고려해야 하기 때문에 기술 스택을 고려하여 네트워크 전송구간 및 엔드포인트 구간의 보안을 강구해야 한다.

2) 클라우드 데이터 정보 노출 및 유출 대응을 위한 고려사항

클라우드 데이터 정보 노출 및 유출로 인해 발생되는 사고사례는 API공격이나 보안 거버넌스 및 제어부족으로 인한 문제 등이 연관되어 데이터 정보 노출 및 유출로 이어지게 된다. 해외 보안업체인 클라우드섹(CloudSEK)의 발표에 따르면, 3207개의 앱 중 230개가 인증관련 크리덴셜 4개를 전부 노출하고 있으며, 트위터 계정의 탈취가 가능한 문제로 이어질 수 있다고 밝혔다. 이는 트위터 API키가 노출되는 모바일 앱이 악용되는 문제이기 때문에 API관리 소홀이나 악용이 발생하는 경우 데이터 정보 노출 및 유출로 이어질 수 있는 것을 보여주는 대표적인 사례라고 볼 수 있다.

[그림 11] API 취약점 경로 (출처 : Gartner)

가트너(Gartner)에서 발표한 [그림 11]과 같이 API로 발생하는 취약점이나 공격벡터는 다양하기 때문에 대응방안을 수립할 때도 다양한 관점을 고려해야 한다. 가트너에서는 API취약점 경로와 함께 기업의 API관리가 소홀문제로 향후 2025년까지 공격자들의 공격벡터로 악용될 것이라고 경고하기도 하였다. 따라서 API공격을 대응하기 위해서는 API보호 기능이 구현된 솔루션 도입 및 보안점검의 필요성을 이야기 하였다.

엘라스틱서치(Elasticsearch)역시 서버의 설정오류로 인한 문제로 ‘의도하지 않은 데이터 노출’의 위험성을 경고하고 있다. 엘라스틱서치 사용률이 증가하면서 잘못 구성된 서버 설정이 데이터 유출사고로 이어지는 경우가 빈번해지면서 클라우드 보안 거버넌스 수립 및 제어의 필요성을 강조했다.

미국 대형 금융지주회사인 ‘캐피탈 원(Capital One)’의 사례는 취약점으로 인한 데이터 노출의 위험성을 이야기 하고 있다. 퇴직한 근무자가 SSRF(Server Side Request Forgery)의 취약점을 악용하여 AWS 서버를 공격하여 약 14만명의 사회보장번호와 약 8만개의 은행계좌정보가 탈취당했다.

SSRF 공격은 일반적으로 외부에서 내부로 접근할 수 없는 대상에게 하는 공격으로 취약한 서버에서 서버 내부의 리소스에 대한 요청을 위조하여 실행하는 공격이다. SSRF 취약점은 현재 기업들이 클라우드 시대로 전환되면서 막강한 공격 위협으로 증가하는 추세로 꼽히고 있다. 클라우드에서는 서버 리소스에 대한 액세스를 제한하고 보안을 강화하기 위해 다양한 방안이 존재하지만, 클라우드 내부의 서비스들은 서로 네트워크로 연결되어 있어 SSRF 공격에 매우 취약하다고 볼 수 있다.

[그림 12]는 MIT Sloan에서 분석한 캐피탈 원 공격 흐름도이다. 먼저 공격자는 익명화를 위해 토르(Tor) 네트워크 서비스를 사용하여 여러 번 접근 시도를 하였다. 기존 캐피탈 원은 SSRF 공격으로부터 보호하기 위해 WAF(Web Application Firewall) 보안 정책을 설정하였지만, 잘못된 구성 설정으로 인하여 공격이 차단되지 않았다. 따라서 공격자는 AWS EC2 인스턴스 메타데이터에 대한 요청을 위조하였고, 그 결과 S3 버킷을 통하여 데이터 접근이 가능하였다.

[그림 12] 캐피탈 원 공격 흐름도 (출처 : Cybersecurity at MIT Sloan, A Case Study of the Capital One Data Breach)

캐피탈 원 사고사례는 내부자 위협과 잘못 구성된 WAF로 인한 사고다. 하지만, SSRF 취약점은 현재 클라우드 시대에서 계속 증가하고 있는 위협인 만큼 적절한 분석과 대응이 필요하다. 공격자가 캐피탈 원을 대상으로 SSRF가 공격 가능했던 원인은, 캐피탈 원의 AWS는 취약한 인스턴스 메타데이터 접근 방법인 IMDSv1를 사용했기 때문이다. IMDSv1은 타데이터 URL에 대해 GET 요청을 하여 메타데이터 정보 노출이 쉽고, 이를 이용하여 변경 또는 위조가 가능하다. 따라서 대응할 수 있는 방안으로, IMDSv2를 사용하는 것이 좋다. [그림 13]과 같이 IMDSv2는 GET 요청을 하기 전에 PUT 요청을 통하여 Token을 발급받고, 해당 Token을 이용하여 GET 요청을 메타데이터 URL로 전송하기 때문에 SSRF 공격에 대응할 수 있다.

[그림 13] IMDSv2 세션 흐름도 (출처 : medium.com, AWS Enhances Metadata Service Security with IMDSv2)

또한, 입력값에 대한 검증을 철저히 수행하여, 외부에서 전송되는 요청을 필터링하는 것도 하나의 대응 방안이 될 수 있다. URL에 대해서는 허용리스트를 설정하여 필요한 URL만 허용하는 방법을 사용할 수 있다. 추가로 사용자가 입력한 URL을 검사하여 유효한 URL인지 확인하고, 잘못된 URL을 수정하거나, 사용자가 입력한 URL을 중개 서버에서 변환하여 안전하게 전달하는 방법을 사용하는 것이 권장된다.

3) 인프라의 확대 및 소프트웨어 공급 증가 대응을 위한 고려사항

코로나로 인해 비대면 및 재택근무 환경의 확산과 기업들의 클라우드 전환 등 디지털 사회가 가속화되면서 소프트웨어의 공급과 개발도 마찬가지로 가속화되었다. 이에 관한 사례로는 Log4j 오픈소스와 SolarWinds 공급망 공격 사례이다. 두 사례는 크게 이슈되어 SBOM으로 불리는 소프트웨어의 구성 요소에 관한 메타정보가 주목받게 되었고, 공급망 관리라 불리는 SCM(Supply Chain Management) 보안의 중요성이 각인되었다.

[그림 14] 3CX 공급망 윈도우 환경 공격 흐름도

최근에는 클라우드 기반의 IP PBX 시스템을 제공하는 통합 커뮤니케이션 솔루션인 3CX가 공급망 공격을 받았다. [그림 14]의 윈도우 환경의 공격 흐름도를 살펴보면, MSI 파일로 관련 파일 설치 후 ‘3CXDesktopApp.exe’ 파일을 실행하여 악성 DLL 파일을 로드한다. ‘ffmpeg.dll’은 ‘d3dcompiler_47.dll’ 파일 안에 인코딩된 데이터를 읽는 기능을 수행한다. 인코딩 데이터를 복호화하게 되면, 쉘코드가 존재하며 메모리에 존재하는 악성코드를 실행시킨다. 해당 악성코드는 다운로더 기능을 수행하여 깃허브에서 ico 파일을 다운로드하게 되는데, ico 파일에는 실제 C&C 서버의 주소들이 인코딩되어 존재한다.

해당 취약점에 대한 해결 방안으로 현재 3CX 업체에서 새로운 인증서를 발급하기 전까지 다른 소프트웨어인 PWA 애플리케이션을 대체로 사용할 것으로 조치했다. 추가로 취약점 패치가 필요한데, 3CX Hosted/StartUP 고객은 추가 조치가 필요 없고, 자체 호스팅 및 온프레미스 고객은 최신 버전으로 업데이트가 필요하다. 또한, [그림 15]과 같이 구글 크롬(Chrome)에서는 소프트웨어 보안 인증서를 무효화 하여 3CX MSI 설치 파일을 통하여 다운로드 받을 수 없도록 조치하였다.

[그림 15] Chrome의 3CX MSI 설치 프로그램 차단(3CX, Chrome blocks latest 3CX MSI installer)

SolarWinds 및 3CX와 같은 공급망 공격 사태가 또 발생하지 않기 위해서는 지속적인 보안 강화 태세를 구축하는 것이 중요하다. 현재 자산이 무엇인지 조사하고 기록하는 것도 하나의 대안이 될 수 있다. 또한, 불필요하거나 불법적으로 다운되어 인증 없이 사용되는 소프트웨어 및 서비스는 보안에 취약한 상태가 될 수 있다. 이렇듯 클라우드를 통한 공급망 공격은 현재 간과할 수 없는 위협이며, 오픈소스 및 공급망의 보안 취약점 분석과 적극적인 대응이 강구된다.

4) 사이버 범죄 증가 대응을 위한 고려사항

사이버 범죄와 해킹 단체의 공격 시도는 계속해서 증가하고 있고 최근 우크라이나-러시아 사태와 연관이 깊다. 또한, 수익 창출을 위한 가상자산 및 랜섬웨어 공격도 활발한데, 북한은 클라우드 서비스를 악용하여 암호화폐 채굴 및 피싱 공격 등 다양한 공격 기법으로 국가 및 기업을 위협하고 있다.

[그림 16] 2021년 12월 이후 러시아의 사이버 활동 (출처 : Microsoft, An overview of Russia's cyberattack activity in Ukraine)

[그림 16]은 러시아와 우크라이나 전쟁 이후의 사이버 활동에 대한 이벤트를 나타낸 것이다. 러시아의 전쟁은 2022년 2월에 시작되었으며, 이전의 러시아의 사이버 공격이 차츰 진행됨에 따라서 2월에 급속히 늘어남을 보여주고 있다. 조사된 사이버 공격 단계에 의하면 ‘사이버 공격 대상 및 도구 선정(Tooling and Reconnaissance)’을 통해 접근을 확보하여 목표 대상과 진입점을 넓혔으며, 추가로 네트워크 접근 과정을 통해 ‘네트워크 공격(Actions on Network)’을 펼쳐 지속성을 높였다. 따라서 결과적으로 주요 기반 시설과 다수 기업이 ‘데이터 유출 및 해킹(Data Exfil/Destruction)‘까지 도달하는 피해가 발생하였다.

[그림 17] LNK 파일을 통한 RokRAT 악성코드 (출처 : TheHackerNews, North Korea's ScarCruft Deploys RokRAT Malware via LNK File Infection Chains)

최근 북한은 [그림 17]처럼 LNK 파일을 통하여 RokRAT 악성코드를 배포 중인 것으로 알려졌다. LNK 파일은 PDF 아이콘으로 위장하고 있었으며, 악성 파워셸(powershell) 명령어를 포함하고 있다. 공격자는 정상 PDF 파일로 사용자를 속여 스크립트 파일을 통해 악성 행위를 수행한다. 따라서 최종적으로 파워셸에서 인코딩된 데이터를 다운로드 후 해당 데이터를 프로세스에 인젝션을 한 뒤, 수집한 정보들을 클라우드 서비스를 통해 공격자의 서버로 전달된다. 이러한 지속적인 APT(Advanced Persistent Threat) 공격은 클라우드 서비스에 영향을 끼치므로 사용자의 주의가 필요하다.

이러한 해킹 단체와 APT 공격에 대응하려면, 시스템의 보안 업데이트를 정기적으로 실시하고, 취약점 관리를 철저히 해야 한다. 시스템 보안 취약점이 지속적으로 증가하면서 해킹 단체와 APT 공격자들은 이 점을 이용하여 공격하기 때문이다. 또한, 강력한 암호 및 접근 제어로 시스템을 보호하는 것이 중요하다. 이를 이용하게 되면, 민감한 데이터로 비인가자로부터 보호할 수 있게 된다.

[그림 18] 사회 공학 기술 종류(출처 : seon.io, What Are Social Engineering Attacks? Techniques & Protection)

APT 공격자들은 [그림 18]과 같이 다양한 기법의 사회 공학 기술을 이용하기 때문에 이를 제고하여 전략적으로 대응하는 것이 중요하다. 이를 대응하기 위해선 기업의 보안 교육이 가장 중요하게 여겨지는데, 직원의 보안 인식을 키워서 악성 이메일 및 웹 페이지에 주의하도록 해야 한다. 또한, 다단계 인증(Multi-factor Authentication, MFA)을 사용하여 공격자로부터의 계정 탈취 위협을 줄일 수 있다. 이 외에도 여러 가지 방법이 있지만 APT 공격은 사용자의 보안 인식을 강화하는 것이 매우 중요하게 여겨진다.

최근 해킹 단체의 공격은 매우 교묘하게 이루어지기 때문에, 앞서 기업은 다양한 대응 방안을 동원하여 공격을 방지하고 대응할 수 있어야 한다. 보안 전략을 지속적으로 검토하고 업데이트해야 하는 것도 중요시되며, 이를 위해 기업은 보안 전문가들과 함께 모의 해킹 등의 보안 테스트를 수행하고, 취약점을 찾아내고 보완해야 한다. 또한, 최근 보안 동향을 파악하여 최신 취약점과 공격 도구 등을 찾아내어, 보안 솔루션을 통하여 재빠른 탐지 및 차단을 하는 것이 중요하다.

04. 마무리

지금까지 클라우드 보안사고를 통해 클라우드 환경의 보안위협과 대응방안에 대해서 살펴보았다. 클라우드 전환이 본격화되면서 클라우드 보안 사고에 대한 인지와 분석 및 대응 방안이 필수가 되었다. 사이버 공격은 지능적으로 발전하고 악성 도구들은 상위 평준화가 되면서 위협적으로 다가오고 있다. 따라서 유동적인 클라우드 환경에서는 모든 사용자를 신뢰하지 않는 환경 구조로 다가가야 한다. 이러한 모델은 ‘제로 트러스트 아키텍처(Zero Trust Architecture)’로 알려졌으며, 현재 국내에서는 뜨거운 감자로 이목이 집중되고 있다.

오픈소스와 공급망 그리고 다양한 아티팩트에 대한 위협이 증가하는 사회에서 구체적인 대응 방안 마련과 능동적인 체계가 중요하다. 클라우드 환경은 유동적인 네트워크 환경과 리소스를 제공하기 때문에 위협에 노출되기 쉽다. 따라서 기존 네트워크 경계 중심의 보안은 클라우드 환경에서 매우 취약하므로, 고도화되는 사이버 공격을 대응하기 위한 추가적인 전략이 필요하다. 이처럼 앞서 CSA의 클라우드의 위협과 보안 사고 사례 분석을 통해 클라우드 환경의 보안 위협 최소화를 하는 것이 고려된다.

05. 참고자료

1) Cloud Security Alliance’s Top‌ ‌Threats‌ ‌to‌ ‌Cloud‌ ‌Computing:‌ Pandemic 11 Report Finds Traditional Cloud Security Issues Becoming Less Concerning, CSA : https://cloudsecurityalliance.org/press-releases/2022/06/07/cloud-security-alliance-s-top-threats-to-cloud-computing-pandemic-11-report-finds-traditional-cloud-security-issues-becoming-less-concerning/
2) 2022년 데이터 유출 비용, IBM : https://www.ibm.com/kr-ko/reports/data-breach
3) CVSS Severity Distribution Over Time, NIST : https://nvd.nist.gov/general/visualizations/vulnerability-visualizations/cvss-severity-distribution-over-time
4) Cybercrime Expected To Skyrocket in Coming Years, statista : https://www.statista.com/chart/28878/expected-cost-of-cybercrime-until-2027/
5) SEGA Europe Thoroughly Scrutinizes its Cloud Security, vpnoverview : https://vpnoverview.com/news/sega-europe-security-report/
6) A Case Study of the Capital One Data Breach, Cybersecurity at MIT Sloan : https://web.mit.edu/smadnick/www/wp/2020-16.pdf
7) Use IMDSv2,AWS : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html
8) 3CX DesktopApp 공급망 공격, 국내에서도 확인, ASEC : https://asec.ahnlab.com/ko/50965/
9) An overview of Russia’s cyberattack activity in Ukraine, Microsoft : https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4Vwwd
10) North Korea's ScarCruft Deploys RokRAT Malware via LNK File Infection Chains, The Hacker News : https://thehackernews.com/2023/05/north-koreas-scarcruft-deploys-rokrat.html
11) Social Engineering, imperva : https://www.imperva.com/learn/application-security/social-engineering-attack/