<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=939333007162424&amp;ev=PageView&amp;noscript=1">

실전! 제로트러스트(ZeroTrust)를 적용해 보자. (1편)


제로트러스트 가이드라인 v1.0

얼마 전 ‘제로트러스트 가이드 v1.0’ 이 발간되었습니다(1). 이를 통해 제로트러스트를 보다 정확히 이해하고 적용하는데 도움이 될 것이라고 생각합니다. 저를 포함하여 가이드라인 제작에 많은 학계, 산업계 전문가 분들께서 참여 하셨습니다. 단순히 해외의 관련 문서(NIST 800-207 등)를 통합하고 번역하는 수준에 그치는 것이 아닌 한국 상황에 맞는 참고서가 되기를 바라는 마음에 많은 노력을 아끼지 않으셨습니다. 이러한 노력이 국내 IT 환경에 새로운 보안 프레임워크의 보급과 확산에 큰 기여가 되기를 기대 합니다. 


가이드라인을 보았습니다만……

최근에 가이드라인을 읽으신 보안 담당자를 만났습니다. 이제 가이드라인도 나왔으니 제로트러스트를 해(?) 보라는 경영진의 지시가 있었다고 합니다. 제로트러스트를 해 본다…… 뭘 해야 할지 고민이라고 하셨습니다. 저 역시 어디서부터 어떻게 하시라고 해야 할 지 고민스럽습니다. 많은 분들이 제로트러스트가 좋은 개념인 것은 알겠으나 이를 적용/구현하는 데는 많은 어려움을 겪고 계시는 것 같습니다. 이번 글을 통해서 제가 생각하는 제로트러스트를 적용하기 위한 실제적이고 구체적인 방법에 대해서 논의해 보겠습니다. 

* 제로트러스트의 적용은 기관(업)의 상황에 따라서 크게 다릅니다. 다수의 전문가 들은 아무런 IT 레거시 인프라가 없는 상황(신규 창업 등)과 많은 IT 인프라를 보유/운영중인 상황에 대한 접근이 다를 수 밖에 없다고 언급하고 있습니다. 전자의 경우 제로트러스트 컨셉이 포함된 클라우드 기반의 서비스(SASE, SSE 등)에 가입하는 등의 방법으로 상대적으로 빠르게 구축할 수 있습니다. 반면 후자의 경우 고려 사항이 매우 많으며 다수의 고객들이 이러한 상황에 있다고 판단할 수 있습니다. 본 내용에서는 후자의 상황에서 제로트러스트 도입을 위한 실질적인 방법에 대해서 제안 합니다.

 

제로트러스트는 누구에게나 어렵습니다. 

제로트러스트 적용에 어려움을 겪는 것은 공통의 문제인 것 같습니다. 해외 역시 다양한 기관에서 제로트러스트 적용을 위한 가이드나 디자인 원칙(Design Principles) 등을 명시하여 제로트러스트 적용에 대한 노력을 확인할 수 있습니다. TechTarget의 “7 steps for implementing zero trust, with real-life examples” 에서는 아래와 같은 단계를 통해 제로트러스트로 전환할 수 있다고 언급하고 있습니다(2)

-    Form a dedicated zero-trust team
-    Choose a zero-trust implementation on-ramp
-    Assess the environment
-    Review the available technology
-    Launch key zero-trust initiatives
-    Define operational changes
-    Implement, rinse and repeat

제로트러스트에 대한 실제 예제(Real-life example)라는 제목과 함께 7가지 단계에 따른 세부 내용을 기술하고 있습니다.  그러나 저의 경우 그 내용을 열심히 보아도 구체적으로 무엇을 어떻게 해야 할지 감이 잡히지 않습니다.

영국 NCSC(National Cyber Security Center)에서 발표한 “Zero Trust Architecture Design Principles” 의 내용을 살펴보겠습니다(3)

-    Know your architecture, including users, devices, services and data
-    Know your User, Service and Device identities
-    Assess your user behavior, devices and services health
-    Use policies to authorize request
-    Authenticate & Authorize everywhere
-    Focus your monitoring on users, devices and services
-    Don't trust any network, including your own
-    Choose services designed for zero trust

그나마 위의 TechTarget 의 내용보다는 구체적으로 보입니다. 그러나 이 역시도 즉시 적용하기에는 쉽지 않아 보입니다. 어쩌면 이것은 가이드라인의 한계라고도 할 수 있는데 다양한 영역에 사용될 수 있게 작성되어야 하므로 보편적 내용으로 작성하다 보니 그 내용이 모호하게 작성될 수 밖에 없다고 판단됩니다. 


