보안

‘레드 vs. 블루’ 혹은 ‘퍼플팀’ : 효과적인 사이버 위기대응 훈련법 구축하기

David Strom | CSO 2022.01.27
사이버보안 방어 분야에는 레드팀/블루팀 시뮬레이션 공격이라는 훈련이 있다. 레드팀/블루팀 시뮬레이션은 실제 환경에 가깝게 고안된다. 예컨대 레드팀의 한 팀원이 네트워크에 악성코드를 퍼뜨리는 피싱 링크를 클릭하는 직원 역할을 맡고, 블루팀은 해당 악성코드가 확산해 웹 서버와 기타 애플리케이션을 감염시키기 전에 찾아야 한다. 현실적인 시뮬레이션을 위해 실제 네트워크 트래픽을 재현해 공격 발견을 어렵게 설정하기도 한다. 
 
ⓒ Getty Images Bank

레드 및 블루팀의 역할에 대해 이야기해보자. 레드팀 팀원은 일반적으로 공격자 역할로, 보안 프로토콜을 넘어서려고 시도한다. 레드팀은 공격자가 사용하는 것과 같은 도구와 기법을 사용한다. 침투 테스터의 방식과 유사하지만 사용 범위가 더욱 광범위하다. 

보안 컨설턴트 다니엘 미슬러는 자신의 블로그에서 “레드팀은 단순히 취약점을 테스트하는 것이 아니라 장기간 지속하는 공격 캠페인에서 위협 행위자가 사용할 가능성이 있는 도구, 요령, 기법을 활용한다. 훌륭한 레드팀은 보편적인 공격 출처를 찾고 적의 기법을 추적하는 사전 경고 시스템의 역할을 한다”라고 말했다.

은퇴한 IBM 아키텍트 존은 “언젠가는 레드팀이 절대로 테스트하지 않은 위협이 등장할 것이다. 블루팀을 압도할 수 있고 기업이 비즈니스를 중단시킬 수 있는 위협이 아직도 있다”라고 설명했다. IBM 엑스폭스 레드(X-Force Red)의 글로벌 전략 책임자 크리스 토마스에 따르면, 일부 기업은 레드팀의 역할을 단순히 물리적인 보안 침입 측면에서만 생각한다.

블루팀은 IT 업체의 내부 보안팀을 모방하여 모델링했다. 미슬러는 “훌륭한 블루팀은 팀원들의 정신적인 상태에 달렸다. 블루팀은 선제적인 사고방식과 끝없는 호기심을 가지고 감지 및 대응 전략을 지속해서 개선해야 한다”라고 덧붙였다.

다만 레드팀과 블루팀 2가지로만 양분하는 것은 오해의 소지가 있다. 이런 시뮬레이션을 실제로 수행하기 위해서는 2개의 팀이 추가로 참여해야 한다. 
 
  • 화이트팀 : 네트워크 소유자와 장비를 운영하고 시뮬레이션 수행을 위한 스크립트를 작성하는 IT 관리자로 구성된다. 일부 훈련에서는 사전에 구성한 스크립트가 제공되지만 자체적으로 구축하는 경우도 있다. 
  • 골드팀 : 훈련을 위한 컨설턴트인 주제 전문가(Subject Matter Expert, SME)와 사용하는 보안 솔루션 업체 쪽 인력, 법류 자문가로 구성해 디지털 포렌식 같은 특수 작업을 수행할 수 있다.


퍼플팀은 무엇인가

퍼플팀은 구성 방식에 따라 다양한 역할을 한다. 색상으로 보면 레드팀과 블루팀의 조합이라는 것을 알 수 있다. 즉, 레드/블루팀이 서로 협력하며 스킬을 개선할 수 있는 구성이다. 또한 퍼플팀을 구성했다는 것은 레드/블루팀이 훈련이나 실제 업무의 일환으로 함께 협력해야 한다는 의미다. 

