애플리케이션 보안 및 DevSecOps 기능

애플리케이션 보안 및 DevSecOps의 목적은 개발 프로세스 및 사용자 지정 LOB(사업 부문) 애플리케이션에 보안 보증을 통합하는 것입니다.

현대화

애플리케이션 개발은 DevOps 팀 모델, DevOps 빠른 릴리스 주기, 클라우드 서비스 및 API를 통한 애플리케이션의 기술 구성 등 여러 측면에서 동시에 빠르게 재정립되고 있습니다. 이러한 변경 내용을 이해하려면 클라우드가 보안 관계 및 책임을 어떻게 변경하는지 확인하세요.

이러한 이전 개발 모델을 현대화하려면 애플리케이션 및 개발 프로세스의 보안을 현대화하기 위한 기회와 요구 사항이 모두 발생합니다. DevOps 프로세스에 대한 보안 융합은 흔히 DevSecOps라고 하며 다음과 같은 변화를 촉진합니다.

  • 보안은 외부 승인이 아니라 통합임: 애플리케이션 개발의 빠른 변화 속도로 인해 기존의 독립적인 “검사 및 보고” 접근 방식은 더 이상 사용되지 않습니다. 이러한 레거시 접근 방식은 출시 시간 지연, 개발자 미달 활용, 이슈 백로그 증가가 불가피하며 끝도 없이 계속되는 개발을 중단하지 않고는 릴리스를 따라갈 수 없습니다.
    • 시프트 레프트: 문제를 조기에 해결하면 비용이 적게 들고 더 빠르고 효과적이므로 애플리케이션 개발 프로세스 초기에 보안을 적용합니다. 케이크가 완성될 때까지 기다리면 모양을 바꾸기가 더 어렵습니다.
    • 네이티브 통합: 개발 워크플로 및 CI/CD(연속 통합/지속적인 배포) 프로세스에서 비정상적인 마찰을 방지하려면 보안 사례를 원활하게 통합해야 합니다. GitHub 접근 방식에 대한 자세한 내용은 Securing software, together(소프트웨어 보호, 함께)를 참조하세요.
    • 고품질 보안: 보안은 개발자가 문제를 빠르게 해결할 수 있도록 하는 고품질의 결과와 지침을 제공해야 하며, 가양성으로 개발자의 시간을 낭비하지 않아야 합니다.
    • 수렴형 문화: 보안, 개발, 운영 역할은 공유 문화, 공유 가치, 공유 목표 및 책임에 핵심 요소를 기여해야 합니다.
  • Agile 보안: “제공하기에 완벽”해야 하는 접근 방식에서 증분 방식으로 지속적으로 개선되는 애플리케이션(및 애플리케이션 개발 프로세스)에 대한 최소 실행 가능 보안으로 시작하는 Agile 접근 방식으로 보안을 전환합니다.
  • 클라우드 네이티브 인프라 및 보안 기능을 수용하여 보안을 통합하면서 개발 프로세스를 간소화합니다.
  • 공급망 위험 관리: 무결성의 유효성을 검사하고 버그 수정 및 업데이트가 구성 요소에 적용되도록 하는 OSS(오픈 소스 소프트웨어) 및 타사 구성 요소에 대해 제로 트러스트 접근 방식을 사용합니다.
  • 지속적인 학습: PaaS(Platform as a Service) 서비스라고도 하는 개발자 서비스의 빠른 릴리스 속도와 애플리케이션의 변화하는 구성은 개발, 운영, 보안 팀원이 지속적으로 새로운 기술을 학습해야 함을 의미합니다.
  • 애플리케이션 보안에 대한 프로그래매틱 접근 방식을 통해 Agile 접근 방식을 지속적으로 개선할 수 있습니다.

추가 컨텍스트는 Microsoft 보안 개발 수명 주기를 참조하세요.

팀 구성 및 주요 관계

애플리케이션 보안 및 DevSecOps 기능은 이상적으로는 보안 인식 개발자 및 운영 팀에서 수행합니다(보안 주제 전문가의 지원을 통해).

이 기능은 일반적으로 다음을 비롯한 다른 기능 및 전문가와 상호 작용합니다.

  • 보안 아키텍처 및 운영
  • 인프라 보안
  • 통신(학습 및 도구)
  • 사람 보안
  • ID 및 키
  • 규정 준수/위험 관리 팀
  • 주요 비즈니스 리더 또는 해당 담당자

다음 단계

데이터 보안 기능을 검토합니다.