결론부터 말씀 드리면 이러한 가이드라인을 참고하셔서 기관(업)에 맞는 제로트러스트 적용 계획을 별도로 수립하고 시행하셔야 합니다. 미국 NIST의 800-207 와 같은 표준 문서(4)와 국방부의 DoD Zero Trust Strategy와 같은 기관별 문서(5)가 그러한 관계라고 할 수 있습니다. 


제로트러스트를 적용하기 전에


제로트러스트를 적용하기에 앞서 먼저 고민해야 할 중요한 사항이 있습니다. 제가 고객을 만날 때 가장 먼저 드리는 질문 입니다. ‘왜 제로트러스트를 적용하고 싶으세요? ‘ 이 질문에 대한 대답은 거의 정해져 있습니다. ‘보안을 강화하고 싶어서요’ 입니다. 이것은 한방에 ‘건강해 지고 싶어요’ 라고 바라는 것과 같습니다. 건강해 지려면 생활습관을 바꾸고, 식사를 조절하고, 운동을 시작 하는 등 많은 조치가 필요 합니다. 

제로트러스트의 적용도 마찬가지 입니다. Identity 부터 Data에 이르기 까지 많은 부분에 조치와 변경이 필요 합니다. 결국 건강해 지려면 (순서의 차이만 있지) 모든 것을 다 해야 합니다. 중요한 것은 달성하고자 하는 목표아래 우선순위를 정하고 순차적으로 적용해야 결국 목표에 이를 수 있음을 이해하는 것 입니다. (하루 아침에 야식을 끊고 아침 6시에 기상해서 5Km 달리기를 할 수 는 없습니다.) 

먼저 제로트러스트를 적용해서 해결 또는 개선하고자 하는 영역(범위)을 명확히 정의하는 것이 중요합니다. 저는 그 범위가 작을수록 좋다고 생각합니다. 빨리 효과를 볼 수 있고 성공의 경험도 생깁니다. 제가 만나본 제로트러스트를 고민하는 다수의 고객께서는 아래와 같은 고민을 토로 하셨습니다. 

-    재택/원격 사용자로부터 악성코드에 의한 피해를 방지하고 싶어요
-    협력사의 보안이 취약해서 사내 시스템 사용이 불안 합니다. 
-    누구나 중요 자료에 접근할 수 있어서 유출 등이 우려가 됩니다. 
-    클라우드 SaaS 서비스를 제어하고 싶어요. 라이선스가 비용이거든요……

[제로트러스트로 해결을 희망하는 과제, 지니언스㈜ 자체 인터뷰]


해결 또는 개선해야 하는 문제가 정해졌다면 예상되는 피해상황과 대응방법에 대해서 생각해 볼 수 있습니다. 이것은 기관(업)의 현재 보안역량과 요구 수준에 따라 다를 수 밖에 없습니다. 각자 상황에 맞는 가정을 하면 됩니다. 이후 가정의 범위를 넓히고 보완조치를 반복한다면 자연스럽게 제로트러스트 완성에 가까워 진다고 할 수 있습니다. 

해결과제: ‘재택/원격 사용자로부터 악성코드에 의한 피해를 방지하고 싶다.’
예상 피해상황 예상 대응방법

- 재택근무자가 웹서핑 중 악성코드에 감염됨
- 재택 근무자의 악성코드가 사내로 유입됨
- 업무 서버가 악성코드에 감염됨
- 사내 근무자 PC가 추가로 감염됨
- 다른 재택근무자 PC로 악성코드가 확산됨

- 재택근무 시 웹서핑, USB 사용 금지
- 악성코드 탐지 시 인증 해제
- 인증 해제 시, 모든 연결 차단
- 재택 근무자 파일 전송 시 전수 검사
- 이상 파일 탐지 시, 전송자 통신 차단
- 이상 파일 탐지 시, 전체 사용자 공지
- 서버 악성코드 탐지 시 네트워크 고립
- 악성코드 삭제 조치 시 이전 상태 복귀 등

 

