재현 가능한 빌드

섬네일
재현 가능한 빌드(Reproducible builds) 또는 결정적 컴파일(deterministic compilation)은 결과 이진 코드를 재현할 수 있도록 하는 소프트웨어 컴파일 프로세스이다. 결정적 컴파일을 사용하여 컴파일된 소스 코드는 항상 동일한 바이너리를 출력한다.

재현 가능한 빌드는 신뢰 체인의 일부로 작용할 수 있다. 소스 코드에 서명할 수 있으며, 결정적 컴파일은 바이너리가 신뢰할 수 있는 소스 코드에서 컴파일되었음을 증명할 수 있다. 검증된 재현 가능한 빌드는 바이너리가 소스 코드와 일치하지 않는 공격(예: 공격자가 악성 코드를 바이너리에 삽입한 경우)에 대한 강력한 대응책을 제공한다. 이는 관련 공격이다. 공격자는 때때로 바이너리를 공격하지만 소스 코드는 공격하지 않는다. 예를 들어, 배포된 바이너리만 변경할 수 있거나 개발자가 일반적으로 검토하고 수정하는 소스 코드이기 때문에 탐지를 회피하기 위해서이다. 17명의 전문가를 대상으로 실시한 설문 조사에서 재현 가능한 빌드는 58.8%의 참여자에게서 매우 높은 유용성 평가를 받았지만 70.6%의 참여자에게서 높은 비용 평가를 받았다. 이러한 비용을 줄이기 위해 소프트웨어 개발 도구를 수정하려는 다양한 노력이 이루어지고 있다.

 각주 

 외부 링크 
 reproducible-builds.org
 Debian Reproducible Builds

분류:컴파일 도구