보안 DevSecOps 프로세스를 디자인하다

완료됨

DevSecOps(개발, 보안 및 운영)는 보안 사례를 소프트웨어 개발 수명 주기의 모든 단계에 통합합니다. CAF(클라우드 채택 프레임워크) 보안 방법론은 DevSecOps 프로세스 디자인에 직접 매핑되고 특정 기술 제어에 대한 MCSB(Microsoft Cloud Security Benchmark)와 일치하는 전략, 계획, 준비, 채택, 관리 및 관리의 6단계에 걸쳐 구조화된 지침을 제공합니다. 사이버 보안 설계자는 이러한 모범 사례를 사용하여 배포 및 운영을 통해 개발 초기 단계의 보안을 포함합니다.

CAF 보안 방법론에서 DevSecOps를 지원하는 방법

CAF 보안 방법론은 각각 특정 DevSecOps 사례에 매핑되는 핵심 보안 원칙을 중심으로 구성됩니다.

  • 보안 상태 현대화: 방어, 탐지 및 복원력 기능의 지속적인 상승입니다. 이 원칙은 CI/CD 파이프라인에서 왼쪽 이동 방식과 자동화된 보안 제어를 구동합니다.
  • 인시던트 준비 및 대응: 보안 이벤트를 감지, 포함 및 복구하기 위한 사전 계획입니다. 이 원칙은 위협 탐지 및 대응을 DevOps 도구 체인에 통합하는 방법을 형성합니다.
  • CIA Triad: 기밀성, 무결성 및 가용성을 기본 요구 사항으로 사용합니다. 이러한 원칙은 액세스 제어, 코드 무결성 검사 및 배포 안정성을 안내합니다.
  • 보안 유지: 제어 효능을 측정, 개선 및 유효성 검사하는 훈련된 주기입니다. 이 원칙은 DevSecOps 프로세스에 지속적인 개선 루프가 포함되도록 합니다.

각 단계는 이전 단계를 기반으로 합니다. 전략은 보안 목표를 정의하고, 계획은 이를 실행 가능한 제어로 변환하고, 준비는 클라우드 기반을 준비하고, 채택은 개발 및 플랫폼 관행에서 제어를 구현하고, 거버넌스는 정책을 통해 제어를 적용하고, 관리는 지속적인 개선을 통해 이를 유지합니다.

또한 CAF는 DevSecOps를 랜딩 존 보안 지침 내에서 혁신 보안 의 구성 요소로 식별하여 보안 방법론을 보완합니다. 이 지침에서는 4단계 제어 모델을 설명합니다.

  • 디자인 보호: 위협 모델링, IDE 보안 플러그 인, 사전 커밋 후크 및 피어 검토를 통해 보안 계획 단계로 전환합니다.
  • 코드 보호: 중앙 집중식 리포지토리에서 취약성 검사를 구현하여 위험을 검색하고 수정을 수행합니다.
  • 파이프라인 보안: 자동화 및 표준화를 위해 빌드 및 릴리스 파이프라인을 사용하여 보안 코드를 효율적으로 배포합니다.
  • 보안 작업: 인프라 검색 및 침투 테스트를 사용하여 프로덕션 환경에서 보안을 관리합니다.

이 4단계 모델은 보안 방법론을 보완하고 DevSecOps의 모든 측면에 보안을 포함하기 위한 포괄적인 프레임워크를 제공합니다.

CAF 보안 방법론의 모범 사례에 부합하는 DevSecOps 프로세스를 디자인하기 위한 4단계 모델을 보여 주는 다이어그램.

DevSecOps 목표에 따라 보안 전략 조정

보안 방법론의 전략 지침은 클라우드 채택 전반에 걸쳐 보안을 위한 전략적 방향을 설정합니다. 몇 가지 전략적 약정은 DevSecOps 프로세스를 설계하는 방법을 직접 형성합니다.

제로 트러스트를 전략적 기반으로 채택

