tuf

2 개의 포스트

datadog원문

TUF와 in-toto를 활용한 Datadog Agent 통합 기능의 안전한 배포 (새 탭에서 열림)

Datadog은 에이전트 통합 기능의 배포 주기를 에이전트 본체와 분리하여 자동화하는 동시에, 전체 공급망의 보안을 보장하기 위해 TUF(The Update Framework)와 in-toto를 도입했습니다. 기존의 TLS나 GPG 방식이 해결하지 못하는 인프라 침해 공격에 대응하기 위해, 개발자의 코드 커밋부터 최종 사용자의 설치 단계까지 모든 과정을 검증 가능한 구조로 설계했습니다. 이를 통해 Datadog은 자동화된 배포의 효율성과 '침해 저항성(Compromise-resilience)'을 갖춘 강력한 보안을 동시에 달성했습니다. ## 자동 배포의 필요성과 보안 과제 * **배포 주기 분리:** 수백 개의 통합 패키지를 에이전트 릴리스와 분리하여 독립적으로 업데이트함으로써 사용자에게 최신 기능을 신속하게 제공하고자 했습니다. * **기존 보안의 한계:** TLS 암호화나 단순 GPG 서명은 중간자 공격(MitM)은 방어할 수 있지만, 개발자와 사용자 사이의 인프라가 침해되어 코드가 변조되는 상황에는 취약합니다. * **침해 저항 시스템 구축:** 인프라의 일부가 장악되더라도 소프트웨어의 진본성과 무결성을 보호할 수 있는 CI/CD 시스템이 필요했습니다. ## in-toto를 통한 소프트웨어 공급망 검증 * **단계별 무결성 보장:** 소프트웨어 공급망을 코드 작성, 패키징(Wheel 파일 생성), 서명 등 일련의 고정된 단계로 정의하고 각 단계마다 입력과 출력에 대한 서명된 메타데이터를 생성합니다. * **최종 검증 과정:** Datadog 에이전트는 설치 시 서명된 메타데이터를 검사하여, 해당 패키지가 지정된 담당자에 의해 정의된 절차대로 생성되었는지 확인합니다. * **4단계 워크플로우:** 1. 개발자가 Python 소스 코드와 YAML 설정 파일을 작성합니다. 2. CI/CD 시스템이 소스 코드를 수신하여 Python Wheel(ZIP 파일)로 패키징합니다. 3. CI/CD 시스템이 동일한 Wheel 파일들에 대해 TUF 서명을 수행합니다. 4. 에이전트가 파일을 다운로드하여 개발자가 서명한 코드와 정확히 일치하는지 최종 확인합니다. ## TUF를 활용한 안전한 키 관리 및 전송 * **신뢰의 뿌리(Root of Trust):** in-toto가 공급망 단계를 검증한다면, TUF는 검증에 사용되는 공개키를 안전하게 배포, 취소, 교체하는 역할을 담당합니다. * **공격 방어:** 메타데이터의 일관성과 진본성을 보장하며, 공격자가 이전 버전으로 되돌리는 롤백(Rollback) 공격이나 무한 재생(Replay) 공격을 방지합니다. * **오프라인 부트스트래핑:** TUF를 통해 신뢰를 오프라인에서 구축하고 하드웨어 키로 개발자 서명 키를 보호함으로써 in-toto의 보안 보장을 더욱 공고히 합니다. ## Yubikey 기반의 하드웨어 보안 서명 * **키 유출 방지:** 개발자는 GPG 서명 키를 생성하고 저장할 수 있는 하드웨어 키(Yubikey)를 사용하며, 키는 장치 외부로 내보낼 수 없습니다. * **다중 보호 계층:** 서명 작업을 승인하기 위해서는 비밀번호(PIN) 입력과 장치에 대한 물리적인 터치가 반드시 필요합니다. * **사용 편의성:** CLI 도구를 통해 in-toto와 GPG 호출 과정을 투명하게 처리하여, 개발자의 업무 흐름을 방해하지 않으면서도 키 침해 위험을 최소화했습니다. ## 사용자 경험과 실용적 결론 * **투명한 보안:** 사용자는 평소와 다름없이 에이전트를 통해 통합 기능을 설치하지만, TUF나 in-toto가 공격을 감지하면 즉시 설치를 차단하고 상세한 오류 메시지를 표시합니다. * **업계 표준 지향:** Datadog은 이처럼 두 기술을 밀접하게 통합함으로써 보안 소프트웨어 배포가 단순히 '선택 사항'이 아닌 업계의 '표준'이 되도록 기여하고 있습니다. * **추천 사항:** 자동화된 CI/CD 환경에서 보안을 강화하려는 조직은 소프트웨어 공급망의 각 단계를 투명하게 기록하는 in-toto와 키 관리 체계를 담당하는 TUF의 조합을 검토할 필요가 있습니다.

datadog2분 읽기큐레이션 요약

TUF 및 in-toto를 이용

제공된 내용에는 본문이 아닌 Datadog 웹사이트의 내비게이션과 링크만 포함되어 있습니다. URL과 링크 경로로 보아 글은 Datadog Agent 통합 패키지를 안전하게 배포하기 위해 TUF와 in-toto를 적용하는 방법을 다룬 것으로 보입니다. 다만 본문이 없어 구체적인 설계, 구현 과정, 성능 및 보안 효과까지는 정확히 요약할 수 없습니다. ## 글의 주제: Datadog Agent 통합 배포 보안 - Datadog Agent는 다양한 외부 서비스와 연동하기 위해 통합(integration) 패키지를 사용합니다. - 이러한 패키지의 배포 과정에서는 다음과 같은 위험이 발생할 수 있습니다. - 배포 저장소나 전송 경로의 변조 - 악성 패키지 삽입 - 오래된 버전이나 취약한 버전으로의 롤백 - 빌드 및 배포 과정에서 생성된 출처 정보의 부족 - 글의 URL은 Agent 통합 패키지의 **안전한 공개(publication)** 를 핵심 주제로 삼고 있음을 나타냅니다. ## TUF를 활용한 패키지 무결성 검증 - TUF(The Update Framework)는 소프트웨어 업데이트와 패키지 배포를 보호하기 위한 프레임워크입니다. - 일반적으로 다음 기능을 제공합니다. - 패키지 서명 및 무결성 검증 - 서명 키 탈취에 대비한 키 역할 분리 - 키 교체와 폐기 - 만료된 메타데이터 차단 - 롤백 및 특정 버전 고정 공격 방지 - 따라서 Agent가 통합 패키지를 설치하거나 업데이트할 때 패키지가 Datadog이 승인한 경로에서 제공되었는지 확인할 수 있습니다. ## in-toto를 통한 공급망 출처 추적 - in-toto는 소프트웨어 공급망의 각 단계와 생성물을 검증하는 프레임워크입니다. - 빌드, 테스트, 서명, 게시 등 단계별로 다음 정보를 기록할 수 있습니다. - 어떤 단계가 실행되었는지 - 어떤 입력 파일이 사용되었는지 - 어떤 결과물이 생성되었는지 - 각 단계가 승인된 주체에 의해 수행되었는지 - 이를 통해 최종 패키지의 해시만 확인하는 것을 넘어, 패키지가 신뢰할 수 있는 빌드 파이프라인을 거쳤는지 검증할 수 있습니다. ## TUF와 in-toto의 결합 - TUF는 주로 “다운로드한 패키지가 신뢰할 수 있고 변조되지 않았는가”를 검증합니다. - in-toto는 “그 패키지가 어떤 공급망 단계를 거쳐 만들어졌는가”를 검증합니다. - 두 기술을 함께 사용하면 다음을 방어할 수 있습니다. - 배포 중 패키지 변조 - 서명 키 탈취 - 승인되지 않은 빌드 결과물 게시 - 빌드 단계 누락 - 구버전으로의 악의적 롤백 ## 제공된 자료의 한계 - 실제 본문이 포함되지 않아 다음 내용은 확인할 수 없습니다. - Datadog의 구체적인 TUF 메타데이터 구조 - in-toto 레이아웃 또는 증명서 형식 - 키 관리 및 키 회전 방식 - CI/CD 파이프라인 통합 방법 - 기존 배포 방식과 비교한 운영상의 변화 - 구현 결과와 보안성 평가 원문 본문이나 링크의 실제 내용을 제공하면, 구현 흐름과 보안 메커니즘까지 포함해 정확한 섹션별 요약을 작성할 수 있습니다.

원문 읽기(새 탭에서 열림)