QR 코드 보안 가이드: 악성 QR 코드를 구별하는 방법
QR 코드 피싱(큐싱) 공격의 실제 사례, 악성 QR 코드 식별법, 안전한 QR 코드 생성 방법까지 실용적인 보안 가이드를 제공합니다.
QR 코드 피싱(큐싱)이란 무엇인가?
QR 코드 피싱은 영어로 'Quishing'(QR + Phishing)이라고 불리며, 악의적인 URL이나 명령을 QR 코드에 숨겨 사용자를 속이는 사이버 공격 기법입니다. 기존의 이메일 피싱이나 SMS 피싱(스미싱)과 달리, QR 코드는 내용을 사람 눈으로 직접 읽을 수 없다는 특성을 악용합니다. 사용자는 QR 코드를 스캔하기 전까지 해당 코드가 안전한 웹사이트로 연결되는지, 악성 사이트로 유도하는지 구별할 방법이 없습니다.
FBI의 2023년 인터넷 범죄 보고서에 따르면, QR 코드를 이용한 사기 신고 건수는 전년 대비 약 300% 증가했습니다. 공격자들이 QR 코드를 선호하는 이유는 분명합니다. 대부분의 이메일 보안 필터와 웹 방화벽은 텍스트 기반 URL을 검사하도록 설계되어 있지만, 이미지 내에 인코딩된 URL은 탐지하기 어렵습니다. QR 코드는 기업 보안 시스템을 우회하는 효과적인 벡터가 되었습니다.
특히 코로나19 이후 비대면 결제, 메뉴 확인, 출입 인증 등에서 QR 코드 사용이 폭발적으로 증가하면서 사용자들의 경계심이 낮아졌습니다. 사람들은 식당, 주차장, 공공장소에서 QR 코드를 스캔하는 것에 익숙해졌고, 이는 공격자에게 더 넓은 공격 표면을 제공하게 되었습니다. 한국인터넷진흥원(KISA)에 따르면 2023년 국내 QR 코드 관련 보안 사고 신고 건수도 전년 대비 2배 이상 증가했습니다.
공격자가 QR 코드를 악용하는 구체적인 방법
가장 흔한 수법은 물리적 덮어씌우기(overlay) 공격입니다. 공격자는 식당, 주차 미터기, 공유 자전거 등에 부착된 정상적인 QR 코드 위에 악성 QR 코드 스티커를 덧붙입니다. 미국 텍사스 오스틴에서는 2022년에 주차 미터기 29대의 QR 코드가 가짜 결제 사이트로 연결되는 스티커로 교체된 사건이 발생했습니다. 피해자들은 정상적인 주차비를 납부하는 줄 알고 신용카드 정보를 입력했지만, 실제로는 공격자의 피싱 사이트에 결제 정보를 제공한 것이었습니다.
이메일 기반 큐싱은 기업 환경에서 특히 위험합니다. 공격자는 Microsoft 365 비밀번호 재설정, 이중 인증(2FA) 설정, 회사 내부 문서 열람 등을 가장한 이메일에 QR 코드를 포함시킵니다. 이메일 본문에는 URL 링크가 없으므로 보안 솔루션이 악성 링크를 탐지하기 어렵습니다. Abnormal Security의 2024년 보고서에 따르면, 큐싱 이메일의 약 60%가 Microsoft를 사칭했으며, 평균 클릭률은 일반 피싱 이메일보다 2배 높았습니다.
더 정교한 공격으로는 동적 QR 코드 하이재킹이 있습니다. 동적 QR 코드는 생성 후에도 연결 URL을 변경할 수 있는데, 공격자가 QR 코드 생성 서비스의 계정을 탈취하면 이미 배포된 수천 개의 QR 코드가 일시에 악성 사이트로 리디렉션될 수 있습니다. 2023년에는 한 음식 배달 플랫폼의 동적 QR 코드 관리 계정이 해킹되어 약 7,000개의 QR 코드가 피싱 사이트로 변경된 사례가 보고되었습니다. 단축 URL 서비스를 통한 QR 코드도 마찬가지 위험이 있어, QR 코드에 인코딩된 URL이 어디로 리디렉션되는지 최종 도착지를 반드시 확인해야 합니다.
악성 QR 코드를 스캔 전에 식별하는 방법
물리적 환경에서 QR 코드를 만날 때 가장 먼저 확인해야 할 것은 스티커 여부입니다. 원래 인쇄된 QR 코드 위에 별도의 스티커가 덧붙여져 있는지 가장자리를 살펴보세요. 특히 공공장소의 QR 코드는 스티커가 비뚤어져 있거나, 주변 디자인과 인쇄 품질이 다르거나, 코드 주변에 원래 QR 코드의 흔적이 보이는 경우 조작을 의심해야 합니다. 주차장, ATM, 광고판 등에서 QR 코드를 발견하면 손으로 가장자리를 만져보는 것만으로도 덮어씌우기 여부를 확인할 수 있습니다.
스마트폰에서 QR 코드를 스캔할 때는 반드시 URL 미리보기 기능을 활용해야 합니다. iOS의 기본 카메라 앱과 Android의 Google 렌즈는 QR 코드를 인식하면 바로 URL을 열지 않고 상단에 URL을 미리 표시합니다. 이때 도메인을 꼼꼼히 확인하세요. 'paypa1.com'(l이 숫자 1), 'micros0ft.com'(o가 숫자 0), 'arnazon.com'(m이 rn) 같은 유사 도메인은 대표적인 피싱 기법입니다. 단축 URL(bit.ly, t.co 등)이 표시되는 경우에는 특히 주의가 필요하며, 가능하면 브라우저에서 직접 해당 서비스의 공식 웹사이트에 접속하는 것이 안전합니다.
전문 QR 스캐너 앱을 사용하면 추가적인 보안 검사가 가능합니다. Norton QR Code Scanner, Kaspersky QR Scanner, Trend Micro QR Scanner 같은 보안 업체의 전용 앱은 스캔된 URL을 악성 사이트 데이터베이스와 대조하여 위험을 경고합니다. TheWebGyver의 QR 코드 생성/리더 도구처럼 브라우저 기반 QR 리더를 사용하면, 스캔된 URL을 확인한 후 직접 방문 여부를 결정할 수 있어 즉시 리디렉션되는 위험을 피할 수 있습니다. 중요한 원칙은 QR 코드를 스캔한 후 자동으로 열리는 페이지에서 절대로 개인정보, 비밀번호, 결제 정보를 입력하지 않는 것입니다.
안전한 QR 코드 생성을 위한 실천 가이드
QR 코드를 생성하여 비즈니스나 개인 용도로 배포할 때도 보안을 고려해야 합니다. 가장 기본적인 원칙은 신뢰할 수 있는 도구를 사용하는 것입니다. 무료 온라인 QR 코드 생성기 중 일부는 생성된 QR 코드에 추적 코드를 삽입하거나, 입력된 URL을 자체 리디렉션 서비스를 통해 경유시켜 사용자 데이터를 수집합니다. TheWebGyver의 QR 코드 생성기처럼 모든 처리가 브라우저 내에서 이루어지고 서버로 데이터를 전송하지 않는 도구를 사용하면 이러한 위험을 원천적으로 차단할 수 있습니다.
비즈니스에서 QR 코드를 인쇄물에 활용할 때는 정적(Static) QR 코드를 권장합니다. 정적 QR 코드는 URL이 코드 자체에 직접 인코딩되어 생성 후 변경이 불가능합니다. 이는 곧 제3자가 연결 대상을 조작할 수 없다는 의미입니다. 동적 QR 코드가 필요한 경우에는 관리 계정에 강력한 비밀번호와 이중 인증(2FA)을 설정하고, URL 변경 이력을 정기적으로 모니터링해야 합니다. QR 코드에 인코딩하는 URL은 반드시 HTTPS를 사용하고, 가능하면 단축 URL 대신 전체 도메인을 사용하여 사용자가 목적지를 확인할 수 있게 해야 합니다.
QR 코드 주변에 브랜드 로고와 목적지 URL을 텍스트로 함께 표시하는 것도 중요한 보안 관행입니다. 예를 들어 QR 코드 아래에 'www.yourcompany.com/menu로 연결됩니다'라고 명시하면, 사용자가 스캔 후 표시되는 URL과 대조하여 변조 여부를 직접 확인할 수 있습니다. 이는 덮어씌우기 공격에 대한 효과적인 방어 수단이 됩니다. 또한 QR 코드를 인쇄물에 부착할 때는 쉽게 스티커를 덧붙일 수 없도록 코드 주변에 보호 라미네이팅을 적용하거나, 정기적으로 QR 코드의 정상 작동 여부를 점검하는 절차를 마련해야 합니다.
조직과 개인을 위한 QR 코드 보안 체크리스트
개인 사용자를 위한 보안 수칙을 정리하면 다음과 같습니다. QR 코드를 스캔할 때는 항상 URL 미리보기를 확인하고, 의심스러운 도메인이 표시되면 즉시 취소하세요. QR 코드가 리디렉션하는 페이지에서 로그인, 결제, 개인정보 입력을 요구하면 해당 서비스의 공식 앱이나 웹사이트를 직접 방문하여 처리하는 것이 안전합니다. 공공장소의 QR 코드는 물리적 변조 여부를 반드시 확인하고, 출처를 알 수 없는 전단지나 우편물의 QR 코드는 스캔하지 않는 것이 원칙입니다. 스마트폰의 운영체제와 브라우저를 항상 최신 버전으로 유지하면 알려진 QR 코드 관련 취약점에 대한 보호를 받을 수 있습니다.
기업과 조직에서는 보다 체계적인 접근이 필요합니다. 직원 보안 교육에 QR 코드 피싱 시나리오를 포함시키고, 정기적인 모의 훈련을 실시하세요. 이메일 보안 솔루션에 QR 코드 이미지 내 URL 추출 및 검사 기능이 포함되어 있는지 확인하고, 없다면 도입을 검토해야 합니다. Proofpoint, Mimecast, Abnormal Security 등의 최신 이메일 보안 솔루션은 이미지 내 QR 코드를 디코딩하여 악성 URL을 탐지하는 기능을 제공합니다. 사내에서 QR 코드를 생성하여 배포하는 경우, 승인된 도구와 절차를 통해서만 생성하도록 정책을 수립하고, 생성된 모든 QR 코드의 목록과 연결 URL을 중앙에서 관리해야 합니다.
최종적으로 QR 코드 보안의 핵심은 '신뢰하되 검증하라(Trust but Verify)'는 원칙입니다. QR 코드 자체가 위험한 기술은 아닙니다. 문제는 사용자가 QR 코드의 내용을 확인하지 않고 무조건 신뢰하는 습관에 있습니다. URL 링크를 클릭하기 전에 확인하듯이, QR 코드를 스캔한 후에도 연결되는 URL을 반드시 확인하세요. 보안 인식을 갖추고 기본적인 확인 절차를 습관화하면, QR 코드는 여전히 편리하고 효율적인 정보 전달 도구로 안전하게 활용할 수 있습니다. TheWebGyver의 QR 코드 도구처럼 브라우저 내에서 작동하여 데이터를 외부로 전송하지 않는 도구를 활용하면, 생성과 스캔 모두 보다 안전하게 수행할 수 있습니다.
이 글에서 다룬 내용을 QR 코드 생성기로 직접 체험해보세요.
QR 코드 생성기