ISO를 다운로드하려다 커널 익스플로잇까지 작성하게 된 이야기
요약
저가형 공유기의 불안정한 성능과 보안 취약점을 경험하며, 안정적인 네트워크 환경 구축의 중요성을 강조합니다. 특히 하드웨어 오프로딩 버그나 데이터 손상 문제를 해결하기 위해 WireGuard 사용 및 전문 장비(Ubiquiti 등)로 교체하는 과정을 설명합니다.
핵심 포인트
- 저가형 공유기는 코드 품질과 지원 측면에서 신뢰도가 낮음.
- 데이터 무결성 확보를 위해 TCP 체크섬만 맹신해서는 안 되며, WireGuard 같은 추가 보호 계층이 필요함.
- 전문 기업용 장비(Ubiquiti 등)는 안정적인 지원 및 높은 코드 품질을 제공하는 경향이 있음.
- OpenWRT와 같은 커뮤니티 기반의 펌웨어 사용이 기기 통제권을 확보하는 좋은 방법임.
TP-Link가 원래 버그 많은 제품을 만드는 건지, 우리가 운이 없는 건지 모르겠음. 예전에 TP-Link Wi-Fi 공유기를 라우팅 기능은 끄고 액세스 포인트와 스위치로 사용했는데, VLAN 태그가 붙은 패킷만 유실됐음.
다른 패킷은 멀쩡해서 설정 중인 컴퓨터가 아니라 공유기 문제라는 걸 알아내는 데 시간이 걸림. 결국 eBay에 팔고 제대로 된 액세스 포인트와 PoE 스위치로 교체함.
연결이 불안정해서 영상이 가끔 버퍼링되는데도 그냥 썼다니 황당함. 첫날부터 제대로 작동하지 않는 하드웨어는 반품해야 함. 지갑으로 의사를 표현하지 않으면 업체는 관행을 바꾸지 않으며, 형편없는 제품을 계속 쓰는 건 TP-Link에 보상만 주는 셈임.
웹사이트에는 v2 펌웨어만 있고, 고객지원조차 v1을 데이터베이스에서 찾지 못해 기기와 상자 사진을 요구했다는 대목은 더 황당함.
첫 단계는 TP-Link 공유기를 사지 않는 것임. 예산이 한정돼 있다는 건 알지만, 기기 내부 코드가 얼마나 조악하고 쉽게 공격당하는지 반복해서 본 뒤로 TP-Link를 비롯한 몇몇 업체 제품은 다시 사지 않기로 함.
심각한 취약점이 남은 채 제조사가 버린 공유기들을 모아 언젠가 분석 글을 쓰려 했지만, 어느새 두 아이가 열 살에 가까워졌고 이런 제품의 엉망인 코드를 비판하는 것보다 할 만한 일이 많아짐.
7~8년 전 Coreboot와 OPNSense를 쓰는 Protectli 장비로 바꾸고 Ubiquiti AP와 스위치를 사용 중임. 최고라는 뜻은 아니지만 기업용으로 쓰이는 제품은 코드 품질까지는 몰라도 지원은 더 나을 것으로 봄. Ubiquiti AP는 Wi-Fi 한두 세대마다 천장의 기존 제품을 떼고 새 제품을 끼운 뒤 관리 시스템에 등록하면 끝이라 편리함.
하드웨어 오프로딩 버그는 이 기능이 등장한 이래 NIC를 괴롭혀 왔고, 비싼 기업용 제품도 예외가 아님. 드라이버가 원인일 때도 있지만 대부분 하드웨어나 펌웨어 쪽이라 이번 건으로 TP-Link만 지나치게 탓하고 싶지는 않음.
EU가 추진하는 사실상 5년간 업데이트 의무화가 도움이 될지 궁금함. 다만 이번 건은 보안이 아니라 기능상의 버그임.
데이터가 손상된 뒤 그 데이터에 맞춰 체크섬을 다시 계산하는 체크섬 오프로딩은 정말 교묘하게 문제를 숨김. TCP를 신뢰하는 것만으로는 부족하다는 걸 보여줌.
이번에는 캐시 일관성이 원인이었지만, ECC 없는 RAM이나 전기적 이상으로도 패킷은 손상될 수 있음. 내가 알기로 NIC 버퍼 RAM에도 ECC가 없으므로 TCP 체크섬만 맹신하면 이런 손상을 놓치게 됨. 덧붙여 zfs send도 TCP 체크섬을 맹신하는 것 아닌가?
서로 탐지 수준은 다르지만 데이터 보호를 위해 한 단계 더 나아간 Rsync, SSH, WireGuard 같은 도구들이 고마움.
나도 바로 이런 이유로 집 LAN의 모든 NFS 마운트를 WireGuard 위에서 사용하도록 설정함. 대역폭과 지연 시간에 미치는 영향은 무시할 만하고, 아주 오래된 하드웨어가 아니라면 CPU 사용량 증가도 크지 않음. 적어도 이 경로에서 발생하는 조용한 데이터 손상에 대한 걱정은 줄어듦.
Flint 3에 매우 만족하며, SSH로 root에 접속해 원하는 작업을 할 수 있다는 점이 마음에 듦. 특히 GL.Inet 고객지원은 지금까지 만난 곳 중 최고 수준임.
몇 달째 간헐적으로 연결이 끊기는 Aqara 초인종 문제를 함께 추적하면서 설정 변경을 제안하고, 내 허락을 받아 공유기에 직접 접속해 진단하기까지 함. 지원 시스템이나 포럼에 가입할 필요 없이 이메일로 전부 처리할 수 있고, 저가형부터 기업용까지 내가 겪은 거의 모든 네트워크 업체와 정반대임.
업체가 이런 식으로 내 네트워크에 들어올 수 있어서는 안 된다는 게 OpenWRT 공유기로 옮기려는 이유임. Flint 3도 마음에 들고 싶었지만 업스트림 OpenWRT와 호환되지 않아 피했는데, 방금 본 perceival/openwrt-flint3 저장소가 이 문제를 해결해 줄지도 모르겠음.
가전·임베디드 분야에서 일할 때 기기 내부를 많이 봐서 드라이버 품질 문제는 놀랍지 않음. 소프트웨어와 세부 완성도를 중시하지 않는 업체들이 일단 돌아가는 스크립트와 드라이버를 이것저것 짜깁기한 경우가 흔했음.
우리는 보통 데이터시트를 보거나 업체 드라이버를 역공학해서 드라이버를 통째로 다시 작성하곤 함.
이런 분석이나 드라이버 재작성을 다룬 블로그나 링크가 있을까? 이 분야에서 일하지 않아서 현대 칩은 너무 복잡해 역공학과 재작성에 사업성이 없을 거라 생각했는데, 내가 잘못 알았나 봄.
계정에서 Cyber Verification Program을 활성화했는데도 도움이 안 됐다는 게 우스움. 누구는 다른 사람보다 더 높은 수준으로 인증받을 수 있거나, 구현이 엉망이거나 둘 중 하나임.
지난주 우리 제품의 취약점 제보를 받아 Claude에 확인을 부탁했지만 거절당함. 욕설과 함께 중국 모델로 옮기겠다고 하자, 기분이 상한 건 아니지만 내 말투가 마음에 들지 않으며 여전히 요청을 거절한다고 답함.
결국 ^D^D를 보내고 opencode에서 deepseek-v4.1-flash로 바꾸니 1분 만에 상세한 설명과 함께 취약점을 확인해 줌. Anthropic이 이런 식으로 정말 나쁜 일을 막고 있다고 생각한다면 빨리 현실을 깨달아야 함.
Anthropic이 GLM과 공개 모델을 무료로 광고해 주는 셈임. 실제로 쓸 수 없다면 벤치마크 성능이 아무리 뛰어나도 소용없음.
끊임없이 성능이 낮아지고 거절당하느니 성공 확률이 조금 낮은 쪽을 택하겠음. 적어도 글쓴이 표현처럼 토큰 도박은 즐길 수 있음.
인증에는 여러 등급이 있음. 기본 등급은 안전한 코드 작성에 초점을 맞추며, 글쓴이는 이 등급인 듯함. 별도의 보안 연구자 등급에서는 글쓴이가 하려는 작업을 할 수 있음.
등급은 3개이고 개인은 방어 목적 등급만 받을 수 있는데, 제한이 너무 심함. 테스트에 ssh라는 단어가 있다는 이유로 Bash 파서 수정을 거절했고, SQL 삽입 취약점 수정도 거절함.
평판 좋은 여러 회사에서 거의 10년간 보안 엔지니어로 일했고 CVP에도 가입했지만, 1994년 MS-DOS 악성코드 역공학을 거절당함. Anthropic이 모든 악성코드 역공학을 일괄 금지했기 때문이며, 모델조차 터무니없다는 건 인정함.
OpenAI에는 그런 제한이 없고, 최신 악성코드 샘플 분석에도 Daybreak 접근 권한까지 쓸 필요가 없음. 정말 어처구니없는 일임.
새 공유기나 AP를 고를 때는 OpenWRT부터 확인해야 함. 제조사 하드웨어에만 의존하는 건 복불복임.
TP-Link가 고급 Wi-Fi 7 공유기를 벌써 지원 종료했다고? 제품을 한 달쯤 지원해 주는 건가?
Wi-Fi 7 표준이 확정되기도 전에 출시한 초기 제품을 지원 종료하고, 1년 더 디버깅한 제품을 동시에 내놓은 것임. 동기화 문제를 해결하도록 펌웨어 버그를 고쳤거나 다른 구현으로 바꿨을 것으로 추측함. 이런 초기 제품을 사는 건 정말 좋지 않은 선택임.
지원 기간 동안 펌웨어 업데이트가 한 번도 없었다면, 애초에 지원한 적이 있다고 할 수 있을까?
출고 때부터 사실상 지원 종료였고 업데이트는 0회였음. 그래도 내가 ‘소유한’ 다른 공유기들은 정기적으로 업데이트를 받으니, 일부는 복불복에서 당첨된 셈임.
요즘은 어떤 공유기가 괜찮을까? 곧 하나 사려는데 이런 문제를 끝없이 파고들고 싶지는 않음.
Cudy Wi-Fi 공유기에 아주 만족함. 기본적으로 수정된 OpenWRT가 들어 있고 업스트림 OpenWRT도 설치할 수 있지만, 정확한 버전의 지원 여부는 확인해야 함.
저렴하면서 꽤 괜찮고, 예전에 공유기를 살 당시의 GL.inet 같은 느낌임.
간단히 말하면 이더넷 인터페이스가 2개 이상인 일반 PC에 OpenBSD와 PF를 쓰면 됨. 나는 작은 Qotom Q305p 3205u를 선호하지만, 다른 소형 기기도 괜찮음.
크기와 소음이 상관없다면 어떤 형태의 PC든 가능하며, 서로 다른 네트워크 사이에서 패킷을 라우팅할 NIC가 2개 이상이면 됨.
이래서 지원되는 기기에는 OpenWRT를 사용함.
이래서 구매 전에 OpenWRT 호환성을 확인함.
커널을 매주 업데이트하는가? Linux는 공유기용으로 형편없는 선택임. 악용 가능한 취약점이 너무 많고 업데이트와 기능 추가 주기가 지나치게 빠른 데다, 공격자들의 최우선 표적이기도 함.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기