전략 지침은 DevSecOps 디자인 결정에 직접 매핑되는 세 가지 원칙에 기초한 가장 중요한 보안 전략으로 제로 트러스트를 채택하는 것이 좋습니다.

  • 명시적으로 확인: 항상 사용 가능한 모든 데이터 요소를 기반으로 인증하고 권한을 부여합니다. DevSecOps에서 이는 모든 파이프라인 작업, 코드 커밋 및 배포에 대한 ID 확인이 필요한 것을 의미합니다.
  • 최소 권한 사용: Just-In-Time 및 Just-Enough-Access 정책을 사용하여 사용자 및 서비스 액세스를 제한합니다. 이 원칙은 개발자 권한, 서비스 ID 및 파이프라인 액세스 제어의 범위를 지정하는 방법을 결정합니다.
  • 위반 가정: 폭발 반경 및 세그먼트 액세스를 최소화합니다. 이 원칙은 파이프라인 환경을 격리하고, 코드 서명을 적용하고, 손상된 구성 요소에 대한 포함 프로시저를 디자인하는 방법을 알려줍니다.

전략 수준에서 이러한 원칙을 설정하여 모든 후속 DevSecOps 디자인 결정을 안내하는 일관된 프레임워크를 만듭니다.

무결성 및 자동화 약정 정의

보안 방법론의 무결성 전략은 정책 관리, 데이터 분류, 인프라 배포 및 업데이트 관리를 위한 자동화를 강조합니다. 자동화를 전략적 목표로 커밋하는 경우 수동 보안 게이트가 자동화된 코드 검사, 규정 준수 검사, 배포 유효성 검사 및 인시던트 대응을 포함하여 CI/CD 파이프라인에 포함된 자동화된 컨트롤로 대체될 것이라는 기대를 설정합니다.

보안 유지 전략은 조직의 약정으로 지속적인 개선을 설정하여 DevSecOps 프로세스에 일회성 구현으로 보안을 처리하는 대신 피드백 루프, 메트릭 추적 및 정기적인 자세 검토를 포함하도록 합니다.

개발 수명 주기에 보안 계획

보안 방법론의 계획 지침은 전략적 목표를 DevSecOps 프로세스 디자인을 형성하는 실행 가능한 보안 계획으로 변환합니다.

기술 핵심 요소에 대한 제로 트러스트 계획

계획 지침은 7가지 기술 핵심 요소에서 제로 트러스트 채택을 구조화합니다. 각 기둥은 채택을 시작하기 전에 계획해야 하는 특정 DevSecOps 컨트롤에 매핑됩니다.

  • ID: DevOps 플랫폼 및 CI/CD 시스템에서 강력한 인증 및 최소 권한 액세스를 계획합니다.
  • 엔드포인트: 코드 및 배포 환경과 상호 작용하는 개발자 워크스테이션 및 빌드 에이전트 보안을 계획합니다.
  • 데이터: 리포지토리, 구성 파일 및 배포 아티팩트에서 중요한 데이터를 보호할 계획입니다.
  • : 개발 팀에서 생성한 애플리케이션 및 서비스를 보호하기 위한 계획입니다.
  • 인프라: IaC(Infrastructure as Code) 표준 및 배포 정책을 통해 클라우드 인프라를 보호합니다.
  • 네트워크: 개발 및 프로덕션 환경에서 네트워크 세분화, 트래픽 검사 및 암호화를 계획합니다.
  • 가시성, 자동화 및 오케스트레이션: 자동화된 모니터링 및 응답을 통해 제로 트러스트 원칙을 적용하는 운영 정책을 계획합니다.

개발 및 운영 관행 표준화

계획 지침은 배포가 CIA Triad를 준수하고 안전한 배포 사례를 통합할 수 있도록 개발 도구 및 사례를 표준화하는 것이 좋습니다. DevSecOps의 경우 이는 다음을 위해 적용 가능한 표준을 정의하는 것을 의미합니다.

  • 소스 제어 워크플로 및 분기 전략
  • 빌드 및 릴리스 파이프라인 구성
  • 테스트 요구 사항 및 품질 게이트
  • 배포 패턴 및 롤백 절차

표준화는 구성 드리프트를 줄이고 모든 프로젝트 및 팀에서 보안 제어가 일관되게 적용되도록 합니다. 또한 계획 단계에서는 운영자가 환경 전체에서 기밀성, 무결성 및 가용성을 일관되게 유지할 수 있도록 운영 도구 및 사례를 표준화하는 것이 좋습니다.

