응용 프로그램 위협 모델링

더욱 안전한 소프트웨어 구현

다음 단계:

Overview

연구 결과 침입 후 패치를 설치하는 전통적인 모델에 비해 개발 주기의 초기에 보안 문제를 해결하는 것이 더 효과적이고 비용 효율적이라는 점이 밝혀졌습니다. Foundstone 응용 프로그램 위협 모델링 서비스를 이용하면 Foundstone이 컨설턴트가 소프트웨어 구축 전에 소프트웨어의 보안 문제를 찾아낼 수 있습니다.

소프트웨어 엔지니어링 연구에 따르면 보안 버그 및 결함 중 80% 정도는 소프트웨어 개발의 초기 단계, 경우에 따라서는 코드 한 줄을 작성하기도 전에 발생한다고 합니다. 응용 프로그램 위협 모델링을 사용하면 일반적으로 문제의 75% 이상을 파악할 수 있기 때문에 개발팀이 안전하지 않은 소프트웨어를 구현하는 것을 방지할 수 있습니다.

주요 장점

소프트웨어 개발 주기 중 어떤 단계에서 수행하든지, 위협 모델링은 응용 프로그램의 보안에 매우 긍정적인 영향을 미칩니다. 개발 주기의 초기에 수행하면 위협 모델링은 설계 변경과 적절한 구현을 통해 완화할 수 있는 보안 위험을 찾아낼 수 있습니다. 개발 주기의 후기에 수행될 경우 위협 모델링은 코드 검토와 침투 테스트를 통해 테스트 및 검증할 수 있는 설계 및 구현 문제를 찾아낼 수 있습니다. 사실 Foundstone에서는 위협 모델을 사용하여 모든 코드 검토를 시작할 것을 권장합니다. 위협 모델을 사용하면 크고 복잡한 코드 기반 전체에서 효과적으로 탐색할 수 있습니다. 위협 모델을 구축하면 코드 검토에 필요한 작업을 40% ~ 60%까지 감소시킬 수 있기 때문에 컨설턴트는 코드 중 보안에 중요한 부분에만 집중할 수 있습니다.

Foundstone의 위협 모델 구축 역량은 소프트웨어와 다양한 클라이언트 응용 프로그램에 대해 위협 모델링과 소스 코드 감사를 수행해온 소프트웨어 보안 컨설턴트들의 능력으로 입증됩니다. Foundstone의 모든 소프트웨어 보안 컨설턴트는 소프트웨어 공급업체와 함께 또는 기업의 IT 부서 내에서 대규모 엔터프라이즈 소프트웨어 시스템 개발자로 근무한 경력을 갖추고 있습니다. 따라서 소프트웨어 개발 프로세스뿐만 아니라 보안 버그가 생기는 이유와 방식을 이해하고 있습니다.

Methodology

개념적으로 볼 때, 위협 모델링은 명확하게 정의된 시작 및 종료 기준, 제공물, 목표가 있는 여러 단계로 구성되는 체계적 프로세스입니다. 경험에 따르면 성공적인 모델링 활동은 일반적으로 특정 패턴을 따릅니다. 핵심 단계를 진행함으로써 목표에 중점을 두고 효과적인 모델링 활동을 수행할 수 있습니다.

뛰어난 모든 프로세스와 마찬가지로, 첫 번째 단계는 성공적 결과물을 도출하기 위해 프로세스를 계획하고 최적화하는 것입니다. 여기에는 다음이 포함됩니다.

  • 위협 모델링 팀 파악
  • 사용할 위험 등급 지정 모델 정의(있는 경우)
  • 모델링 활동 용어에 관한 합의

두 번째 단계는 시스템이 운영되는 비즈니스 환경 또는 비즈니스 뷰를 모델링하는 것입니다. 시스템의 기능과 비즈니스 목적을 이해하기 위해 이를 분석해야 합니다. 법률, 지침, 정책 및 기타 관련 규정을 고려해야 합니다.

마지막 단계에서는 기술적 관점에서 시스템을 분석합니다. 전체 프로세스의 성공을 위해서는 시스템에 대한 정확한 이해가 중요합니다. 이 단계의 일부로 Foundstone 컨설턴트는 공격 영역과 잠재적 공격 벡터의 파악에 중점을 두는 보안에 대한 세부적인 아키텍처 및 설계 검토를 수행합니다.

이 프로세스에서 수집된 정보를 바탕으로 위협 및 기존 대책을 모델링할 수 있습니다. 이 시점에서 위험 수준의 모델을 개발합니다. 당사는 여러 위험 모델에 적용할 수 있는 방법론을 설계했으며, 경우에 따라 전체 프로세스가 반복되기도 합니다.

체계적 보안 의사 결정에 사용할 그래픽 모델과 텍스트 모델을 모두 작성합니다. 당사의 제공물에는 정렬된 탭 형식의 데이터 및 결과와 응용 프로그램 아키텍처의 Office Visio 기반 모델이 포함됩니다. 당사의 모델에는 주문형 테스트 계획도 포함될 수 있습니다.