Google Cloud Platform 교육 받은 후기, 보안 관련해서는 잘 다뤄지지 않았지만
교육 도중 발견한 Google 보안 개요라는 white paper을 쉬는 시간에 중간중간 봤는데, 정말 정리 잘 되어 있어서 이걸 기록하기로 함
https://cloud.google.com/docs/security/overview/whitepaper?hl=ko
회사에서 보안문화가 어떻게 구성되어 있는지 투명하게 (무조건 오픈) 작성되어 있다. 전담보안팀이 보안엔지니어링, 보안위협 대응, 평가 및 감사 등 수행한다. 보안커뮤니티와의 연결도 매우 중요하게 생각한다고 작성되어 있으며, ProjectZero 전담 보안 취약점 연구팀도 소개하고 있다. 오픈소스활동과 리워드 프로그램 (Bug Hunters), 그리고 참여하는 보안프로젝트도 소개한다.
정보보안팀이 신입 온보딩에 어떤 프로그램을 진행하는지- 안전한 코딩 (Secure coding), 취약점 분석도구 등 - 실제로 수행하는지 모르겠지만 보안 프로세스 온보딩까지 white paper에 명시한 것은 처음 본다.
취약점 발견, 관리를 위한 점검 프로세스 및 침투 테스트 등을 수행하고 지속적으로 평가한다고 한다. 주로 네트워크 취약점을 위한 모니터링, 봇넷감시 등도 포함한다.
이슈관리도 prompt 대응 이런 것 뿐만 아니라 NIST 800-61 을 따른다고 명시해두었다. Incident response 저거 표준 지키는 혹은 지킨다고 말하는 곳조차 본 적이 없어서 신기함.
공급업체보안도 명시하는데, 커스텀 하드웨어/소프트웨어를 통해서 보안을 보장한다(?)고 되어 있다.
Google은 구성요소 공급업체를 심사한 후 신중하게 구성요소를 선택하여 공급업체와 함께 구성요소에서 제공하는 보안 속성을 감사하고 검증합니다.
결국 Titan 얘기였지만, 이런 것들도 구글이 클라우드 운영보안을 신경 쓴다고 생각된다.
클라우드에서 사실 제일 중요한건 데이터 라이프사이클에 관한 보안일텐데, 저장/전송 데이터보안 외에 그렇게 새로운 내용은 안 보인다.
공급망무결성이나 컨피덴셜컴퓨팅, Binary Authorization (BAB)에 대해 정리해본다.
DevOps팀에서 명시적으로 승인된 컨테이너 이미지만 배포할 수 있다.
정책적으로 허용된 것 외에, 포드 생성을 위한 통합 서명 검증 등 일련의 프로세스와 정책로그 등을 남겨서 사용자로 하용금 안전한 배포를 할 수 있게 해준다.
BAB 증명/인증서를 만들기 위한 서명 시스템인 듯 하다.
keyring 가져와서 서명하는 일반적인 방법인데, 가이드가 아주 잘 작성되어 있다.
워크로드 보호를 위한 인프라의 서비스 및 제어 기능이다.
인프라 보호를 위한 자동화 시스템을 통칭하는 것인데, Zero Trust를 구축하기 위한 목적이라고 한다.
엣지보호를 위해 하드웨어 신뢰증명, 워크로드 격리를 하는 것이 핵심인 것 같다.
결국 기술의 핵심은 gVisor나 Titan칩을 사용하는 것으로 보이는데, 이걸 묶어서 또 플랫폼화를 한 게 특이하다.
데이터 사용, 소유, 관리에 대해서 구글 직원의 접근권한이 어떻게 관리되고 있는지,
Kritis 서명을 사용하는 것은 일반적이지만 어떻게 서명할지 가이드가 잘 작성되어 있다.
Google은 공공 기관의 사용자 데이터에 대한 불법적이거나 과도한 요청을 방지하기 위해 운영 정책 및 절차와 기타 조직적 조치를 마련해 두었습니다. 법적 요청을 받으면 Google팀은 해당 요청이 현지 법규와 Google 정책에 부합한 요청인지를 검토합니다. 일반적으로 Google에서 요청을 수락하기 위해서는 요청이 서면으로 작성되어야 하고 관련 법규에 따라 발급되며 요청 기관의 승인된 공무원이 서명해야 합니다.
조금은 민감할 수 있는 사법기관이나 제3자의 데이터 요청에 대해서도 어떻게 대응하고 있는지도 작성하고 있다.
KMS를 위한 키 관리, 그리고 하드웨어생성 (HSM)을 어떻게 연계짓고 있는지에 대한 설명도 작성되어 있다.
키링 (keyring)은 리눅스에서 키를 관리하기 위한 일반적인 관리모듈인데 이를 GCP에서 어떻게 활용하는지 도식화하였다.
워크로드에 기밀데이터가 어떻게 소유자 제한을 통해 안전하게 격리되는지 설명하고 있다.
Trusted Execution Environment (TEE)를 사용해서, OpenID를 통해 자격증명을 하고 토큰 기반으로 리소스 보호를 한다고 한다.
결국 보안VM을 통해서 수행한다는 얘기로 보여서, 보안강화를 위해서는 격리나 자격증명이 최우선이라는 결론이다.