보안 기준 수립

새 DevSecOps 컨트롤을 채택하기 전에 보안 방법론은 현재 보안 상태를 이해하는 것이 좋습니다. Microsoft Secure Score와 같은 자동화된 도구를 사용하여 측정 가능한 기준을 설정합니다. 이 기준은 개선 사항을 추적하고, 먼저 구현할 DevSecOps 컨트롤의 우선 순위를 지정하고, 각 개선 사항의 영향을 측정하기 위한 참조 지점을 제공합니다.

안전한 개발을 위한 클라우드 기반 준비

보안 방법론의 준비 지침은 구현의 시작점으로 사용되는 안전하고 확장 가능한 모듈식 디자인 패턴인 Azure 랜딩 존을 통해 클라우드 기반을 구축하는 데 중점을 두고 있습니다. 이 단계에서는 DevSecOps에서 제어하는 기본 인프라, ID 및 무결성 메커니즘을 설정하여 계획 및 채택을 연결합니다.

Azure 랜딩 존을 사용하여 기반 빌드

준비 지침은 보안 클라우드 자산을 준비하기 위한 기본 메커니즘으로 Azure 랜딩 존을 배치합니다.

  • 표준화된 아키텍처: 랜딩 존은 개발, 스테이징 및 프로덕션과 같은 도메인을 일관된 보안 제어가 있는 관리되는 환경으로 구분하여 빌드 에이전트, 배포 파이프라인 및 개발자 워크스테이션이 적절한 격리로 작동하도록 합니다.
  • 코드 배포로서의 인프라: CI/CD 파이프라인에서 IaC를 통해 랜딩 존을 배포하고 소프트웨어 배포에 사용되는 것과 동일한 안전한 배포 방법을 적용합니다.
  • 랜딩 존 가속기: AKS(Azure Kubernetes Service) 및 Azure API Management와 같은 서비스에 미리 패키지된 워크로드별 배포를 보안 규격 시작점으로 사용합니다.
  • 디자인 영역 적용 범위: 전체 엔터프라이즈 랜딩 존을 채택하지 않더라도 디자인 영역(ID, 네트워킹, 거버넌스, 보안 등)을 이해하고 각 영역에 대한 컨트롤을 구현합니다.

ID 및 네트워크 준비 설정

워크로드 배포가 시작되기 전에 랜딩 존 기반의 일부로 제로 트러스트 ID 컨트롤을 구현합니다.

  • ID 제어: 개발자 계정, 빌드 에이전트 및 파이프라인 서비스 ID에 대한 RBAC, MFA(다단계 인증) 및 조건부 액세스 정책을 구성합니다.
  • 네트워크 세분화: 가상 네트워크, 서브넷 및 네트워크 보안 그룹을 사용하여 네트워크 아키텍처를 설계하여 개발, 빌드 및 프로덕션 환경을 분리하여 파이프라인 구성 요소가 손상된 경우 폭발 반경을 최소화합니다.

시스템 무결성 및 모니터링 준비

자동화된 관리 및 모니터링을 사용하여 랜딩 존 디자인을 준비합니다.

  • 구성 및 패치 관리: 구성 관리를 자동화하고 업데이트 관리 정책을 명문화합니다.
  • 보안 모니터링: 중앙 집중식 가시성을 위해 SIEM 및 위협 탐지 도구를 선택합니다.
  • 데이터 분류: 리포지토리에서 비밀을 처리하기 위한 데이터 분류 프레임워크를 설정합니다.

보안 개발 및 플랫폼 사례 채택

채택은 DevSecOps의 가장 광범위한 단계입니다. 보안 방법론의 채택 지침은 개발 워크플로, 플랫폼 인프라, CI/CD 파이프라인 및 인시던트 대응에서 보안 제어를 구현하는 방법을 설명합니다.

자세 현대화

