← 최신 논문
💻 컴퓨터 과학

How a Payment Lookup Oracle Confirms Predictable Identifiers

이 논문은 태국의 프롬프트페이(PromptPay)와 같은 국가 결제 확인 오라클이 공격자가 공개 데이터 및 유출된 기록을 대조하여 추측값을 검증할 수 있게 함으로써 예측된 국가 식별자의 결정론적 확인을 가능하게 하며, 수취인 성명이 부분적인 이름 마스킹 노력에도 불구하고 마스킹되지 않은 상태로 반환된다는 점에 의해 악화되는 취약성을 입증한다.

원저자: Badeesorn Sittikong, Tuul Triyason

게시일 2026-10-30
📖 4 분 읽기☕ 가벼운 읽기

원저자: Badeesorn Sittikong, Tuul Triyason

원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. ✨ 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

현대의 즉시 송금 시대에, 단순한 안전 확인 절차는 사생활 침해를 위한 강력한 도구가 되었습니다. 긴 은행 계좌 번호 대신 전화번호나 국가 식별 번호를 사용하여 친구에게 돈을 보낼 때, 당신의 뱅킹 앱은 빠른 조회를 수행합니다. 이 기능은 "이 번호는 누구의 것인가?"라고 중앙 시스템에 묻고, 당신이 올바른 사람에게 돈을 보내고 있는지 확인할 수 있도록 화면에 이름을 표시합니다. '해상도 오라클(resolution oracle)'이라고 알려진 이 기능은 실수를 방지하고 사기를 막기 위해 설계되었습니다. 그러나 연구자들은 알려진 신원을 확인하기 위해 고안된 이 동일한 메커니즘이 낯선 이의 신원을 알아내는 데에도 사용될 수 있다는 사실을 발견했습니다. 문제는 이 공개적인 조회 시스템이 많은 국가 식별 번호가 생년월일과 지역을 기반으로 한 예측 가능한 패턴을 따른다는 사실과 결합될 때 발생합니다. 과거에 보안 전문가들은 이러한 번호가 추측될 수 있다는 점은 알고 있었지만, 그 추측이 맞는지 확인할 방법은 없다고 믿었습니다. 새로운 발견은 결제 시스템 자체가 정답을 제공함으로써, 무작ful한 추측을 확정된 사실로 바꾼다는 것입니다.

