위협 모델

Threat model

위협 모델링구조적 취약성이나 적절한 안전장치의 부재와 같은 잠재적 위협을 식별하고 열거하고 완화시킬 수 있는 프로세스다.위협 모델링의 목적은 방어자들에게 시스템의 특성, 가능한 공격자의 프로필, 가장 가능성이 높은 공격 벡터 및 공격자가 가장 원하는 자산을 고려하여 어떤 통제나 방어가 포함되어야 하는지에 대한 체계적인 분석을 제공하는 것이다.위협 모델링은 "내가 공격에 가장 취약한 곳은 어디인가", "가장 관련성이 높은 위협은 무엇인가?", "이러한 위협으로부터 보호하기 위해 내가 무엇을 해야 하는가?"와 같은 질문에 대답한다.

개념적으로, 대부분의 사람들은 일상 생활에 어떤 형태의 위협 모델을 포함시키고 그것을 깨닫지도 못한다.통근자들은 아침 운전 중에 무엇이 잘못될 수 있는지 고려하고, 발생할 수 있는 사고를 피하기 위해 선제적인 조치를 취하기 위해 위협 모델을 사용한다.아이들은 놀이터의 불량배를 피하면서 의도된 목표를 향한 최선의 길을 결정할 때 위협 모델링을 한다.좀 더 형식적인 의미에서 위협 모델링은 옛날부터 군사적 방어 준비를 우선시하는 데 사용되어 왔다.

IT 기반 위협 모델링의 진화

공유 컴퓨팅이 1960년대 초에 출시된 직후 개인들은 개인의 이익을 위해 보안 취약점을 이용하는 방법을 찾기 시작했다.[1]그 결과 엔지니어들과 컴퓨터 과학자들은 곧 정보기술 시스템에 대한 위협 모델링 개념을 개발하기 시작했다.

초기 IT 기반의 위협 모델링 방법론은 1977년 크리스토퍼 알렉산더에 의해 처음 제시된 건축 패턴의[2] 개념에 기초하였다.1988년에 로버트 바너드는 IT 시스템 공격자를 위한 첫 번째 프로파일을 개발하여 성공적으로 적용하였다.

1994년 에드워드 아모로소는 저서 '컴퓨터 보안 기술의 재무성'에서 '위협 나무'라는 개념을 내세웠다.[3]위협 트리의 개념은 의사결정 트리 다이어그램에 기초했다.위협 트리는 IT 시스템에 대한 잠재적 위협이 어떻게 활용될 수 있는지를 그래픽으로 나타낸다.

독립적으로, 유사한 작업은 NSADARPA가 IT 시스템에 대한 특정 공격이 어떻게 실행될 수 있는지에 대한 구조화된 그래픽 표현에 대해 수행했다.그 결과 나타난 표현은 "공격적인 나무"라고 불렸다.1998년 브루스 슈나이어는 "보안 시스템 엔지니어링 방법론"이라는 논문을 통해 공격 나무를 활용한 사이버 위험에 대한 분석을 발표했다.[4]이 논문은 IT 시스템에 대한 위협 모델링의 진화에 중요한 기여를 한 것으로 입증되었다.슈나이어의 분석에서 공격자의 목표는 "루트 노드"로 표현되며, 목표에 도달할 수 있는 잠재적 수단이 "리프 노드"로 표현된다.이러한 방식으로 공격 트리를 활용함으로써 사이버보안 전문가는 정의된 대상에 대해 여러 공격 벡터를 체계적으로 고려할 수 있었다.

1999년에 마이크로소프트 사이버 보안 전문가 로렌 콘펠더와 프레이릿 가그는 마이크로소프트 윈도 개발 환경과 관련된 공격을 고려하는 모델을 개발했다. (STRIDE[5] 스푸핑 ID, 데이터 조작, 거부, 정보 공개, 서비스 거부, 권한 상승에 대한 오각형이다.)결과적인 니모닉은 잠재적인 공격자가 STRIDE에 포함된 위협을 어떻게 활용할 수 있는지를 보안 전문가들이 체계적으로 판단하도록 돕는다.

2003년에는 조직 리스크 관리에 중점을 두고 운영 중심의 위협 모델링 방법론인 OCTAVE[6](Operational Critical Threat, Asset, 취약성 평가) 방식이 도입되었다.

2004년에 프랭크 스위더스키와 윈도우 스나이더는 마이크로소프트의 "위협 모델링"을 썼다.그 속에서 그들은 위협 모델을 사용하여 안전한 애플리케이션을 만드는 개념을 개발했다.

