
잠금 상태의 기기에서 데이터 추출을 방지하기 위한 GrapheneOS의 보호 조치
요약
GrapheneOS가 잠금 상태의 기기에서 데이터 추출을 방지하기 위해 구현한 강력한 보안 메커니즘을 설명합니다. 디스크 암호화, 보안 요소(Secure Element)를 통한 속도 제한, 내부자 공격 저항성 및 강화된 메모리 보호 기술을 다룹니다.
핵심 포인트
- 보안 요소(Secure Element)를 통한 무차별 대입 공격(Brute-force) 방지 및 속도 제한 구현
- 펌웨어 업데이트 시 소유자 인증을 요구하여 내부자 공격 저항성 확보
- 패스프레이즈 길이 확장(128자) 및 2차 요소 지문 PIN 도입으로 보안과 편의성 균형
- MTE 등 하드웨어 기반 보안 기능과 강화된 메모리 할당기를 통한 익스플로잇 방어
GrapheneOS는 데이터 추출에 대해 강력한 방어 체계를 갖추고 있습니다. 이는 Android 17에서 제공하는 표준 보안 기능과 Android에서 사용 가능한 가장 안전한 하드웨어를 기반으로 구축되었습니다. 현재는 Pixel 기기만이 GrapheneOS가 요구하는 하드웨어 보안 기능과 업데이트를 제공합니다. 이는 Motorola Mobility와의 파트너십 및 Qualcomm의 기술 진보 덕분에 2027년에 변화될 예정입니다.
디스크 암호화 (Disk encryption)는 데이터에 대한 강력한 보호를 제공합니다. 가장 정교한 공격자라 할지라도 이를 직접적으로 깨뜨리기는 어려울 것입니다. 공격자들은 After First Unlock (AFU) 상태일 때 OS의 취약점을 악용하거나, PIN/비밀번호를 무차별 대입 공격 (brute force) 해야만 합니다.
Android 16 QPR2는 지연 시간을 늘리는 속도 제한 (rate limiting)을 구현하는 보안 요소 (secure element)를 요구합니다. 10회 실패 시 4시간 후, 15회 실패 시 41일 후에 재시도가 가능합니다. 총 20회의 시도만 허용됩니다. 사용 편의성을 위해, 반복되는 오류로 시도 횟수를 낭비하는 것을 방지하고자 최근 5회의 고유한 실패 시도를 조기에 거부합니다. GrapheneOS는 최신 세대의 보안 요소 속도 제한을 구현하는 기기만을 지원합니다.
지원되는 기기의 보안 요소 (secure element)는 내부자 공격 저항성 (insider attack resistance)도 갖추고 있습니다. 이는 보안 요소의 펌웨어 (firmware)를 업데이트하기 전에 소유자 (Owner) 사용자의 성공적인 인증을 요구함으로써 구현됩니다. 유효한 서명 키 (signing key)와 더 높은 버전 번호만으로는 충분하지 않습니다. 이 조치의 목적은 정부가 속도 제한을 제거하는 펌웨어 업데이트 생성을 강요함으로써 속도 제한을 우회하는 것을 방지하는 것입니다.
Pixel은 2017년 말 Pixel 2가 출시된 이후로 속도 제한과 내부자 공격 저항성을 구현하는 내부 타이머가 포함된 보안 요소를 사용해 왔습니다. 다음은 2018년의 관련 게시물입니다:
그 이후로 보안 요소와 OS 통합 수준은 훨씬 더 좋아졌지만, 이는 이러한 기능이 오래전부터 지속되어 온 것이며 새로운 기능이 아님을 보여줍니다.
GrapheneOS는 또한 비밀번호의 문자 제한을 16자에서 128자로 늘렸습니다. 이를 통해 보안 요소의 속도 제한에 의존하지 않고도 높은 엔트로피 (entropy)를 가진 diceware 패스프레이즈 (passphrases)를 사용할 수 있습니다.
생체 인식 잠금 해제 (biometric unlock)로 인해 강력한 패스프레이즈 (passphrase)의 보안성이 저하되는 것을 방지하면서도 사용하기 편리하게 만들기 위해, GrapheneOS는 선택 사항인 2차 요소 지문 PIN (2nd factor fingerprint PIN)을 추가합니다. 우리는 허용되는 지문 시도 횟수를 20회에서 5회로 줄였으며, 올바른 2차 요소 PIN을 입력하지 못하는 것도 이 시도 횟수에 포함됩니다. 이를 통해 '최초 잠금 해제 전 (Before First Unlock)' 단계에서 요구되는 주요 잠금 해제 방법으로 6~8개의 무작위 diceware 단어를 사용할 수 있으며, 편의성을 위해 짧은 PIN을 사용하는 '지문+PIN' 방식을 병행할 수 있습니다. 유효한 지문을 사용하면 화면 잠금 해제 및 하드웨어 키스토어 (hardware keystore)를 완료하는 데 필요한 2차 요소 PIN을 입력하라는 프롬프트가 나타납니다.
GrapheneOS는 강화된 메모리 할당기 (hardened memory allocators) 및 기타 기능들을 통해 OS에 대한 익스플로잇 보호 (exploit protections)를 크게 향상시켰습니다. 또한 익스플로잇 (exploits)을 방어하기 위해 하드웨어 메모리 태깅 (MTE)을 포함한 하드웨어 기반 보안 기능들을 적극적으로 활용합니다. 이러한 보호 조치들에 대한 부분적인 개요는 여기에서 확인할 수 있습니다:
[IMG:1]
GrapheneOS는 물리적 접근 (physical access)을 통한 공격에 대해서도 특화된 보호 조치를 추가합니다. 예를 들어, 기기가 잠겨 있는 동안에는 기본적으로 소프트웨어 및 하드웨어 수준에서 새로운 USB 연결을 차단하며, 활성화된 USB 연결이 더 이상 없으면 즉시 USB 데이터 통신을 비활성화합니다.
GrapheneOS는 2021년 6월에 잠금 상태의 기기 자동 재부팅 타이머 (locked device auto-reboot timer)를 출시했습니다. 이 타이머는 10분에서 72시간 사이로 설정할 수 있습니다. 우리는 이를 72시간으로 기본 설정하여 활성화한 후, 18시간으로 낮추었습니다. OS 종료 및 부팅 과정의 일부인 메모리 제로잉 (memory zeroing) 덕분에, 기기는 자동으로 '최초 잠금 해제 전 (Before First Unlock)' 상태로 돌아갑니다. 우리는 2024년 4월에 Pixel 기기들이 펌웨어 fastboot 모드로 부팅할 때 메모리 제로잉을 수행하도록 했습니다. Apple과 Google은 iOS 18.1과 Android 16에 잠금 상태의 기기 자동 재부팅 타이머를 추가했습니다. Android의 경우, Android 고급 보호 모드 (Android Advanced Protection Mode)를 통해 활성화할 수 있습니다. 우리의 구현 방식이 여러 이유로 더 우수하지만, 이는 그 자체로 유용한 기능입니다.
Android는 각 보조 사용자 (secondary user)와 프라이빗 스페이스 (Private Space)에 대해 별도의 암호화 키를 사용합니다. GrapheneOS는 보조 사용자를 위한 세션 종료 (end session) 또는 기본적으로 이를 수행하도록 하는 토글을 통해, 재부팅 없이도 두 상태 모두를 첫 번째 잠금 해제 전 (Before First Unlock) 상태로 되돌리는 기능을 지원합니다. 하지만 메인 사용자를 휴지 (at rest) 상태로 되돌리고, RAM에서 남은 데이터를 완전히 제거하며, 보안 요소 (secure element) 업데이트를 차단하기 위해서는 기기를 재부팅하는 것이 여전히 훨씬 더 좋습니다.
우리의 강압 PIN/비밀번호 (duress PIN/password) 기능은 더 큰 그림의 일부인 작은 기능입니다. 이 기능은 현재 프로필의 PIN 또는 비밀번호를 입력하라는 OS 프롬프트가 나타날 때 입력되면 기기를 초기화합니다. 이는 잠금 화면뿐만 아니라, 민감한 설정을 변경하거나 그 외 인증이 필요한 모든 상황의 인증 프롬프트에 입력되었을 때도 기기를 초기화합니다. 이 기능은 메인 사용자뿐만 아니라 보조 사용자 및 프라이빗 스페이스를 포함한 모든 프로필에서 작동합니다.
강압 PIN/비밀번호 기능을 사용하는 방법은 휴대폰 케이스에 적어두거나 지갑에 보관된 종이에 적어두는 것을 포함하여 여러 가지가 있습니다. 사람들은 기기를 초기화함으로써 발생할 수 있는 물리적 또는 법적 결과가 따를 수 있는 실제 강압 상황에서 이 기능을 어떻게 사용할지 신중하게 고려해야 합니다. GrapheneOS는 기기에서 데이터가 추출되는 것을 방지하기 위해 이 기능을 필수적으로 요구하지는 않지만, 이 기능을 사용하면 기기에 있는 각 프로필의 PIN/비밀번호가 있더라도 데이터를 완전히 복구하는 것을 불가능하게 만듭니다.
GrapheneOS는 사용자 데이터를 보호하기 위해 강압 PIN/비밀번호에 의존하지 않습니다. 이는 GrapheneOS가 제공하는 전반적인 주요 개인정보 보호 및 보안 개선 사항 중 하나일 뿐입니다. 우리의 기능 페이지에서는 표준 Android 17과 비교하여 GrapheneOS가 무엇을 제공하는지에 대한 개요를 제공합니다. 여기에는 우리가 제공하는 대부분의 주요 기능과 많은 부가 기능이 포함되어 있지만, 그 외에도 훨씬 더 많은 것들이 있습니다. 우리의 릴리스 노트 (release notes)는 기능이 추가, 변경 또는 제거될 때 모든 내용을 다루도록 보장하므로 훨씬 더 상세합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기