QR코드 위에 가짜 QR코드를 붙인다고? ‘큐싱’ 사기의 작동 방식

주차장 요금 안내판이나 식당 메뉴판에 붙은 QR코드를 스캔했는데, 결제 페이지가 평소와 조금 다르게 생겼다. QR코드가 안내판에 있으니 믿어도 될까? 반드시 그렇지는 않다. 공격자가 정상 코드 위에 다른 스티커를 붙이면 스마트폰은 나중에 붙은 코드에 저장된 정보를 읽는다. 하지만 반대로 앱 설치나 로그인을 요구하는 모든 QR이 가짜인 것도 아니다. 공식 박물관·미술관 서비스의 세 가지 절차를 함께 비교하면 ‘어떤 요청이 나왔는가’보다 ‘누가 그 요청을 하는가’를 확인해야 하는 이유가 드러난다.
큐싱이란 무엇인가
큐싱(quishing)은 QR코드를 이용한 피싱을 뜻한다. 이용자가 스마트폰으로 읽은 QR이 공격자가 지정한 로그인·결제 화면 또는 악성 앱 다운로드 페이지로 이동하게 만드는 방식이다. 미국 연방거래위원회(FTC)는 주차요금 결제기 위에 가짜 QR 스티커를 덮어붙이는 사례와 이메일·문자에 QR을 넣어 급하게 접속하도록 유도하는 사례를 설명한다.
여기서 중요한 구분은 QR이라는 형식 자체가 해롭지 않다는 것이다. 검정·흰색 사각형에 어떤 문자열을 저장했는지는 코드만 보고 알기 어렵고, 공격자는 기존 화면을 그럴듯하게 흉내 낼 수 있다. QR이 스캔됐다고 바로 모든 금융정보가 유출되는 것도 아니다. 위험은 악성 주소로 이동한 뒤 입력한 비밀번호, 설치한 앱, 승인한 권한, 허용한 결제 단계에 따라 달라진다.
검은 정사각형이 보장하는 것은 주소의 정체가 아니다
QR의 위치 검출 패턴과 데이터 무늬는 카메라가 코드를 읽기 쉽도록 돕는다. 하지만 ‘정상 규격으로 인식됐다’는 사실은 그 주소를 관리하는 사람이 누구인지에 대한 증명이 아니다. HTTPS 연결도 전송 구간을 보호하는 기술이지 서비스 운영자가 믿을 만하다는 인증으로 바로 연결되지 않는다. 따라서 스마트폰이 코드를 잘 읽고 브라우저가 보안 연결을 표시하더라도 주소 자체와 요청 내용을 따로 판단해야 한다.
이해를 돕기 위해 국립중앙박물관의 전시안내 앱, 국립중앙박물관의 스마트 전시관, 국립현대미술관의 회원 QR 프리패스 공개 안내를 대조했다. 세 서비스 모두 QR을 활용하지만 사용자가 해야 하는 일과 신원 확인 방향은 다르다. 이번 비교는 기관 문서와 저장된 QR 파일의 문자값을 분석한 것으로, 현장 포스터와 스마트폰을 실제로 스캔하거나 앱을 설치해 결제·로그인한 실험은 아니다.
사례 1 — 앱 설치로 이어지는 정상 QR도 있다
국립중앙박물관은 모바일 전시안내 앱을 무료로 제공하며, 앱스토어와 구글 플레이스토어 등 설치 경로를 공식 홈페이지에서 안내한다. 기능 설명에는 전시품 길찾기, 위치 기반 안내, 블루투스와 위치정보 이용 조건이 포함돼 있다. 이런 서비스에서는 앱 설치와 일부 기기 권한 요청이 사용 목적에 따라 정상적인 흐름일 수 있다.
확보한 기록에서는 박물관 공식 페이지에 실린 전시안내 QR의 PNG 파일을 내려받아 해독한 결과, 코드 안에 들어 있는 문자열은 https://onelink.to/ejud9a였다. 사이트 설명이 직접 제시한 앱스토어 주소와는 다르지만, 이는 앱 종류나 기기에 따라 설치 경로를 분기하는 중간 주소 형태다. 이번 조사에서는 그 중간 주소가 현재 어떤 휴대폰에서 어디로 최종 연결되는지 확인하지 못했다. 따라서 중간 주소라는 이유만으로 악성이라고 판단하거나, 무조건 안전하다고 보증하지 않는다.
실제 이용자가 할 수 있는 더 확실한 점검은 기관의 공식 도메인에 직접 접속해 안내된 앱 이름과 개발자, 스토어 상품 정보를 별도로 확인하는 것이다. 이번 비교에서는 구글 플레이 상품 식별자 go.kr.museum.arnavigation과 안내 페이지에 적힌 식별자가 일치했다. 하지만 이 비교도 앱 설치 후 권한 행사나 현재 스토어 버전의 모든 동작을 검사한 것은 아니다.
사례 2 — QR에 저장된 주소와 안내 문구의 세부 경로가 다를 수 있다
국립중앙박물관의 스마트 전시관 소개에서는 웹 서비스로 이동하는 QR을 제공한다. 확보한 기록에서는 공식 PNG의 저장 문자열을 해독했을 때는 https://smart.museum.go.kr라는 루트 주소가 들어 있었다. 공식 안내 페이지에는 이보다 구체적인 /chat/ 경로가 함께 등장한다. 두 문자열이 다르다는 사실은 확인했지만, 두 주소가 현재 동일한 화면으로 이동하는지는 접속 오류 때문에 확인하지 못했다.
여기서 ‘주소가 다르다 = 위조 QR’이라는 결론은 성급하다. 홈페이지의 루트로 들어가 내부 메뉴로 이동할 수도 있고, 안내 페이지의 설명이 업데이트되면서 경로 표기가 달라졌을 수도 있다. 다만 정상이라는 보장 역시 아니다. 이용자가 해야 할 일은 접속 전 전체 도메인을 보고, 낯선 로그인이나 금융정보 입력이 나오면 공식 홈페이지의 서비스 설명과 다시 대조하는 것이다. 정상 페이지일 가능성과 악성 페이지일 가능성 모두 확인 가능한 추가 증거에 따라 가려야 한다.
사례 3 — 모든 QR이 이용자가 스캔하는 코드는 아니다
국립현대미술관은 2025년 유료 회원의 QR 회원권을 이용한 프리패스 도입을 안내했다. 이 경우는 이용자가 낯선 포스터의 QR을 카메라로 읽는 대신, 본인 계정에서 QR 회원권을 열어 입장 게이트에 제시하는 절차다. 코드가 오가는 방향 자체가 다르다. 안내판의 QR을 스캔해 웹사이트로 들어가는 상황과 회원이 공식 계정 안에서 자신의 회원권 코드를 보여주는 상황을 같은 수칙 하나로 재단할 수 없다.
실제 안전 판단에서 우선해야 할 질문은 ‘QR이 있느냐’가 아니라 ‘이 QR을 누가 생성했고, 누가 읽으며, 그 결과 이용자에게 무엇을 요구하느냐’다. 공개 정책 안내는 절차를 검증하는 근거지만 모든 전시장과 날짜에 같은 운영이 적용된다고 보장하는 현장 시험자료는 아니다.
| 상황 | 사용자가 해야 할 동작 | 가장 먼저 대조할 정보 | 이 글의 확인 한계 |
|---|---|---|---|
| 박물관 앱 설치 QR | 카메라로 코드 읽고 앱스토어로 이동 | 기관 공식 사이트의 앱명·스토어 개발자 | 중간 주소의 현재 최종 분기 미확인 |
| 스마트 전시관 웹 QR | 브라우저에서 웹 안내 열기 | 안내된 기관 도메인과 요구 정보 | 루트와 /chat/ 동등 동작 미확인 |
| 미술관 QR 회원증 | 로그인 후 자신의 QR을 게이트에 제시 | 공식 계정 화면과 회원권 절차 | 현장 게이트 테스트 미실시 |
| 출처 불명 주차·결제 QR | 외부 결제·로그인으로 이동 | 공식 앱·직접 입력한 알려진 주소 | 표면의 스티커를 검사하지 않음 |
QR이 수상할 때는 세 가지를 차례로 묻는다
첫째, 이 코드를 누가 붙였는가. 공식 인쇄물 위에 덧댄 흔적이 있거나 안내문과 표기가 어긋나면 주소를 열기 전에 멈춰야 한다. 그렇다고 스티커 흔적이 없다는 이유로 안전하다고 확정할 수도 없다. 둘째, 어느 주소로 가는가. 익숙한 브랜드 로고 대신 실제 도메인을 읽어야 한다. 단축주소와 중간 경유 링크를 만나면 공식 홈페이지에서 해당 서비스 설명을 다시 찾는 편이 낫다. 셋째, 무슨 정보를 요구하는가. 단순 전시 정보라면서 카드번호·비밀번호·원격제어 앱 설치를 요구한다면 목적과 요청이 맞지 않는다.
이 세 질문은 특정 코드를 ‘인증된 안전 QR’로 판정하는 시험법이 아니다. FTC와 한국의 공공기관들이 제시하는 기본 예방 원칙에, 박물관 QR 세 가지의 요청 방향 비교를 결합해 이용자가 판단을 미루거나 공식 경로를 선택할 기준을 만든 것이다. 예방 조언 자체를 OPA의 새 발견으로 주장하지 않는다.
이미 스캔하거나 정보를 입력했다면
주소만 확인했고 아무 정보도 입력하지 않았다면, 우선 해당 페이지를 닫고 공식 경로로 다시 들어가면 된다. 계정 비밀번호를 입력했다면 공식 앱이나 직접 입력한 도메인에서 비밀번호를 바꾸고, 가능하면 다단계 인증을 확인한다. 앱을 설치했거나 금융정보를 입력했다면 기기 점검, 거래 내역 확인과 금융기관 문의가 필요하다. 금전 피해가 발생한 경우에는 즉시 금융회사와 경찰 등의 도움을 요청해야 한다. 한국인터넷진흥원(KISA) 118은 스미싱·큐싱 등 관련 상담 경로로 소개돼 있다. 신고 자체가 환급을 보장하지는 않는다.
QR을 만드는 기술은 빠르고 편리하지만, 그 편리함 때문에 이용자가 주소창을 충분히 읽지 않은 채 다음 단계로 넘어갈 수 있다. QR 사기의 핵심은 작은 무늬가 아니라 정상적으로 보이는 환경에 가짜 운영자와 가짜 요청을 끼워 넣는 것이다. 공식 경로를 다시 확인할 수 있는 상황이라면 서두르는 것보다 그 방법이 더 확실하다.



