기타 Lobsters · 1일 전

호주판에만 구글 캐스트 넣어준 삼성 사운드바, 칩 뜯어서 직접 뚫어버린 양덕

핵심 요약
  • 미국판 삼성 사운드바에 구글 캐스트가 없자, 호주판에는 동일 기능이 있는 것을 확인한 작성자가 기기 개조에 나섰습니다.
  • 고장 난 기기를 구해 칩을 열풍기로 떼어내 펌웨어를 덤프하고, 삼성 디버그 프로토콜을 파고들어 사운드바 루트 권한을 탈취했습니다.
  • 국가 설정을 호주로 속이고 암호화 키 권한을 풀어 마침내 사운드바에서 구글 캐스트 기능을 강제로 활성화했습니다.
요약 미국의 한 유저가 삼성을 상대로 벌인 눈물겨운 '사운드바 구글 캐스트 개조기'가 화제입니다. 작성자는 삼성 Q800A 사운드바를 사용 중이었으나, 애플 에어플레이만 기본 탑재되어 있어 안드로이드 기반인 크롬캐스트 오디오를 광출력(TOSLINK)으로 연결해 쓰고 있었습니다. 그런데 거실 TV인 '더 프레임'이 대기 중 아트 모드일 때도 eARC 신호를 사운드바로 강제 전송하는 바람에, 음악을 들으려 해도 광출력이 꺼지고 TV 입력으로 자동 전환되는 불편을 겪었습니다. 그러던 중 작성자는 동일 모델의 호주판에는 구글 캐스트 기능이 공식 탑재되어 있다는 사실을 발견했습니다. 삼성 공식 펌웨어를 다운로드해 확인해 보니 미국판과 호주판의 암호화된 펌웨어 바이너리가 완전히 동일했습니다. 하드웨어와 펌웨어가 같은데 소프트웨어적으로 국가 제한이 걸려 있다는 뜻이었습니다. 이를 뚫기 위해 작성자는 이베이에서 고장 난 동일 기종을 구해 기판의 eMMC 플래시 메모리를 열풍기로 떼어낸 뒤 리더기로 직접 덤프했습니다. 삼성의 자체 파일시스템(VDFS4)을 읽기 위해 전용 리눅스 커널까지 빌드해 내부 파일을 분석했고, 타이젠 SDK의 sdb(디버그 브리지) 데몬을 띄우는 이더넷 칩셋 드라이버 및 포트 트리거 취약점을 알아냈습니다. 결국 사운드바 네트워크 포트에 특정 요청을 전송하고 USB OTG 랜 어댑터를 꽂아 사운드바의 루트(Root) 셸 권한을 획득하는 데 성공했습니다. 이후 내부 프로세스를 추적해 국가 코드 설정 변수를 미국(US)에서 호주(AU)로 변경하고, 권한 문제로 실패하던 키 프로비저닝을 루트 권한으로 수동 실행해 마침내 캐스트 API를 활성화시켰습니다. 마지막으로 기기 설정의 이용약관 동의(tos_accepted) 플래그를 수정하며 기능을 되살려내는 개발자의 집념이 감탄을 자아냅니다.
Sponsored · 광고