2014년 라이언 스틸리온스는 사이버 위협이 다른 의미적 수준으로 표현되어야 한다는 생각을 표현하고, 검출 성숙도(DML) 모델을 제안했다.[7]공격은 특정 공격자가 특정한 목표를 염두에 두고 그 목표에 도달하기 위한 전략을 가지고 야기되는 위협 시나리오를 인스턴스화하는 것이다.목표와 전략은 DML 모델의 가장 높은 의미 수준을 나타낸다.이것은 중간 의미 수준을 나타내는 TTP(Tactics, Technologies and Procedures)가 뒤따른다.DML 모델의 가장 낮은 의미 수준은 공격자, 패킷, 페이로드와 같은 호스트 및 관찰된 네트워크 아티팩트와 마지막으로 가장 낮은 의미 수준에서 IP 주소와 같은 원자 지표가 사용하는 툴이다.현재의 SIEM(Security Information and Event Management) 툴은 일반적으로 가장 낮은 의미 수준에서 지표만 제공한다.따라서 더 높은 의미 수준에서 위협 지표를 제공할 수 있는 SIEM 도구를 개발할 필요가 있다.[8]

IT 목적을 위한 위협 모델링 방법론

개념적으로 위협 모델링 관행은 방법론에서 비롯된다.구현을 위해 수많은 위협 모델링 방법론을 이용할 수 있다.일반적으로 위협 모델링은 자산 중심, 공격자 중심, 소프트웨어 중심 등 독립적으로 네 가지 접근방식 중 하나를 사용하여 구현되었다.공개된 온라인 콘텐츠의 분량을 바탕으로 아래에서 논의한 방법론이 가장 잘 알려져 있다.

스트라이드 방법론

위협 모델링에 대한 STRIDE 접근법은 1999년 마이크로소프트에서 도입되어 개발자들이 '우리 제품에 대한 위협'[9]을 찾을 수 있는 니모닉을 제공했다.마이크로소프트가 개발 및 발표한 위협 모델링 접근방식에는 STRIDE, 패턴 및 관행, 자산/엔트리 포인트가 포함되었다.마이크로소프트 방법론에 대한 언급은 일반적으로 STRIDE와 데이터 흐름도를 의미한다.

P.A.S.T.A.

공격 시뮬레이션 및 위협 분석을 위한 프로세스(PASTA)는 7단계 위험 중심 방법론이다.[10]컴플라이언스 문제와 비즈니스 분석을 고려하여 비즈니스 목표와 기술 요구사항을 일치시키기 위한 7단계 프로세스를 제공한다.이 방법의 목적은 동적 위협 식별, 열거 및 채점 프로세스를 제공하는 것이다.위협 모델이 완성되면 보안 주제 전문가는 확인된 위협에 대한 상세한 분석을 개발한다.마지막으로, 적절한 보안 통제를 열거할 수 있다.이 방법론은 방어자들이 자산 중심 완화 전략을 개발할 수 있는 애플리케이션과 기반구조에 대한 공격자 중심의 관점을 제공하기 위한 것이다.

트라이크

트라이크 방법론의[11] 초점은 위협 모델을 위험 관리 도구로 사용하는 것이다.이 프레임워크 내에서 위협 모델은 보안 감사 프로세스를 만족시키기 위해 사용된다.위협 모델은 "요건 모델"을 기반으로 한다.요구사항모형은 각 자산 분류에 할당된 이해관계자 정의 "허용 가능한" 위험 수준을 설정한다.요구사항 모델의 분석은 위협이 열거되고 위험 값이 할당되는 위협 모델을 산출한다.완료된 위협 모델은 자산, 역할, 조치 및 계산된 위험 익스포저에 기반한 위험 모델을 구축하는 데 사용된다.

광대한

VAST(Visual, Agile and Simple Threat) 방법론은[12] 상용 자동 위협 모델링 플랫폼인 ThreatModeler를 기반으로 한다.SOBT는 애플리케이션 위협 모델과 운영 위협 모델이라는 두 가지 유형의 모델을 만들어야 한다.애플리케이션 위협 모델은 구조적인 관점을 나타내는 프로세스 흐름도를 사용한다.운영 위협 모델은 DFD를 기반으로 공격자 관점에서 생성된다.이 접근방식은 조직의 개발 및 DevOps 라이프사이클에 광대한 범위의 통합을 가능하게 한다.[13]

일반적으로 수용되는 IT 위협 모델링 프로세스

모든 IT 관련 위협 모델링 프로세스는 분석 중인 애플리케이션 및/또는 인프라의 시각적 표현을 생성하는 것으로 시작한다.애플리케이션/인프라는 분석을 돕기 위해 다양한 요소로 분해된다.완료되면 시각적 표현을 사용하여 잠재적 위협을 식별하고 열거한다.확인된 위협과 관련된 위험, 위협의 우선순위 설정 및 적절한 완화 제어의 열거에 관한 모델의 추가 분석은 활용되는 위협 모델 프로세스에 대한 방법론적 근거에 따라 달라진다.위협의 식별 및 열거(또는 완화 목표)는 공격 중심 또는 자산 중심 방식으로 수행될 수 있다.전자는 완화될 수 있는 공격 유형에 초점을 맞추고 후자는 보호될 자산에 초점을 맞춘다.

