제로트러스트?
제로트러스트는 신뢰할 수 있는 네트워크라는 개념 자체를 배제하며, 기업망 내외부에 언제나 공격자가 존재할 수 있고, 명확한 인증 과정을 거치기 전까지는 모든 사용자, 기기 및 네트워크 트래픽을 신뢰하지 않으며, 인증 후에도 끊임없이 신뢰성을 검증함으로써 기업의 정보 자산을 보호할 수 있는 보안 모델 - <제로트러스트 가이드라인 1.0>
전통적인 보안 접근방식은 경계 기반 보안이라고 부른다.
방화벽을 기점으로 외부망, 내부망을 나눠놓은데 이는 딱 보기에도 단순해서 시각화가 용이하다. 관리가 쉽고 공격 대응도 효과적이었음.
근데 이 경계 기반 보안 모델은 공급망 공격으로 완벽하게 공략당했다. 2020년 솔라윈즈 사건이나 2021년 콜로니얼 파이프라인이 대표적인데, 콜로니얼 사건같은 경우에는 피해가 기업에서 그치지 않고 국가 안보적인 피해를 낳았다.
이 공격들이 시사하는 바는 방화벽만 뚫어서 내부망에 침투한다면 lateral movement로 내부 중요 서버나 db에 접근할 수 있다는 것이다. 또한 기술이 발달할수록 기업의 서비스들은 점점 복잡해진다. 재택근무가 활성화되며 외부망, 내부망의 경계가 모호해지기도 했음.
그래서 자산에 접근하는 모든 주체에 대해 지속적으로 인증하고, 위험성을 지속적으로 평가하는 제로트러스트가 급부상함.
제로트러스는 기본이 비 신뢰다. 그래서 인증 및 기기 상태 모니터링을 통해 사용자를 검증해서 신뢰도가 일정 수준을 넘어가면 그때 알맞는 권한을 부여한다.
제로트러스트 성숙도 모델(Zero Trust Maturity Model)
제로트러스트 구현에 필수적인 5가지 핵심 요소 -> identity, devices, networks, app&workload, data
3가지 교차 기능 -> 가시성과 분석, 통합과 자동화, 거버넌스
3단계 성숙도 수준 정의, 23년 4월에는 성숙도 수준을 4단계로 확장한 2.0 문서도 발표했음
identity: 사용자에 대한 신원 확인 및 접근 권한 제어. 접근하고자 하는 사용자의 위치, 시간, 접근 대상에 따라 같은 사용자라고 해도 그때마다 접근 승인 여부가 달라질 수 있음. SSO나 MFA, OTP 등 적용이 가능
devices: 컴퓨터, 태블릿, 스마트폰과 같은 사용자 기기, 서버, iot 장비 등이 속함. 장비의 소유주에 따라 제어 권한을 부여해야하며, 장비의 os나 펌웨어가 최신 버전을 유지하고 있는지도 체크해야함
networks: 네트워크를 여러 작은 segment로 나누고 분할된 일부 네트워크는 아예 격리할 수 있도록 하는 기능이 필요함. 작게 나눠진 micro segment는 개별 단위의 네트워크로 취급해 접근제어를 따로 실행한다. identity, devices, app 조합에 따라 권한을 차등 부여하여 논리적인 망분리가 가능함. SDP(Software Defined Perimeter)와 같은 기술을 활용하기도 함.
Software Defined Perimeter(SDP)는 소프트웨어 정의 경계라는 뜻으로, 네트워크 보안을 제공하는 접근 제어 모델입니다. 전통적인 방화벽 및 가상 사설망(VPN)과 같은 보안 접근 제어 방법을 대체하는 혁신적인 접근 방식을 제공하며, 제로 트러스트 보안 모델을 채택하여 내부 네트워크에 대한 믿음을 가지지 않고, 모든 사용자 및 장치에 대한 액세스를 검증합니다. 사용자의 위치, 장치, 신원 등 다양한 요소를 기반으로 액세스 제어 정책을 적용하여, 인가된 사용자만 내부 네트워크에 접근할 수 있도록 합니다. |
App&workload: 온프레미스나 클라우드에서 실행되는 위치와 관계 없이 모든 app을 말하며 이를 넓은 의미로 포용하는 단어로 workload를 사용함. 허가하지 않은 자원에 접근을 시도하거나 workload를 위변조하여 배포하거나 실행 권한이 없는 사용자가 workload를 배포하는 등 부적절한 행위를 발견하는 즉시 차단하고 추후 복구하는 보안 기능이 필요함.
클라우드 네이티브 환경의 경우 컨테이너화된 워크로드의 라이프사이클 관리도 필수임. 컨테이너화된 워크로드의 라이프사이클에는 배포, 실행, 모니터링, 스케일링(워크로드의 수요에 따라 컨테이너의 수를 조절), 업데이트(컨테이너 이미지 업데이트, 취약점 수정 등), 삭제가 있겠다.
data: 데이터를 접근 권한별로 분류하고 각각 접근 정책을 실행해야함. 사용자와 디바이스 조합에 따라 차등화된 데이터 접근 권한을 설정하고 데이터의 유효성, 라이프사이클 운영도 필요함. 단순 접근 차단뿐 아니라 비인가 접근 시도, 데이터 변조 시도를 탐지하여 즉각적인 대응이 필요함.
ZTMM 수준 구분
전통 수준: 수동, 기둥 간 / 조직 간 사일로화, 경직된 권한 관리, 시스템 가시성 미흡
초급 수준: 일부 자동화, 일부 기둥 간 연계, 내부 시스템 가시성 확대
고급 수준: 자동화 범위 확대, 중앙 집중 제어 강화, 기둥 간 통합 정책
최적 수준: 완전 자동화, 상황에 따른 동적 정책 적용, 상호 운영성 및 가시성 증대
ZTMM 교차 기능
성숙도 수준을 높이기 위해서는 가시성과 분석 기능, 자동화 기능 및 상호 연계 기능을 강화해야함.
CISA에서는 아래와 같은 교차 기능으로 정의하고 있음.
가시성 및 분석: 5개의 기둥, 운영하는 사람 등 전체 구성 요소 간 트랜잭션을 실시간으로 관찰하고 분석할 수 있어야 한다.
요건
1. 커버리지: 내/외부 시스템에 대해 충분히 이벤트 및 상황 모니터가 가능한지
2. 실시간성: 실시간 탐지 및 분석을 통한 대응이 가능한지
3. 통합 및 중앙집중: 기둥별 상호연계성 분석을 통해 중앙집중 가시성이 확보되는지
자동화 및 오케스트레이션: 수동 프로세스를 줄여 휴먼에러 방지가 필요함. 이를 위해 IaC를 활용하거나 DevSecOps를 지원해야함. 보안 기능도 클라우드 네이티브 환경에서의 워크로드처럼 오케스트레이션이 가능해야함.
거버넌스: 정책 수립, 솔루션 운영, 기관 간 연계 및 조정, 장기적 투자 및 로드맵 관리 등 제반 기능이 동작하기 위한 조직 운영체계가 갖추어져 있어야 함
제로트러스트 도입 시 침해대응 시나리오
1. 사용자 자격증명 도용
사용자 뿐만 아니라 접속에 사용된 기기 역시 신뢰를 얻어야 권한을 부여한다. 그리고 인증 후에도 신뢰도가 낮아지면 더욱 강력한 인증을 요구할 수 있다. 예를 들면 갑자기 접속지가 달라졌다던가, 기기가 달라졌다던가, 권한이 없는 리소스에 지속적으로 접근을 시도한다던가..
2. 원격 공격 혹은 내부자 위협
악성 코드를 이용하여 사용자 기기를 가로채거나 내부자가 악의적인 행위를 한다고 해도 네트워크 간 lateral movement가 불가능하고, 혹여 사용자 자격 증명과 기기 인증을 모두 통과하였다고 해도 데이터에 대한 접근은 보안 정책, 사용자 역할, 기기 속성 등에 따라 제한되기 때문에 민감한 데이터로의 작업이 어려워진다.
그리고 지속적인 로그 모니터링을 통해 네트워크 활동이나 데이터 접근이 비정상이라고 판단되면 조치를 취할 수 있다. 부득이하게 피해가 발생해도 그 피해 범위를 최소화할 수 있다는 것임.
3. 공급망 침투
내부망에 있는 기기나 프로그램에 악성 코드를 삽입한다. 그리고 이것을 통해 내부 데이터에 접근할 수 있음.
하지만 제로트러스트는 기기 혹은 응용프로그램에 대해 기본적으로 신뢰하지 않기 때문에 방어가 용이함. 데이터에 대한 접근 권한 및 실제 접근은 강하게 제어되고 모니터링 된다. 또한 기기의 네트워크 연결을 기본적으로 거부하기 때문에 다른 원격 주소에 연결하려는 시도는 차단될 가능성이 높음
ZTA(Zero Trust Architecture)
제로트러스트의 개념을 활용해 기업 내부의 네트워크, 시스템 및 리소스를 보호할 수 있는 추상적인 보안 구조.
해당 목적을 달성하기 위한 기업망의 구성 요소, 구성 요소 간 인터페이스 정의와 인증, 접근제어, 보안 모니터링 및 가시화 등 보안 정책을 포함한다.
NIST SP 800-207, CSA의 SDP and Zero Trust, NSA의 Embracing a Zero Trust Security Model, Gartner의 모델 등이 있지만 NIST의 모델을 살펴보면, 정책결정지점(PDP)와 정책시행지점(PEP)에 의해 승인이 이루어지는 것을 알 수 있다.
서비스의 가용성을 위해서 인증 방식의 지연 시간을 최소화하며 필요한 권한을 최소화하기 위해 접근 규칙을 최대한 세밀하게 만들어야 한다.
제로트러스트에선 절대적 신뢰 구역을 무조건 믿지 말라는게 아니라 접근 주체와 리소스에 따라 세밀하게 접근제어를 해서 불확실성을 최소화해야한다.
제로트러스트 아키텍처 기본 원리
1. 기본 원칙
모든 종류의 접근이란 내부에 존재하는 리소스에 대한 모든 접근 시도를 의미함. 사용자 혹은 기기의 식별 정보, 네트워크 접속 혹은 리소스 접근 시간, 네트워크 접속 위치, 네트워크/프로토콜 종류, 접근 대상 리소스 등에 대해 기본적으로는 접근을 거부하며 일정 수준의 인증 과정을 거친 접근 주체에게만 제한된 수준의 리소스 접근을 허용하는 것을 원칙으로 해야함.
2. 일관되고 중앙 집중적인 정책 관리 및 접근제어 결정, 실행 필요
중앙 집중적인 정책 관리 및 접근 제어가 되지 않으면 일관된 정책 수립이 어렵고 리소스 추가 시 정책 적용이 매우 힘들어진다.
또한 특정 주체가 리소스에 접근할 때 이미 수립되어 있는 일관되고 중앙 집중적인 정책에 따라야 한다.
3. 사용자, 기기에 대한 관리 및 강력한 인증
등록된 사용자와 기기에 대한 관리를 강력한 인증을 적용하고 기기 상태 관리 역시 필요함.
등록된 기기가 아니라면 접근의 차단이 필요함. 등록되지 않거나 보안이 확인되지 않은 기기는 강력한 추가 인증을 요구해야함.
4. 리소스 분류 및 관리를 통한 세밀한 접근 제어 (최소 권한 부여)
접근 주체의 종류 및 다양한 요인에 따라 세밀하게 접근을 제어하고, 사용자 및 기기에 필요 최소 권한을 부여하여 공격의 피해를 최소화 해야 한다.
5. 논리 경계 생성 및 세션 단위 접근 허용, 통신 보호 기술 적용
접근 주체가 특정 리소스에 접근했을 때 접근제어 정책에 따라 허용 범위를 넘어서지 않게 해야함. 소프트웨어 정의 경계와 같은 방식으로 경계가 설정되어야 하며 접근을 허용했어도 리소스에 따라 긴 시간의 접속을 허용하지 않는게 바람직함.
공격자가 세션을 가로챌 수 있으니 세션 단위의 접근만을 허용하고 인증된 세션이라도 새로운 리소스에 접근하려고 하면 추가적인 인증을 받아야함.
또한 리소스에 접근할 때 인증 과정에서 기밀성과 무결성 보호가 가능해야함. 인증 과정도 변조될 수 있으니
6. 모든 상태에 대한 모니터링, 로그 및 이를 통한 신뢰성 지속적 검증, 제어
여기서 상태란 접근 주체와 리소스 및 정책 서버의 다양한 상태를 포함한다. 예를 들어, 현재 시간, 사용자의 물리적 위치, 기기의 보안 상태, 현재 접속 중인 사용자의 수, 특정 접근 주체의 데이터 접근 횟수, 네트워크 트래픽 양 등 기업망 보안성 혹은 특정 접근 주체의 신뢰성 등을 추정할 수 있는 모든 정보가 포함된다.
상태는 모니터링해야하고 시각적으로 파악이 가능해야한다. 그리고 분석하여 접속 중인 모든 접근 주체 및 내부망에 대한 신뢰성을 검증해야 한다.
NIST SP 800-207 모델
접근제어 정책이 결정되는 논리적 공간은 제어 영역이라고 부르며, 정책이 시행되어 접근 주체가 기업의 리소스에 접근하는 논리적 공간은 데이터 영억이라고 부른다.
1. 정책 엔진
접근 주체가 리소스에 접근할 수 있을지를 최종적으로 결정함. 신뢰도 평가 알고리즘에 대한 입력으로 내부 정책과 그 외 다른 정보를 활용하며, 이를 바탕으로 접근을 허가하거나 거부, 혹은 현재 허가되어 있는 상태의 접근을 취소할 수 있음.
정책 엔진은 접근에 대한 승인을 관리하며, 정책 관리자는 결정을 실행한다.
2. 정책 관리자
PEP에 명령하여 접근 주체와 리소스 사이의 통신 경로를 생성하거나 폐쇄한다. 세션에 대한 인증, 인가 토큰을 생성하여 접근 주체가 내부 리소스에 접근하는데 사용하도록 한다. 세션을 최종적으로 허락하거나 거부하는 결정을 정책 엔진에 의존한다.
세션이 인가되면 정책 관리자는 PEP에게 세션 시작을 허용하며, 세션이 거부되거나 취소되는 경우 PEP에게 해당 연결을 끊으라고 신호한다.
구현에 따라 정책 엔진과 정책 관리자를 하나의 서비스에서 구동 가능함.
3. 정책시행지점
접근 주체와 내부 리소스 사이를 연결하고 모니터링하며 최종적으로 연결을 종료한다. 정책 관리자와 통신하며, 접근 요청을 포워딩하고 업데이트된 정책을 수신한다.
경계 기반 보안에서 많이 활용되는 방화벽(PEP), 제로트러스트 네트워크 관점에서 접근을 제어하는 NAC(구성 요소로서 PDP, PEP 기능 포함), 소프트웨어 정의 경계 방식의 SDP Controller(PDP) 및 SDP Gateway(PEP), 클라우드 상의 리소스 제어에 관한 CASB, 웹 기반 위협 관점에서 트래픽을 차단하는 SWG(PEP), 혹은 이들 기능을 포함하는 SSE, SASE 등이 PDP 및 PEP의 역할을 부분 혹은 전체적으로 담당하는 솔루션이 될 수 있다.
4. 접근 결정을 위해 사용하는 데이터 입력 요소
- 규제, 내부 규정: 기업이 영향을 받을 수 있는 규제(법안, 산업별 요구사항 등)를 준수하는지 확인함
- 데이터 접근 정책: 리소스 접근에 관한 속성, 규칙, 정책을 의미함. 이 정책들은 반드시 내부에서 정의한 역할과 필요에 기반해야함.
- 보안 정보 및 이벤트(siem): 분석을 위한 보안 정보를 수집하며, 이 정보는 정책을 개선하고 공격을 방어하는 등에 사용
- 위협 인텔리전스: 내외부 데이터 입력 요소로부터 정책 엔진의 접근 결정을 도울 수 있는, 제로데이나 취약점에 관한 정보를 제공한다. KISA의 C-TAS, CIRCL의 MISP, Alien Vault의 OTX 등이 있음.
- ID 관리 시스템: 사용자 계정 및 식별 기록을 생성, 저장, 관리하는 시스템으로 필요한 접근 주체의 정보 및 특징을 포함할 수 있다. 사용자 계정에 연관된 정보를 위해 PKI 등 다른 시스템을 활용함. IAM, ICAM 등이 이 시스템에 해당된다.
- 네트워크, 시스템 행위 로그: 다양한 로그를 통해 내부 보안상태에 관한 실시간 이벤트를 수집함.
'IT' 카테고리의 다른 글
[AWS Foundational] 문제풀이 (2) | 2024.11.04 |
---|---|
[OWASP] OWASP Top 10 for LLM (0) | 2024.07.21 |
[쿠버네티스] helm을 통한 쿠버네티스 대시보드 생성 (0) | 2024.07.17 |
[쿠버네티스] 쿠버네티스의 구조 (0) | 2024.07.15 |
[docker] docker storage(volume, bind, tmpfs) (0) | 2024.07.11 |
댓글