Chuyển tiền cho kẻ cắp
Võ Nhật Vinh
Giảng viên
Lam gọi ngay cho tôi để hỏi hướng xử lý sau khi mất sạch 100 triệu đồng trong thẻ tín dụng.
Câu chuyện - giống hệt những gì vừa được mô tả trên tin tức - đã xảy ra với bạn tôi từ trước Tết.
Hôm đó, Lam tranh thủ giờ nghỉ đặt vài món đồ Tết từ siêu thị. Đường link quảng cáo trên Facebook có giao diện giống hệt trang chính thức Lam vẫn thường xem. Nhưng chỉ vài phút sau khi thanh toán khoản tiền 600.000 đồng, thẻ tín dụng của cô bị trừ hai giao dịch, tổng cộng 100 triệu đồng.
Quy trình ban đầu diễn ra "bình thường". Lam chọn hàng, nhập thông tin thẻ. Giao diện xác thực hiện số tiền 600.000 đồng. OTP được gửi về điện thoại. Cô nhập mã - hệ thống báo sai. Mã khác đến, cô thử lại - vẫn không thành công. Sau đó cô nhận thông báo về hai giao dịch đã hoàn tất, mỗi giao dịch 50 triệu đồng, tại những đơn vị chấp nhận thanh toán khác hẳn nơi cô đặt hàng.
Mô tả của Lam khiến tôi nghĩ đến Real-time phishing (tấn công giả mạo thời gian thực) và OTP relay phishing (chuyển tiếp mã OTP) - là hai kỹ thuật tấn công mạng nâng cao, tinh vi hơn nhiều so với cách thức truyền thống.
Kẻ gian thường dựng một website giả mạo, khiến khách hàng tin rằng mình đang mua hàng và thanh toán bình thường. Khi nạn nhân nhập thông tin thẻ, chúng sử dụng dữ liệu đó để khởi tạo những giao dịch khác tại các đơn vị chấp nhận thanh toán của chúng.
Đến bước xác thực, ngân hàng gửi OTP cho chủ thẻ để xác nhận giao dịch thực tế. Website giả mạo đóng vai trò trung gian, hiển thị giao diện đánh lừa nạn nhân rằng họ đang xác nhận đơn hàng ban đầu. Khi khách nhập mã OTP, kẻ gian lập tức chuyển tiếp mã này đến hệ thống xác thực của ngân hàng để hoàn tất giao dịch gian lận.
Trong quá trình làm việc với ngân hàng, Lam được cho biết, cô đã duyệt hai giao dịch bằng hai OTP và giao dịch thành công nên họ không chịu trách nhiệm. Tức là theo ngân hàng, Lam đã tự tay chuyển tiền cho kẻ cắp.
Sốc vì mất tiền oan, Lam còn khó chịu vì một mắc mớ không được giải thích: vì sao khi nhận tin nhắn OTP, cô không được biết những mã mình nhập đang được dùng để xác nhận số tiền và đơn vị nhận nào?
Số tiền và người nhận mà khách hàng được thông báo phải khớp với thông tin ngân hàng thực sự xử lý. Nếu hai bên không khớp, khách hàng có thể nhập đúng mã nhưng vẫn chấp thuận một giao dịch mình không hề muốn.
Quy định của Ngân hàng Nhà nước yêu cầu OTP phải đi kèm thông tin giúp khách hàng nhận biết mục đích xác thực. Một số ngân hàng tại Việt Nam đã chủ động cải thiện bằng cách gửi OTP kèm đầy đủ thông tin về số tiền giao dịch cũng như bên bán. Tuy nhiên, vẫn có những trường hợp chỉ nhận được một dãy số mã hóa, không đủ để nắm bắt nội dung thông tin và đối chiếu. Sự thiếu nhất quán này khiến mức độ an toàn phụ thuộc vào từng ngân hàng.
Trong hệ sinh thái thanh toán, ngân hàng không chỉ là trung gian kỹ thuật mà còn kiểm soát dòng tiền, thiết kế cơ chế xác thực và thu phí từ mỗi giao dịch. Ngân hàng cam kết với bên bán rằng tiền sẽ được chuyển. Đồng thời, họ cũng cam kết với chủ thẻ rằng chỉ những giao dịch được xác thực hợp lệ mới được thực hiện.
Theo quy định hiện hành, việc yêu cầu OTP đồng nghĩa giao dịch thuộc nhóm có mức độ rủi ro trung bình đến cao. Vì vậy, nếu thông báo OTP thiếu thông tin chi tiết, người dùng có thể không nhận diện được đầy đủ rủi ro trước khi xác nhận.
Tại châu Âu, quy định PSD2 đã yêu cầu Strong Customer Authentication (SCA) từ năm 2019. Không chỉ dừng ở OTP, hệ thống phải đảm bảo người dùng biết rõ số tiền giao dịch, bên thụ hưởng và bối cảnh thanh toán. Các đề xuất trong PSD3 còn tiến xa hơn: minh bạch danh tính tài khoản nhận tiền, giúp người dùng phát hiện bất thường trước khi xác nhận.
Việt Nam đang đi theo hướng quản lý dựa trên mức độ rủi ro. Khung pháp lý hiện hành được quy định chủ yếu tại Thông tư 50/2024, và đã được sửa đổi, bổ sung bởi Thông tư 77/2025. Các văn bản này phân loại giao dịch theo mức độ rủi ro (loại A, B, C, D), quy định hình thức xác thực tối thiểu tương ứng, tăng cường sử dụng sinh trắc học, quản lý thiết bị giao dịch và yêu cầu các biện pháp bảo mật phù hợp.
Dù dùng OTP, sinh trắc học hay không yêu cầu thêm bước nào, hệ thống vẫn phải bảo đảm số tiền, người nhận và nội dung thanh toán không bị thay đổi trái với những gì khách hàng đã chấp thuận.
Trong chuyện của Lam, cô không đọc mã cho người lạ. Cô tự nhập mã vào giao diện mình tin là của ngân hàng để thanh toán đơn hàng do chính mình chọn. Điều cô không biết là mã đó có thể đang được dùng để xác thực giao dịch khác.
Trong nhiều hệ thống tài chính tiên tiến, nguyên tắc "Security by Design" được đặt lên hàng đầu: hệ thống phải chủ động giảm thiểu rủi ro, thay vì mặc định người dùng luôn tỉnh táo. Ngân hàng có thể không kiểm soát được website giả, nhưng họ kiểm soát hệ thống xác thực và cấp phép giao dịch.
Thiệt hại từ lừa đảo trực tuyến tại Việt Nam những năm gần đây lên tới hàng chục nghìn tỷ đồng. Đây không chỉ là câu chuyện của từng cá nhân như Lam mà là vấn đề của niềm tin vào hệ thống thanh toán số - một trụ cột của nền kinh tế số.
Giải pháp cần cả ba phía. Người dùng thận trọng với đường link, website và những yêu cầu nhập lại OTP bất thường. Cơ quan quản lý xây dựng chuẩn minh bạch thống nhất về số tiền và bên nhận trong bước xác thực. Ngân hàng và đơn vị thanh toán bảo đảm thông tin đó gắn chặt với giao dịch thực tế, đồng thời có cơ chế phát hiện và từ chối giao dịch bất thường - ngay cả khi OTP đã được nhập đúng.
Một giao dịch an toàn không nhất thiết phải yêu cầu OTP mọi lần. Nhưng khi OTP được dùng, nó phải xác nhận đúng giao dịch mà khách hàng được thông báo và chấp thuận.
Lam mất tiền không chỉ vì một cú nhấp chuột vội vàng, mà còn vì hệ thống chưa đủ minh bạch để giúp cô nhận ra rủi ro kịp thời. Trong một thế giới mà lừa đảo ngày càng tinh vi, an toàn tài chính không thể là trách nhiệm của riêng người dùng.
Võ Nhật Vinh