389
14
장
코드 배포
것이다. 이 목록을 활용해 여러분의 조직에 위협이 될만한 부분들도 반영해야 한다. 예제의 간
소화를 위해 선의의 내부자는
엔지니어
라고 부르고 악의적인 내부자와 외부 공격자는 모두
악의
적인 공격자
라고 부르기로 하자.
●
엔지니어가 실수로 시스템에 취약점을 유발하는 변경을 적용한다.
●
악의적인 공격자가 백도어를 사용할 수 있거나 시스템에 의도적인 다른 취약점을 유발하는 변경을 적용
한다.
●
엔지니어가 검토를 받지 않은 변경사항을 포함한 로컬 버전의 소스 코드를 실수로 빌드한다.
●
엔지니어가 잘못된 설정을 가진 바이너리를 배포한다. 예를 들어 테스트를 위해 디버그 기능을 활성화한
변경을 프로덕션 환경에 배포하는 경우다.
●
악의적인 공격자가 사용자 자격 증명을 노출하도록 변경한 바이너리를 프로덕션 환경에 배포한다.
●
악의적인 공격자가 클라우드 버켓의
ACL
을 수정해서 데이터를 유출한다.
●
악의적인 공격자가 소프트웨어를 서명하는 데 사용한 무결성 키를 훔친다.
●
엔지니어가 취약점을 내포한 것으로 알려진 이전 버전의 코드를 배포한다.
●
CI
시스템의 설정이 잘못되어 임의의 소스 리포지토리로부터 빌드 요청을 수신하게 됐다. 그 결과 악의
적인 공격자가 악의적인 코드를 가진 소스 리포지토리로부터 빌드를 실행할 수 있게 됐다.
●
악의적인 공격자가 서명 키를 유출하도록 작성된 빌드 스크립트를
CI
시스템에 업로드한다. 그런 후 공
격자는 키를 이용해 악의적인 바이너리를 서명하고 배포한다.
●
악의적인 공격자가
CD
시스템을 속여 ...