데이터 흐름도를 기반으로 한 시각적 표현

Data Flow Diagram - Online Banking Application

마이크로소프트의 방법론, PASTA, Trike는 각각 DFD(데이터 플로우 다이어그램)를 활용한 애플리케이션 인프라의 시각적 표현을 개발한다. DFD는 1970년대에 시스템 엔지니어들이 높은 수준에서 애플리케이션이 어떻게 데이터를 흐름, 저장, 조작하게 했는지 통신할 수 있는 도구로 개발되었다.응용 프로그램 실행전통적으로 DFD는 데이터 흐름, 데이터 저장소, 프로세스 및 상호작용의 네 가지 고유한 기호만 사용한다.2000년대 초반에는 위협 모델링에 DFD를 활용할 수 있도록 추가 기호인 신뢰 경계를 추가했다.

일단 애플리케이션 인프라 시스템이 5가지 요소로 분해되면, 보안 전문가들은 알려진 모든 위협 범주에 대해 확인된 각 위협 진입 지점을 고려한다.잠재적 위협이 파악되면 보안 통제 완화를 열거하거나 추가 분석을 수행할 수 있다.

추가 적용 필드

위협 모델링은 IT뿐 아니라 차량,[14][15] 빌딩, 홈 오토메이션 등 다른 분야에도 적용되고 있다.[16]이러한 맥락에서, 거주자의 이동 프로필, 근무 시간, 건강 상황에 대한 정보와 같은 보안 및 프라이버시에 대한 위협은 물리적 또는 네트워크 기반 공격뿐만 아니라 모델링된다.후자는 점점 더 많은 이용 가능한 스마트 빌딩 기능, 즉 센서(예: 거주자 감시용)와 액츄에이터(예:[16] 도어 잠금 해제용)를 사용할 수 있다.

참조

  1. ^ McMillan, Robert (2012). "The World's First Computer Password? It Was Useless Too". Wired Business.
  2. ^ Shostack, Adam (2014). "Threat Modeling: Designing for Security". John Wiley & Sons Inc: Indianapolis.
  3. ^ Amoroso, Edward G (1994). "Fundamentals of Computer Security Technology". AT&T Bell Labs. Prentice-Hall: Upper Saddle River.
  4. ^ Schneier, Bruce; et al. (1998). "Toward A Secure System Engineering Methodology" (PDF). National Security Agency: Washington.
  5. ^ "The STRIDE Threat Mode". Microsoft. 2016.
  6. ^ Alberts, Christopher (2003). "Introduction to the OCTAVE® Approach" (PDF). Software Engineering Institute, Carnegie Mellon: Pittsburg.
  7. ^ Stillions, Ryan (2014). "The DML Model". Ryan Stillions security blog. Ryan Stillions.
  8. ^ Bromander, Siri (2016). "Semantic Cyberthreat Modelling" (PDF). Semantic Technology for Intelligence, Defence and Security (STIDS 2016).
  9. ^ Kohnfelder, Loren; Garg, Praerit. "Threats to Our Products". Microsoft. Retrieved 20 September 2016.
  10. ^ Ucedavélez, Tony and Marco M. Morana (2015). "Risk Centric Threat Modeling: Process for Attack Simulation and Threat Analysis". John Wiley & Sons: Hobekin.
  11. ^ Eddington, Michael, Brenda Larcom, and Eleanor Saitta (2005). "Trike v1 Methodology Document". Octotrike.org.
  12. ^ Fruhlinger, Josh (2020-04-15). "Threat modeling explained: A process for anticipating cyber attacks". CSO Online. Retrieved 2022-02-03.
  13. ^ "Threat Modeling: 12 Available Methods". SEI Blog. Retrieved 2022-02-03.
  14. ^ http://publications.lib.chalmers.se/records/fulltext/252083/local_252083.pdf
  15. ^ Hamad, Mohammad; Prevelakis, Vassilis; Nolte, Marcus (November 2016). "Towards Comprehensive Threat Modeling for Vehicles" (PDF). Publications Institute of Computer and Network Engineering. doi:10.24355/dbbs.084-201806251532-0. Retrieved 11 March 2019. {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)
  16. ^ a b Meyer, D.; Haase, J.; Eckert, M.; Klauer, B. (2016-07-01). "A threat-model for building and home automation". 2016 IEEE 14th International Conference on Industrial Informatics (INDIN): 860–866. doi:10.1109/INDIN.2016.7819280. ISBN 978-1-5090-2870-2. S2CID 12725362.