
오늘도 문자 왔나요?
“고객님의 택배가 주소 불명으로 반송되었습니다.” “미납된 통행료가 있습니다.” “엄마 나 폰 고장 나서 이 번호로 연락해.” 이 글을 읽는 분들 대부분은 이번 주에도 이런 문자를 한두 통쯤 받으셨을 거예요. 최근 미국의 한 블로거가 “누가 제발 스팸 문자 좀 멈춰줘”라는 제목으로 글을 올렸는데요. 매일 쏟아지는 스팸 문자에 지쳐서 쓴 호소문이에요. 미국 얘기인데도 읽다 보면 “어, 이거 우리 얘기인데?” 싶거든요.
이 문제는 이제 짜증 나는 수준을 넘었어요. 스팸 문자가 스미싱(SMS와 피싱을 합친 말), 로맨스 스캠, 투자 사기의 입구가 되고 있거든요. 그래서 오늘은 “이메일 스팸은 꽤 잡혔는데 문자 스팸은 왜 아직 이 모양일까?”를 기술적으로 풀어볼게요.
SMS에는 처음부터 ‘신원 확인’이 없었어요
SMS는 GSM 이동통신 표준의 일부로 만들어져서 1990년대 초에 상용화됐어요. 휴대폰과 기지국이 연결을 관리할 때 쓰는 제어 채널의 남는 공간에 짧은 메시지를 실어 보내자는 아이디어였어요. 한 통에 160자(영문 기준) 제한이 있는 것도 이 때문이고요.
문제는 그때 “보내는 사람이 진짜 그 사람인지” 확인하는 장치를 거의 고려하지 않았다는 거예요. 발신번호는 메시지에 적힌 값일 뿐이라서, 중간에 문자 중개 사업자를 거치면 다른 번호로 얼마든지 바꿀 수 있었어요. 편지 봉투 뒷면에 아무 주소나 적어도 우체국이 일일이 확인하지 않는 것과 비슷해요.
이메일도 처음에는 똑같았어요. 그런데 이메일은 SPF, DKIM, DMARC 같은 인증 기술이 차례로 들어왔죠. 이게 뭐냐면, “우리 도메인 메일은 이 서버에서만 나간다”(SPF), “메일에 도메인 주인의 전자서명을 붙인다”(DKIM), “인증에 실패한 메일은 이렇게 처리해라”(DMARC) 같은 규칙을 DNS에 공개해두는 방식이에요. 여기에 Gmail 같은 대형 사업자의 머신러닝 필터가 더해지면서 스팸이 받은편지함까지 오는 일이 확 줄었어요.
SMS에는 이런 전 세계 공통 인증 체계가 아직 없어요. 미국은 전화에 STIR/SHAKEN이라는 발신번호 인증을 의무화했지만, 음성 통화용이라 문자에는 적용되지 않거든요.
스패머들은 계속 진화해요
막는 쪽이 느린 사이에 보내는 쪽은 빠르게 진화했어요.
- 대량 발송 경로 악용: 기업이 인증번호나 알림을 보낼 때 쓰는 A2P(Application-to-Person, 서비스가 사람에게 보내는 문자) 경로를 뚫거나, 해킹한 문자 중개 계정을 이용해요. 미국은 이걸 막으려고 10DLC라는 발신자 등록제를 도입했지만 완벽하진 않아요.
- SIM 팜: 유심 수백 개를 꽂은 장비로 개인 번호인 척 문자를 뿌려요. 통신사 입장에서는 일반 사용자와 구분하기 어려워요.
- iMessage·RCS 같은 메신저형 문자: 기존 SMS 스팸 필터를 거치지 않는 경로로 돌아가는 거죠.
- 가짜 기지국(SMS 블래스터): 차에 가짜 기지국 장비를 싣고 다니면서 주변 휴대폰을 붙잡아 문자를 직접 넣는 수법도 해외에서 적발되고 있어요. 통신사 망을 아예 안 거치니까 통신사 필터로는 막을 수가 없어요.
한국은 좀 나을까?
한국은 2015년부터 인터넷으로 보내는 문자에 발신번호 사전등록제를 적용해서, 등록하지 않은 번호로는 대량 문자를 못 보내게 했어요. 덕분에 발신번호 조작은 다른 나라보다 어려운 편이에요. 그런데도 2024년 하반기에 주식 리딩방, 불법 도박 문자가 폭증해서 정부가 문자 중개 사업자 관리를 강화하는 대책을 내놨던 거 기억나시죠? 정상 등록된 경로를 악용하면 사전등록제만으로는 한계가 있다는 거예요.
개발자라면 이건 꼭 챙기세요
“스팸은 통신사가 알아서 막겠지” 하고 넘기기 쉬운데, 서비스를 만드는 개발자도 이 생태계의 일부예요.
1. SMS 펌핑 사기를 조심하세요. 봇이 회원가입 인증번호 API를 마구 호출해서, 특정 국가의 비싼 번호로 문자를 대량 발송하게 만드는 수법이에요. 사기꾼은 그 나라 통신사와 수익을 나눠 갖고, 문자 요금은 우리 회사가 내는 구조죠. 일론 머스크는 트위터가 이런 가짜 2단계 인증 문자 때문에 1년에 6천만 달러를 잃는다고 주장하기도 했어요. 인증번호 발송 API에는 IP·번호별 횟수 제한, 발송 허용 국가 제한, 캡차를 꼭 걸어두세요.
2. 문자 인증 의존도를 줄이세요. 스미싱에 지친 사용자들이 문자 자체를 안 믿게 되면, 정상적인 인증 문자도 의심을 받아요. 패스키(Passkey)나 앱 기반 OTP로 옮길 수 있는 부분은 미리 옮겨두는 게 길게 보면 이득이에요.
3. 정상 문자는 ‘스팸처럼’ 보이지 않게 쓰세요. 단축 URL, 과도한 특수문자, 급하다고 재촉하는 문구는 필터에게도 사용자에게도 스팸 신호예요. 브랜드명을 분명히 넣고, 링크는 자사 도메인을 쓰는 게 좋아요.
마무리
스팸 문자가 안 사라지는 건 누가 게을러서가 아니라, 30년도 더 전에 설계된 프로토콜에 인증이 빠져 있고 보내는 비용이 너무 싸기 때문이에요. 이메일 때처럼 ‘인증 + 필터링 + 경제적 비용’이 함께 맞아떨어져야 풀릴 문제예요.
여러분은 어떻게 생각하세요? 문자도 이메일처럼 발신자 인증을 의무화해야 할까요, 아니면 SMS는 이제 놓아주고 앱 기반 메시징으로 넘어가야 할까요? 서비스에서 SMS 펌핑을 겪어본 적이 있다면 경험도 나눠주세요!
🔗 출처: Hacker News