
무슨 일이 있었냐면요
유럽 일부 지역에는 "대마초 소셜 클럽"이라는 게 있어요. 대마초가 부분적으로 허용되는 곳에서, 성인 회원들끼리 합법적인 테두리 안에서 이용할 수 있도록 만든 회원제 모임이거든요. 그런데 이런 곳에 가입하려면 "내가 진짜 성인이고 신원이 확실하다"는 걸 증명해야 해요. 그래서 회원들이 여권이나 신분증을 사진으로 찍어 제출하게 되죠.
이번에 문제가 터진 건 이런 클럽의 회원을 관리해주는 소프트웨어예요. Nefos, PuffPal 같은 회원 관리 시스템이 사람들의 여권 스캔본과 개인정보를 제대로 보호하지 않은 채 보관하고 있었고, 그게 인터넷에 그대로 노출됐어요. 규모가 무려 100만 건에 달하는 신분증 데이터라고 하니, 단순한 실수로 넘기기엔 피해가 너무 큰 사건입니다.
이런 사고는 보통 어떻게 일어나냐면
여권 같은 민감한 파일이 통째로 새어 나갔다고 하면 "해커가 엄청난 기술로 뚫었나?" 싶지만, 현실은 의외로 시시한 경우가 많아요. 대부분은 클라우드 저장소나 데이터베이스를 외부에서 접근할 수 있게 열어둔 채 방치한 게 원인이거든요.
예를 들어 AWS S3 같은 객체 저장소(파일을 인터넷에 올려두고 URL로 꺼내 쓰는 창고라고 생각하시면 돼요)를 만들면서 "공개(public)"로 설정해버리면, 주소만 알면 누구나 그 안의 파일을 받아갈 수 있어요. 여기에 인증 절차도 없고, 파일이 암호화도 안 되어 있다면(이걸 "저장 시 암호화", encryption at rest가 빠졌다고 해요), 그냥 누군가 폴더를 통째로 다운로드해가는 거죠.
또 흔한 게 데이터베이스를 인증 없이 인터넷에 띄워두는 실수예요. MongoDB나 Elasticsearch 같은 걸 기본 설정 그대로 외부 IP에 열어두면, 자동으로 인터넷을 훑고 다니는 봇들이 금방 찾아내서 긁어가요. 이번 사건도 정황상 회원 관리 업체가 신분증 이미지를 안전하게 격리하지 않고, 접근 통제 없이 보관해둔 게 핵심 원인으로 보입니다.
여권 유출이 유독 무서운 이유
비밀번호는 털려도 바꾸면 그만이에요. 그런데 여권 번호, 생년월일, 얼굴 사진, 국적 같은 정보는 한번 새어 나가면 평생 바꿀 수가 없어요. 이걸로 다른 사람 명의의 계정을 만들거나, 금융 사기에 쓰거나, 신원 도용(다른 사람인 척 행세하는 것)에 악용할 수 있죠. 게다가 "대마초 클럽 회원"이라는 사실 자체가 민감한 정보라서, 누가 어디 소속인지까지 드러나면 협박이나 차별의 빌미가 될 수도 있어요.
한국 개발자에게 주는 교훈
남의 일 같지만 사실 우리 실무와 똑바로 연결되는 이야기예요. 회원가입에서 신분증 사진을 받는 서비스(중고거래 본인인증, 의료/금융 서비스 등)가 한국에도 정말 많거든요. 몇 가지만 기억해두면 좋아요.
- 민감 파일은 무조건 비공개 저장소에 두고, 접근은 짧게 유효한 서명 URL(presigned URL)로만 내주세요. 영구 공개 링크는 사고의 지름길이에요.
- 저장 시 암호화는 기본값으로 켜두세요. 요즘은 클라우드에서 체크박스 하나면 돼요.
- 본인인증이 끝났다면 신분증 원본 이미지는 목적을 다한 즉시 파기하는 게 가장 안전해요. 안 갖고 있는 데이터는 털릴 일도 없으니까요.
- 주기적으로 "우리 버킷/DB 중에 외부에 열려 있는 게 없나" 점검하는 자동화 스캔을 돌려두세요.
마무리
결국 이번 사건의 핵심은 "고도의 해킹"이 아니라 "민감 데이터를 너무 허술하게 다뤘다"는 한 문장으로 정리돼요. 한번 새어 나간 신원 정보는 되돌릴 수 없다는 점에서, 받는 순간부터 최소한으로 모으고 최대한 빨리 지우는 게 최선의 방어입니다.
여러분의 서비스는 사용자에게서 받은 신분증 이미지를 인증이 끝난 뒤에도 계속 보관하고 있나요, 아니면 바로 파기하나요? 어디까지 보관하는 게 적정선이라고 생각하시나요?
🔗 출처: Hacker News
TTJ 코딩클래스 정규반
월급 외 수입,
코딩으로 만들 수 있습니다
17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공