DevSecOps는 소프트웨어 개발 라이프사이클(SDLC) 초기에 보안 테스트의 통합을 지원합니다. 이를 일반적으로 "초기 단계 보안 테스트" 또는 "초기 단계 테스트"라고 합니다. DevSecOps는 완화가 필요한 취약성 조사 결과를 구현하는 것이 더 어렵고 비용도 더 많이 드는 말기가 아닌 소프트웨어 개발 라이프사이클 초기에 원활한 애플리케이션 보안을 지원합니다.
DevSecOps는 DevOps의 확장이며, 때로는 Secure DevOps라고도 합니다. DevOps는 사람이나 조직에 따라 다른 의미를 가질 수 있지만 문화적, 기술적 변화를 수반합니다. 보안은 성공적인 DevOps의 필수 요건입니다.
DevSecOps는 처음부터 애플리케이션 및 인프라 보안 계획을 요구합니다. 적절한 도구는 보안 기능을 갖춘 통합 개발 환경(IDE) 선택과 같은 결정을 비롯한 지속적인 통합 보안 목표를 달성하는 데 도움이 될 수 있습니다. 또한 도구와 프로세스는 DevOps 워크플로의 속도를 늦추지 않도록 일부 보안 게이트를 자동화할 수 있어야 합니다.
DevSecOps의 이점
DevSecOps는 소프트웨어 업데이트 파이프라인 전반에 걸쳐 향상된 자동화를 통해 코딩 오류를 제거하고 궁극적으로 침해를 줄일 수 있도록 지원합니다.
DevSecOps 도구 및 프로세스를 구현하여 DevOps 프레임워크에 보안을 통합하는 팀은 보안 소프트웨어를 더 빠르게 출시할 수 있습니다. 개발자는 코드가 작성되면 코드를 테스트하여 보안을 확인하고 보안 결함을 감지할 수 있습니다. 팀은 기존의 개발 도구를 활용하여 웹 애플리케이션 개발의 보안 측면을 개선할 수 있게 됩니다.
DevSecOps의 주요 구성 요소
DevSecOps 접근 방식에는 다음과 같은 중요한 구성 요소가 포함될 수 있습니다.
- 애플리케이션/API 인벤토리
- 포트폴리오 전반에서 코드를 검색, 프로파일링하고 지속적으로 모니터링하는 작업을 자동화합니다. 여기에는 데이터 센터, 가상 환경, 프라이빗 클라우드, 퍼블릭 클라우드, 컨테이너, 서버리스 등의 생산 코드가 포함될 수 있습니다. 자동 검색 도구와 자체 인벤토리 도구를 함께 사용할 수 있습니다. 검색 도구를 사용하여 보유한 애플리케이션 및 API를 확인할 수 있습니다. 자체 보고 도구를 사용하면 애플리케이션에서 자체적으로 목록을 생성하고 중앙 데이터베이스에 메타데이터를 보고할 수 있습니다.
- 사용자 지정 코드 보안
- 개발, 테스트 및 운영 전반에 걸쳐 소프트웨어의 취약성을 지속적으로 모니터링합니다. 코드 업데이트 시 취약성을 신속하게 식별할 수 있도록 코드를 자주 전송합니다.
- Static Application Security Testing(SAST)은 애플리케이션의 소스 파일을 검사하고 근본 원인을 정확하게 식별하여 기본 보안 결함을 해결하는 데 도움이 됩니다.
- Dynamic Application Security Testing(DAST)은 실행 중인 웹 애플리케이션 또는 서비스를 대상으로 제어된 공격을 시뮬레이션하여 실행 중인 환경에서 악용 가능한 취약성을 식별합니다.
- 상호작용 애플리케이션 보안 테스팅(IAST)은 에이전트 및 센서를 사용하여 애플리케이션을 계측하고 애플리케이션, 인프라, 종속성, 데이터 흐름 및 모든 코드를 지속적으로 분석하여 심층 검색을 지원합니다.
- 오픈 소스 보안
- Open Source Software(OSS)에는 종종 보안 취약성이 포함되어 있기 때문에 완전한 보안 접근 방식에는 OSS 라이브러리를 추적하고 취약성 및 라이센스 위반을 보고하는 솔루션이 포함됩니다.
- 소프트웨어 구성 분석(SCA)은 위험 관리, 보안 및 라이센스 규정 준수를 위해 Open Source Software(OSS)에 대한 가시성을 자동화합니다.
- 런타임 방지
- 생산 단계의 애플리케이션을 보호하십시오. 새로운 취약성이 발견되거나 레거시 애플리케이션이 개발되고 있지 않을 수 있습니다.
- 로깅을 통해 벡터 및 시스템을 타겟으로 하고 있는 공격의 유형을 알 수 있습니다. 위협 인텔리전스는 위협 모델링 및 보안 아키텍처 프로세스에 대한 알림을 제공합니다.
- 런타임 애플리케이션 자가 보안(RASP)은 애플리케이션을 계측하고, 내부에서 발생하는 공격을 직접 측정하며, 내부로부터의 익스플로잇 공격을 방지합니다.
- 컴플라이언스 모니터링
- GDPR, CCPA, PCI 등에 대한 지속적인 규정 준수 상태와 감사 준비 상태를 유지할 수 있습니다.
- 문화적 요인
- 보안 챔피언을 식별하고, 개발자를 위한 보안 교육 등을 수립합니다.
DevSecOps 활용하기
1단계: 소프트웨어 요구 사항에 대한 보안 구축
2단계: 조기에, 자주, 빠르게 테스트
3단계: 애플리케이션 보안이 라이프사이클에 자연스럽게 융합되도록 통합 활용
4단계: 개발 및 테스트 프로세스의 일환으로 보안 자동화
5단계: 릴리스 후 모니터링 및 보호
DevOps 보안 구축에 유용한 Fortify
- 개발자 친화적
- CI/CD 파이프라인 자동화
- Fortify Static Code Analyzer를 통한 SAST
- Fortify WebInspect를 통한 DAST
- Fortify Application Defender를 통한 RASP
- Sonatype 및 Fortify를 통한 Software Composition Analysis(SCA) / Open Source Security(OSS)
- 애플리케이션 보안 확장