기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SEC01-BP07 위협 식별 및 위협 모델을 사용한 완화 우선순위 지정
위협 모델링을 수행하여 워크로드에 대한 잠재적 위협 및 관련 완화 조치를 식별하고 유지합니다 up-to-date. 보안 위협 우선순위를 지정하고 보안 제어 완화 조치를 조정하여 방지, 감지 및 대응합니다. 워크로드와 진화하는 보안 환경에 맞춰 이를 보완하고 유지 관리합니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음
구현 가이드
위협 모델링이란 무엇인가요?
"위협 모델링은 가치 있는 것을 보호한다는 맥락에서 위협과 완화 조치를 식별, 전달 및 이해하기 위해 작동합니다." – Open Web Application Security Project(OWASP) Application Threat Modeling
위협 모델을 사용해야 하는 이유는 무엇인가요?
시스템은 복잡하고 시간이 지남에 따라 점점 더 복잡해지고 기능이 향상되어 더 많은 비즈니스 가치를 제공하고 고객 만족도와 참여도를 향상시킵니다. 즉, IT 설계를 결정할 때는 계속해서 증가하는 사용 사례를 고려해야 합니다. 이러한 복잡성과 사용 사례 순열의 수는 일반적으로 위협을 찾고 완화하는 데 구조화되지 않은 접근 방식을 비효율적으로 만듭니다. 대신 시스템에 대한 잠재적인 위협을 열거할 뿐만 아니라 조직의 제한된 리소스가 시스템의 전체 보안 태세를 개선하는 데 최대한 영향을 미칠 수 있도록 완화 조치를 고안하고 우선순위를 지정하는 체계적인 접근 방식이 필요합니다.
위협 모델링은 수명 주기 후반에 비해 상대적으로 완화 조치 관련 비용과 노력이 적게 필요한 설계 프로세스 초기에 문제를 찾아 해결하는 것을 목표로 이러한 체계적인 접근 방식을 제공하도록 설계되었습니다. 이 접근 방식은 시프트-레프트 보안
위협 모델링은 언제 수행해야 하나요?
워크로드의 수명 주기에서 가능한 한 빠르게 위협 모델링을 시작합니다. 그러면 식별한 위협에 대해 유연성을 높일 수 있습니다. 소프트웨어 버그와 마찬가지로 위협을 조기에 식별할수록 위협을 해결하는 것이 더 비용 효율적입니다. 위협 모델은 최신 상태를 유지해야 하는 문서로 워크로드가 변경됨에 따라 계속 진화해야 합니다. 주요 변경 사항이 있거나 위협 환경이 변경되거나 새로운 기능 또는 서비스를 채택하는 경우를 포함하여 시간이 지남에 따라 위협 모델을 보완합니다.
구현 단계
위협 모델링을 어떻게 수행할 수 있나요?
위협 모델링을 수행하는 방법에는 여러 가지가 있습니다. 프로그래밍 언어와 마찬가지로 각각 장단점이 있으므로 자신에게 가장 적합한 방법을 선택해야 합니다. 한 가지 접근 방식은 Shostack’s 4 Question Frame for Threat Modeling
-
어떤 작업을 하고 있나요?
이 질문의 목적은 구축 중인 시스템과 보안과 관련된 해당 시스템에 대한 세부 정보를 이해하고 동의하는 데 도움을 주기 위한 것입니다. 모델이나 다이어그램을 생성하는 것은 가령 데이터 흐름 다이어그램
을 사용하여 구축 항목을 시각화하는 데 도움이 되므로 이 질문에 답하는 가장 일반적인 방법입니다. 시스템에 대한 권한 수임과 중요한 세부 정보를 작성하는 것도 범위를 정의하는 데 도움이 됩니다. 이렇게 하면 위협 모델에 기여하는 모든 사람이 동일한 일에 집중할 수 있으며 주제(시스템의 오래된 버전 포함)에 out-of-scope 대한 시간 소모적인 우회를 피할 수 있습니다. 예를 들어 웹 애플리케이션을 구축하는 경우, 사용자 설계를 통해 영향을 미칠 수 없기 때문에 브라우저 클라이언트에 대한 운영 체제의 신뢰할 수 있는 부팅 시퀀스에 대해 위협 모델링을 수행할 필요가 없습니다. -
잘못되면 어떻게 되나요?
이 질문을 통해 시스템에 대한 위협을 식별합니다. 위협은 원치 않는 영향을 미치고 시스템의 보안에 영향을 미칠 수 있는 우발적이거나 의도적인 작업 또는 이벤트입니다. 무엇이 잘못될 수 있는지에 대한 명확한 이해 없이는 위협에 대해 대응할 수 있는 방법이 아무 것도 없습니다.
무엇이 잘못될 수 있는지에 대한 표준 목록은 없습니다. 이 목록을 작성하려면 팀 내 모든 개인과 위협 모델링 수행에 관여하는 관련 대상자
간의 브레인스토밍과 협업이 필요합니다. 스푸핑, 조작, 거부, 정보 공개STRIDE , 서비스 거부 및 권한 상승과 같은 다양한 범주를 평가할 것을 제안하는 와 같은 위협을 식별하는 모델을 사용하여 브레인스토밍을 지원할 수 있습니다. 또한 상위 OWASP 10개 , HiTrust 위협 카탈로그 및 조직의 자체 위협 카탈로그를 포함하여 기존 목록과 연구를 검토하여 브레인스토밍을 지원할 수 있습니다. -
이에 대해 무엇을 할 수 있나요?
이전 질문의 경우와 마찬가지로 가능한 모든 완화 조치에 대한 표준 목록은 없습니다. 이 단계에 대한 입력은 이전 단계에서 식별된 위협, 행위자 및 개선 영역입니다.
보안과 규정 준수는 AWS와 고객의 공동 책임
입니다. '이에 대해 무엇을 할 수 있나요?'라고 질문할 때 '이에 대한 책임은 누구에게 있나요?'라고 질문하는 것임을 이해하는 것이 중요합니다. 와 간의 책임 균형을 이해 AWS 하면 일반적으로 AWS 서비스 구성 옵션과 자체 시스템별 완화가 결합된 제어 중인 완화 조치로 위협 모델링 연습의 범위를 지정할 수 있습니다. 공동 책임의 AWS 일부에서 AWS 서비스는 많은 규정 준수 프로그램 범위 내에
있습니다. 이러한 프로그램은 클라우드의 보안 및 규정 준수를 유지하기 위해 에 마련된 강력한 제어를 이해하는 AWS 데 도움이 됩니다. 이러한 프로그램의 감사 보고서는 에서 AWS 고객이 다운로드할 수 있습니다AWS Artifact . 어떤 AWS 서비스를 사용하든 항상 고객 책임 요소가 있으며 이러한 책임과 일치하는 완화 조치가 위협 모델에 포함되어야 합니다. AWS 서비스 자체에 대한 보안 제어 완화를 위해 자격 증명 및 액세스 관리(인증 및 권한 부여), 데이터 보호(휴지 중 및 전송 중), 인프라 보안, 로깅 및 모니터링과 같은 도메인을 포함하여 도메인 전반에 보안 제어를 구현하는 것을 고려하는 것이 좋습니다. 각 AWS 서비스의 설명서에는 완화 조치로 고려해야 할 보안 제어에 대한 지침을 제공하는 전용 보안 챕터가 있습니다. 작성 중인 코드와 해당 코드 종속성을 고려하고 이러한 위협을 해결하기 위해 마련할 수 있는 제어에 대해 생각하는 것이 중요합니다. 이러한 제어는 입력 검증
, 세션 처리 및 경계 처리 와 같은 기능에 해당될 수 있습니다. 대부분의 취약성은 사용자 지정 코드에서 발생하는 경우가 많으므로 이 영역에 집중하세요. -
잘 수행했나요?
목표는 팀과 조직이 위협 모델의 품질과 시간이 지남에 따라 위협 모델링을 수행하는 속도를 모두 개선하는 것입니다. 이러한 개선은 연습, 학습, 지도, 검토의 조합에서 비롯됩니다. 더 자세히 알아보고 실습하려면 사용자와 팀이 Threat modeling the right way for builders 교육 과정
또는 워크숍 을 완료하는 것이 좋습니다. 또한 위협 모델링을 조직의 애플리케이션 개발 수명 주기에 통합하는 방법에 대한 지침은 AWS Security Blog의 위협 모델링 게시물에 접근하는 방법을 참조하세요.
Threat Composer
위협 모델링을 수행하는 데 도움이 되고 지침을 제공하려면 위협 모델링 시 감소를 time-to-value 목표로 하는 Threat Composer
-
자연스러운 비선형 워크플로우에서 작동하는 위협 문법
에 맞게 유용한 위협 설명을 작성합니다. -
사람이 읽을 수 있는 위협 모델을 생성합니다.
-
기계가 읽을 수 있는 위협 모델을 생성하여 위협 모델을 코드로 취급할 수 있습니다.
-
Insights Dashboard를 사용하여 품질 및 커버리지 개선 영역을 빠르게 식별할 수 있도록 도와줍니다.
자세한 내용을 보려면 Threat Composer를 방문하여 시스템 정의 Example Workspace로 전환합니다.
리소스
관련 모범 사례:
관련 문서:
-
위협 모델링에 접근하는 방법
(AWS 보안 블로그)
관련 비디오:
관련 교육:
관련 도구: