Trên trụ đỗ xe ở một bãi giữ xe trung tâm thương mại, ai đó dán một hình vuông đen trắng phủ vừa khít lên mã QR in sẵn. In đẹp, logo đúng màu. Người quét nó rơi vào một trang thanh toán trông y hệt trang thật, nhập số thẻ, rồi mất tiền trong khi vẫn đinh ninh mình vừa trả phí đỗ xe. Chi phí của cả cuộc tấn công đó là một tờ sticker.
Kiểu lừa này có tên riêng là quishing, ghép từ QR và phishing. Bản chất không mới, vẫn là dụ người ta tới một trang giả để lấy thông tin đăng nhập, nhưng cách chuyển đường link tới nạn nhân thì khác hẳn, và chính điểm khác đó khiến những lớp phòng thủ quen thuộc trở nên vô dụng.
Vì sao bộ lọc thư không nhìn thấy đường link nằm trong mã QR
Hệ thống lọc thư rác đọc chữ. Nó phân tích tên miền trong nội dung, đối chiếu danh sách đen, chấm điểm những đường link vừa được đăng ký hôm qua. Toàn bộ cơ chế ấy dựa trên giả định rằng địa chỉ đích tồn tại dưới dạng văn bản ở đâu đó trong thư.
Mã QR phá vỡ đúng giả định đó. Địa chỉ đích là các điểm ảnh trong một tấm hình, và với bộ lọc thì thư chỉ chứa "một hình ảnh" cùng vài dòng chữ hoàn toàn vô hại. Không có tên miền nào để chấm điểm, không có gì để viết lại. Thư đi thẳng vào hộp thư đến với điểm rủi ro thấp, và thứ duy nhất còn đứng giữa kẻ tấn công với tài khoản của bạn là chính bạn.
Đó cũng là lý do các dấu hiệu nhận diện thư giả bằng mắt vẫn giữ nguyên giá trị: địa chỉ người gửi lệch một chữ, lời chào chung chung, sức ép về thời hạn đều không thay đổi chỉ vì đường link chuyển thành hình vuông. Nếu bạn muốn ôn lại nhanh, bài cách nhận biết email lừa đảo trong 20 giây đi qua đúng những dấu hiệu đó.
Bốn chỗ mã QR giả xuất hiện nhiều nhất
Ngoài đời thực, phổ biến nhất là sticker dán đè: bãi đỗ xe, trạm sạc xe điện, bảng menu quán ăn, biển quyên góp. Kẻ dán không cần hiểu gì về hệ thống thanh toán thật, chỉ cần che mã thật đi là đủ. Trên thư điện tử, dạng hay gặp nhất là thông báo giao lại bưu kiện của bưu điện hoặc hãng vận chuyển, kèm một khoản phí nhỏ tới mức bạn không buồn nghi ngờ.
Dạng thứ ba là tệp PDF đính kèm với dòng "hoá đơn của bạn ở trong tệp", mà bên trong chỉ có một mã QR và câu mời quét để xem chi tiết. Đưa mã vào PDF giúp tránh thêm một lớp kiểm tra nữa, vì nhiều hệ thống không phân tích ảnh nằm bên trong tệp đính kèm.
Dạng thứ tư mới là loại làm nhân viên văn phòng sập bẫy nhiều nhất: một thư trông như của bộ phận CNTT nội bộ, báo rằng công ty đang chuyển sang phương thức xác thực hai lớp mới và bạn phải đăng ký lại trước cuối tuần, kèm mã QR để "quét bằng điện thoại". Nó khớp hoàn hảo với một việc mà công ty thật sự có làm, và động tác quét bằng điện thoại nghe hợp lý tới mức không ai dừng lại để hỏi tại sao. Trong tình huống đó, việc kiểm tra xem địa chỉ người gửi có thật sự tồn tại hay không là một bước rẻ tiền nên làm trước khi bạn làm bất cứ điều gì thư ấy yêu cầu.
Điện thoại là mục tiêu mềm, và chỗ duy nhất cần đọc trong một địa chỉ web
Việc quét đẩy bạn từ máy tính sang điện thoại, và đó là một sự đổi môi trường có lợi cho kẻ tấn công về mọi mặt. Thanh địa chỉ trên di động rất ngắn, thường chỉ hiện được phần đầu tên miền rồi cắt cụt, nhiều trình duyệt còn tự ẩn nó đi khi bạn cuộn trang.
Thêm nữa, điện thoại thường là thiết bị cá nhân. Nó không đi qua hệ thống lọc web của công ty, không có phần mềm giám sát của phòng CNTT, và bộ phận bảo mật cũng không nhìn thấy chuyện gì vừa xảy ra. Thêm vào đó, người ta thường quét mã lúc đang vội, đứng giữa bãi xe, một tay xách túi.
Bù lại, gần như mọi ứng dụng camera hiện nay đều hiện trước địa chỉ dưới dạng một dải thông báo thay vì mở thẳng. Hãy tập thói quen dừng lại đọc dải đó, và đọc đúng một chỗ: phần nằm ngay bên trái dấu gạch chéo đơn đầu tiên. Trong một địa chỉ như "https://tenmien-that.com/duong-dan/nhieu-chu-an-tuong", tên miền thật là phần trước dấu gạch chéo, còn tất cả những từ oai vệ phía sau đều do kẻ tấn công tự viết ra và không chứng minh được điều gì.
Có hai thủ thuật đánh lừa hay gặp. Thứ nhất là tiền tố tên miền phụ dài: "https://ngan-hang-cua-ban.dang-nhap.xac-thuc.tenmien-la.com" đọc lướt thì thấy tên ngân hàng ở ngay đầu, nhưng tên miền thật vẫn là hai nhãn cuối cùng. Thứ hai là ký tự nhìn giống nhau, chữ l thay cho chữ i, số 0 thay chữ o, hoặc chữ cái từ bảng chữ cái khác trông y hệt chữ Latin. Nếu bạn phải nheo mắt mới phân biệt được, hãy mặc định coi đó là trang giả.
Nguyên tắc gọn nhất, và cũng là nguyên tắc bỏ qua được toàn bộ trò đoán tên miền: không bao giờ đăng nhập vào một tài khoản qua đường mà người khác đưa cho bạn. Hãy mở ứng dụng ngân hàng, gõ tay địa chỉ bạn vẫn dùng, hoặc bấm dấu trang tự lưu. Nếu thông báo là thật, nó sẽ có mặt ở đó khi bạn tự tìm đến.
Vì sao mã 2FA đúng không chứng minh trang web là thật
Chi tiết đáng nhớ nhất của bài này nằm ở đây. Khi một trang hỏi mật khẩu rồi hỏi tiếp mã sáu số đang hiển thị trên ứng dụng xác thực của bạn, nó không hề "kiểm tra thêm cho chắc". Nó đang chuyển tiếp cả hai thứ sang trang thật ngay lúc đó, theo thời gian thực, để đăng nhập thay bạn và giữ lấy phiên làm việc. Vì mã bạn nhập là mã thật, đăng nhập thành công, trang chuyển hướng bạn về đúng trang chủ và mọi thứ trông như bình thường.
Hệ quả rất khó chịu: cảm giác "mã của mình được chấp nhận nên chắc là trang thật" hoàn toàn sai. Thứ duy nhất chống lại được cơ chế này là yếu tố xác thực gắn chặt với tên miền, tức passkey hoặc khoá bảo mật phần cứng. Chúng chỉ chịu ký cho đúng tên miền đã đăng ký, nên trên trang giả chúng đơn giản là không hoạt động, và kẻ tấn công không có gì để chuyển tiếp.
Mã TOTP dù sao vẫn tốt hơn tin nhắn SMS rất nhiều, và nếu bạn đang cân nhắc chuyển, bài so sánh ứng dụng xác thực hay 2FA qua SMS nói rõ khác biệt giữa hai lựa chọn.
Khi cần đối chiếu một khoá dự phòng mà không có điện thoại trong tay, bạn có thể xem mã TOTP hiện tại ngay trên trình duyệt để chắc chắn khoá bạn lưu vẫn khớp với tài khoản.
Nếu bạn đã quét và đã nhập thông tin
Hãy làm mọi việc từ một thiết bị khác, không phải cái vừa quét, và làm theo đúng thứ tự. Đổi mật khẩu của tài khoản đó, và của mọi tài khoản khác đang dùng chung mật khẩu ấy. Sau đó đăng xuất khỏi tất cả phiên đang hoạt động, vì đây mới là bước thật sự đẩy kẻ tấn công ra ngoài; nếu chỉ đổi mật khẩu mà không huỷ phiên, phiên chúng đang giữ vẫn sống nguyên.
Tiếp theo là phần hay bị quên, và là lý do nhiều người bị chiếm lại tài khoản một tuần sau đó: kiểm tra những gì đã bị cài thêm vào tài khoản. Địa chỉ khôi phục hoặc số điện thoại lạ, quy tắc tự động chuyển tiếp thư đi nơi khác, mật khẩu ứng dụng, thiết bị và ứng dụng bên thứ ba được cấp quyền. Xoá hết những gì không phải của bạn, rồi báo cho bộ phận CNTT hoặc ngân hàng, càng sớm càng tốt kể cả khi bạn thấy ngại.
Nếu bạn thấy một địa chỉ khôi phục lạ vừa được thêm vào, hãy kiểm tra xem địa chỉ đó có tồn tại thật hay không trước khi báo lại, vì thông tin ấy giúp bộ phận hỗ trợ khoanh vùng nhanh hơn nhiều.
Với mã QR ngoài đời, phép kiểm tra vật lý đơn giản đến bất ngờ: mã chính hãng gần như luôn được in thẳng vào biển hoặc vào máy, cùng lớp mực với phần chữ xung quanh, còn mã giả là sticker có mép. Lấy móng tay gạt nhẹ một góc là biết ngay. Và khi một trang lạ đòi email trước lúc cho bạn xem bất cứ thứ gì, một địa chỉ email tạm thời giúp giữ hộp thư chính của bạn nằm ngoài tầm với của họ.
Câu hỏi thường gặp
Chỉ quét mã QR mà chưa nhập gì thì có sao không?
Trong phần lớn trường hợp là không. Quét chỉ mở một địa chỉ web, và rủi ro thật sự bắt đầu khi bạn nhập thông tin hoặc cài đặt thứ gì đó từ trang ấy. Hãy đóng tab, đừng nhập gì, và nếu trang gợi ý tải một ứng dụng hay một hồ sơ cấu hình thì tuyệt đối từ chối.
Làm sao biết mã QR trên biển đỗ xe là thật?
Nhìn xem nó được in vào biển hay dán lên trên. Mã thật thường nằm cùng lớp in với chữ và logo xung quanh, còn mã giả là sticker có mép, đôi khi che mất một phần nội dung bên dưới. Khi còn nghi ngờ, hãy trả tiền qua ứng dụng chính thức của bãi xe hoặc bằng thẻ tại máy.
Dùng passkey rồi thì có còn bị lừa qua mã QR không?
Passkey chặn được đúng phần nguy hiểm nhất, vì nó chỉ ký cho tên miền thật nên trang giả không lấy được gì để chuyển tiếp. Nhưng nó không ngăn bạn tự tay nhập số thẻ vào một trang thanh toán giả. Passkey xoá bỏ nguy cơ chiếm tài khoản, còn thói quen kiểm tra tên miền thì vẫn phải giữ.