피드로 돌아가기
Dev.toSecurity
원문 읽기
SLSA L3 도입을 통한 빌드 경로 무결성 확보 및 공급망 공격 원천 차단
SLSA Provenance Hands-on: Generate with GitHub Actions, Verify with slsa-verifier
AI 요약
Context
SBOM과 Code Signing만으로는 빌드 서버 내 소스 코드 조작(SUNSPOT 공격)을 감지할 수 없는 한계 존재. 서명된 바이너리라 하더라도 실제 신뢰할 수 있는 소스와 빌드 단계에서 생성되었는지 검증하는 Provenance 체계 부재.
Technical Solution
- slsa-github-generator를 통한 SLSA L3 수준의 Provenance 생성 구조 설계
- GitHub Actions Reusable Workflow를 활용하여 User-defined build steps(Data Plane)와 Provenance generation logic(Control Plane)을 물리적으로 분리
- OIDC 토큰과 분리된 프로세스/파일시스템 환경을 통해 빌드 내부 상태에 대한 사용자 접근을 차단함으로써 Tamper-resistant 빌드 플랫폼 구현
- in-toto Statement 기반의 Predicate를 DSSE Envelope로 래핑하여 서명된 메타데이터 생성
- slsa-verifier를 통한 빌드 경로 검증 프로세스를 도입하여 아티팩트의 변조 여부 및 출처 확인
실천 포인트
1. 현재 빌드 파이프라인이 사용자 정의 스크립트에 의해 서명 키나 인증 토큰에 접근 가능한 구조인지 검토
2. GitHub Actions 사용 시 Reusable Workflow를 도입하여 빌드 로직과 증명 생성 로직을 격리
3. 배포 전 단계에서 slsa-verifier를 통해 Provenance의 유효성을 검증하는 Admission Control 단계 추가
4. SBOM, Signature, Provenance 세 가지 요소가 모두 충족될 때만 배포를 허용하는 정책 수립