3만 원짜리 스트리밍 스틱, 알고 보니 범죄자에게 우리 집 인터넷을 빌려주고 있었습니다
온라인 쇼핑몰에서 3만 원도 안 되는 안드로이드 TV 스틱을 본 적 있으실 겁니다. 넷플릭스도 되고 유튜브도 되고 심지어 리모컨까지 준다는데 가격은 커피 몇 잔 값입니다. 그런데 보안 연구자들은 몇 년째 같은 경고를 되풀이하고 있습니다. 그런 기기 상당수가 박스를 뜯기 전부터 감염된 채로 배송된다는 겁니다.
공장에서 나올 때부터 감염되어 있다
보통의 악성코드는 사용자가 뭔가를 잘못 눌러야 감염됩니다. 이상한 링크를 클릭하거나, 출처 모를 앱을 설치하거나요. BADBOX라고 이름 붙은 이 계열은 다릅니다. 악성코드가 펌웨어 자체에 들어가 있습니다.
이게 왜 문제냐면 평소 쓰던 방어 수단이 대부분 통하지 않기 때문입니다. 안드로이드 보안 모델은 앱을 시스템보다 낮은 권한에 가둬두는 걸 전제로 설계됐습니다. 그런데 악성코드가 시스템 파티션에 있으면 애초에 그 아래가 아니라 위에 앉아 있는 셈입니다. 백신 앱을 깔아도 잡히지 않고 공장 초기화를 해도 지워지지 않습니다. 초기화는 사용자 데이터 영역만 되돌리지, 펌웨어는 건드리지 않으니까요.
연구자들이 찾아낸 감염 기기는 TV 스틱만이 아닙니다. 태블릿, 디지털 액자, 차량용 인포테인먼트, 프로젝터까지 나왔습니다. 하나같이 인증받지 않은 안드로이드 오픈소스를 쓰고 브랜드는 검색해도 잘 안 나오며 가격이 유난히 쌉니다.
당신의 IP가 상품입니다
그럼 왜 하필 싸구려 TV 스틱일까요? 훔칠 데이터도 별로 없는데 말입니다.
노리는 건 데이터가 아니라 IP 주소입니다. 정확히는 가정용 인터넷 회선에 붙은 주소죠. 이걸 업계에서는 레지덴셜 프록시라고 부릅니다.
굴러가는 방식은 이렇습니다. 여러분 거실의 TV 스틱이 조용히 외부 서버에 접속해 “나 여기 대기 중"이라고 신고합니다. 그러면 누군가 돈을 내고 그 통로를 빌립니다. 그 사람이 보내는 트래픽은 데이터센터가 아니라 서울 어느 아파트의 평범한 가정집에서 나가는 것처럼 보입니다.
이 차이가 공격자에게는 결정적입니다. 클라우드 서버 IP는 보안 시스템이 대놓고 의심합니다. 반면 통신사가 가정에 할당한 IP는 차단하기 어렵습니다. 진짜 고객이 섞여 있으니까요. 그래서 계정 무차별 대입, 광고 클릭 사기, 티켓 매크로, 가짜 계정 대량 생성 같은 작업에 가정용 IP가 프리미엄 가격에 거래됩니다.
여러분이 3만 원을 내고 산 건 스트리밍 기기입니다. 판매자가 진짜로 판 건 여러분 집 회선을 쓸 권리고요. 기기 마진보다 이쪽이 훨씬 남는 장사라 원가 이하로 팔아도 밑지지 않습니다.
왜 이걸 막기가 이렇게 어려운가
수사기관과 보안 업체가 명령 서버를 여러 차례 끊었습니다. 그때마다 감염 기기 수가 잠깐 줄었다가 다시 늘어납니다. 문제가 소프트웨어가 아니라 공급망에 있어서입니다.
저가 안드로이드 기기가 어떻게 만들어지는지 보면 납득이 갑니다. 브랜드를 붙여 파는 회사, 기판을 조립하는 공장, 펌웨어를 얹는 업체가 전부 다릅니다. 펌웨어 이미지는 여러 손을 거쳐 돌아다니고 그 사이사이 광고 SDK나 수익화 모듈이 하나둘 얹힙니다. 어느 단계에서 악성 코드가 섞였는지 되짚기가 사실상 불가능합니다.
게다가 이런 기기는 애초에 업데이트를 받지 않습니다. 팔고 나면 끝입니다. 보안 패치를 배포할 주체도, 그럴 이유도 없습니다. 한 번 나간 기기는 콘센트에서 뽑힐 때까지 그 상태로 남습니다. 서랍 속에 처박혀 있어도 전원만 들어와 있으면 계속 일합니다.
더 껄끄러운 대목은 유통 경로입니다. 이런 기기가 대량으로 풀리는 곳이 대형 오픈마켓입니다. 정품 인증을 따로 확인하지 않고 후기는 수천 개씩 달려 있는데, 다음 주에 들어가 보면 판매자 이름이 바뀌어 있습니다.
우리 집도 해당될까
짚어볼 지점이 몇 개 있습니다.
기기부터 보세요. 구글 플레이 인증을 받은 안드로이드 TV라면 설정 화면에 인증 표시가 뜹니다. 이게 없고 대신 정체 모를 앱스토어가 기본으로 깔려 있다면 의심해볼 만합니다. 브랜드명을 검색해도 제조사 홈페이지조차 안 나온다면 역시 마찬가지입니다.
네트워크 쪽 신호도 있습니다. 아무것도 안 보고 있는데 그 기기가 계속 데이터를 주고받는다면 정상이 아닙니다. 공유기 관리 페이지에서 기기별 트래픽을 볼 수 있는 모델이라면 새벽 시간대를 확인해보세요. 아무도 TV를 안 켠 시간에 통신량이 잡히는 게 전형적인 패턴입니다.
가장 확실한 대응은 시시합니다. 전원을 뽑는 것입니다. 앞서 말했듯 초기화로는 지워지지 않으니 감염이 의심되면 살려보려 애쓰지 말고 그냥 버리는 편이 낫습니다. 당장 그러기 어렵다면 공유기의 게스트 네트워크로라도 떼어놓으세요. 적어도 집 안의 NAS나 PC까지는 넘보지 못합니다.
이번 리서치의 한계를 밝혀둡니다
솔직히 적자면, 이 글을 쓰면서 최근 한 달 치 커뮤니티 반응을 뒤졌지만 건질 만한 이야기가 없었습니다. 그래서 본문은 그동안 쌓인 보안 연구 자료와 이런 공격이 굴러가는 원리를 바탕으로 썼습니다. 특정 브랜드나 최신 감염 규모 수치를 못 박아 제시하지 않은 것도 그래서입니다. 구체적인 기기 모델이 궁금하다면 국내외 보안 기관이 공개한 최신 목록을 직접 보시는 편이 낫습니다.
마무리
공짜에 가까운 물건에는 대개 다른 결제 수단이 붙어 있습니다. 여기서는 우리 집 인터넷 회선이 그 값이었습니다. 청구서가 날아오지 않으니 뭘 내고 있는지 알아차릴 방법이 없을 뿐입니다.
지금 거실 TV 뒤편이나 서랍 구석에 꽂혀 있는 정체불명의 작은 기기, 마지막으로 켜본 게 언제인지 기억하시나요?
댓글
댓글을 불러오는 중...