뉴스

SBS 뉴스 상단 메뉴

[취재파일] 끝자리 숫자만 바꾸면 결제 가능?…보안 뚫린 카드들

[취재파일] 끝자리 숫자만 바꾸면 결제 가능?…보안 뚫린 카드들

하나를 알고 열을 알아서는 안 되는 곳

'문일지십'. 하나를 들으면 열을 안다. 누구나 원하는 능력일 겁니다. 한 가지만 들어도 그 이상을 습득할 수 있다면 얼마나 효율적일까요.

하지만 이 말이 절대 통용되어서는 안 되는 곳이 있습니다. 바로 '보안의 세계'입니다. 내가 갖고 있는 정보로 추가 정보를 확보하지 못하게 하는 것이 보안의 핵심이기 때문입니다. 예를 들어, 내가 누군가의 페이스북 아이디를 알고 있는데 호기심에 비밀번호를 똑같이 쳐봤습니다. 아니나 다를까, 로그인이 됐습니다. 이런 경우 우리는 사용자가 '보안이 취약한' 아이디와 비밀번호를 사용했다고 보겠죠. 그래서 일부 사이트에선 타인이 쉽게 유추할 수 없도록 되도록이면 동일한 문자 사용을 권장하지 않는 겁니다.
 

누구나 유추 가능한 카드번호?

정리하자면, 보안의 생명은 '유추 불가능'에 있습니다. 그런데 이 당연한 룰을 무시하는 금융회사가 있다는 제보를 받았습니다. 바로 카드업계 1위, 신한카드사였습니다. 제보 내용은 간단하지 않았습니다. 핵심은 신한카드가 발행하는 특정 카드의 번호가 누구나 유추 가능하도록 단순하게 배열돼 있다는 것이었습니다.

카드번호 16자리는 크게 세 덩이로 나뉩니다. 앞 6자리는 BIN번호로 비자, 마스터 등 카드 브랜드와 카드 종류, 카드 등급 정보를 나타냅니다. 동일한 카드를 발급받으면 앞 6자리는 고정인 셈입니다. 그다음 7~15번째 자리는 고객의 고유 번호인데, 고객을 식별하는 번호이다 보니 유추할 수 없도록 무작위 혹은 특정 규칙에 따라 부여하는 게 일반적입니다. 그리고 마지막 16번째 자리는 검증 번호(Check digit)입니다. 이 카드가 유효한 카드인지 아닌지 검증하는 번호로 1~15번째 번호들을 곱하고 더하는 방식으로 만들어냅니다.

신한카드 도용_김보미

해커들은 BIN번호에 주목합니다. 같은 카드라면 BIN번호가 고정값이란 걸 이용해 프로그램을 돌려 나머지 번호를 무작위로 조합해 진짜 카드를 골라내는 겁니다. 이를 '빈어택(BIN ATTACK) 범죄'라고 합니다. 지난 2019년 KB국민카드에서 2천 명의 카드 번호가 유출된 사건도 빈어택 범죄의 희생물이었습니다.

그런데 제보자가 문제 삼은 건 더 심각했습니다. "프로그램도 돌릴 필요 없이 쉽게 해킹을 할 수 있다"는 내용이었으니까요. 모방 범죄의 위험성이 있어 조심스럽지만, 방식을 개략적으로 설명하자면 이렇습니다. 앞서 말했듯이 고객 고유 번호는 말 그대로 고객을 식별하는 번호이므로 유추하기 어렵도록 무작위로 구성해야 합니다. 하지만 문제가 된 카드는 1번, 2번, 3번, 4번 이렇게 발급 순서대로 번호가 단순하게 부여되어있다는 게 제보자 주장이었습니다. 즉 첫 번째 발행된 카드는 000000001, 두 번째 발행된 카드는 000000002, 500번째 발급된 카드는 000000500 이런 식이라는 것이죠.

이게 사실이라면 큰 문제였습니다. 비슷한 시기에 발급된 카드는 유효기간이 똑같기 때문입니다. 예를 들어 2022년 4월 17일에 A 씨가 카드를 발급받았는데, B 씨도 같은 날 동일한 카드를 발급받았습니다. 그렇다면 이들의 카드 유효기간은 모두 5년 뒤인 04/27이 됩니다. 즉, 실물 카드 하나만 있으면 다른 사람의 카드의 번호와 유효기간까지 유추할 수 있는 셈입니다.

'카드번호랑 유효기간만 안다고 문제가 되나?'라는 의문을 가질 수도 있습니다. 보통 국내 온라인 쇼핑몰에선 카드번호, 유효기간에 더해 CVC코드와 비밀번호까지 요구하기 때문이죠. 이중 삼중으로 본인 확인을 하는 겁니다. 하지만 해외의 경우는 어떨까요. 미국 최대 온라인 쇼핑몰 '아마존'은 CVC와 비밀번호 필요 없이 결제 가능합니다. 매일같이 해커들이 아마존 사이트를 통해 부정 결제를 하는 이유죠. 아마존이 간편 결제 시스템을 고집하고 있는 탓입니다.

