책 소개
요약
위협 모델링은 개발 수명 주기에서 가장 필수적이지만 가장 잘못 이해되고 있는 부분이기도 하다. 이 책은 위협으로부터 시스템을 보호하기 위해 보안 실무자 또는 개발 팀 구성원 모두에게 도움이 될 만한 핵심 위협 모델링 개념을 실무에 적용시키는 방법을 소개한다.
추천의 글
"시스템 개발에 관련 있거나 시스템 위험을 줄이는 데 관심 있는 모든 사람의 필독서다."
—알리사 밀러(Alyssa Miller)
해커이자 보안 옹호자
"보안 설계를 위해 잘 알려진 위협 모델링 기법을 비교한 유일한 책이다. 위협 모델링을 소프트웨어가 실제로 생산되는 방식과 일치시켜 설명한다."
—브룩 S. E. 쇼엔필드(Brook S.E. Schoenfield)
『Securing Systems: Applied Security Architecture and Threat Models』와 『Secrets of a Cyber Security Architect』의 저자
이 책에서 다루는 내용
◆ 데이터와 시스템 기능을 보호하기 위한 기본 속성 및 메커니즘 탐색
◆ 보안, 개인 정보 보호, 안전의 관계 이해
◆ 시스템 보안 평가를 위한 주요 특성 파악
◆ 시스템 모델링과 분석을 위한 일반적이고 특별한 기술 검토
◆ 데브옵스 자동화를 포함한 위협 모델링의 미래와 애자일 개발 방법론의 미래
◆ 일반적인 위협 모델링의 함정을 피하는 방법
이 책의 대상 독자
설계와 개발 프로세스, 출시된 시스템의 보안 태세를 높일 책임이 있는 시스템 개발 팀 구성원(개발자, 설계자, 디자이너, 테스터, 데브섹옵스)을 위한 책이다. 여기에는 제품 또는 IT 시스템을 설계, 구축, 유지 관리하는 사람도 포함된다.
위협 모델링을 아직 경험해 보지 않은 기존 보안 실무자에게도 유용하지만 특히 시스템 개발 팀을 염두에 두고 작성했다. 제품 관리자, 프로그램 관리자, 다른 기술자도 최소한 프로세스에서 자신의 가치를 이해하고 있어야 한다.
이 책의 구성
1장에서는 시스템 모델링 기술을 살펴보고 시스템 보안을 평가하는 데 중요한 주요 특성을 파악하는 방법을 설명한다.
2장과 3장에서는 시스템 개발 수명 주기의 활동으로서 위협 모델링의 개요를 설명하고, 시스템을 모델링하고 분석할 때 사용 가능한 일반적인 위협 모델링 기술을 설명한다.
2장 이후부터는 위협 모델링이 왜 중요한 활동인지 이미 알고 있는 상태에서 보안 설계의 원칙을 수행하는 전문 보안 실무자를 포함해 모든 독자에게 도움이 되는 내용을 담고 있다.
4장과 5장에서는 위협 모델링 방법론의 미래와 자동화, 데브옵스 자동화를 포함한 애자일 개발 방법론을 설명한다. 새롭고 흥미로운 방식의 위협 모델링을 수행하는 특별한 기술도 다룬다.
6장에서는 조직에서 위협 모델링 적용을 시작하려는 개발 팀으로부터 자주 듣는 질문을 설명한다. 일반적인 함정과 장애물을 피하는 방법을 위한 조언과 지침을 준다.
부록 A에서는 위협 시스템 모델을 구성하고 분석하고자 pytm을 사용한 예제를 제공한다.
목차
목차
- 1장. 모델링 시스템
- 시스템 모델을 만드는 이유
- 시스템 모델링 유형
- 데이터 흐름 다이어그램
- 시퀀스 다이어그램
- 프로세스 흐름 다이어그램
- 공격 트리
- 피시본 다이어그램
- 시스템 모델을 구축하는 방법
- 좋은 시스템은 무엇인가?
- 요약
- 2장. 위협 모델링의 일반화된 접근 방식
- 기본 단계
- 시스템 모델에서 찾아야 하는 것
- 상습범
- 발견하기 어려운 것
- 위협 인텔리전스 수집
- 요약
- 3장. 위협 모델링 방법론
- 들어가기 전에
- 필터, 각도, 프리즘을 통해 살펴보기
- 방법론을 향해!
- STRIDE
- STRIDE 개별 요소
- STRIDE 개별 상호작용
- 공격 시뮬레이션과 위협 분석 프로세스?
- 위협 평가와 개선 분석
- Trike
- 전문화된 방법론
- LINDDUN
- 광기? 이것이 스파르타다!
- INCLUDES NO DIRT
- 게임을 해볼까?
- 게임: 권한 상승
- 게임: 권한 및 개인 정보의 승격
- OWASP 코르누코피아
- 보안 및 개인 정보 위협 발견 카드
- 게임: LINDDUN GO
- 요약
- 4장. 위협 모델링 자동화
- 위협 모델링을 자동화하는 이유
- 코드로부터의 위협 모델링
- 작동 원리
- 코드를 사용한 위협 모델링
- 작동 원리
- pytm
- 스레자일
- 기타 위협 모델링 툴의 개요
- IriusRisk
- SD Elements
- 스레트모델러
- OWASP 스레트 드래곤
- 마이크로소프트 스레트 모델링 툴
- CAIRIS
- 모질라 시스펀지
- 튜터먼 스레트 모델 오토메이터
- ML과 AI를 사용한 위협 모델링
- 요약
- 5장. 지속적인 위협 모델링
- 지속적인 위협 모델링이 필요한 이유
- 지속적인 위협 모델링 방법론
- 진화: 개선되고 있음
- 오토데스크의 지속적인 위협 모델링 방법론
- 베이스라인 설정
- 베이스라인 분석
- 충분히 했는지 언제 알 수 있는가?
- 위협 모델의 모든 스토리
- 현장에서 얻은 발견
- 요약
- 6장. 위협 모델링 챔피언으로서의 역할
- 경영진으로부터 위협 모델링의 지지를 얻으려면 어떻게 해야 하는가?
- 제품 팀의 반대를 어떻게 극복하는가?
- 위협 모델링에 실패했다는 느낌(또는 실제 실패했음)을 어떻게 극복하는가?
- 여러 유사한 접근 방식에서 어떤 위협 모델링 방법론을 선택해야 하는가?
- ‘안 좋은 소식’은 어떻게 전달하는가?
- 승인된 결과는 어떤 조치를 취해야 하는가?
- 뭔가 빠뜨린 게 있는가?
- 요약 및 마무리
- 참고 도서
- 부록 A 작업 예제
- 부록 B 위협 모델링 선언문