GrapheneOS: Pixel 11, 펌웨어에 MTE 지원 복귀했지만 OS에서는 여전히 비활성화
- GrapheneOS는 Pixel 11이 하드웨어 수준에서 최소한의 MTE 지원을 유지하며, Android 17 QPR2 Beta 4에서 펌웨어 지원이 다시 추가된 것을 확인함
- Pixel 11용 Android 17 QPR2 Beta 4는 MTE를 OS에서 완전히 비활성화한 상태이며, 펌웨어가 커널에 arm64.nomte를 무조건 전달함
fastboot oem mte on으로 태그 메모리를 예약하고 arm64.nomte를 무시하는 비표준 커널을 부팅하면 MTE를 시험할 수 있으며, GrapheneOS는 기능 완전성과 성능을 측정 중임- GrapheneOS는 구글이 CPU 캐시의 MTE 하드웨어 가속을 비용 절감을 위해 줄였고 성능이 나빠져 비활성화했을 가능성을 제기했지만, CPU 에라타인지 성능 문제인지는 아직 확인하지 못함
- GrapheneOS는 MTE 성능만 문제라면 Pixel 11을 지원할 수 있으나 큰 성능 저하를 감수해야 하며, Pixel 11은 Pixel 10보다 GPU가 낮아지고 기본 Pro 모델 RAM도 줄었다고 밝힘
Hacker News opinions
처음엔 MTE 자체가 없는 줄 알았는데, 실제로는 비활성화돼서 그렇게 보였던 거네. 이유는 성능이 너무 나빠서고, 비용 절감 때문에 캐시 쪽 가속을 뺐다는 추측임.
원래 글은 Pixel 11 출시 펌웨어에 MTE 지원 자체가 없었다는 뜻으로 읽혔음. 단순 비활성화와는 다른 주장 아닌가?
'비용을 아끼려고 그랬다'는 말에는 아직 근거가 없음.
성능 저하도 있지만 더 큰 문제는 MTE가 잘못된 메모리 접근을 SIGSEGV로 터뜨린다는 점임. 고치지 않은 앱이나 서비스가 자주 죽으면 일반 사용자는 폰이 불안정하다고 느낄 수밖에 없음.
MTE는 Armv9의 메모리 태깅 확장이고, 네이티브 코드의 use-after-free와 버퍼 오버플로를 잡는 하드웨어 기능임.
사실상 하드웨어 가속 AddressSanitizer라고 보면 됨.
Rust로 짜든지 MTE를 켜든지 해야 한다고 봄.
Pixel 8에 MTE가 들어갔을 때 구글이 다시 보안과 소프트웨어 품질을 챙기는 줄 알았음. iPhone 17도 지원한다는데 이러면 아쉬움.
수십억 달러 이익을 내는 회사가 플래그십 폰 부품비까지 줄이려 하나 싶음.
구글은 돈을 벌어도 Pixel 사업이 수익을 내는지는 별개일 수 있음.
GrapheneOS 쪽도 Pixel 11보다 10을 사는 편이 낫다고 했음. 11은 GPU가 낮아지고 기본 Pro RAM도 줄었으며, 아직 11 시리즈용 GrapheneOS도 없음.
셀룰러 모뎀이 앱 OS와 같은 시스템 자원에 동시에 접근하는 구조면 데이터가 평문으로 노출되는 것 아닌지 궁금함.
GrapheneOS 공식 지원 기기에서는 IOMMU가 베이스밴드 메모리 접근을 내부 메모리와 드라이버 공유 메모리로 제한한다고 설명함. Qualcomm 기기에서는 Wi-Fi와 Bluetooth도 별도 베이스밴드가 아니라 내부 샌드박스 프로세스임.
휴대폰에는 모뎀만 별도 OS인 게 아님. Titan 같은 보안 칩, TrustZone, 카메라, 저장장치, Wi-Fi와 Bluetooth에도 각각 펌웨어나 OS가 돌아감.
이건 품질 관리 사고라기보다 원가 절감으로 싼 부품을 고른 문제처럼 보임.
제목은 실제 상황보다 낙관적임. 구글이 출하 소프트웨어에서 Pixel 11의 MTE를 의도적으로 쓰지 않는다는 뜻이고, 성능 문제인지 CPU 에라타인지 아직 알 수 없음.
아무 문제 없고 아직 MTE를 쓰지 않을 뿐일 수도 있음. 나중에 쓸 때까지 비용을 줄이려고 가속과 GPU를 낮춘 것이라는 해석도 가능함.
GrapheneOS가 구글을 보안에서 압도한다는 인식은 정확하지 않을 수 있음. MTE 자체도 구글이 추진한 기술이고, 두 프로젝트는 요구사항과 선택하는 절충점이 다름.