구글 개발 보안칩 타이탄…펌웨어 해킹 막는다

암호화키-인증 등 기술 활용 서버 해킹 방어

컴퓨팅입력 :2017/08/29 10:47

손경호 기자

구글이 클라우드 서버에 대한 해킹을 막기 위해 고안한 보안칩 타이탄의 작동원리가 공개됐다. 개별칩 마다 고유의 키를 갖도록 하고, 부팅이 이뤄지기 전에 펌웨어 원본 내용이 해킹됐는지 여부를 모니터링하는 방법을 썼다.

이 칩은 지난 3월 구글 클라우드 넥스트 '17에서 처음 공개된 바 있다.

최근 구글 클라우드 플랫폼은 공식 블로그를 통해 "구글은 타이탄 하드웨어 로직을 자체 제작해 하드웨어에 백도어가 심어질 기회를 줄인다"고 강조했다.

이 칩은 정부의 지원을 받는 첩보원들이 하드웨어를 중간에 가로채 악성코드가 담긴 펌웨어를 주입하지 못하도록 막는다. 공격자에게 서버가 장악 당해 부팅 전 단계에 실행되는 루트킷이 설치되면 백신 등 보안 프로그램이 설치되더라도 무용지물이다.

보안칩 타이탄.

이 같은 공격을 막기 위해 구글은 타이탑 칩을 개별 서버에 탑재해 클라우드 서비스를 운영할 때 각 서버가 고유의 ID를 가질 수 있도록 했다. 이를 통해 하드웨어가 펌웨어를 로딩하기 전에 안전하다는 사실을 확인해 주고 데이터센터를 보호하기 위한 암호화 기능을 제공한다.

구글 클라우드 플랫폼 엔지니어들은 "타이탄은 보안 애플리케이션 프로세서, 암호 기능 활용을 위한 보조 프로세서, 하드웨어 기반 난수생성, 정교한 키 계층 구조 임베디드 SRAM, 임베디드 플래시 및 읽기 전용 메모리 블록 등으로 구성된다"고 설명했다.

이 칩은 CPU와 기타 컴포넌트를 스캔해서 부팅 관련 펌웨어의 모든 바이트(byte)를 감시한다. 서버가 켜지면 읽기 전용 메모리로부터 코드가 실행돼 펌웨어가 조작됐는지 여부를 확인한다.

타이탄은 구글 클라우드 서버에 탑재된 펌웨어가 조작되지 않고 안전한지 여부를 확인해 준다.

이에 더해 타이탄은 암호화 기술 중 하나인 공개키기반구조(PKI)를 사용해 조작되지 않은 펌웨어가 맞는지를 확인하고 로딩한다. PKI는 호스트 시스템의 펌웨어를 확인한다. 이런 과정을 거친 펌웨어는 기기를 설정하고 부트 로더를 실행하고 OS를 정상 가동한다.

관련기사

구글에 따르면 타이탄은 제조 과정에서 각각 칩을 위한 유일한 키를 만들어 내며, 안전하게 이를 출처 정보와 함께 레지스트리 데이터베이스에 저장한다. 이 데이터베이스는 암호학적으로 키를 사용해 보호되며 오프라인에서 타이탄 인증기관(CA)을 통해 관리된다.

개별 타이탄 칩은 타이탄 CA에 직접 인증서명요청(Certificate Signing Requestsm, CSRs)을 해서 실제 제조된 칩이 맞는지를 확인한다.