제보자의 말이 사실인지 확인 절차가 필요했습니다. 사실 '내로라하는 대형 카드사가 설마 이렇게 허술하게 카드번호를 부여하고 있을까?' 라는 의구심이 앞섰습니다. 하지만 제보자의 말이 맞았습니다. 전화 결제 시스템을 통해 유효기간은 그대로 두고 카드번호를 1씩 올려가며 테스트를 했더니 유효한 카드로 확인된 겁니다. 막히는 부분에선 유효기간을 다음 달로 넘겨봤더니 또 결제 단계로 넘어가는 걸 확인할 수 있었습니다. 물론, 확인한 카드 번호들이 타인 명의의 카드일 테니 실제 결제를 하진 않았습니다.
 

부정 결제 잡아내는 FDS

신한카드 측은 "단순하게 발급 순서대로 부여를 한 게 맞냐"는 취재진의 질의에 "카드번호 체계는 범죄 악용 가능성이 있어 확인해줄 수 없다"고 했습니다. 영업 비밀이라는 것이죠. 그러면서 "FDS 통해서 부정 결제 방지에 나서고 있다"고 말했습니다. 금융감독원도 카드 부정 사용 문제에 대해선 각 카드사들의 이상금융거래탐지시스템(FDS)에 맡기고 있다고 말했습니다. FDS가 잘 가동되고 있고, 카드번호 체계까지 들여다보고 있지는 않다는 얘기였습니다.

신한카드

맞는 이야기입니다. FDS, 이상금융거래탐지시스템은 평소와 다른 패턴으로 금융 거래를 한다든지 의심스러운 거래들을 걸러내는 시스템입니다. 각 금융사들은 FDS시스템을 마련해서 24시간 가동하고 있습니다. 실제로 카드정보 도용 범죄로 인한 피해 금액은 2018년 6.7억 원, 2019년 2.3억 원, 2020년 3.6억 원, 2021년은 2천만 원으로 하향 곡선을 그리고 있습니다. FDS가 매년 강화되면서 부정 결제 차단율도 높아지고 있는 것이죠. 지난 2019년 KB국민카드 사건의 경우에도 9천300건이나 부정 결제가 시도됐지만, FDS가 모두 차단해 실제 피해가 발생하진 않았습니다.
 

'사전 리스크' 더 면밀히 챙겨야

그럼에도 우리는 '사전 리스크'를 계속 봐야 합니다. 기술이 발전하면 해커들의 능력도 같이 성장합니다. 매일같이 빈어택은 발생하고 이제 해커들은 없는 틈도 만들어냅니다. 구멍을 발견하면 얼른 메워야 그만큼 피해도 줄일 수 있습니다. 하지만 신한카드 측은 대책 마련 계획이 있느냐는 질문에 "카드번호는 각 회사 나름 방식대로 정하는 것이며, 피해가 발생하지 않았기 때문에 대책 이야기를 할 수 없다"고 말했습니다. 소 잃고 외양간 고칠 일이 아닙니다. 카드정보는 곧 금융정보이자 개인정보입니다. 금전적 피해뿐만 아니라 개인에게 돌아올 수 있는 피해의 영역이 무궁무진하다는 말입니다.

취재에 들어가자 금융감독원은 해당 카드의 번호 체계가 정보 탈취와 부정 사용 위험에 취약하다고 인정했습니다. 신한카드도 "부여 체계에 문제가 있는 것으로 파악했다며 개선 방안을 강구하겠다"고 밝혔습니다.

한 보안업계 전문가는 "이미 과거에도 일련번호 체계로 구성하는 것이 문제가 된 적이 있었다"며 "발급 순서대로 부여하는 것이 카드사 입장에선 관리하기 쉬울 수 있어도 범죄에 노출될 가능성도 크다"고 지적했습니다. 김형중 고려대학교 정보보호대학원 특임교수도 "항상 보안은 사람의 문제이고 약한 고리에 문제가 있다"며 "일을 쉽게 하려고 한 것이 문제"라고 꼬집었습니다.

물론 신한카드가 발행하는 전체 카드가 그런 건 아닙니다. 이미 잘하고 있는 카드들도 많습니다. 하지만 한 카드업계 관계자는 "사실 알고 있지만 덮어두고 있는 문제들이 많다"고 털어놨습니다. 그 이면엔 비용과 정책 문제가 있죠. 금융사들마다 복잡한 속내가 있을 겁니다. 그러나 탈 나기 전에 미리 예방하는 자세, 특히 민감한 정보들을 갖고 있는 금융회사라면 더욱더 신경 써야 하지 않을까 싶습니다.

(통계 출처: 유의동 국민의힘 의원실)
Copyright Ⓒ SBS. All rights reserved. 무단 전재, 재배포 및 AI학습 이용 금지

스브스프리미엄

스브스프리미엄이란?

    많이 본 뉴스