태국의 몽꿋 라차마하비졸 대학교(King Mongkut's University of Technology Thonburi)의 두 연구자는 이 조합이 정확히 어느 정도의 위험을 초래하는지 측정하기 위해 나섰습니다. 그들은 사람들이 돈을 받기 위해 휴대전화 번호나 국가 ID 카드를 등록하여 사용하는 널리 쓰이는 즉시 결제 네트워크인 태국의 프롬프트페이(PromptPay) 시스템에 집중했습니다. 연구자들은 돈을 훔치거나 은행의 컴퓨터 시스템을 해킹하려고 시도하지 않았습니다. 대신, 그들은 결제 앱을 질문을 던지는 도구로 취급하고 앱이 주는 답변을 분석했습니다. 그들은 먼저 태국 국가 ID 카드의 구조를 살펴보았습니다. 이는 13자리 숫자로, 앞쪽 몇 자리는 사람이 등록된 주와 구를 나타내며, 마지막 자리는 번호의 유효성을 보장하는 수학적 체크 디지트입니다. 이러한 구조 때문에, 유효한 ID 번호의 총 개수는 실제보다 훨씬 적습니다. 연구자들은 시스템의 규칙 덕분에 특정 개인에 대한 정보가 알려지기도 전에 잠재적 후보군이 135분의 1로 줄어든다는 것을 계산했습니다.

그 후 연구는 공격자가 이미 유출된 ID 번호 목록을 가지고 있을 때 어떤 일이 발생하는지 조사했습니다. 최근의 공개 유출 사건으로 120만 개 이상의 태국 국가 ID 번호가 노출되었습니다. 과거에는 이러한 목록을 갖는 것이 전투의 절반에 불과했습니다. 공격자는 번호는 가졌지만 그에 연결된 이름은 알 방법이 없었기 때문입니다. 연구자들은 결제 조회 시스템이 이 빠진 조각을 해결해 준다는 것을 보여주었습니다. 뱅킹 앱에 유출된 ID 번호를 입력하면, 시스템은 즉시 계좌 보유자의 전체 이름을 반환합니다. 이는 정적인 번호 목록을 살아있는 검증된 이름 디렉토리로 바꿉니다. 연구자들은 문서에 ID 번호의 일부 숫자가 숨겨지거나 가려져 있더라도, ID 카드의 수학적 규칙이 누락된 조합의 수를 매우 작은 집합으로 제한한다는 것을 입증했습니다. 사용자는 이 몇 안 되는 가능성을 결제 앱에서 단순히 시도해 볼 수 있으며, 시스템은 잘못된 것은 거부하고 올바른 것을 표시함으로써 정답을 확인해 줄 것입니다.

현재의 개인정보 보호 조치가 얼마나 효과적인지 이해하기 위해, 연구자들은 결제 앱이 사용자의 이름을 화면에서 일부 숨기는 정책을 채택한 싱가포르의 사례도 살펴보았습니다. 그들은 수천 개의 태국 이름을 사용하여 이 아이디어를 테스트했습니다. 그들은 이름의 뒷부분만 숨기는 싱가포르 방식이 놀라울 정도로 취약하다는 것을 발견했습니다. 태국의 성씨는 종종 특정 가족에게 고유하며, 이름의 앞부분만으로도 사람을 식별하기에 충분한 경우가 많기 때문에, 마스킹 처리를 해도 이름이 사실상 노출되는 경우가 절반 이상이었습니다. 연구자들은 많은 인구 집단에 대해 마스킹된 이름이 개인을 식별할 수 있을 만큼 독특하다는 것을 발견했습니다. 더 중요한 것은, 이러한 유형의 마스킹이 이미 후보 이름을 가진 결정적인 공격자를 막지 못한다는 점을 보여주었다는 것입니다. 만약 공격자가 특정 ID 번호에 속한 이름이 무엇인지 의심한다 싶으면, 마스킹된 버전이 자신의 추측과 일치하는지 확인하기만 하면 되므로, 디스플레이 보호 조치는 표적 공격에 대해 무용지물이 됩니다.

연구자들은 그다음 태국에서 실제로 어떤 일이 일어나는지 확인하기 위해 직접 은행들을 찾아갔습니다. 그들은 국영, 민간, 외국계 및 이슬람 금융 기관을 포함한 7개의 서로 다른 은행을 대상으로 자신의 은행 계좌와 휴대전화를 사용하여 시스템을 테스트했습니다. 모든 경우에 예외 없이, 앱은 계좌 보유자의 마스킹되지 않은 전체 이름을 표시했습니다. 가려짐이나 글자 숨김, 또는 은행 간의 차이는 전혀 없었습니다. 이는 시스템이 전국적으로 균일하며 현재의 개인정보 보호 조치가 존재하지 않음을 확인시켜 주었습니다. 또한 연구자들은 동일한 이름을 반복해서 요청했을 때 시스템이 느려지거나 차단하지 않는 것을 관찰했는데, 이는 짧은 시간 내에 여러 번의 조회를 수행하는 것에 대한 엄격한 제한이 없음을 시사합니다.

이 연구의 핵심 결론은 위험이 이름의 '표시'에 있는 것이 아니라, 질문을 던질 수 있는 '능력'에 있다는 것입니다. 연구자들은 단순히 화면에서 이름을 숨기는 것은 잘못된 해결책이라고 주장하는데, 왜냐하면 그것이 근본적인 확인 과정을 막지 못하기 때문입니다. 만약 공격자가 유출된 번호 목록을 가지고 있다면, 결제 시스템은 어떤 번호가 진짜이고 누구의 것인지 확인해 주는 기계 역할을 하게 됩니다. 연구자들은 해결책이 답변이 아닌 '질문'을 제어하는 것이어야 한다고 제안합니다. 즉, 시스템은 단일 사용자가 하루에 조회할 수 있는 번호의 횟수를 제한하거나, 비정상적인 검색 패턴을 감지해야 한다는 것입니다. 그들은 이것이 패치할 수 있는 소프트웨어 버그가 아니라, 정직한 사용자에게는 유용한 목적을 수행하면서 동시에 개인정보 위험을 초래하는 결제 시스템의 설계 특징임을 강조합니다. 연구는 즉시 결제 시스템이 안전하기 위해서는 운영자가 이러한 조회를 수행할 수 있는 횟수에 엄격한 제한을 두어, 시스템이 아는 수취인을 확인하는 도구가 아닌 낯선 이를 찾아내는 디렉토리가 되지 않도록 해야 한다고 결론지었습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →