Google의 Titanium 하드웨어 보안 아키텍처

이 콘텐츠는 2024년 9월에 마지막으로 업데이트되었으며 작성된 당시의 상황을 나타냅니다. Google이 지속적으로 고객 보호를 개선함에 따라 Google의 보안 정책 및 시스템은 향후 변경될 수 있습니다.

Titanium 하드웨어 보안 아키텍처는 Google 서비스의 기반이 되며 Google 인프라의 많은 보안 대책을 뒷받침합니다. Titanium 하드웨어에는 Google 인프라의 특정 공격 벡터를 해결하기 위해 특별히 개발된 보안 마이크로컨트롤러, 하드웨어 어댑터, 오프로드 프로세서가 포함되어 있습니다.

Titanium 하드웨어는 Google의 지속적으로 진화하는 포괄적인 인프라 보안의 최신 발전사항으로, 사용자 데이터의 무결성, 기밀성, 가용성을 보호하는 데 도움이 됩니다. Titanium 하드웨어는 전송 중 암호화를 제공하는 암호화 하드웨어 오프로드 카드저장 데이터 암호화를 제공하는 내부 마이크로서비스를 비롯한 인프라를 기반으로 합니다.

이 문서에서는 Titanium 하드웨어 구성요소가 함께 작동하여 Google 시스템의 물리적 공격 표면을 보호하고 고객 데이터에 대한 위협을 완화하는 데 도움이 되는 보안 아키텍처를 만드는 방법을 설명합니다. 이 문서에서는 Titanium 하드웨어가 소프트웨어 레이어에서 특정 보안 제어를 사용 설정하는 방법, 초기 암호화 하드웨어 오프로드를 넘어 아키텍처가 진화한 방식, Titanium 하드웨어 보안 아키텍처가 Google의 고객 및 배포 기반 전반에서 완화하도록 설계된 실제 위협에 대해서도 설명합니다.

Titanium 하드웨어 보안 아키텍처

Titanium 하드웨어 보안 아키텍처는 다양한 시나리오와 위협 행위자로부터 방어하도록 설계되었습니다. 다음 아키텍처 다이어그램은 Titanium의 독립적이면서도 상호 연결된 구성요소를 보여줍니다.

Titanium 아키텍처 구성요소

Titanium 하드웨어 보안 아키텍처에는 다음 구성요소가 포함됩니다.

  • 측정을 위한 Caliptra 신뢰할 수 있는 루트(RTM): 각 실리콘 패키지의 보안 경계를 적용하는 데 도움이 됩니다. Caliptra RTM은 루트 암호화 서비스에 증명 및 고유 ID를 제공합니다.
  • Titan 칩 RoT: 플랫폼의 부팅 플래시와 베이스보드 관리 컨트롤러(BMC), 플랫폼 컨트롤러 허브(PCH), CPU와 같은 기본 부팅 기기 간에 개입됩니다. Titan 칩은 물리적으로 조작 방지되는 하드웨어 기반 RoT를 제공하여 강력한 ID를 설정하는 데 도움이 됩니다. 또한 Titan 칩은 머신, 카드 또는 주변기기의 코드 승인 및 취소에도 도움이 됩니다.
  • Titanium 오프로드 프로세서(TOPS): 저장 데이터와 전송 중 데이터의 기밀성 및 무결성을 보호하는 데 도움이 되는 암호화 제어를 제공합니다.
  • 커스텀 마더보드: 결함이 있거나 악성 소프트웨어의 DoS 공격에 대한 대규모 탄력성과 물리적 공격에 대한 보호를 제공합니다. 예를 들어 다이어그램에서 칩 패키지와 Titan RoT는 Titanium TOP용 커스텀 마더보드 또는 기타 인프라용 마더보드와 별개인 커스텀 마더보드에 있습니다.
  • 컨피덴셜 컴퓨팅 엔클레이브: Google의 관리 권한에 대한 격리를 시행하고, 다른 테넌트와의 격리를 개선하며, 증명을 사용하여 검증 가능성을 더하는 데 도움이 됩니다. 증명은 환경이 변경되지 않았음을 보장할 수 있습니다.
  • 백엔드 내결함성 리전화된 서비스: 서비스, 영역 또는 관리 액세스에서 권한 에스컬레이션을 방지하는 데 도움이 됩니다.

다이어그램에서 기타 인프라는 네트워크 패브릭 및 복제된 백엔드 스토리지를 나타냅니다.

Titanium 하드웨어 보안 아키텍처의 설계 원칙

Google의 Titanium 하드웨어 구성요소와 상호작용은 다음과 같은 기본 원칙을 사용하여 개발됩니다.

  • 단일 장애점 없음: Google 아키텍처는 여러 책임이 있는 단일 지지 구성요소와 같은 단일 장애점을 방지하도록 설계되었습니다. 안전하고 안정적인 시스템 구축에서는 단일 장애점을 방지하는 것이 얼마나 중요한지 설명합니다. 이 원칙은 Google의 물리적 인프라 전반, 모든 리전, 심지어 칩의 실리콘에까지 적용됩니다. Google의 글로벌 인프라 전반에 걸쳐 이러한 탄력성을 갖추면 고객 데이터를 안전하면서 사용 가능하게 유지할 수 있습니다.

    예를 들어 컨피덴셜 컴퓨팅을 사용한 라이브 마이그레이션은 지원되는 호스트 머신에서 암호화된 메모리를 보존하는 데 도움이 됩니다. 라이브 마이그레이션은 장기 실행 VM이 유지보수 이벤트 또는 취약점 대응으로 인해 단일 장애점이 되지 않도록 하는 데 도움이 됩니다.

  • 경계는 실리콘 패키지: 서버 시스템에는 상호 연결된 여러 개의 개별 단일 칩 시스템이 포함되어 있으므로 Google 아키텍처는 기본적으로 모든 커넥터, 패브릭, 인쇄 회로 기판 조립품(PCBA), PCBA 트레이스, 케이블을 신뢰하지 않습니다. 구성요소 분리는 모듈성에 유용하지만, 분리가 공격자에게 일반 텍스트 데이터를 스누핑할 수 있는 잘 정의된 대상을 제공하는 경우 약점이 될 수도 있습니다. 실리콘 패키지 내의 데이터는 패키지 내의 비공개 암호화 애셋에 의해 암호화되고 인증됩니다.

    경계를 실리콘 칩 자체로 이동하면 암시적 신뢰를 최소화하는 데 도움이 됩니다. 이 원칙은 데이터 센터 서빙 조건이 점점 다양해짐에 따라 발생하는 데이터 기밀성에 대한 위협을 해결합니다. 예를 들어 실리콘 패키지에 경계를 설정하면 악의적인 하드웨어 작업으로 인한 위협을 해결하는 데 도움이 됩니다.

  • 제로 트러스트 및 위험 구획화: 관리 작업에 대한 다자간 제어를 통해 직원 계정(또는 도용된 직원 계정)이 일방적으로 이 자료에서 논의된 위협을 유발할 수 없도록 합니다. 이 아키텍처는 서비스를 레이어와 영역으로 분리하여 위험을 구획화하고 억제합니다. 일반적으로 하드웨어 기반의 엔클레이브의 경우에도 이 아키텍처는 구성요소가 작동하는 동안 하드웨어 취약점을 발견하고 해결해야 할 필요성을 설명합니다.

    예를 들어 공격자가 Google 데이터 센터에서 고객 워크로드를 실행하는 활성 시스템 내에서 칩의 동작을 악의적으로 손상시키는 경우, 이 아키텍처는 손상된 칩을 식별하고 격리하도록 설계되었습니다. 그러면 해당 머신의 서비스가 중단될 수 있습니다. 머신의 서비스가 중단되지 않더라도 공격자는 추가 신뢰 경계를 무력화하고 여러 사용자 인증 정보를 도용하여 측면으로 이동한 다음 추가 시스템, 사용자, 리전에 영향을 미쳐야 합니다.

    독립적인 장애 도메인과 격리 기술은 보안 침해의 영향을 받는 영역을 제한하는 데 도움이 됩니다. 이러한 도메인과 기술은 탐지를 위한 자연스러운 제어 지점을 추가하고 발생할 수 있는 추가적인 복잡성을 제한합니다.

    제로 트러스트 구현에 관한 자세한 내용은 BeyondProd를 참조하세요.

  • 투명한 보안: Google에서는 오픈소스화, 연구 및 결과의 책임 있는 공개, 하드웨어 제조업체 생태계와의 파트너십 등 투명성을 갖추는 다양한 활동에 투자하고 있습니다. Google 글로벌 인프라는 Kerckhoffs의 원칙을 적용합니다. 이 원칙은 키를 제외한 시스템에 관한 모든 정보가 공개되어 있더라도 암호 시스템은 안전해야 한다는 것입니다.

    예를 들어 Google에서는 오픈소스 프로젝트에 참여하고 이러한 프로젝트를 보안 하드웨어 설계 및 보안 소프트웨어에 사용합니다. 다음 표에는 Google이 참여하고 사용하는 일부 오픈소스 프로젝트가 나와 있습니다.

    오픈소스 프로젝트 설명 Titanium 구성요소

    BoringSSL

    FIPS 140-3 Level 1 암호화 라이브러리에 사용

    BoringSSL

    Caliptra

    실리콘 수준의 신뢰할 수 있는 루트(RoT)에 사용

    Caliptra RTM

    OpenTitan

    시스템 아키텍처의 칩에 관한 RoT에 사용

    Titan 칩

    Syzkaller

    적용 범위 가이드 커널 퍼징에 사용

    호스트 ring0 및 사용자 VM 배포판

    PSP

    FIPS 140-3 Level 1 암호화 라이브러리에 사용

    Titanium 오프로드 프로세서

  • 물리적 및 논리적 심층 방어: Google에서는 물리적 데이터 센터 보안을 활용하여 자본 투자와 시스템을 보호합니다. 이러한 보안 제어는 초기 방어 레이어이므로 Google에서는 물리적 위협으로부터 시스템을 보호하기 위해 추가적인 논리적 제어에 의도적으로 투자하고 있습니다. Titanium은 하드웨어에 특정 인프라 위협에 대한 추가 방어를 제공하는 구획화를 하드웨어에 추가하여 심층 방어를 강화합니다.

    예를 들어 Google 데이터 센터에는 스토리지 미디어 데이터 무단 반출 시도를 정확하게 탐지할 수 있는 금속 탐지기가 있습니다. 하지만 Google의 저장 데이터 암호화 전략은 물리적 매체 보관에 의존하지 않도록 의도적으로 설계되었습니다. 이러한 논리적 제어와 물리적 제어는 독립적이고 상호 보완적인 레이어입니다.

    물리적 보안 제어와 논리적 보안 제어를 결합하면 내부자 위협에 대해 경계를 늦추지 않고 사용자 데이터의 기밀성을 보호할 수 있습니다.

Titanium 아키텍처 구성요소의 보안 이점

다음 표에는 하드웨어 및 소프트웨어 레이어 모두에서 Titanium 보안 아키텍처 구성요소로 얻을 수 있는 몇 가지 중요한 보안 이점이 나와 있습니다. 이러한 보안 이점은 다음 섹션에서 자세히 설명합니다.

보안 이점 아키텍처 구성요소

CPU 또는 GPU와 같은 단일 칩 시스템(SoC)의 실리콘 수준 트러스트 경계

Caliptra RTM

실리콘 수준 검증 가능성

Caliptra RTM

하드웨어 수준의 암호화 ID

Caliptra RTM, Titan RoT

예상되는 바이너리가 실행 중인지 확인

Caliptra RTM, Titan RoT

부팅 전반에서 지속적인 위협 완화

Caliptra RTM, Titan RoT

저장 데이터 및 전송 중 데이터의 기밀성 보호

암호화 관련 TOP

프로세서 수준 보호 오프로드(실물 카드 외)

암호화 관련 TOP

보안 내재화 설계, 물리적 공격에 대한 저항, 단일 Titan RoT에서 전체 시스템 펌웨어 복구를 지원하는 복원력 기능

커스텀 마더보드

물리적 조작 시도를 완화하는 데 도움이 되는 필수 커넥터만 있는 특수 제작 보드

커스텀 마더보드

머신 전체 시스템 소프트웨어 및 관리자 액세스로부터 암호화 워크로드 격리

컨피덴셜 컴퓨팅 엔클레이브

DRAM 암호화를 통한 변조 방지(사용 중 데이터 암호화 사용 설정)

컨피덴셜 컴퓨팅 엔클레이브

로컬 액세스 권한이 있는 공격자의 영향을 받는 영역 및 장벽 최소화

백엔드 내결함성 리전화된 서비스

다단계 구획

백엔드 내결함성 리전화된 서비스

측정을 위한 Caliptra 신뢰할 수 있는 루트

Caliptra RTM은 CPU, GPU, TPU와 같은 단일 칩 시스템(SoC)에서 실행되는 Google 생태계 내 펌웨어에 대한 신뢰와 투명성을 구축하는 데 도움이 됩니다.

Caliptra RTM의 이점은 다음과 같습니다.

  • 루트 암호화 서비스 제공: Caliptra RTM은 강력한 엔드 투 엔드 암호화 무결성 확인을 통해 손상된 중요한 코드와 구성을 탐지하는 데 도움이 됩니다. Caliptra RTM은 코드와 구성을 암호화 방식으로 측정하고, 고유한 하드웨어 보호 증명 키로 이러한 측정값에 서명하고, 기기의 신뢰성과 무결성을 증명하는 측정값을 보고할 수 있습니다. Caliptra RTM은 암호화 기기 ID와 마더보드에 대한 펌웨어 및 구성 무결성 측정값을 제공합니다.
  • 물리적 공급망 보안 완화: Caliptra RTM은 하드웨어가 정품이고 의도한 펌웨어와 소프트웨어를 실행하는지 확인합니다. 소프트웨어 공급망 보안과 함께 사용하면 Caliptra RTM을 통해 시스템에서 Google 또는 서드 파티에서 만든 펌웨어와 소프트웨어의 신뢰성과 무결성을 확인할 수 있습니다. 이 확인 프로세스를 통해 Caliptra RTM은 승인된 업데이트 전반에서 신뢰성과 무결성을 유지할 수 있으며 구성이 의도한 대로 유지되고 증명되도록 합니다.
  • 실행 중인 하드웨어에 직접 액세스해야 하는 물리적 침입으로부터 보호: Caliptra RTM은 칩의 실리콘 레이어에 내장되어 있으므로 애플리케이션 특정 통합 회로(ASIC)에 잘못된 펌웨어를 전송하려는 PCBA 인터포저 또는 악의적인 칩은 RoT를 성공적으로 공격할 수 없습니다. 예를 들어 공격자는 상대적으로 느린 속도의 SPI 버스로 조작하여 외부 RoT의 탐지 기능을 우회할 수 있습니다. 그러나 SoC 또는 ASIC 내에 삽입된 RoT는 공격자가 보안을 침해하기가 더 어려워집니다.

Titan 칩 신뢰할 수 있는 루트

Titan은 암호화 방식으로 기기 ID를 유지하고, 잘못된 소프트웨어 푸시로부터 방어하며, 취소를 사용하여 코드 신뢰성을 시행하도록 설계되었습니다.

강력한 암호화 기기 ID는 예상되는 바이너리를 실행하고 적법한 액세스를 식별 및 인증할 수 있는 검증된 머신으로만 Fleet이 구성되도록 합니다. 합법적인 액세스는 하드웨어 수준에서 시작됩니다.

기본적으로 프로덕션 머신은 신뢰할 수 있는 부팅을 사용하여 인증된 소프트웨어만 실행할 수 있도록 합니다. 신뢰할 수 있는 부팅은 모든 부팅 구성요소의 디지털 서명을 확인하고 인증에 실패하면 머신이 프로덕션 환경에 참여하도록 허용하지 않습니다.

추가적인 예방 조치로 기계어 코드 취소는 더 이상 승인되지 않은 소프트웨어 변경사항이 적용되지 않도록 합니다. Titan 칩의 취소 기능은 악의적인 공격(예: 롤백 또는 재생 공격) 뿐만 아니라 악의적이지 않은 안정성 또는 복원력 버그(예: 버그가 있는 이전 펌웨어의 실수로 인한 재설치 방지)를 완화하는 데 도움이 됩니다.

자세한 내용은 Google이 프로덕션 머신에서 부팅 무결성을 적용하는 방법을 참조하세요.

암호화를 위한 Titanium 오프로드 프로세서

암호화를 위한 Titanium 오프로드 프로세서(TOP)는 I/O 오프로드 중에 보안을 제공하는 데 도움이 됩니다. 이러한 TOP는 Titan 또는 Caliptra RTM으로 보호됩니다. TOP는 저렴한 비용으로 전송 중 데이터의 인증된 암호화와 저장 데이터의 인증된 암호화를 광범위하게 배포합니다. 인증된 암호화는 고객 데이터의 기밀성 및 무결성을 위해 암호화가 적용된다는 것을 의미합니다. TOP는 암호화를 관리하므로 여러 시스템 구성요소의 권한을 취소합니다. TOP는 데이터 보안 비밀성이 손실될 가능성을 최소화하면서 가용성과 같은 향상된 아키텍처 속성을 지원합니다.

커스텀 마더보드

Google 인프라의 커스텀 마더보드는 하드웨어 출처를 제공하도록 설계되었습니다. 마더보드는 여러 레이어에서 증명을 지원합니다. 마더보드 설계는 공격자가 악의적인 기기를 머신에 물리적으로 연결할 가능성이 매우 낮은 경우에도 고객 데이터를 보호합니다. Titanium 마더보드 설계는 디버그 포트, 읽기 전용 직렬 콘솔, 버스 커넥터 침입, 압출 신호와 같은 추가적인 보안 강화 메커니즘을 안정적으로 배포하는 데 도움이 됩니다.

TLS 및 ALTS는 머신이 켜져 있을 때 BMC 네트워크 스택에서 노출하는 유일한 허용 프로토콜입니다. X4 인스턴스와 같이 서드 파티 COTS 설계를 사용하는 머신의 경우 TOP는 해당 서드 파티 설계에 고유한 모든 관리 트래픽을 프록시합니다. 관리 트래픽을 프록시한다는 것은 Google 인프라가 인증, 승인, 전송 보안 또는 네트워크 보안을 위해 서드 파티 설계에 의존하지 않는다는 것을 의미합니다.

Titanium 커스텀 마더보드는 가용성과 복구성을 보장하기 위해 기본 제공되는 복구 및 백업 메커니즘을 갖도록 설계되었습니다. 대부분의 비정상 종료 또는 펌웨어 손상에서 자체 복원할 수 있습니다. 최신 설계를 사용하면 작동하는 단일 Titan RoT에서 전체 머신을 다시 빌드할 수 있습니다. 이러한 마더보드는 기능 전용 전원 구성요소와 재설정 신호를 사용하여 Titan RoT가 나머지 플랫폼과 전기적으로 독립되도록 보장하고 인증 및 복구를 위해 플랫폼의 펌웨어 페이로드에 대한 제어를 보호합니다.

컨피덴셜 컴퓨팅 엔클레이브

컨피덴셜 컴퓨팅은 신뢰할 수 있는 실행 환경(TEE) 또는 엔클레이브를 만들어 고객의 민감한 워크로드를 Google 관리 액세스로부터 격리합니다. 데이터가 CPU 또는 GPU에서 처리되면 컨피덴셜 컴퓨팅은 컴퓨팅 격리 및 인메모리 암호화를 통해 기술적 예방 조치를 제공합니다. 컨피덴셜 컴퓨팅은 악의적인 하이퍼바이저가 VM에 액세스하지 못하도록 합니다. 고객 워크로드의 경우 컨피덴셜 컴퓨팅은 의도치 않은 Google 직원의 액세스나 대규모의 잘못된 자동화 시스템 소프트웨어 작업이 발생하지 않도록 데이터 보안 비밀성 레이어를 제공합니다.

Titanium 아키텍처에서 사용 설정되는 고급 보안의 예로 하이퍼디스크 균형의 비밀 모드가 있습니다. 하이퍼디스크 균형의 비밀 모드는 Titanium 기반 블록 스토리지 오프로드, 컨피덴셜 컴퓨팅, Cloud HSM을 결합하여 하드웨어 기반 TEE를 만듭니다. 즉, 하이퍼디스크 균형의 비밀 모드는 하이퍼디스크 균형 솔루션입니다. 하이퍼디스크 균형의 비밀 모드는 민감한 키가 하드웨어 기반 TEE에서만 처리되도록 인프라를 격리합니다. 암호화 작업에 대한 서드 파티 검토에 관한 자세한 내용은 공개 보고서 – 하이퍼디스크의 비밀 모드 – DEK 보호 분석을 참조하세요.

백엔드 내결함성 리전화된 서비스

백엔드 내결함성 리전화된 서비스는 로컬 액세스 권한이 있는 공격자가 영향을 미치는 영역을 최소화하는 데 도움이 됩니다. Google 인프라는 권한이 있는 내부자 또는 손상된 서비스의 측면 이동으로부터 서비스, 시스템, 영역을 구획화하도록 설계되었습니다.

Google에서는 점점 더 광범위해지는 내부 ID 및 액세스 관리 시스템에 리전 정보를 포함시키기 위해 노력하고 있습니다. 리전 정보는 암호화 격리를 강화하므로 로컬 액세스 권한을 획득한 공격자가 계속 측면으로 이동하려면 서로 다른 인프라 서비스에서 여러 사용자 인증 정보를 도용해야 합니다.

공격으로 인해 프로덕션 머신이 환경에서 벗어나는 예방 조치가 트리거되는 경우(예: 시스템 전원이 꺼짐) Google의 내결함성 백엔드 인프라는 인근 머신에서 고객 데이터와 서비스의 지속적인 가용성을 보장합니다. Google의 인프라 제어에 관한 자세한 내용은 BeyondProdGoogle에서 프로덕션 서비스를 보호하는 방법을 참조하세요.

Google Cloud 인프라 공격 벡터

이 섹션에서는 Google Cloud의 일부 공격 표면을 구성하는 구체적인 물리적 및 논리적 위협을 설명합니다. Titanium 하드웨어 보안 아키텍처는 Google 인프라 및 저장된 사용자 데이터에 대한 고유한 위협을 해결하도록 특별히 설계되었습니다.

인프라 위협

Titanium 아키텍처는 다음과 같은 여러 카테고리의 위협으로부터 방어하도록 설계되었습니다.

  • 물리적 액세스 권한이 있는 악의적인 내부자: Google 직원은 하드웨어를 배포, 유지관리, 수리하기 위해 데이터 센터의 실제 기기에 액세스해야 합니다. 악의적인 직원이나 계약자는 Google 데이터 센터의 일부 머신을 물리적으로 수리해야 하는 타당한 비즈니스 사유가 있으므로 이 액세스는 잠재적인 공격 벡터가 됩니다.
  • 논리적 액세스 권한이 있는 악의적인 내부자: 데이터 센터에 대한 물리적 액세스 권한과 마찬가지로, 직원은 Google 소프트웨어 스택의 여러 수준을 개발하고 유지관리, 테스트, 디버그, 조정, 지원해야 합니다. 이러한 직원에는 개발자, SRE, 고객 대면 클라우드 엔지니어가 포함됩니다.

    이 위협에 대한 Google의 방어에 관한 자세한 내용은 Google에서 프로덕션 서비스를 보호하는 방법을 참조하세요.

  • 논리적 액세스 권한이 있는 외부 공격자: 외부 공격자는 Google Cloud 환경 내부에 발판을 마련한 후 다른 머신으로 측면 이동을 시도하여 민감한 정보에 대한 액세스 권한을 얻을 수 있습니다 외부 공격자가 사용하는 일반적인 전술은 합법적인 직원 또는 계약자 계정을 도용하여 시작하는 것입니다.

다음 다이어그램은 클라우드 환경 중 이러한 위협에 가장 취약한 부분을 보여줍니다.

이러한 위협에 대한 취약점

데이터 센터 서버의 공격 표면

다음 표에는 데이터 센터 서버의 일반적인 측면인 공격 노출 영역이 나와 있습니다. Titanium 하드웨어 보안 아키텍처는 이러한 위협으로부터 강력하게 방어하도록 설계되었습니다.

공격자 대상 공격 표면 위험

물리적 액세스 권한이 있는 악의적인 내부자

스토리지 미디어(SSD, HDD 또는 부팅 드라이브)

물리적 드라이브 및 커넥터

이 공격은 드라이브를 도용하고 공격자의 도구로 드라이브에 액세스하려고 시도할 수 있습니다.

DIMM

물리적 메모리 커넥터

이 공격은 DIMM을 중단하고 데이터 센터에서 DIMM을 제거하고 공격자 자체 도구를 사용하여 DIMM의 데이터에 액세스하려고 시도할 수 있습니다. 이 위협을 콜드 부팅 공격이라고도 합니다.

서버

USB 또는 PCIe 커넥터

이 공격을 통해 악성 하드웨어를 서버에 연결할 수 있습니다. 공격자는 악성 하드웨어를 사용하여 코드 실행을 획득하거나 상주 데이터를 유출하려고 시도할 수 있습니다.

마더보드

공동 테스트 액세스 그룹(JTAG) 확장 디버그 포트(XDP)

이 공격은 하드웨어 디버깅 도구를 연결하여 코드를 실행하거나 CPU에서 처리되는 데이터에 액세스할 수 있습니다.

네트워크

이더넷 케이블

이 공격은 이더넷 케이블을 감청하여 기기 간에 전송되는 모든 데이터에 액세스할 수 있습니다. 그러면 모든 일반 텍스트 트래픽을 관찰할 수 있습니다.

마더보드

펌웨어

이 공격으로 인해 영구적인 악의적인 펌웨어가 발생할 수 있습니다. 이 펌웨어는 보안 침해된 제조업체에서 사전 설치했을 수도 있고, 전송 중에 차단되었을 수도 있고, 내부자가 업데이트했을 수도 있습니다. 이 위협으로 인해 루트킷이 포함된 사전 해킹된 하드웨어가 서버에 백도어 액세스를 제공할 수 있습니다.

논리적 액세스 권한이 있는 악의적인 내부자

컴퓨팅 워크로드(예: VM)

로그인 지점

이 공격은 내부자 사용자 인증 정보를 사용하여 VM 또는 호스트와 여기에 있는 데이터에 직접 액세스할 수 있습니다.

패브릭 라우터

물리적 또는 관리 액세스

이 공격은 패브릭 라우터에 대한 루트 제어 권한을 획득하여 모든 트래픽을 도청하고 패브릭에서 전송 중인 일반 텍스트 데이터를 무단 반출하거나 조작할 수 있습니다.

마더보드

펌웨어

이 공격으로 인해 결함이 있는 펌웨어 이미지가 마더보드로 푸시되어 마더보드가 영구적으로 작동하지 않게 되고 데이터를 복구하지 못하게 될 수 있습니다.

공격자는 알려진 취약한 펌웨어를 머신에 푸시하여 원격 코드 실행을 지원하는 익스플로잇을 사용해 제어 권한을 다시 얻을 수 있습니다.

논리적 액세스 권한이 있는 외부 공격자

서버

VM

이 공격은 VM에서 공개 부채널 공격 패턴을 실행할 수 있습니다. 이러한 공격은 동일한 하드웨어에서 실행 중인 인스턴스 또는 호스트 시스템 소프트웨어에서 데이터를 유출할 수 있습니다.

SSD

VM

이 공격은 PCIe SSD에 직접 액세스하여 공동 테넌트 데이터를 추론할 수 있습니다.

메모리

VM

이 공격 벡터는 부채널을 사용하여 메모리에서 중요한 암호화 키를 검색할 수 있습니다.

서버

베어메탈 VM

이 공격 벡터는 베어메탈 인스턴스를 사용하여 모든 주변기기를 스캔하여 머신에 지속되고 후속 테넌트를 공격할 수 있는 취약한 구성요소를 찾을 수 있습니다.

Titanium 하드웨어 구성요소를 위협에 매핑

Titanium 하드웨어 보안 아키텍처는 다중 레이어 접근 방식을 사용하여 특정 인프라 위협을 해결하고 단일 장애점을 방지합니다. 이러한 위협은 실수나 악의적인 행위자로부터 비롯될 수 있습니다. 이러한 위협은 하드웨어 작업에 걸쳐 발생하며 서버, 네트워크, 컨트롤 플레인의 취약점을 익스플로잇할 수 있습니다. 이러한 모든 공격 벡터를 해결할 수 있는 단일 솔루션은 없지만 Titanium의 결합된 기능은 사용자 데이터와 클라우드 컴퓨팅 인스턴스를 보호하는 데 도움이 됩니다.

시나리오: 악의적인 하드웨어 작업

악의적인 하드웨어 작업은 데이터 센터에서 데이터를 무단 반출하고 하드웨어 및 펌웨어를 수정할 수 있으므로 데이터 보안에 위협이 됩니다. Google의 Titanium 하드웨어 보안 아키텍처는 암호화 RoT, 커스텀 마더보드, I/O 프로세서를 비롯한 다양한 보안 조치를 사용하여 이러한 위협으로부터 방어하는 데 도움이 됩니다. 이러한 구성요소는 함께 작동하여 다양한 공격에 저항하는 계층화된 방어를 제공합니다.

다음 표에는 일부 악의적인 하드웨어 위협과 Titanium 아키텍처가 이를 완화하는 방법이 나와 있습니다.

위협 Titanium 완화

공격자가 데이터 센터에서 개별 데이터 드라이브의 데이터를 무단 반출하여 해당 데이터에 액세스합니다.

스토리지 제품 및 서비스의 저장 데이터 암호화 키는 스토리지 미디어가 연결된 머신에 영구적으로 저장되지 않습니다. 스토리지 미디어에서 기본 제공되는 자체 암호화 기능도 심층 방어를 위해 사용 설정되며 미디어 자체에 영구적으로 저장되지 않는 키를 사용합니다.

Caliptra RTM을 사용하면 Google에서 키 관리 서비스에서 스토리지 서비스 인스턴스로 키를 보내는 데 필요한 승인 조건에 신뢰할 수 있는 루트 하드웨어 ID 및 펌웨어 무결성을 포함할 수 있습니다. 의도치 않은 펌웨어로 악의적으로 구성된 머신은 저장된 데이터를 복호화하는 데 필요한 키에 액세스할 수 없습니다. 실리콘 패키지 내에 삽입된 RoT는 칩 패키지 내에 관련 암호화 ID를 고정합니다.

단일 기능 인터포저는 데이터 영역 보안의 주요 부분이며 모든 처리 단계에서 데이터를 암호화합니다. TOP는 다음과 같은 이점을 제공합니다.

  • 워크로드에서 발생하는 모든 NVMe 명령어가 서드 파티 SSD 미디어에 도달하기 전에 적절하게 정리되도록 하기 위한 실리콘 인터포저 역할을 합니다.
  • 키를 관리하고 하드웨어 데이터 경로에서 직접 암호화를 수행하기 위해 비공개 암호화 컨트롤러가 포함된 커스텀 Google SSD 설계를 포함합니다.
  • 암호화되고 무결성이 보호되는 비용 효율적인 수평 확장 스토리지를 사용 설정합니다.

dm-crypt와 같은 검증된 소프트웨어 솔루션은 일부 부팅 드라이브 사용 사례와 같이 공격 표면을 줄이는 것이 가장 중요한 저성능 드라이브에 사용됩니다.

공격자가 네트워크 케이블을 감청하고 전선이나 광섬유에서 바이트를 읽습니다.

TOP는 전송 중 데이터를 암호화하므로 위협이 네트워크에서 중요한 데이터를 스니핑할 기회가 없습니다.

Google NIC는 PSP 하드웨어 오프로드 표준을 사용합니다. 이 표준은 성능 저하를 최소화하면서 비용 효율적인 암호화를 제공합니다. 이러한 구현은 FIPS를 준수합니다.

고객 데이터는 ToR(Top of Rack) 또는 패브릭 스위치를 통과할 때 암호화됩니다. 일부 머신러닝 인프라는 독점 전송 보안 메커니즘을 사용합니다.

공격자가 데이터 센터 또는 공급망에서 변경 가능한 코드를 보유한 플래시 칩을 교체하여 서버에서 악성 코드를 실행합니다.

Titan 칩은 공격을 거부하도록 설계되었으며 내부에 저장된 사용자 인증 정보에 대한 액세스 권한을 제공하지 않습니다. 공격자가 비휘발성 플래시 칩의 콘텐츠를 재작성하더라도 Titan RoT는 기기를 차단하도록 설계된 Google의 컨트롤 플레인에 코드 측정값을 안전하게 보고합니다. Google에서는 Titan 칩을 사용하여 Fleet에서 전 세계적으로 지원 중단되었거나 알려진 취약한 코드를 정기적으로 취소합니다.

공격자가 데이터 센터 서버 또는 카드의 물리적 인터페이스에 적대적 기기를 삽입하여 악성 코드를 실행하거나 데이터를 무단 반출합니다.

커스텀 마더보드 설계는 적대적 기기를 삽입하는 데 사용되는 인터페이스를 삭제합니다.

모든 펌웨어에서 PCIe 스크리머를 방지하기 위해 입력-출력 메모리 관리 단위(IOMMU) 구성이 적용되어 있습니다. (PCIe 스크리머는 PCIe 패브릭에서 임의의 패킷을 읽고 쓰도록 설계되었습니다.) 업계가 성숙함에 따라 Google에서는 PCI IDE를 통해 이 보호 기능을 보완하여 더욱 정교한 PCI 인터포저에 대한 위험을 추가로 완화합니다.

ALTS 및 TLS는 TOP 및 BMC의 제어 및 관리 기능에 대해 허용되는 유일한 인증 및 승인 네트워크 연결입니다.

Caliptra RTM은 승인되지 않은 펌웨어를 차단합니다. 신뢰할 수 있는 주변기기는 Google의 컨트롤 플레인에 하드웨어 ID 및 코드 무결성을 증명하며, 증명 레코드가 하드웨어 및 소프트웨어 인텐트와 일치하지 않으면 서버가 프로덕션에 허용되지 않습니다.

공격자가 데이터 센터에서 콜드 부팅 공격을 사용하여 RAM의 데이터에 액세스합니다.

컨피덴셜 컴퓨팅 인메모리 암호화는 RAM의 민감한 정보 또는 암호화 키를 보호합니다. 또한 보안 수준이 낮은 에지 데이터 센터에 컨피덴셜 컴퓨팅 없이 배포된 머신에서도 DRAM 암호화가 사용 설정됩니다.

시나리오: 악의적인 사용자가 서버 또는 네트워크를 익스플로잇하는 경우

공격자는 퍼블릭 클라우드를 사용하여 Google의 공유 인프라에 악의적인 워크로드를 호스팅하고 Google의 공개 서비스에 데이터를 저장할 수 있습니다. 개인에서 국가에 이르기까지 외부 공격자가 원격 권한이 있는 액세스를 시도할 수도 있습니다.

이러한 작업을 완화하기 위해 Titanium 하드웨어 보안 아키텍처는 Titan 칩과 Caliptra RTM을 사용하여 런타임 사용자 인증 정보를 안전하게 프로비저닝하고 하드웨어 및 운영체제의 권한을 제한합니다. 컨피덴셜 컴퓨팅은 물리적으로 또는 하이퍼바이저 공격을 사용하여 시스템 메모리 조작을 방지하는 데 도움이 되며, Titan 칩은 승인되지 않은 소프트웨어 업그레이드를 거부하거나 탐지합니다.

다음 표에는 서버 및 네트워크 익스플로잇 위협과 Titanium 아키텍처가 이를 완화하는 방법이 나와 있습니다.

위협 Titanium 완화

공격자가 취약점을 익스플로잇하여 VM에서 벗어나고 동일한 머신에서 실행되는 데이터 및 다른 VM에 액세스합니다.

컨피덴셜 컴퓨팅 엔클레이브는 처리 중인 워크로드 데이터 또는 저장된 워크로드 데이터의 무단 반출을 차단합니다. 이 완화 조치는 VM에서 벗어난 공격자가 사용 중 데이터에 액세스하지 못하도록 차단합니다.

Titan 칩 및 Caliptra RTM은 공격자가 지속적으로 액세스하지 못하도록 차단합니다. 머신 구성이 해당 서버의 구성 및 코드 정책과 일치하지 않으므로 지속적인 액세스 시도가 탐지될 가능성이 높습니다. 일치해야 머신이 재부팅 후 프로덕션 워크로드를 호스팅할 수 있습니다.

공격자가 VM에서 공개 부채널 공격 패턴을 실행합니다.

Titan 칩을 사용하는 Google의 Fleet 관리 시스템은 알려진 취약한 소프트웨어를 취소할 수 있습니다. 취소하면 이러한 알려진 취약점을 노리는 후속 공격을 차단할 수 있습니다. 또한 Titan 기반 무결성 측정값은 긴급하게 배포해야 할 수 있는 완화 조치가 대상 머신에 배포되었음을 확신할 수 있도록 합니다.

Google에서는 retpoline 및 코어 예약과 같은 기법과 Meltdown, 스펙터, Zenbleed, Downfall 등에 관한 고급 연구를 통해 부채널 조사 및 완화 조치의 선두에서 이 접근 방식을 강화하고 있습니다.

공격자는 여러 테넌트에 스토리지를 제공하는 SSD에 직접 액세스하여 공동 테넌트 데이터를 추론하려고 시도합니다.

저장 데이터 암호화는 다양한 인터포저를 사용하여 논리적 공격과 물리적 공격으로부터 보호하는 데 도움이 됩니다. 공유되지 않는 리소스의 경우 각 테넌트의 데이터가 서로 다른 키를 사용하여 암호화되므로 SSD에 대한 직접 액세스 공격의 기회가 줄어듭니다.

공격자가 메모리를 스캔하고 부채널을 사용하여 데이터 암호화 키 또는 사용자 인증 정보를 검색합니다.

Titan 칩을 사용하면 머신별로 봉인된 사용자 인증 정보를 프로비저닝할 수 있습니다. 공격자가 한 대의 머신에서 루트 액세스 권한을 획득하더라도 사용자 인증 정보는 로컬 Titan 칩의 비공개 ID에만 바인딩됩니다.

공격자가 베어메탈 인스턴스를 구매하고 모든 주변기기를 스캔하여 지속적인 액세스 권한을 얻으려고 시도합니다.

Titan 칩은 지속적인 제어를 위한 악의적인 푸시를 비롯한 승인되지 않은 소프트웨어 업그레이드를 거부합니다. Google의 머신 워크플로는 베어메탈 고객 간에 전체 시스템에서 증명된 전원 주기에서 예상되는 무결성 측정값을 긍정적으로 확인합니다.

시나리오: 악의적인 컨트롤 플레인 동작으로 인한 서버 또는 네트워크 익스플로잇

악의적인 컨트롤 플레인 내부자는 패브릭 라우터에 대한 루트 제어 권한을 획득하려고 시도하고, 결함이 있는 펌웨어 이미지를 마더보드에 푸시하고, 네트워크 트래픽을 감청하는 등 다양한 방법으로 Google 시스템을 익스플로잇하려고 시도할 수 있습니다. Titanium 하드웨어 보안 아키텍처는 Titan 칩, Caliptra RTM, 커스텀 마더보드, 백엔드 내결함성 격리된 서비스 등 다양한 메커니즘을 사용하여 이러한 위협으로부터 방어합니다.

다음 표에는 일부 컨트롤 플레인 위협과 Titanium 아키텍처가 이를 완화하는 방법이 나와 있습니다.

위협 Titanium 완화

공격자가 내부자 사용자 인증 정보를 사용하여 고객 환경의 기반 레이어 역할을 하는 Compute Engine VM에 액세스합니다.

TOP는 관리자가 고객 환경에 액세스하지 못하도록 합니다. 액세스 권한이 없는 Google 직원은 사용자 인증 정보를 사용하여 고객 VM 아래의 권한이 있는 하드웨어 및 소프트웨어 레이어에 액세스할 수 없습니다. 정의된 API를 통해서만 데이터에 액세스할 수 있으므로 Google 내부자가 고객 데이터에 액세스하는 것이 차단됩니다.

공격자가 결함이 있는 펌웨어 이미지를 대규모로 마더보드에 푸시하여 영구적으로 작동 불가 상태로 만듭니다.

Titan 칩 RoT는 지속적인 제어를 위한 악의적인 푸시를 비롯한 승인되지 않은 소프트웨어 업그레이드를 거부합니다.

커스텀 마더보드 설계는 모든 RoT를 플랫폼 RoT에 상호 연결하는 대체 신호 네트워크를 사용합니다. 플랫폼 RoT는 중요한 기기의 백업 펌웨어를 보유합니다. 공격자가 네트워킹 및 PCI를 비활성화했더라도 대역 외(OOB) 네트워크를 통해 시스템을 복구할 수 있습니다.

공격자가 알려진 취약한 프로덕션 펌웨어를 지원 중단된 상태로 머신에 푸시하여 공개 취약점을 사용해 제어 권한을 다시 얻습니다.

Titan 칩은 잘못된 푸시를 거부하고 알려진 취약한 코드의 취소를 시행하는 데 도움이 됩니다. 머신에 배포된 펌웨어 버전을 증명하고 컨트롤 플레인에서 머신을 거부합니다. 이 완화 조치는 비정상적인 머신에서 작업이 실행되지 않도록 방지하고 필요에 따라 조사 또는 수리를 트리거합니다.

공격자가 비즈니스 연속성에 필요한 실리콘 디버깅 기능을 악용하여 서버 시스템에서 상상할 수 있는 가장 높은 수준의 데이터 액세스를 제공합니다.

Caliptra RTM은 논리적으로 연결되었는지 여부와 관계없이 직접 물리적 삽입을 통해 침습적 디버그 인터페이스를 사용 설정하는 모든 파라미터가 신뢰할 수 있는 방식으로 구성되고, 암호화 방식으로 측정되며, 증명 프로토콜을 사용하여 컨트롤 플레인에 보고되도록 합니다. 의도한 상태의 머신만 프로덕션 워크로드를 제공할 수 있는 액세스 권한을 얻습니다.

공격자가 고객 환경에 액세스할 수 있도록 백엔드 서비스 하나를 제어합니다.

백엔드 내결함성 리전화된 서비스는 일방적인 수동 액세스를 허용하지 않는 리전화된 사용자 인증 정보 인프라입니다. 운영자가 컴퓨팅 노드에 로그인하는 것을 방지하는 것 외에도 운영자는 컨트롤 플레인에 로그인하여 키 자료를 가져올 수도 없습니다.

Titanium 아키텍처의 컨피덴셜 컴퓨팅 엔클레이브는 백엔드 승인 및 키 프로비저닝 서비스를 머신 루트 권한에서 격리합니다.

키 계층 구조는 대부분의 서비스의 서명 및 승인 키를 보호하는 데 도움이 됩니다. 키 계층 구조를 사용하면 루트 키는 HSM 및 금고에 보관되는 에어 갭 적용 키 또는 인메모리 데이터 스토어의 Paxos 쿼럼에 의해 프로덕션에 보관되는 키입니다.

다음 단계