보안 태세 현대화는 기준을 설정하고 컨트롤을 자동화하는 것으로 시작합니다.

  • 보안 기준 운영: 계획 중에 설정된 기준을 모든 개발 환경 및 파이프라인 구성이 측정되는 표준으로 적용합니다. 보안 상태 점수 매기기 도구를 사용하여 진행 상황을 추적하고 실행 가능한 권장 사항을 생성합니다.
  • 자동화 수용: 인프라 배포, 테스트, 모니터링 및 크기 조정을 위해 CI/CD 파이프라인에 통합된 선언적 템플릿이 있는 IaC 도구를 사용합니다. 자동화는 사용자 오류의 위험을 줄이고 환경 전반의 일관성을 향상시킵니다.

시프트 레프트 보안

왼쪽 이동 방식은 개발 종료 감사에서 수명 주기 동안 연속 통합으로 보안을 이동합니다.

기존 접근 방식 Shift-left 접근 방식
릴리스 시 보안 검토 계획 중 위협 모델링
수동 보안 테스트 CI에서 자동화된 보안 검사
프로덕션에서 수정 개발 중 취약성 수정
게이트로서의 보안 지속적인 피드백으로 보안

왼쪽으로 이동하면 더 강력한 코드가 생성되고 문제를 해결하는 데 더 쉽고 비용이 적게 드는 문제를 조기에 해결할 수 있습니다.

DevOps 플랫폼 보안

손상된 DevOps 플랫폼은 다른 모든 보안 제어를 훼손하므로 플랫폼 강화는 채택의 중요한 부분입니다.

  • 최소 권한 액세스 적용: 중앙 집중식 ID 공급자를 통해 RBAC를 사용하고, 시간 바인딩된 개발자 액세스를 위한 권한 관리 및 플랫폼 관리자 역할에 대한 Just-In-Time 권한 있는 액세스를 사용합니다. 중앙 집중식 ID 그룹 멤버 자격을 통해 플랫폼 역할 할당을 관리합니다.
  • 코드 및 환경 보호: 보안 그룹으로 리포지토리 액세스를 제한하고, 분기 권한을 설정하며, 보호된 분기에 병합하기 전에 보안 인식 검토자의 코드 검토가 필요합니다. 의도하지 않은 액세스 에스컬레이션을 방지하려면 권한 상속을 사용하지 않도록 설정하는 것이 좋습니다.
  • 자동화된 배포에 워크로드 ID 페더레이션 사용: 사용자 계정을 사용하지 마세요. 애플리케이션 및 환경별로 별도의 ID를 만들고, 필요한 클라우드 구독 또는 리소스 그룹으로만 권한을 범위 지정하고, 모든 비밀을 전용 관리 솔루션에 저장합니다. 보안 구독 자동 판매 프로세스에서 IaC를 통해 ID 및 페더레이션된 자격 증명을 배포합니다.

CI/CD 파이프라인 보안 컨트롤 구현

MCSB(Microsoft Cloud Security Benchmark)는 CI/CD 파이프라인에 대한 보안 제어를 정의합니다. 각 단계에서 이러한 컨트롤을 구현하도록 파이프라인을 디자인합니다.

  • SAST(정적 애플리케이션 보안 테스트): 소스 코드 분석, 이진 분석 및 자격 증명 검사 도구를 취약한 패키지의 커밋, 빌드 또는 배포를 방지하는 제어로 통합합니다.
  • DAST(동적 애플리케이션 보안 테스트) : 런타임 애플리케이션 테스트 및 자동화된 침투 테스트를 CI/CD 워크플로에 통합합니다.
  • 소프트웨어 공급망 보안: 종속성 검사 도구를 사용하여 취약성 인벤토리, 종속성을 업그레이드하는 자동화된 업데이트 도구 및 취약한 컨테이너 이미지를 식별하는 CSPM(클라우드 보안 상태 관리) 솔루션을 사용합니다.
  • 코드 보안 인프라: 애플리케이션 코드를 사용하여 IaC 자산을 공동 배치하고, CSPM을 사용하여 템플릿에서 잘못된 구성을 검색하고, 큐레이팅된 보안 규격 템플릿을 사용하여 관리되는 배포 환경을 구성합니다.

배포 관리 기능을 사용하여 클라우드 리소스를 단일 응집력 있는 단위로 관리하고 거부 설정을 사용하여 무단 수정을 방지합니다.

인시던트에 대비합니다.

