Ở một bãi gửi xe, tấm bảng chuyển khoản treo trên cột có hai lớp giấy. Lớp dưới ố vàng, mép đã cong; lớp trên trắng tinh, phẳng phiu, dán bằng băng keo trong còn mới. Không ai để ý, vì cả hai đều là một tấm bảng QR trông rất bình thường.
Đó là kiểu lừa đơn giản nhất và phổ biến nhất: dán đè mã của kẻ gian lên mã thật. Giới an ninh mạng gọi chung các chiêu dùng mã QR để lừa là quishing, ghép từ QR và phishing. Chúng chia làm hai nhóm — mã dẫn tới tài khoản nhận tiền của kẻ gian, và mã dẫn tới trang web giả để lấy mật khẩu. Nhóm thứ nhất chiếm tiền ngay, nhóm thứ hai chiếm tài khoản rồi mới lấy tiền.
Điều nhiều bài cảnh báo nói không chính xác: mã QR không “chứa virus” và không tự cài gì vào máy bạn. Nó chỉ chứa văn bản. Hiểu đúng chỗ này giúp bạn sợ đúng chỗ, và phần dưới sẽ chỉ ra chỗ đó nằm ở đâu, kèm năm kịch bản đang chạy ở Việt Nam. Nếu bạn là người bán và muốn tấm bảng của mình khó bị thay, hãy bắt đầu bằng việc tạo mã QR chuyển khoản chuẩn VietQR từ chính số tài khoản của mình.
Quishing hoạt động ra sao
Kẻ gian không tấn công mã QR; họ thay nó, hoặc gửi cho bạn một mã khác kèm một câu chuyện. Cả hai cách đều không cần kỹ thuật gì đặc biệt — chỉ cần một máy in và một lý do nghe hợp lý.
Điều tôi thấy đáng ngại nhất không phải mức độ tinh vi mà là mức độ rẻ: một lô decal in sẵn tốn vài chục nghìn đồng. Thứ khiến quishing hiệu quả hơn lừa qua đường link là con người không đọc được mã QR bằng mắt. Một đường link giả trong tin nhắn còn có thể bị phát hiện vì tên miền sai một chữ; một mã QR giả thì trông y hệt mã thật, kể cả với người cẩn thận. Bạn chỉ biết nó dẫn đi đâu sau khi đã quét.
Cơ quan công an đã nhiều lần cảnh báo về thủ đoạn này trong năm 2025, với các điểm bị nhắm tới thường là quán ăn, bến xe, bãi gửi xe — những nơi bảng QR đặt ngoài tầm mắt nhân viên và khách thì đang vội.
Năm kịch bản đang chạy ở Việt Nam
Dán đè tại chỗ là kịch bản số một. Kẻ gian in sẵn decal cùng cỡ, ghé vào lúc đông khách, dán chồng lên mã thật trên bảng để bàn hoặc bảng treo quầy. Tiền khách chuyển đi thẳng vào tài khoản của họ, và chủ quán chỉ phát hiện khi đối soát cuối ngày.
Kịch bản thứ hai là mã gửi qua tin nhắn kèm lý do nhận tiền: hoàn cọc đơn hàng, trả lại phí ship, nhận quà tri ân, hoàn thuế. Mã loại này thường không phải mã chuyển khoản mà là mã chứa đường link tới một trang đăng nhập ngân hàng giả.
Thứ ba là mã dán ở nơi công cộng không có người trông: cột điện, trạm sạc xe, máy bán nước, bảng thông báo chung cư — kèm một dòng chữ như “quét để thanh toán” hoặc “quét để nhận ưu đãi”. Không có ai để bạn đối chiếu, nên rủi ro cao hơn hẳn mã ở quầy.
Thứ tư là mã trên tờ rơi hoặc thư giả danh ngân hàng, cơ quan thuế, công ty điện lực, thường kèm chữ “xác minh thông tin” hoặc “cập nhật sinh trắc học”. Thứ năm, gần đây xuất hiện nhiều hơn, là mã trong email công việc giả — mời họp, chia sẻ tài liệu — nhắm vào người dùng máy tính, nơi họ phải rút điện thoại ra quét và mất luôn lớp bảo vệ của hệ thống mạng công ty.
Mã QR không chứa virus
Trong một mã QR chỉ có văn bản, nhiều nhất vài nghìn ký tự. Không có mã lệnh, không có file thực thi, không có gì chạy được. Việc quét mã tự nó không cài đặt gì lên máy bạn và không lấy đi thông tin nào.
Nguy hiểm nằm ở ba việc xảy ra sau khi quét, và cả ba đều cần bạn tự tay làm. Bạn bấm chuyển tiền cho một tài khoản không phải của người bán. Bạn nhập mật khẩu ngân hàng vào một trang giả mà mã dẫn tới. Hoặc bạn tải và cài một ứng dụng từ đường link đó thay vì từ App Store và Google Play.
Ba việc đó là ba chốt chặn. Không việc nào xảy ra mà bạn không chạm tay vào màn hình.
Mã thật và mã giả khác nhau ở đâu
| Điểm nhìn | Mã bình thường | Mã đáng ngờ |
|---|---|---|
| Tấm mã tại chỗ | Nằm phẳng trong khung in sẵn, cùng độ cũ với bảng | Có lớp dán chồng, giấy mới hơn, lệch khung, băng keo còn mới |
| Sau khi quét | Mở thẳng màn chuyển tiền trong app ngân hàng | Mở trình duyệt, hiện trang đòi mật khẩu hoặc mã OTP |
| Tên chủ tài khoản | Trùng tên quán hoặc tên chủ | Tên cá nhân lạ, không liên quan tới nơi bạn đang mua |
| Cách mã tới tay bạn | Nhìn thấy tại quầy, hoặc người bán gửi trong cuộc trò chuyện đang diễn ra | Tin nhắn từ số lạ kèm lý do hoàn tiền, trúng thưởng, xác minh |
| Yêu cầu đi kèm | Không có gì ngoài việc chuyển tiền | Đòi đọc mã OTP, cài ứng dụng, hoặc quét ở màn hình đăng nhập |
| Nơi dán | Trong tầm nhìn của nhân viên | Cột điện, chỗ vắng, không ai quản lý |
Nhìn gì trước khi quét
Với mã ngoài đời, tôi luôn nhìn tấm mã trước khi nhìn màn hình. Sờ mép giấy xem có lớp thứ hai không; nhìn xem mã có lệch khỏi khung in sẵn không; để ý màu giấy so với phần còn lại của bảng. Ba giây, và nó bắt được gần hết các ca dán đè.
Với mã trong tin nhắn hoặc email, đừng quét trực tiếp bằng camera. Lưu ảnh về máy rồi đưa vào công cụ giải mã mã QR để đọc chuỗi ký tự thô. Một chuỗi bắt đầu bằng 00020101 là mã thanh toán chuẩn; một đường link tới tên miền lạ, nhất là tên miền gần giống tên ngân hàng nhưng sai một ký tự, thì không nên mở.
Riêng với việc chuyển tiền, chốt chặn quan trọng nhất vẫn là đọc tên chủ tài khoản hiện trong app trước khi bấm — bốn bước kiểm tra trước khi chuyển nằm ở bài riêng.
Lỡ dính rồi thì làm gì
- Nếu đã chuyển tiền: gọi tổng đài ngân hàng ngay, số in ở mặt sau thẻ, đề nghị tra soát và phong tỏa giao dịch. Càng sớm càng có cơ hội.
- Nếu đã nhập mật khẩu vào trang giả: đổi mật khẩu ngân hàng lập tức từ chính app chính thức, khóa thẻ tạm thời, và bật lại xác thực hai lớp.
- Nếu đã cài ứng dụng lạ: gỡ ngay, tắt các quyền trợ năng nếu app đó xin, và cân nhắc khôi phục cài đặt gốc nếu máy có dấu hiệu bất thường.
- Chụp màn hình biên lai, ảnh tấm mã, đoạn hội thoại; trình báo công an phường nơi xảy ra sự việc.
Tốc độ báo tin là thứ duy nhất bạn còn kiểm soát ở bước này. Tiền đã rút khỏi tài khoản nhận thì rất khó thu hồi, nên vài phút chênh lệch có thể quyết định kết quả.
Trách nhiệm không chỉ ở người quét
Tôi cho rằng cách đặt vấn đề hiện nay đang dồn quá nhiều gánh nặng lên người quét. Bảo khách hàng “hãy cẩn thận” thì dễ, nhưng khách đang xếp hàng, đang vội, và không có cách nào biết tấm mã trên cột đã bị thay hay chưa. Người có khả năng chặn thật sự là người đặt tấm mã đó ra.
Bốn việc phía người bán làm được mà gần như không tốn gì, và tôi khuyên làm cả bốn: in tên chủ tài khoản ngay dưới mã để khách đối chiếu; ép plastic và dán kín mép hoặc bắt vít để không thể bóc dán đè; đặt bảng trong tầm mắt thu ngân thay vì góc khuất; và tự quét thử một lần mỗi sáng. Riêng việc thứ tư mất năm giây và là thứ duy nhất phát hiện được mã bị thay đêm hôm trước.
Ở bãi gửi xe đầu bài, nếu tấm bảng có in tên chủ tài khoản thì lớp giấy dán đè đã lộ ngay từ vị khách đầu tiên. Nếu bạn đang bán hàng, hãy tạo mã QR chuyển khoản kèm tên chủ tài khoản và in thành bảng cứng — nó vừa giúp khách yên tâm, vừa làm việc dán đè trở nên vô nghĩa.
Hỏi đáp về lừa đảo mã QR
Quét nhầm mã QR lừa đảo có mất tiền ngay không
Không. Quét chỉ là đọc nội dung. Tiền chỉ rời tài khoản khi bạn tự bấm xác nhận và xác thực bằng mật khẩu hoặc sinh trắc học. Rủi ro thật là bạn xác nhận mà không đọc kỹ tên người nhận.
Làm sao biết mã QR ở quán có bị dán đè không
Sờ mép tấm mã xem có lớp giấy thứ hai, nhìn xem mã có lệch khung hoặc mới hơn phần còn lại của bảng. Sau khi quét, so tên chủ tài khoản với tên quán. Nếu quán không in tên chủ tài khoản, cứ hỏi nhân viên — người bán thật luôn sẵn sàng xác nhận.
Mã QR có lấy được thông tin trong điện thoại không
Bản thân mã thì không, vì nó chỉ là văn bản. Thông tin chỉ bị lấy khi bạn mở đường link rồi tự nhập vào một trang giả, hoặc khi bạn cài một ứng dụng từ đường link đó và cấp cho nó các quyền nhạy cảm.
Có nên quét mã QR dán ở nơi công cộng không
Hãy coi mọi mã dán ở chỗ không có người quản lý là đáng ngờ cho tới khi chứng minh ngược lại. Nếu buộc phải dùng, hãy đọc nội dung thô trước bằng công cụ giải mã, và tuyệt đối không nhập thông tin đăng nhập vào trang mà nó dẫn tới.
Mã QR trên hóa đơn hay giấy tờ chính thức có an toàn không
An toàn nếu bạn cầm bản gốc từ nguồn tin cậy, vì các mã đó chỉ dẫn tới trang tra cứu của cơ quan phát hành. Rủi ro nằm ở bản sao: một tờ thông báo giả in mã khác trông chẳng khác gì tờ thật. Cách kiểm là đọc tên miền hiện ra sau khi quét — nếu không phải tên miền chính thức của cơ quan đó thì dừng lại.