BETAFPV P1 Air Unit 해킹: 디지털 무선 채널로 남의 영상 보내기
Habr에 BETAFPV P1 Air Unit 디지털 영상 송신기를 자세히 분석한 글이 올라왔습니다. 저자는 FPV 영상 시장에 아날로그와 디지털이 있는데, 디지털 제조사는 DJI, Walksnail, HDZero, Siyi 정도만 손꼽을 수 있었다고 설명합니다. 이제는 BETAFPV, HGLRC 등도 자체 시스템을 내놓았고, 애호가들은 이들 모두에 같은 Artosyn 칩이 들어 있다는 것을 금방 알아챘습니다.
P1 Air Unit 안에는 Linux 4.9와 BusyBox가 돌아가는 Artosyn AR9311 SoC가 있고, 무선 채널은 FreeRTOS에서 돌아가는 별도 칩 AR8030이 맡습니다. 저자는 root 콘솔이 열린 UART를 찾았고, 결국 비밀번호도 문맥상 후보 몇 개 가운데에서 찾아냈습니다. 제조사가 누군가 내부를 들여다보리라고는 예상하지 못한 전형적인 사례입니다.
가장 흥미로운 부분은 여기부터입니다. 인코더 스트림을 통째로 바꾸는 방법은 통하지 않았습니다. 고글이 스트림을 디코딩하기는 하지만 안정적으로 동작하지 않았기 때문입니다. 그래서 저자는 LD_PRELOAD로 하드웨어 H.265 인코더에 프레임을 넘기는 함수를 가로채, 인코더 입력 픽셀을 바꿔 치웠습니다. 그 결과 고글에는 원래 카메라에서 온 것처럼 다른 영상이 나타납니다. 재미있는 점은 1080p 프레임을 인코더가 서로 독립된 두 띠(1920×560, 1920×552)로 나눠 압축한다는 것인데, 지연 시간을 줄이기 위한 설계로 보입니다.
이런 글은 그냥 날기만 하는 사람에게도 도움이 된다고 생각합니다. 새롭고 저렴한 디지털 시스템이 어떻게 설계되어 있고 왜 이렇게 쉽게 분석되는지 알 수 있기 때문입니다. 리버스 엔지니어링에 관심이 있다면 전문을 읽어 볼 만합니다.
출처: Habr
P1 Air Unit 안에는 Linux 4.9와 BusyBox가 돌아가는 Artosyn AR9311 SoC가 있고, 무선 채널은 FreeRTOS에서 돌아가는 별도 칩 AR8030이 맡습니다. 저자는 root 콘솔이 열린 UART를 찾았고, 결국 비밀번호도 문맥상 후보 몇 개 가운데에서 찾아냈습니다. 제조사가 누군가 내부를 들여다보리라고는 예상하지 못한 전형적인 사례입니다.
가장 흥미로운 부분은 여기부터입니다. 인코더 스트림을 통째로 바꾸는 방법은 통하지 않았습니다. 고글이 스트림을 디코딩하기는 하지만 안정적으로 동작하지 않았기 때문입니다. 그래서 저자는 LD_PRELOAD로 하드웨어 H.265 인코더에 프레임을 넘기는 함수를 가로채, 인코더 입력 픽셀을 바꿔 치웠습니다. 그 결과 고글에는 원래 카메라에서 온 것처럼 다른 영상이 나타납니다. 재미있는 점은 1080p 프레임을 인코더가 서로 독립된 두 띠(1920×560, 1920×552)로 나눠 압축한다는 것인데, 지연 시간을 줄이기 위한 설계로 보입니다.
이런 글은 그냥 날기만 하는 사람에게도 도움이 된다고 생각합니다. 새롭고 저렴한 디지털 시스템이 어떻게 설계되어 있고 왜 이렇게 쉽게 분석되는지 알 수 있기 때문입니다. 리버스 엔지니어링에 관심이 있다면 전문을 읽어 볼 만합니다.
출처: Habr
댓글 0
첫 댓글을 남겨 보세요. 어느 나라 말이든 괜찮아요.
로그인하고 댓글 남기기