잘 설계된 DevSecOps 프로세스에는 보안 인시던트를 검색, 대응 및 복구하기 위한 기본 제공 기능이 포함되어 있습니다.

  • 위협 감지: DevOps 도구 체인과 통합된 XDR(확장 검색 및 대응) 및 SIEM 솔루션을 구현합니다. XDR 솔루션은 응답 시간을 줄이는 자동화된 조사 및 응답 기능을 제공합니다.
  • 취약성 관리: 위험 기반 평가, 우선 순위 지정 및 수정을 위해 준비 중에 설정된 패치 관리 및 모니터링 도구를 사용합니다.
  • 인시던트 대응: 검색, 분석 및 수정 단계를 포함하는 인시던트 대응 계획을 개발하고 유지 관리합니다. 오케스트레이션된 워크플로를 통해 포함 작업을 자동화합니다.
  • 복구 절차: 인시던트에서 복구하기 위해 안전하고 유효성이 검사된 코드를 신속하게 배포할 수 있는 파이프라인을 디자인합니다. 복구 작업을 가능한 한 자동화하여 평균 복구 시간을 줄입니다.

정책 적용을 사용하여 DevSecOps 관리

보안 방법론의 거버넌스 지침은 DevSecOps 프로세스 전반에서 보안을 유지하는 데 필수적인 정책 기반 거버넌스를 강조합니다. 거버넌스는 정책을 한 번 정의하고 자동으로 적용하여 일관된 구현을 보장합니다.

코드로 정의하는 정책

자동화를 통해 거버넌스를 적용하는 DevSecOps 프로세스를 디자인합니다.

  • 클라우드 정책 적용 도구를 사용하여 조직 표준을 적용하고 배포 전체에서 대규모로 규정 준수를 평가합니다.
  • CSPM 보안 정책을 사용하여 보안 표준 준수를 자동화합니다.
  • 비규격 인프라의 배포를 차단하는 정책을 정의합니다. 이렇게 하면 사실 이후에 검색되지 않고 배포 시점에 보안 요구 사항이 적용됩니다.
  • 인프라 배포, 강화 조치, 데이터 보호 및 ID 관리 표준에 대한 거버넌스를 자동화합니다.

지속적인 규정 준수 모니터링

또한 거버넌스 지침은 실시간 인사이트 및 경고를 제공하는 자동화된 규정 준수 모니터링을 권장합니다.

  • CSPM 솔루션에서 보안 점수 컨트롤을 추적하여 간격을 정량화합니다.
  • 정책, 구성 기준 및 배포 파이프라인을 통해 드리프트 검색을 자동화합니다.
  • 감사 로그를 정기적으로 검토합니다. 장기 스토리지 및 상관 관계를 위해 DevOps 플랫폼 감사 로그를 중앙 집중식 SIEM 솔루션으로 스트리밍합니다.

DevSecOps 작업에서 보안 유지

보안 방법론의 관리 지침은 이전 단계에서 채택되고 제어되는 보안 제어가 시간이 지남에 따라 계속 유효하도록 보장합니다. 지속적인 개선을 지원하는 DevSecOps 프로세스를 디자인합니다. 예를 들면 다음과 같습니다.

  • 취약성 관리: 취약성 결과를 개발 백로그에 직접 통합하여 수정이 표준 스프린트 워크플로를 따르고 위험 점수가 지속적으로 추적되도록 합니다.
  • 위협 인텔리전스 통합: MITRE ATT&CK 기술 자료를 사용하여 위협 모델을 개발하고 보안 테스트를 알릴 수 있습니다. 인시던트 회고와 위협 인텔리전스를 백로그 세분화에 반영하여, 자세 변경이 실시간 적대적 행동과 조화를 이루도록 합니다.
  • 보안 메트릭: MTTD(평균 검색 시간), 보안 점수 추세 및 보안 검사와 같은 메트릭을 추적합니다. 이러한 메트릭을 사용하여 백로그 우선 순위를 높이고 관련자의 보안 향상을 보여 줍니다.
  • 시스템 무결성 모니터링: IaC 및 승인된 배포 프로토콜을 통해서만 인프라 변경을 적용합니다. 승인된 프로토콜 외부의 변경 내용을 즉시 조사합니다.