목차
7. 공격 경제

카탈로그 뒤에는 공급망이 있다.

앞의 두 장은 마치 메뉴판처럼 읽혔다. 여기 피그 부처링(pig butchering, 돼지도살 사기), 저기 펌프 앤 덤프, 가짜 벤처캐피털을 사칭한 접근, 트레이딩 봇을 통한 자금 탈취, 드레이너 키트, 악성 지원 봇. 그렇게 읽으면 각 스캠은 저마다 독립적인 창작 행위처럼 보인다. 영리한 범죄자 하나가 앉아서 수법을 궁리해 내고 그것을 실행한 것처럼 말이다. 그러나 이는 잘못된 사고 모형이며, 이 모형을 붙들고 있는 것이야말로 방어자가 지는 가장 흔한 이유다. 수법은 얼마든지 갈아 끼울 수 있다. 그 밑에서 지속되는 것은 인프라이며, 그 인프라는 공유된다.
소프트웨어를 한 번이라도 출시해 본 사람이라면 앞으로 펼쳐질 이야기의 형태를 이미 이해하고 있다. 진지한 제품 가운데 한 사람이 맨바닥부터 모든 것을 직접 만드는 경우는 없다. 호스팅 계층, 신원 계층, 결제 계층, 알림 계층, CI 파이프라인, 직접 만들기보다 빌려 쓰는 서드파티 API 묶음이 있다. 결국 조립한다. 전문화하고, 그 전문성을 팔고, 통합은 다른 누군가에게 맡긴다는 이 조립의 경제 논리는 너무나 강력해서 합법적인 소프트웨어 산업 전체를 공급자들의 스택으로 재편해 버렸다. 똑같은 논리가 사기도 재편했다. 우리가 '스캠'이라 부르는 것은 애플리케이션이다. 그것은 스택 위에서 돌아간다. 그리고 그 스택을 만드는 사람들은 대개 피해자를 단 한 번도 직접 건드리지 않는다.
이 장은 바로 그 스택에 관한 이야기다. 맨 밑바닥의 계정 농장과 심(SIM) 뱅크, 계정을 그럴듯하게 만들어 주는 프록시 네트워크, 훔친 서명 하나를 청산된 자금으로 바꿔 주는 서비스형 드레이너 플랫폼, 이 모든 것을 일 단위로 빌려주는 마켓플레이스, 그리고 마지막 한 수를 밀리초 단위로 실행하는 스나이퍼 봇이 등장한다. 이어서 산수 이야기가 나온다. 공격 비용 대 수익의 산수 말이다. 이 산수만이 왜 홍수가 결코 멎지 않는지를 설명해 주기 때문이다. 그리고 이 장은 이 스택의 모든 계층이 조용히 기대고 있는 하나의 구조적 사실을 지목하며 끝난다. 이 책의 나머지 전체가 풀어내려는 바로 그 사실, 즉 얼굴은 공짜라는 사실이다.
스택의 밑바닥: 상품이 된 계정
모든 공격이 소비하고 버리는 것부터 시작하자. 바로 계정이다.
오픈 커뮤니티란 정의상 걸어 들어갈 수 있는 방이다. 텔레그램에서는 탭 한 번으로 그룹이나 채널에 들어간다. 자신이 누구인지 증명하지 않으며, 플랫폼도 묻지 않는다. 그 개방성이야말로 제품이다. 사람들이 그 때문에 왔고, 우리는 이것을 원죄이자 원초적 미덕으로 계속 다시 소환할 것이다. 그러나 이는 방 안에 존재하는 단위가 사람이 아니라는 뜻이다. 그 단위는 계정이다. 그리고 계정은 사람과 달리 제조할 수 있다.
이 제조는 산업적이다. 계정 등록을 둘러싼 하나의 완결된 거래 시장이 있으며, 여느 상품 시장이 그렇듯 품질별로 나뉘어 있다. 싼 쪽에는 갓 등록한 계정이 있다. 대량으로, 흔히 알고리즘으로 만들어지며, 게시 이력도 연락처도 없다. 이것들은 일회용이다. 가격은 몇 센트, 물량이 많으면 때로는 1센트도 안 된다. 이들은 소진되기 위해 존재한다. 스치듯 DM 하나를 보내고, 구독자 수를 부풀리고, 차단의 망치가 떨어지기 전에 링크 하나를 올리기 위해서다. 비싼 쪽에는 '숙성 계정(aged account)'이 있다. 몇 달 혹은 몇 년 전에 등록되어 어느 정도 활동으로 덥혀지고, 프로필 사진과 자기소개와 그럴듯한 가입 이력을 갖췄으며, 때로는 실제 대화까지 심어져 있는 계정이다. 공개 시장에서 숙성 계정은 나이, 지역, 이력에 따라 개당 대략 1달러에서 10달러에 팔리며, 바로 그 가격이 핵심이다. 숙성 계정은 하루 지난 계정을 지워 버리는 자동 필터를 살아남는다. 이 시장이 값을 매기는 대상은 오직 하나다. 그 계정이 과거를 지닌 한 인간으로 읽힐 확률이다.
이 대목을 곱씹어 보라. 이것이 책 전체의 논지를 축소해 놓은 것이기 때문이다. 계정 시장은 조작된 신원(identity)의 시장이다. 계정의 가격은 그것이 과거를 지닌 인간을 얼마나 설득력 있게 사칭하는가의 함수다. 이 거래에서 그 누구도 스캠을 팔지 않는다. 그들은 누군가인 것처럼 보이는 겉모습을 판다.
이 거래는 또한 어쩌다 사는 구매자가 보는 것보다 훨씬 수직 통합되어 있다. 가장 싼 계정들은 한 번의 자동화된 폭주로 대량 등록되어 가공 없이 출하된다. 비싼 계정들은 지하 세계에서 대놓고 '워밍(warming)' 또는 '에이징(aging)'이라 부르는 과정을 거친다. 이는 합법적인 스타트업이 신규 계정을 자리 잡은 것처럼 보이게 만드는 그로스 해킹 각본을 거의 한 줄 한 줄 그대로 본뜬, 의도적인 배양 파이프라인이다. 계정들은 인기 있는 공개 채널에 가입해 가입 목록이 정상적으로 읽히도록 만든다. 그럴듯한 주기로 무해한 메시지를 올려 활동 그래프에 결이 생기게 한다. 몇 개의 연락처, 역방향 이미지 검색을 살아남는 프로필 사진, 대상 언어로 쓰인 자기소개를 쌓는다. 어떤 작전은 계정을 팔기까지 몇 달 동안 재워 두면서, 재고를 가치가 오르는 자산처럼 취급한다. 오늘 아무것도 하지 않는 계정이 다음 분기에 더 값이 나가는 것은, 바로 한 분기 동안 아무런 의심스러운 짓도 하지 않았을 것이기 때문이다. 이 부분이 방어자를 불안하게 만들어야 한다. 모더레이션 도구함의 가장 기초적인 휴리스틱을 뒤집어 버리기 때문이다. '이력이 있는 오래된 계정일수록 더 믿을 만하다'는 직관은 방어책이 아니다. 그것은 공격자가 방어자와 똑같은 도표에서 읽어 내는 가격 신호이며, 공격자는 그 신호를 충족시키려고 돈을 낸다.
이는 텔레그램만의 특이점이 아니다. 셀프서비스 계정이 있고 방 안에 가치가 있는 모든 오픈 플랫폼에 똑같은 상품 시장이 존재한다. 숙성 계정과 '전화 인증' 계정 시장은 X, 디스코드, 왓츠앱, 주요 이메일 제공업체를 둘러싼 어뷰징 경제의 붙박이다. 계정에 붙은 브랜드는 바뀌어도 거래 자체는 바뀌지 않는다. 텔레그램은 그저 지금 계정당 수익률이 가장 높은 곳일 뿐이다. 네이티브 신원 장치가 얄팍한 채로 있는 동안 크립토와 사람이 그곳에 몰렸기 때문이다. 개방된 접근, 취약한 신원, 방 안의 가치가 나란히 늘어서는 곳이면 어디든, 그것들을 충족시키려 계정 농장이 자라난다.
계정은 어디서 오는가? 텔레그램은 대부분의 플랫폼처럼 등록을 전화번호에 묶는다. 그것이 과속방지턱이다. 벽이 아니라 과속방지턱이며, 스택의 다음 계층은 오로지 그 턱을 납작하게 밀어 버리기 위해 존재한다.
심 뱅크와 전화번호 병목
전화번호는 오픈 플랫폼이 지닌 인간 증명(proof of personhood)에 가장 가까운 장치이지만, 형편없는 장치다. 통신사 시대에서 물려받은 발상은 전화번호를 얻는 데 비용이 든다는 것이었다. 매장에 걸어 들어가 신분증을 보이고 계약서에 서명하면 실제 통신사가 그 사람이 누구인지 알았다. 계정을 번호에 묶으면 통신사의 신원 확인을 공짜로 빌려 오는 셈이었다. 한동안은 이것이 충분히 잘 작동해서 모두가 따라 했다. SMS 인증은 인터넷의 기본 현관문이 되었다.
공격자들은 그 현관문을 산업화했다. 하드웨어적 해답은 심 뱅크다. 심 박스나 GSM 게이트웨이라고도 불리는 이것은, 각각 수십에서 수백 장의 심 카드를 담고 모두 API로 접근 가능한 물리 장비들의 랙이다. 현대의 심 뱅크는 단일 섀시에 수천 개의 활성 번호를 담을 수 있으며, 이것들은 사슬처럼 엮여 농장이 된다. 등록 절차가 SMS 코드를 요구하면 운영자의 소프트웨어가 뱅크에서 번호 하나를 요청하고, 들어오는 인증 문자를 받아, 그 코드를 등록 화면에 입력하고 넘어간다. 이제 그 심은 해당 계정에 대해 '사용됨' 상태가 되며, 재활용하거나 돌려쓰거나 소진할 수 있다.
심은 어디서 오는가? 일부는 선불 심에 대한 고객확인(KYC) 요건이 느슨하거나 아예 없는 관할권에서 합법적으로 대량 구매된다. 그런 관할권이 많기 때문에 심 뱅크의 지리는 취약한 통신 규제의 지리를 따라간다. 일부는 도난당했거나 도용된 신원으로 등록된다. 그리고 점점 더 물리적 심 자체가 SMS 인증 서비스와 'OTP(일회용 비밀번호)' 재판매 플랫폼으로 완전히 우회된다. 이들은 공격자와 실제 번호 풀 사이에 자리 잡는데, 그 번호는 때로는 기기가 침해당한 아무것도 모르는 실제 사람들의 번호이고, 때로는 코드 한 번을 위해 임대된 번호다. 몇 센트를 내면 인증 문자 하나를 받는 번호가 주어지고, 그 번호는 다시는 보지 못한다. 이 모든 장치는 '플랫폼이 전화번호를 요구한다'는 사실을 벽에서 하나의 비용 항목으로 바꾸기 위해 존재한다.
이 계층에는 이름 붙일 가치가 있는 더 어두운 구석이 있다. '조작된' 신원과 '도난당한' 신원 사이의 경계가 얼마나 얇아졌는지를 보여 주기 때문이다. 등록 절차에 공급되는 번호 가운데 일부는 아무것도 모르는 실제 사람들의 것이다. 피해자의 휴대폰에 심긴 악성코드는 인증 코드를 포함한 수신 SMS를 조용히 가로채 운영자에게 전달할 수 있다. 트릭모(TrickMo) 안드로이드 뱅킹 트로이목마와 그 친척들이 바로 이 일을 하도록 만들어졌다. 심 스와핑 사기는 한 걸음 더 나아가, 사회공학이나 뇌물로 통신사를 구슬려 피해자의 번호를 공격자가 통제하는 심으로 이전하게 만들고, 그 순간부터 공격자는 피해자의 인증 코드를 직접 받는다. 그런 경우 '임대된' 번호는 버릴 수 있는 일회용 번호가 아니다. 그것은 잠시 탈취된 실제 인간의 실제 신원이다. 우리는 이 구분으로 책의 마지막 악장에서 다시 돌아올 것이다. 이것이 신원 비용 방어가 닿을 수 있는 것과 닿을 수 없는 것의 경계를 표시하기 때문이다. 지금은 인증 계층이 양방향으로 샌다는 것만 기억해 두자. 공격자는 가짜 번호를 도매로 제조하고, 제조로 충분하지 않을 때는 진짜 번호를 빌려 온다.
이 점을 깔끔하게 짚어 둘 가치가 있다. 앞으로 나올 논증을 미리 예고하기 때문이다. SMS 인증은 인터넷이 처음으로 시도한 대규모 인간 증명이었다. 그것이 실패한 것은 개념이 틀려서가 아니라 그것이 부과하려 했던 비용이 무너졌기 때문이다. 전화번호를 껌 한 통 값에 빌릴 수 있게 되자, 신원을 번호에 묶는 일은 신원을 그 무엇에도 묶지 못하게 되었다. 공격자들은 영리해서 전화 인증을 격파한 것이 아니다. 그들은 희소한 것을 흔하게 만들어서 격파했다. 이것은 밑바닥 자격증명을 얻는 데 드는 비용을 진정으로 값비싸게 유지하지 못하는 모든 신원 체계를 무너뜨리는 패턴이다. 그리고 악성코드와 심 스와핑 사례가 보여 주듯, 이 패턴에는 형제가 있다. 빌린 진짜 자격증명으로 충족될 수 있는 체계는 그 하나를 훔치는 비용을 물려받는데, 그 비용은 가짜를 조작하는 비용보다 때로는 높고, 놀랍게도 때로는 더 낮다.
프록시와 주거용 IP: 얼굴을 현지인처럼 보이게 하기
계정과 전화번호는 등록을 가능하게 한다. 그러나 신뢰까지 얻어 주지는 않는다. 플랫폼은 네트워크 계층도 감시하기 때문이다. 1만 개의 계정이 같은 시각에 같은 데이터센터 IP 대역에서 모두 로그인하는 것은 원시적인 어뷰징 방지 시스템조차 잡아낼 만큼 명백한 신호다. 그래서 스택의 다음 공급자는 네트워크 수준의 그럴듯함을 판다.
그 제품은 프록시 네트워크이고, 프리미엄 변종은 주거용 프록시(residential proxy)다. 주거용 프록시는 공격자의 트래픽을 실제 소비자의 가정용 인터넷 연결을 거쳐 흘려보낸다. 실제 도시에 있는 실제 ISP 할당 IP를 통해, 페이지를 불러오는 진짜 거주자와 구분할 수 없는 상태가 된다. 이제 공격자의 계정 1만 개는 자신들이 사는 척하는 지역 전역에 흩어진 1만 개의 가정에서 로그인하는 것처럼 보인다. 지리가 들어맞는다. IP 평판도 깨끗하다. 그 IP가 자기 라우터가 그 경로의 일부인 줄도 모르는 오하이오의 어느 할머니 것이기 때문이다.
프록시 공급자들은 수백만 개의 주거용 IP를 어떻게 확보할까? 일부는 실제 사업 모델이 사용자의 대역폭을 되파는 것인 '무료 VPN'과 '무료 프록시' 앱을 통해 조달된다. 여기서는 사용자가 곧 제품이며, 누군가 읽기만 했다면 약관에도 그렇게 적혀 있다. 일부는 봇넷에 징집된, 침해당한 IoT 기기와 라우터에서 나온다. 어느 쪽이든 주거용 프록시 시장은 거대하고, 표면상 대체로 합법이며, 진짜 물량을 대는 사기 운영자와 나란히 '데이터 스크래핑'과 '광고 검증' 고객에게 팔린다. 모바일 프록시는 끊임없이 순환하고 부수적 피해 없이는 차단이 거의 불가능한 4G, 5G 통신사 IP를 거치는데, 이 시장의 정점에 앉아 최고가를 부른다.
이 계층에는 잠시 짚고 갈 만한 재귀적 우아함이 있다. 어뷰징 경제가 스스로를 어떻게 먹여 살리는지를 보여 주기 때문이다. 주거용 프록시는 상당 부분 피해자에게서 수확된다. 대역폭이 되팔린 무료 VPN 사용자들, 봇넷에 징집된 침해당한 라우터와 카메라의 소유자들에게서 말이다. 그러니 공격자가 1만 개의 가짜 신원을 세탁하는 네트워크는 그 자체가 침해당한 진짜 신원들로 지어진 것이다. 도난당한 전화번호를 낳는 것과 똑같은 역학이 도난당한 IP 주소를 낳는다. 공격 경제는 조작된 신원의 시장일 뿐 아니라, 부분적으로는 탈취된 정당한 신원의 시장이기도 하며, 그 둘은 같은 진열대에서 나란히 팔린다. '나쁜' 주거용 IP를 차단하려는 방어자는 곧 함정을 발견한다. 그 IP들은 실제 ISP의 실제 고객 것이어서, 차단하면 무고한 사람을 차단하게 된다. 공격자는 부수적 피해가 방어의 대가가 되도록 판을 짜 두었으며, 이는 그 나름의 해자다.
계층을 쌓아 올려 무엇을 지었는지 보라. 임대한 전화번호로 등록한 숙성 계정이, 올바른 도시의 주거용 IP를 거쳐, 프로필 사진과 그럴듯한 이력을 지닌 채 로그인한다. 그중 무엇 하나 진짜가 아니다. 방어자가 값싸게 검사할 수 있는 모든 신호, 즉 계정 나이, 전화 인증, 네트워크 출처, 프로필이 각각 따로 구매되어 진짜처럼 읽히도록 맞춰졌다. 이것이 바로 조립된 신원이며, 대부분의 자동 방어와의 접촉을 살아남을 만큼 좋은 것 하나를 만드는 데 드는 총비용은 낮은 한 자릿수 달러 어딘가다. 방어자의 탐지 장치 전체는, 부품 하나하나를 사람과 구분할 수 없도록 특별히 설계한 물건과 사람을 구별하라는 요구를 받고 있다. 그것은 공정한 싸움이 아니다.
구매된 각 부품이 무엇을 격파하는지 분명히 말해 둘 가치가 있다. 그 대칭이 요점이기 때문이다. 숙성 계정은 계정 나이 휴리스틱을 격파한다. SMS 재판매 번호는 전화 인증을 격파한다. 주거용 프록시는 IP 평판과 지리 위치 검사를 격파한다. 역방향 이미지 검색을 살아남는 프로필 사진은 '도용된 아바타' 검사를 격파한다. 심어 놓은 대화 이력은 '활동 없음' 플래그를 격파한다. 공격자 청구서의 각 항목은 방어자 탐지 규칙의 각 항목과 일대일로 대응한다. 이것은 시장의 우연이 아니다. 그것은 시장의 조직 원리다. 공급자들은 특정 방어책을 격파하는 데 전문화하고, 정확히 그것을 광고한다. '전화 인증', '숙성', '주거용', '안티 디텍트' 같은 식으로 말이다. 탐지 규칙과 공급자 카탈로그는 같은 문서를 반대편에서 읽은 것이다. 방어자가 규칙을 쓰면, 시장은 그것을 충족하는 제품에 값을 매긴다. 방어자가 산출물에 관해 쓸 수 있는 규칙 가운데, 수요만 충분하다면 시장이 제조하는 법을 배우지 못할 규칙은 없다. 규칙 그 자체가 제조자가 맞춰 만드는 사양이기 때문이다.
애플리케이션 계층: 소프트웨어로서의 스캠
신원이 상품화되고 나면 실제 사기는 쉬운 부분이 된다. 인프라 위에서 돌아가는 애플리케이션이 되는 것이다. 그리고 건강한 소프트웨어 생태계가 다 그렇듯, 애플리케이션 계층에도 자체 공급자, 자체 가격 등급, 자체 서비스형 상품이 있어서, 애플리케이션 로직조차 직접 짜기보다 빌릴 수 있다.
가장 깔끔한 사례이자 외로운 천재 해커 신화를 가장 철저히 무너뜨리는 사례는 서비스형 드레이너(Drainer-as-a-Service, DaaS)다. '드레이너'는 피해자가 악성 트랜잭션이나 서명을 승인하는 순간, 그의 크립토 지갑을 최대한 완전하고 빠르게 비우는 소프트웨어다. 여러 체인을 넘나들며 토큰을 쫓고, 공격자가 챙기고 싶은 것으로 청산하며, 피해자가 반응할 수 있는 것보다 빠르게 해치운다. 좋은 드레이너를 만드는 일은 진짜로 어려운 공학이다. 지갑 내부, 토큰 승인 메커니즘, 서명이 재사용되는 어두운 구석에 대한 깊은 지식이 필요하다. 그래서 스캐머는 거의 아무도 직접 만들지 않는다. 그들은 구독한다.
드레이너 시장은 깔끔하고 연대를 특정할 수 있는 혈통을 지닌 서비스형 소프트웨어(SaaS) 사업이다. 인페르노(Inferno) 드레이너는 그 시대를 지배한 키트 중 하나로, 플랫폼처럼 운영되었다. 운영자들은 드레이너 코드와 백엔드 인프라를 제공했고, 실제로 피해자를 꾀어낸 사람들인 '제휴자(affiliate)'가 수익의 대부분을 챙기는 동안 플랫폼은 통상 20퍼센트가량의 수수료를 떼어 갔다. 2023년 11월 말, 8,000만 달러가 넘는 절도를 방조한 뒤 인페르노는 텔레그램 게시물로 은퇴를 발표했다. 그러면서 제휴자들이 질서 있게 이주할 수 있도록 서버는 계속 돌려 두었는데, 이것만 봐도 그게 어떤 종류의 은퇴였는지 알 수 있다. 인페르노는 몇 달 만에 다시 나타나 그동안 내내 조용히 운영하고 있었다고 인정했고, 진짜 승계는 나중에 이루어졌다. 2024년 10월 19일, 인페르노는 텔레그램을 통해 자신의 플랫폼을 엔젤(Angel) 드레이너 팀에 넘긴다고 발표했다. 코드베이스, 프로토콜 통합, 예정된 기능 업데이트까지 전부였다. 이 게시물은 안티 피싱 업체 스캠 스니퍼(Scam Sniffer)가 처음 포착했다. 혈통은 거기서부터 루시퍼(Lucifer) 같은 이름으로 운영되는 키트로 이어졌는데, 보안 업체 플레어(Flare)의 분석에 따르면 루시퍼는 훔친 자금의 약 20퍼센트를 제휴자에게 수수료로 부과한다. 브랜딩은 일부러 연극적이지만, 구조는 평범하다. 이것은 제품 로드맵, 지원 채널, 제휴 프로그램, 수수료 모델, 그리고 경쟁 공급자들의 경쟁 시장을 갖춘 반복 매출형 SaaS 사업이다. 이 거래의 일부와 얽힌 텔레그램 봇들은 2025년 내내 물결처럼 차단되었지만, 이는 운영자들을 불편하게 했을 뿐 모델에 대해서는 아무것도 바꾸지 못했다. 모델은 봇이 아니기 때문이다. 모델은 분업이다.
이 분업을 주의 깊게 읽어야 한다. 이것이 공격 경제 전체의 하중을 떠받치는 구조이기 때문이다. 드레이너를 짜는 사람은 피해자를 결코 만나지 않는다. 피해자를 만나는 사람, 즉 제휴자는 드레이너를 짤 수 없고 그럴 필요도 없다. 제휴자의 유일한 임무는 악성 링크나 서명 요청을 최대한 많은 사람 앞에 들이밀고 그중 일부가 클릭하도록 설득하는 것이다. 나머지는 인프라가 한다. 이 분리야말로 공급망 관점이 중요한 이유다. '드레이너'와 유의미하게 싸울 수 없는 것은, 드레이너가 서로 갈아 끼울 수 있는 고객 백 명을 거느린 공급자이기 때문이다. '스캐머'와 유의미하게 싸울 수 없는 것은, 스캐머가 서로 갈아 끼울 수 있는 공급자 열둘을 거느린 고객이기 때문이다. 실제로 싸우고 있는 대상은 조립 라인이다.
혈통에 관한 세부는 곱씹을 가치가 있다. 방어자가 믿고 쓸 수 있는 유일한 개입, 즉 테이크다운에 조립 라인이 얼마나 탄력적인지를 보여 주기 때문이다. 드레이너 키트의 운영자들이 문을 닫으면, 그것이 법 집행의 압박 때문이든, 내분 때문이든, 아니면 수익을 챙겨 그냥 빠지겠다는 단순한 결정 때문이든, 제휴자들은 은퇴하지 않는다. 그들은 고객이고, 고객은 다음 공급자로 이주한다. 사용자 기반이 통지받고, 인프라가 교체되고, 피해자 유치 작전이 고스란히 넘어가고, 수익이 새 브랜드 아래 재개된다. 바깥에서 보면 일련의 패배처럼 보일 수 있다. 이 드레이너가 죽고, 저것이 차단되고, 이 텔레그램 봇 묶음이 2025년 8월 물결에 제거되었다는 식으로 말이다. 안에서 보면 그것은 일상적인 공급자 교체다. SaaS 고객이 한 업체가 문을 닫으면 어깨 한 번 으쓱하고 공급자를 바꾸는 것과 똑같다. 역량은 결코 파괴되지 않는다. 그저 다시 앉혀질 뿐이다. 위험한 지식이 공급자에게 살고 피해자가 고객과 함께 살면, 공급자 하나를 죽여도 고객은 오래 발이 묶이지 않고, 고객 하나를 체포해도 공급자는 전혀 건드려지지 않는다. 제거하면 시스템이 무너지는 단일 지점은 없다. 시스템이 모든 좋은 소프트웨어가 그렇듯 단일 장애 지점이 없도록 지어졌기 때문이다.
이 서비스형 형태는 한번 볼 줄 알게 되면 어디서나 되풀이된다. 우리는 앞 장에서 악성 '지원' 봇을 만났다. 2024년과 2025년에 걸쳐 대규모로 피해자 자격증명을 수확한 것으로 기록된 가짜 헬프데스크 계정들 말이다. 그것은 저마다 같은 아이디어를 떠올린 독립 범죄자들의 무리가 아니다. 소수의 운영자가 피싱 봇 프레임워크를 대규모로 돌리는 것이며, 각 봇은 특정 커뮤니티나 지갑 브랜드를 겨냥한 값싼 배치다. 트레이딩 쪽에서는 스나이퍼 봇, 즉 마에스트로(Maestro), 바나나 건(Banana Gun)과 그 경쟁 제품들이 1초도 안 되는 창에서 매수와 매도를 실행하는 임대 도구이며, 이중 용도다. 정당한 트레이더도 쓰고, 펌프 앤 덤프 조직도 똑같은 제품으로 조직 전체의 1초 미만 실행을 조율한다. 지난 장의 펌프셀(PumpCell) 조직이 그랬듯 말이다. 도구는 자신의 운영자가 트레이더인지 사기 조직인지 알지 못한다. 그것은 그저 스택 안의 한 공급자일 뿐이다.
그리고 AI 도구도 같은 진열대에 꽂힌다. 우리는 생성 모델이 이 경제에 무슨 짓을 했는지에 이 책의 중반부 전체를 쓸 것이지만, 공급망의 관점에서는 'AI 범죄'가 이미 제품화된 비용 항목이라는 점만 기억해 두자. 프로드GPT(FraudGPT)와 웜GPT(WormGPT) 같은 이름의, 탈옥되었거나 목적에 맞게 제작된 모델 서비스가 월 구독으로 팔려 왔으며, 아무런 아이러니의 기색도 없이 다름 아닌 텔레그램에서 광고되었다. 8장이 그 진열대를 둘러보고 값을 매긴다. 여기서 요점은 청구서다. 그 구독은 프록시와 계정과 같은 줄에 앉으며, 공격자는 모델을 훈련하는 것이 아니다. 공격자는 정당한 개발자가 하듯 공급자에게 API 값을 치를 뿐이다.
마켓플레이스: 스택이 팔리는 곳
이 공급자들 가운데 그 무엇도 구매자가 그들을 찾지 못하면 의미가 없다. 공격 경제의 연결 조직은 마켓플레이스이며, 이 마켓플레이스들은 지루할 지경으로 평범한데, 바로 그것이 그것들에 관한 가장 저주스러운 점이다.
수년 동안 대중의 상상 속 그림은 다크웹 시장이었다. 토르로 숨긴 서비스, 에스크로, 이색적인 접속 의식 말이다. 그 세계는 지금도 존재하지만, 오픈 커뮤니티 공격 경제의 무게 중심은 오픈 메시징 플랫폼 그 자체로, 무엇보다 텔레그램으로 옮겨 갔다. 그 이유는 우연이 아니다. 텔레그램 채널은 만드는 데 공짜이고, 즉시 방송할 수 있으며, 뿌리째 내리기가 어렵고, 구매자가 찾을 수 있을 만큼은 검색 가능하며, 실제 거래는 봇이나 DM으로 옮겨 갈 만큼 사적이다. 마켓플레이스, 광고, 고객 지원, 제품 전달이 모두 결국의 피해자들과 같은 플랫폼 위에 살 수 있다. 플랫폼은 상점이자 창고이자 하역장이자 털리는 동네다, 그 모두가 한꺼번에. 공급자들은 여느 소프트웨어 업체의 공지 채널처럼 읽히는 채널을 운영한다. 신규 기능, 가격 변경, 가동률 공지, 숙성 계정 재입고 알림, 제휴 프로그램 약관, 고객 후기. 에스크로가 있다. 평판이 있다. 공급자 평판인데, 이것은 그 나름의 어두운 아이러니이며 잠시 뒤 다시 돌아올 것이다. 가격과 품질을 둘러싼 경쟁이 있다.
이 부분이 사람들의 직관을 깨뜨리니, 노골적으로 말할 가치가 있다. 공격 경제는 어둠 속 엘리트가 아니다. 그것은 진입 장벽이 낮고, 가격이 투명하며, 모든 것이 서비스형이고, 자신이 잡아먹는 바로 그 플랫폼 위에서 상당 부분 공개적으로 돌아가는 정상적인 시장이다. 몇백 달러와 한나절을 가진 의욕적인 신참은, 단 한 줄의 코드도 쓰지 않고 개별 부품이 어떻게 작동하는지 이해하지도 않은 채, 오로지 임대한 부품만으로 작동하는 사기 작전을 조립할 수 있다. 계정은 여기서, 프록시는 저기서, 드레이너 구독, 스나이퍼 봇, AI 작문 서비스, 피해자 유치 채널을 갖추면 된다. 탈숙련화가 곧 이야기다. 진입 장벽은 합법 소프트웨어에서 그것을 허문 것과 똑같은 전문화에 의해, 똑같은 이유로 허물어졌다. 어려운 부분이 전부 공급자일 때, 어려운 것은 아무것도 없다.
마켓플레이스 논리는 피해자를 전혀 직접 겨냥하지 않는 한 부류의 공격도 설명해 준다. 바로 공급망 그 자체를 겨냥하는 공격이다. 합법 소프트웨어 세계도 공격 경제와 똑같은 방식으로 임대한 부품에서 조립하기 때문에, 공격 경제는 그 부품을 오염시키는 법을 배웠다. 가장 분명한 사례들은 실제 개발자들, 바로 이 이야기 속 모더레이션 봇의 개발자들까지 포함해, 두 번 생각하지 않고 끌어다 쓰는 오픈소스 패키지 레지스트리에 있다. 인기 있는 node-telegram-bot-api 패키지(정품은 주당 10만 회를 훌쩍 넘게 내려받힌다)를 타이포스쿼팅한 복제본, fastlane-plugin-telegram 젬을 악의적으로 흉내 낸 것들, SSH 무차별 대입 도구인 척하는 기만적인 이름의 Go 모듈. 하나같이 적대적인 코드를 실어 나르며, 어울리게도 텔레그램 봇을 통해 비밀을 빼돌린다. 여기서 공격자는 채팅방의 사람을 사칭하지 않는다. 공격자는 빌드 파이프라인에서 신뢰받는 의존성을 사칭한다. 그러나 구조적 수법은 동일하다. 이것은 조립 라인을 상대로 한 신원 사기다. 악의적 행위자 하나가 신뢰받는 패키지의 얼굴을 쓰고, 그 이름 뒤에 실제로 누가 있는지 아무도 검증하지 않는다는 사실에 기댄다. 같은 병이, 한 계층 아래에서.
이름 붙일 가치가 있는 시장이 하나 더 있다. 이 책이 향해 가는 바로 그 이음매에 앉아 있기 때문이다. 조작된 계정에 지친 일부 커뮤니티는, 보유하는 데 돈이 든다고 여겨지는 무언가에 가입 자격을 걸어 진입 비용을 올리려 했다. 바로 토큰 게이팅이다. 콜랩랜드(Collab.Land) 같은 서비스가 가입하는 지갑이 특정 토큰이나 NFT를 보유하고 있는지 확인한 뒤에야 접근을 허용하는데, 텔레그램과 디스코드 모두에서 그렇다. 그 본능은 옳다. 진입에 진짜 비용이 들게 만드는 것이며, 우리는 나중에 그 본능을 제대로 인정할 것이다. 그러나 반대편에 돈이 있는 순간 시장은 그것을 우회했다. 토큰과 NFT는 인증 검사가 진행되는 동안만 빌릴 수 있고, 플래시 론은 잔액 게이트를 잠깐 충족시켰다가 같은 트랜잭션 안에서 상환될 수 있으며, 게이트로 막은 자산은 어떤 지갑이 어떤 토큰을 잠시 건드렸다는 것만 증명할 뿐, 그 뒤의 인간이 특정한 누구라는 것은 증명하지 않는다. 완화책은 있다. 하루 이틀의 최소 보유 기간, 스냅샷 검사 같은 것들이다. 그러나 그것들은 같은 길 위의 과속방지턱이다. 토큰 게이팅이 새는 이유는 이 장의 모든 것이 새는 이유와 같다. 그것은 지갑이 제시할 수 있는 산출물에 게이트를 거는 것이지, 행위자가 값싸게 복제할 수 없는 값비싸고 지속적인 신원에 게이트를 거는 것이 아니다. 지갑은 그 이전의 전화번호처럼 키페어를 인증할 뿐, 인간을 인증하지 않는다. 게이트로 막은 산출물을 빌리고 위조하는 시장은 즉각 나타났다. 수요가 있었고, 공급망은 방어자가 검사하기로 정한 것이면 무엇이든 제조하는 법을 알기 때문이다.
모든 것을 설명하는 산수
이제 홍수를 불가피하게 만드는 부분이다. 방어자들은 스캠을, 저마다의 동기를 지닌 개별 범죄자와 싸우듯 싸우는 경향이 있다. 공격자들은 스프레드시트를 돌리고 있다. 방어자 역시 그 스프레드시트를 돌려 보기 전까지는, 그 어떤 물량도 말이 되지 않는다.
여기 스프레드시트가 있다. 한 번의 공격 시도를 벌이는 비용은 소비된 투입물의 한계비용이다. 계정 하나(몇 센트에서 몇 달러), SMS 인증 한 번(몇 센트), 약간의 주거용 프록시 대역폭(1센트의 일부), 수천 번의 시도에 걸쳐 분할된 드레이너나 AI 구독의 한 조각, 그리고 자동화가 0으로 몰아가는 운영자 자신의 시간. 넉넉잡아 완비된 고품질 시도 하나당 1달러에서 몇 달러, 일회용 계정으로 스치듯 하는 것은 그것의 아주 작은 일부라고 하자.
이제 수익 쪽이다. 수익은, 터질 때는 어마어마하고 비대칭적이다. 단 한 번의 트레이딩 봇 탈취, 즉 지난 장의 시그마(SIGMA) 사례는 위의 비용 구조로 사실상 무제한의 시도를 감당하고도 남는다. 아자 벤처스(Aza Ventures) 탈취는 그보다 수백 배 컸다. 그리고 끈질긴 사기들은 합산하면 2025년 신고된 크립토 투자 사기 손실로 대략 72억 달러에 이르렀다(FBI IC3). 시장의 화려하지 않은 중간층, 즉 조율된 펌프 조직이나 재판매용 자격증명 로그를 수확하는 지원 봇 프레임워크조차, 전체 운영비의 몇 배를 벌어들인다.
비용이 그저 낮은 게 아니라 진정으로 0에 반올림되는 이유를 정확히 짚어 둘 가치가 있다. 그 반올림이야말로 방어자의 직관을 깨뜨리는 것이기 때문이다. 이 스택의 비용은 두 종류다. 하나는 장비를 구축하는 일회성 자본비용이다. 계정을 모으고, 심 뱅크나 그 SMS 재판매 등가물을 배선하고, 프록시와 드레이너와 AI 서비스를 구독하고, 오케스트레이션을 스크립트로 짜는 것 말이다. 다른 하나는 이미 존재하는 장비를 통해 시도 한 번을 더 쏘는 한계비용이다. 방어자는 본능적으로 자본비용을 놓고 추론한다. 그것이 방어자가 체감할 비용이기 때문이다. 작전을 세워 올리는 일은 노동처럼 보인다. 그러나 공격자는 그 자본비용을 장비가 앞으로 벌일 모든 시도에 걸쳐 분할하고, 그 장비는 수백만 번을 벌일 것이므로, 시도당 자본비용은 사라진다. 남는 것은 한계비용이다. 재고에서 뽑아낸 계정 하나 더, 프록시 요청 하나 더, 모델 완성 하나 더. 그리고 그것은 설계상 반올림 오차다. 이 장에서 설명한 스택 전체는, 다음 조작된 신원의 한계비용을 0으로 몰아가기 위해 존재한다. 다음 신원의 한계비용이야말로, 무한한 물량이 합리적인지를 좌우하는 공격자 스프레드시트의 유일한 숫자이기 때문이다. 공급자들은 가장 문자 그대로의 의미에서 공격자에게 더 낮은 한계비용을 팔고 있다. 그것이 그들의 제품이다.
곱셈을 해 보면 전략은 저절로 쓰인다. 시도당 비용이 0에 반올림되고 성공당 수익이 수천에서 수백만 달러일 때, 높은 성공률은 필요 없다. 필요한 것은 물량이다. 시도가 공짜이고 단 한 번의 성공이 다섯 자릿수를 벌어 준다면, 1만 분의 1의 성공률도 터무니없이 남는 장사다. 그러니 합리적인 수는, 그리고 이들은 스프레드시트를 최적화하는 합리적 행위자다, 시도를 극대화하는 것이다. 조작할 수 있는 모든 계정을 닿을 수 있는 모든 표적에 뿌려라. 손실의 바닥은 계정 값(0에 가깝다)이고, 이익의 천장은 누군가의 평생 저축이기 때문이다. 이것이 물량이 지금의 물량인 이유다. 텔레그램의 집행 집계가 한 해 수천만 개의 차단된 채널에 이르는 이유이며, 이 숫자는 18장이 해부한다. 그런 숫자에는 노력으로 도달하지 못한다. 그런 숫자에 도달하는 것은, 시도 한 번을 더 벌이는 한계비용이 0이어서, 한 번을 덜 보낼 이유가 결코 없을 때다.
이 산수에는 첫 번째를 가중시키는 이차적 잔혹함이 있다. 방어책 그 자체가 공격자가 사서 무력화할 수 있는 투입물이다. 소박한 캡차(CAPTCHA)를 생각해 보라. 이는 2003년 아이겐트러스트(EigenTrust) 논문이 신참을 위한 설계 원리로 내놓은 진입 비용 메커니즘이다. 새 신원이 무언가를 벌어들이기 전에 먼저 값을 치르게 하라는 것이었다. 이론상으로는 새 얼굴마다 세금을 매긴다. 실제로는 사람 손과 점점 더 자동화된, 해결 한 건당 1센트의 일부로 값이 매겨지는 캡차 풀이 서비스의 번창하는 시장이 그 세금을 청구서의 또 다른 항목으로 바꿔 버린다. 공격자들은 방어책의 겉모습마저 무기로 쓴다. 트레이딩 채널에 번진 가짜 캡차 피싱 페이지는 피해자에게 흔한 '당신이 사람인지 확인하세요' 관문처럼 보이는 것을 제시하고, 그 상호작용을 이용해 세션 토큰을 수확한다. 시그마 사례 같은 탈취의 배후로 알려진 바로 그 메커니즘이다. 방어와 공격이 같은 화면으로 수렴한 것이다. 진입 비용 장벽이 공격자에게 1센트도 안 되는 비용으로 통과되고, 그것 자체가 미끼로 재포장될 수 있다면, 그것은 장벽이 아니다. 요금소가 딸린 연극이며, 공격자가 그 요금소를 소유하고 있다.
이것이 이 갈등 전체를 규정하는 비대칭이며, 분명히 이름 붙일 가치가 있다. 다투는 상호작용 하나당 방어자의 비용은 공격자의 비용보다 몇 자릿수나 높으며, 그 격차는 우연이 아니라 구조적이다. 방어자는 모든 메시지, 모든 가입, 모든 신고를 검사하고 저장하고 판정해야 한다. 연산과 인력 검토, 그리고 정당한 사용자를 향한 오탐의 역풍이라는 진짜 비용을 치르면서 말이다. 공격자는 다음 시도를 생성하는 데 거의 아무것도 내지 않으며, 실패한 시도에는 어떤 비용도 지지 않는다. 방어자는 성공과 실패 양쪽 모두에 값을 치른다. 공격자는 어느 쪽에도 치르지 않는다. 더 나쁜 것은, 방어자의 비용은 총 물량에 비례해 커지는데 공격자의 비용은 아무것에도 비례하지 않는다는 점이다. 공격자는 값비싼 모든 구성 요소를 스택 안의 공급자와 플랫폼 자체에 외부화해 버렸기 때문이다. 모든 방어의 승리는 일시적이고 값비싸다. 모든 공격의 패배는 공짜이며 즉시 재시도된다. 상대의 탄약은 공짜이고 내 탄약은 그렇지 않을 때, 소모전에서는 이길 수 없다.
평판이라는 농담, 그리고 그것이 남기는 단서
그것에 이름을 붙이기 전에, 마켓플레이스의 한 세부에 잠시 머물자. 너무 많은 것을 드러내서 그냥 넘기기 어려운 세부다. 이 범죄 시장들은 평판으로 돌아간다. 공급자들은 평점을 쌓는다. 구매자는 돈을 맡기기 전에 판매자의 이력을 확인한다. 에스크로가 존재하는 것은 바로 아무도 낯선 이를 믿지 않기 때문이며, 긴 실적을 지닌 알려진 공급자는 동일한 제품을 내놓는 무명 공급자보다 웃돈을 받는다. 다시 말해 공격 경제는, 자신이 다른 모두에게 안기는 바로 그 문제를 자기 구성원들에 대해서는 해결해 놓았다. 시장 안에서 신원은 지속적이고 평판은 실재하며 위조하기에 값비싸다. 참여자들이 그것 없이는 거래하지 않으려 하기 때문이다. 시장 밖, 그들이 잡아먹는 오픈 커뮤니티에서 신원은 일회용이고 평판은 존재하지 않는다. 바로 그 조건이 포식을 가능하게 하기 때문이다.
그것은 우연이 아니다. 그것은 단서다. 공격자들은 무엇이 자신의 피해자를 취약하게 만드는지 정확히 이해한다. 자신들을 위해서는 그 반대 조건을 의도적으로 설계해 놓았기 때문이다. 그들은 지속적인 신원과 이식 가능한 평판으로 살아간다. 그리고 그 부재로부터 다른 모든 곳에서 이익을 얻는다. 시스템을 터는 자들이 자기들은 그 부재를 착취하면서 정작 자기들을 위해서는 바로 그 보호를 고집한다면, 그 보호는 진지하게 들여다볼 가치가 있다. 우리는 들여다볼 것이다. 다만 아직은 아니다. 먼저, 그 구조적 사실이다.
시빌 문제에 이름 붙이기
스택의 모든 계층을 한꺼번에 다시 보라. 계정 농장은 신원을 조작한다. 심 뱅크는 신원 뒤의 인증을 조작한다. 프록시 네트워크는 신원의 네트워크 출처를 조작한다. 마켓플레이스는 신원을 다발로 빌려준다. 드레이너 제휴 모델은 천 명의 피해자를 겨눈 천 개의 서로 갈아 끼울 수 있는 신원을 전제한다. 단위 경제는 다음 신원이 아무 비용도 들지 않는다고 전제하는데, 이는 무한한 시도를 뿌리는 것이 합리적인 유일한 전제다. 브랜딩과 체인 혈통과 AI 소음을 벗겨 내면, 이 장의 모든 것 하나하나가, 모든 공급자와 모든 전술과 모든 스프레드시트가, 단 하나의 일을 하고 있다. 한 명의 행위자가 여러 명의 행위자인 것처럼 보이는 겉모습을 제조하는 일이다.
여기에는 이름이 있고, 그것은 이 책에서 가장 오래된 이름이다. 2002년, 존 두서(John Douceur)는 「시빌 공격(The Sybil Attack)」이라는 논문에서 이를 정확히 서술했다. 그의 결과는 전술도 유행도 아니다. 그것은 법칙에 가깝다. 신원을 보증해 줄 신뢰받는 중앙 권위가 없는 그 어떤 시스템에서도, 하나의 개체는 사실상 무제한의 서로 다른 신원을 제시할 수 있으며, 오직 그것이 기꺼이 쓰려는 자원에 의해서만 제한된다. 두서는 이를 형식적으로, 하나의 개체가 자기 자원에 비례해 늘어나는 수의 신원을 위조하는 것으로 표현했다. 그 귀결은 잔혹하고 정확하다. 신원을 아무리 검사해도, 그 뒤에 실제 개체가 몇이나 있는지는 알 수 없다. 얼굴을 살펴보는 것으로는, N개의 얼굴을 그것을 쓴 한 명의 행위자로 도로 접어 넣을 수 없다. 그 정보는 애초에 얼굴 안에 없다. 결코 얼굴 안에 있었던 적이 없다.
그것이 게임의 전부다. 이 렌즈로 이 장을 다시 읽으며, 상상할 수 있는 모든 방어 전략이 미리부터 실패하는 것을 지켜보라. 스팸성 계정을 탐지해 차단한다고? 행위자에게는 1만 개가 더 있고, 다음 하나는 1달러다. 계정별로 속도를 제한한다고? 행위자는 천 개의 계정이다. 나이와 이력을 지닌 계정을 신뢰한다고? 숙성 계정 시장이 바로 그것을 파는데, 그 값은 나이와 이력을 얼마나 잘 위조하는가에 정확히 매겨진다. 전화 인증된 계정을 신뢰한다고? 심 뱅크가 오늘 아침에 1만 개를 인증했다. 올바른 도시의 정상적인 주거용 IP에서 로그인하는 계정을 신뢰한다고? 주거용 프록시 네트워크가 바로 그것을 제공하려고 지어졌다. 카탈로그의 모든 방어책은 산출물을, 즉 메시지, 계정, 행동, 네트워크 신호를 검사하고 그것을 판정하려 한다. 그리고 모든 산출물은 값싸게 조작될 수 있다. 행위자가 사고 싶은 만큼의 얼굴을 쓰기 때문이며, 그 얼굴은 공짜이기 때문이다.
이것은 이 책이 같은 배수구를 맴도는 두 번째이며, 마지막도 아닐 것이다. 앞서 만난 공유 차단 목록, 즉 CAS와 연합 모델, 그리고 방을 넘나들며 나쁜 행위자를 기억하려는 본능은, 바로 이것을 향해 손을 뻗은 옳은 본능이었다. 이동하는 평판, 이 얼굴이 저 얼굴이었음을 알아내는 방법 말이다. 그것이 그 시대에 실패한 것은 얼굴만 차단할 수 있었기 때문이다. 그리고 얼굴은 공짜다. 하나를 차단하면 행위자는 또 하나를 찍어 낸다. 우리는 아직 그 해법을 얻지 못했지만, 이제 그 판돈을 정확히 진술할 수 있다. 정리를 증명하기 전에 진술하듯 말이다. 이 장에서 설명한 공격 경제 전체는 천 벌의 의상을 걸친 하나의 구조적 사실이다. 오픈 커뮤니티에서 신원은 조작하기가 공짜이고, 평판은 그 조작을 가로질러 지속되지 않는다. 신원을 값비싸게 만들고 평판을 지속하게 만들면, 홍수를 합리적으로 만드는 스프레드시트가 더는 균형을 이루지 못한다. 그것들을 공짜이고 일회용인 채로 두면, 산출물을 검사하는 그 어떤 방어도 결코 이길 수 없다. 얼굴을 세어 행위자를 세려 하는데, 얼굴은 공짜이기 때문이다.
그 어떤 방어자 도구도, 아무리 영리하든, 얼굴을 행위자로 도로 접어 넣을 수 없다. 그것은 오늘날 도구의 결함이 아니다. 그것은 문제의 속성이며, 이 플랫폼들 대부분이 존재하기도 전에 증명되었다. 이 책의 나머지는, 한 산업이 20년을 들여 얼굴을 검사하는 점점 더 나은 방법을 지어 온 이야기이며, 답은 애초에 얼굴 안에 있었던 적이 없다는 느리고 값비싸고 점점 어두워지는 깨달음의 이야기다.
여기서부터 3부입니다
1부와 2부를 모두 읽으셨습니다. 3부 「기계가 인간 행세를 하다」는 AI가 가짜 사람을 값싸게 만들자 무엇이 달라졌는지 다룹니다. 딥페이크 창업자, AI 페르소나, 에이전트, 그리고 통째로 합성된 커뮤니티입니다.
또는 구독하고 8장을 여기서 무료로 읽으세요.
8장을 무료로 받아 보세요
구독하면 8장 「변곡점」이 이 사이트에서 열립니다. 친구를 초대하면 3부의 나머지 장도 열립니다.
확인 메일 한 통, 그리고 가끔 책 소식을 보냅니다. 언제든 구독을 해지할 수 있습니다.