팀을 섞는 것은 같은 사고방식을 가진 팀원으로만 구성하는 것보다 효과적이지 않을 수 있다. 미슬러의 비유에 따르면, 마치 음식점 웨이터가 자신의 직무가 아닌 배달을 하지 않는 것과 같다. 미슬러는 레드팀이 자신을 너무 높게 평가해 블루팀과 정보를 공유하지 않거나, 양 팀이 상호작용하지 않거나, IT팀이 양 팀을 같은 노력의 일환으로 여기지 않는 기업의 사례를 많이 경험했다. 

지난해 여름, 필자는 미국 국가경비대(National Guard of the United States)에서 매년 진행하는 사이버 공격 방어 합동 훈련인 사이버 쉴드(Cyber Shield)에 참석했다. 사이버 쉴드에는 2주간 40개의 지역 단체가 시뮬레이션에 참여한다. 800명 이상의 회원이 레드팀과 블루팀으로 분류되며, 레드팀과 블루팀이 서로 협업해 사이버 공격 방어 요령과 기법을 공유할 수 있도록 ‘퍼플 데이(purple day)’를 별도로 진행한다.

사이버 쉴드 담당자 브래드 로즈는 “위협 행위자는 우리보다 훨씬 잘 협업한다. 우리는 사이버 공격 방어 훈련으로 파트너와 현실적인 시나리오에서 긴밀히 협력하고 신뢰를 쌓고 심층적인 관계를 구축할 수 있다”라고 말했다. 실제 위협이 발생했을 때 해당 조직을 떠날 수도 있는 애널리스트 한 사람에게 의지하는 대신에 팀원끼리 서로 배울 수 있으므로 이런 신뢰 구축이 중요하다. 보안업체 Z벨로(Zvelo)에서 IT 보안 책임자로 근무하는 로즈는 현재까지 사이버 쉴드 훈련을 총 6회 진행했다. 

월마트도 블루팀과 레드팀을 운영하고 있다. 월마트 보안 운영 부사장 제이슨 오델은 “장기적으로는 외부 레드/블루팀 정보보안 전문가의 컨설팅을 받고 있으며, 퍼플팀 접근방식을 활용해 우리의 경험을 공유하기 시작했다. 레드/블루팀은 매달 여러 차례 미팅을 가지며 지속적인 개선을 유도하고 있으며, 양 팀이 기업에 더 큰 가치를 제공할 수 있다는 사실을 인식하면서 원활한 협업이 이뤄지고 있다”라고 설명했다.


레드팀과 블루팀의 훈련 설계 절차

기업에서 자체적으로 훈련을 설계할 때 고려해야 할 사항을 살펴보자.

1. 내부에서 할 일과 아웃소싱할 일 결정하기
우선 레드팀 업무에 특화된 업체가 필요한지, 이미 블루팀으로 활동할 수 있는 상근 인포섹 직원이 있는지, 모든 것이 특정 방식으로 설정된 사이버 레인지(cyber range)를 사용할 수 있는지를 고려해야 한다. 이런 결정을 내리기 위해서는 모든 팀원에게 필요한 스킬셋을 파악하는 것이 필수다. 오델은 “양 팀에 필수적인 스킬은 학습 의욕과 지속적인 호기심이다”라고 조언했다.

존은 취약점에 신속하고 효과적으로 대응하는 능력이 꼭 필요하다고 봤다. 존은 “대부분 기업은 레드팀 역할을 컨설팅 업체에 아웃소싱한다. 직무에 필요한 뛰어난 능력을 갖춘 사람을 찾고 고용을 유지하기가 힘들기 때문에 내부적으로 레드팀 역할을 수행하기 어렵다. 레드팀이 정말로 효과적으로 업무를 수행한다면, 해당 기업에서 경력을 발전하기 어려울 수 있다”라고 말했다.

2. 시뮬레이션 도구 선택하기
적절한 시뮬레이션 도구를 선택하는 것은 얼마나 훈련을 현실적으로 진행할지를 결정하는 것이다. 레드/블루팀 훈련은 대부분 생산 시스템을 대상으로 실시하지 않는다. 따라서 시뮬레이션을 진행할 대상을 선택하거나 (운용 시스템과 완벽하게 똑같은 복제본이 아니라) 사이버 레인지를 사용할지를 파악해야 한다. 