어떠한 제로트러스트 관련 문서에도 이러한 내용이 기술되어 있지는 않습니다. 그러나 NIST 는 제로트러스트를 ‘이미 침해가 이루어 졌다는 가정하에 피해를 최소화 하기 위한 일련의 컨셉’ 으로 언급하고 있으며 그 방법으로 ‘불확실성을 제거하고 최소한의 접근권한을 강제화 할 것’을 언급하고 있습니다. 따라서 다양한 위협 및 침해에 대한 가정과 (기술적)대응에 대해서 고려하지 않을 수 없으며 예상되는 피해상황과 요구되는 대응방법은 각 기관(업)의 상황에 따라 다르다고 밖에 할 수 없습니다. 


성숙도 모델을 이용한 제로트러스트 판짜기

앞의 TechTarget 과 NCSC의 권고는 모두 올바른 내용이나 보안 실무자가 제로트러스트에 대한 수행계획을 세우거나 구체적으로 해야 할 일을 도출하기는 쉽지 않을 것 같습니다. 

저는 저의 경험을 바탕으로 제로트러스트 성숙도 모델을 통해서 제로트러스트를 적용하는 방법을 제안하고 싶습니다. 이것이 정답은 아닙니다. 그러나 다수의 고객 분들께서 저의 의견에 크게 동의해 주셨고 제로트러스트로의 출발을 위한 자신감이 생겼다는 긍정적인 평가를 해 주셨습니다. 

먼저 CISA(Cybersecurity and Infrastructure Security Agency)의 제로트러스트 성숙도 모델(Zero Trust Maturity Model)을 이해하는 것이 중요합니다(6). 이것은 Identity 부터 Data에 이르는 제로트러스트의 주요 구성요소(5 Pillars)에 대하여 각 요소 별로 단계적이고 점진적인 보안 요구사항을 명시해 놓은 것 입니다. 결국 이를 충족하는 것으로 ‘최종 단계의 보안 상태’ 에 이르게 됩니다. 

(*2023년 3월, 성숙도 모델 v2.0이 개정되었습니다. 그러나 본 문서에서는 이해의 편의를 위해서 기존 v1.0 모델을 사용합니다.) 

 

그림1-Jul-19-2023-04-10-13-1899-AM

 [CISA, Zero Trust Maturity Model (ZTMM) v1.0, 2021.06]


성숙도 모델을 살펴보면 가로에는 제로트러스트의 대상이 되는 Identity, Device, Network, Application, Data의 5가지 주요 요소(Pillars)가 명시되어 있습니다. 세로에는 Traditional, Advanced, Optimal 단계별로 각 요소 별 요구되는 보안 기능이 명시되어 있습니다. 그리고 모든 단계에서 구성요소를 Visibility 와 Automation, Governance 로 통합하는 내용을 제시하고 있습니다. 


결국 이 표를 통해서 요소 별로 요구되는 (필요한)보안 기능의 수준을 정의하고 각 요소간의 관계를 정의하는 것이 핵심 입니다. 그리고 보안 수준과 관계가 필요한 이유는 특정 문제를 해결하거나 개선하기 위함입니다.  

따라서 모든 기관(업)에 Identity 부터 Data까지 Optimal 수준의 보안 기능과 가시성(Visibility), 그리고 자동화(Automation)가 필요하지는 않을 것 입니다. 그것은 기관(업)이 처한 상황과 해결해야 하는 문제에 따라 모두 다 다를 수 밖에 없음을 이해하는 것이 중요합니다. 

아래의 그림과 같이 제로트러스트 성숙도 모델을 재 구성한 내용을 쉽게 찾을 수 있습니다. 또한 제로트러스트 가이드라인 v1.0 에서 각 요소(Pillar)에서 단계별로 요구되는 기능목록을 확인할 수 있습니다. 

 

그림2-3
[제로트러스트 성숙도 모델, 국가보안연구소 미래전략센터]

 

그림3-4
[식별자, 신원에 대한 성숙도 수준별 특징, 제로트러스트가이드라인 v1.0]

 

이제 제로트러스트 적용을 위한 필수적인 내용을 설명 드렸습니다. 다음 편에서는 해결해야 하는 문제와 성숙도 모델을 바탕으로 어떻게 제로트러스트를 적용할 수 있는지에 대해 설명 드리겠습니다.

 


참조

(1) https://www.kisa.or.kr/2060205/form?postSeq=20&page=1
(2) https://www.techtarget.com/searchsecurity/feature/How-to-implement-zero-trust-security-from-people-who-did-it
(3) https://www.ncsc.gov.uk/blog-post/zero-trust-architecture-design-principles
(4) https://csrc.nist.gov/publications/detail/sp/800-207/final
(5) https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTStrategy.pdf
(6) https://www.cisa.gov/zero-trust-maturity-model