역할별 보안활동

From CS Wiki

프로젝트 관리자(Project Manager)[edit | edit source]

  • 프로젝트 관리자는 팀 구성원들에게 응용프로그램 보안전략을 알려야 한다.
  • 프로젝트 일정과 보안위험의 상관관계 등과 같은 응용프로그램 보안영향을 이해시킨다.
  • 조직의 상태를 모니터링 한다. 기본적인 비즈니스 매트릭스 조합을 정의하고 단계별로 적용한다.

요구사항 분석가(Requirement Specifier)[edit | edit source]

  • 요구사항 분석가는 아키텍트가 고려해야 할 여러가지 보안관련 비즈니스 요구사항들을 자세히 설명할 수 있어야 한다
  • 프로젝트 팀이 고려해야 할 구조를 정의한 뒤, 해당 구조에 존재하는 자원에 대한 보안요구사항이 무엇인지 결정한다.
  • 보안수준을 추상화할 때 다른 프로젝트에 적용되었던 보안요구사항을 재사용하여 시간을 절약할 수 있어야 한다.
  • 유즈케이스에 대한 보안고려사항을 기반으로 오용사례를 정의할 수 있어야 한다.

아키텍트(Architect)[edit | edit source]

  • 아키텍트는 명백한 보안오류가 발생하지 않도록 충분하게 보안기술 문제를 이해할 수 있어야 한다.
  • 시스템에 사용되는 모든 리소스를 가능한 자세하게 정의한다.
  • 시스템에서 각각 리소스의 역할에 적절한 보안요구사항이 적용되도록 한다.
  • 각 리소스가 시스템 라이프 사이클내에서 서로 간의 상호작용을 이해할 수 있게 해야 한다.

설계자(Designer)[edit | edit source]

  • 설계자는 특정 기술이 보안요구사항을 만족하는지 확인하고 그 기술이 적절히 사용될 수 있도록 방법을 터득해야 한다.
  • 일반적으로 결과를 평가하고 최선의 문제해결 방법을 결정해야 한다.
  • 애플리케이션 보안노력에 대한 품질측정을 지원해야 한다. 즉, 설계자는 기존의 모든 개발 역할의 보안 관련 작업을 수행할 수 있어야 한다.
  • 식별되지 않은 보안위험을 가지고 있는 경우 요구사항 분석단계를 다시 수행해야 한다.
  • 고가의 수정을 요구하는 위험을 최소화 하기 위한 로드맵을 제공해야 한다.
  • 타사의 소프트웨어 통합시 발생가능한 보안위험을 이해하고 있어야 한다.
  • 일반적인 소프트웨어에서 식별된 보안위협에 대응할 수 있어야 한다.

구현개발자(Implementer)[edit | edit source]

  • 구현개발자는 고도로 구조화된 개발 환경에서 프로그램을 구현하기 위해 시큐어코딩표준을 준수하여 개발하여야 한다.
  • 제 3자가 소프트웨어 안전 여부를 쉽게 판단할 수 있도록 문서화해야 한다.

테스트 분석가(Test Analyst)[edit | edit source]

  • 테스트 분석가는 요구사항과 구현결과를 반복적으로 확인해야 한다.
  • 테스트 그룹은 반드시 보안전문가일 필요는 없으며, 테스트가 가능할 정도의 위험에 대한 학습이나 툴 사용방법을 숙지하고 있으면 된다.

보안감사자(Security Auditor)[edit | edit source]

  • 프로젝트의 현재 상태의 보안을 보장한다.
  • 요구사항을 검토할 때는 요구사항이 적합하고 완전한지 확인한다.
  • 설계 단계에서는 일반적으로 취약성으로 이어질 수 있는 사항이 있는지 점검한다.
  • 구현 단계에서는 보안 문제를 발견할 수 있도록 시도해야 한다.
  • 보안감사자는 프로젝트의 전체 단계에서 활동하여야 한다.

출처[edit | edit source]