미 국가경비대의 사이버 쉴드 훈련에는 국방부를 위해 개발된 클라우드 기반 시뮬레이션 환경 PCTE(Persistent Cyber Training Exercise)를 사용했다. 사이버 쉴드는 PCTE 네트워크 전반에서 진행되는 가장 큰 규모의 활동으로, 가상머신 3,000개 이상과 1페타바이트 규모의 스토리지를 소비한다. 

3. 목표 설정하기
달성할 목표는 취약점 발견, 방어 강화, IT와 최종 사용자간 협업 개선, 성공한 보안 컨트롤과 실패한 보안 컨트롤 확인처럼 다양하다. 구체적인 목표가 무엇이든, 궁극적으로는 팀원이 훈련을 더욱 현실적으로 수행해 실질적인 공격에 잘 대응하도록 하는 것이다. 

2020년 진행한 사이버 쉴드 훈련에서 레드팀이 개발한 악성코드는 무료 파일검사 사이트인 바이러스토탈(VirusTotal)에 등록됐다. 사이버 쉴드의 한 참가자는 “해당 악성코드를 러시아 해커가 실제로 사용하기도 했다. 다행히도 개발자가 해당 악성코드를 무력화하는 킬 스위치를 배포했다”라고 설명했다. 

MITRE의 피터 칼로루마키스도 목표의 중요성을 강조했다. 칼로루마키스는 “레드팀이 기술 목표는 성공적으로 달성할 수 있지만, 더욱 광범위한 영향력을 발휘할 기회를 놓치는 경우가 종종 있다. 때문에 보안 개선을 전략적으로 계획하는 인프라팀과 아키텍처팀을 참여시켜야 한다. 레드팀이나 퍼플팀은 새로운 정보를 발견한다. 특정 구성 변경에 집중하는 것은 쉽지만, 때로는 근본 문제를 해결할 수 있는 아키텍처에 변화를 주기도 한다”라고 말했다. 

4. 데이터 수집 방법과 사후 분석 방법 결정하기
데이터 수집 방법과 사후 분석 방법을 결정할 때 중요한 점은 각 팀의 의사소통 수준을 파악하는 것이다. 존은 “언어로 인해 의사소통이 부실해지면 팀워크에 큰 문제가 된다. 아웃소싱의 시대이므로 각 팀은 서로 다른 지역에서 다양한 언어를 구사할 수 있다. 팀원들이 서로의 말을 이해할 수 없으면 훈련 과정뿐 아니라 훈련 이후에도 큰 문제가 된다”라고 설명했다.

5. 훈련 기간 설정하기
훈련 기간은 매우 다양하게 설정할 수 있다. 토마스는 “일부 기업은 IBM의 구독 서비스를 구매하고 모바일 앱을 개발하는 과정에서 나이틀리 빌드(nightly build)나 정규 빌드를 통해 앱을 계속해서 테스트한다”라고 말했다.

미 국가경비대의 경우에는 사이버 쉴드 훈련 외에 CompTIA나 기타 자격증 수업을 들을 수 있도록 연간 2주를 투입한다. 월마트는 가상 상황을 설정해 토론을 진행하는 테이블탑 훈련(tabletop exercise)과 위협 시뮬레이션 훈련을 매년 여러 차례 진행하며, 월마트 레드팀은 매년 적대적인 활동을 다양하게 수행한다. 이상적인 것은 훈련은 적정한 기간으로 설정해 시스템을 지속해서 살피되, 해당 일정을 준수하고 실패한 보안 감사에 반응하지 않는 것이다.

이처럼 레드/블루팀 훈련을 효과적으로 설계하려면 기술과 관련 없는 사항도 명확하게 설정해야 한다. 기술과 기술적이지 않은 문제에 동등하게 관심을 가졌을 때 효과적인 레드/블루팀 훈련을 실시할 수 있다. 

editor@itworld.co.kr

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

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

Copyright © 2024 International Data Group. All rights reserved.