메타 레이밴 스마트글래스서 임의 코드 실행, 펌웨어 126까지 DAT APK 서명 검증 없어
- 메타 AI 앱을 JADX로 리버싱해 OTAArtifactInfo의 downloadUri를 Frida로 후킹, CDN에서 펌웨어 zip을 받아 payload.bin을 payload-dumper로 풀고 이미지를 마운트함
- 기본값이 false인 GraphQL 필드 device_firmware_full_update_only를 true로 바꿔 156MB 증분 업데이트 대신 전체 펌웨어 URL을 받아냄
- 펌웨어 126까지 DAT APK 서명 검증이 없어서 자체 서명 APK를 글래스에 설치하고, 메타의 Camera Access 샘플 앱으로 DAT 세션을 열어 실행함
- 화면도 로그도 없는 기기라 android.media.ToneGenerator 비프음으로 코드가 도는 지점을 표시하며 디버깅함
- 메타에 제보했고 포상금 액수를 두고 몇 번 다툰 끝에 새 지급액을 받아들이기로 함
Hacker News 의견들
이거 최종 결과가 진짜 해킹인가? 내가 사서 폰에 페어링한 기기에서 비권한 셸 딴 것뿐인데, 스마트폰에 터미널 에뮬레이터 깐 거랑 다를 게 있나. 기기 소유권을 취약점으로 신고하는 게 맞냐?
해커뉴스에서 hack은 그냥 컴퓨터로 뭐 좀 한 거라는 뜻임. 여기 사람들 대부분 보안 엔지니어가 아니라 개발자라서 그런 거지.
기기가 안 해주는 걸 억지로 하는 게 해킹 아니면 뭐냐. 당연히 해줘야 하는 거지만 안 해주니까 해킹인 거임. 나도 당장 오토업데이트 끄고 해볼 거다.
근데 요즘 스마트폰이든 TV든 차 인포테인먼트든 비권한 셸 따는 게 되나? 오히려 컴퓨터가 아닌 제품에서 비권한 접근권이라도 얻는 게 희귀한 일임.
업데이트 나오면 이거 얼마나 버티나? 앱 샌드박스 안에서의 코드 실행 같아서 지속성은 없어 보이는데.
내가 산 기기에서 셸 따는 게 취약점으로 취급되는 게 슬프다. 마음대로 쓰고 싶은 사람은 보증 포기하고 개발자 모드 열게 해주면 되는데.
개발자 모드로 셸 열어주면 그게 그대로 익스플로잇 경로가 됨. 사이트가 시키는 코드 블록을 크롬 콘솔에 붙여넣는 사람이 얼마나 많은데. 경고 화면 크게 띄우는 일방향 개발자 모드가 답이라고 본다.
스마트글래스는 예외임. 시각이나 청각 장애인 보조 기술로 쓸 수 있는데 펌웨어가 유일한 방어선이라 몰래 녹음하는 도구랑 구분이 안 됨.
PS3 시절 감성으로는 OEM에 임의 코드 실행 제보하는 게 좀 슬프다. 널리 퍼진 취약점은 결국 패치되니까 타임라인을 앞당기는 셈임.
돈이나 커리어 때문에 제보하는 거지. 친한 친구한테만 말하는 사람도 많고, 글을 공개하는 것도 일종의 공개니까 회사에 연락하는 거임.
비슷하게 생겼는데 마음대로 만질 수 있는 스마트글래스 시장이 있을까? 경쟁이 좀 있어야 규제 논의도 될 텐데.
디스플레이 없는 건 그냥 카메라 달린 블루투스 헤드셋이라 저렴한 짝퉁 많음. 디스플레이 있는 건 부품이랑 제조가 문제라 자금 싸움임.
비프음 세는 것보다 모스 부호가 디버깅에 낫다는 얘기 들어봤음. 숫자는 특히 모스가 단순해서 좋다고.
APK 서명 검증을 펌웨어 업데이트로 넣었는데 그 검증 자체가 인증 안 된 설정값으로 제어된다는 게 웃김.