Các chiến lược để ngăn chặn các trình quét email kích hoạt các liên kết bỏ đăng ký trên YouTube


10

Tôi muốn cung cấp một liên kết "Hủy đăng ký" bằng một cú nhấp chuột ở chân trang của email mà dịch vụ của tôi gửi.

Rõ ràng, nhiều máy quét thư rác sẽ quét email và sẽ theo bất kỳ liên kết nào được tìm thấy trong email để quét nội dung của chúng để tìm phần mềm độc hại. Một cách giải quyết tôi đã sử dụng cho đến nay:

  • Nếu trang "Hủy đăng ký" được yêu cầu thông qua HTTP GET, nó sẽ hiển thị một biểu mẫu xác nhận đơn giản và một chút JS gửi biểu mẫu khi tải trang
  • Nếu trang "Hủy đăng ký" được yêu cầu qua HTTP POST thì chúng tôi sẽ hủy đăng ký người dùng

Bằng cách này, người dùng thường sẽ chỉ cần một cú nhấp chuột vào biểu mẫu và họ sẽ nhận được thông báo "Bạn đã hủy đăng ký". Nếu họ đã vô hiệu hóa JS, họ vẫn có thể gửi biểu mẫu xác nhận theo cách thủ công.

Bây giờ vấn đề là, một số máy quét như ATP của Office365 sẽ mở các trang và thực thi JS bên trong chúng . Bằng cách thực thi JS, họ gửi biểu mẫu và khiến người dùng tự động hủy đăng ký.

Tôi đã xem xét việc thêm kiểm tra vào logic JS tự động gửi:

  • không tự động gửi cho các tác nhân người dùng cụ thể
  • không tự động gửi cho phạm vi IP khách hàng cụ thể
  • kích hoạt sự kiện tự động gửi khi di chuyển chuột

Nhưng tất cả những thứ này có vẻ như là các phương pháp dễ vỡ, tốt nhất là hack, chắc chắn sẽ bị phá vỡ khi các máy quét email thay đổi chiến thuật của chúng.

Tôi chắc rằng vấn đề này có rất nhiều người trước tôi. Có cách giải quyết hợp lý đã biết, ngoài việc từ bỏ chức năng một lần bấm không?

Tái bút Tôi đã thêm hỗ trợ cho RFC 8058 nhưng người dùng vẫn sẽ nhấp vào liên kết ở chân trang.


1
Một vấn đề thú vị, một điều xuất hiện trong đầu tôi là reCAPTCHA v3 vô hình mới của Google, thông thường, nó không yêu cầu bất kỳ hành động nào từ người dùng nếu nó trông ổn.
Vladan

@Vladan có thể làm việc trong "trường hợp hạnh phúc". Nếu kiểm tra reCAPTCHA không thành công (ví dụ: vì trang mở bên trong ứng dụng email khách không có cookie Google), thì điều đó rất khó chịu cho người dùng cuối. Ngoài ra, dữ liệu được chuyển đến Google, vì vậy bạn cần thoải mái với điều đó, đề cập đến nó trong chính sách bảo mật, v.v.
Pēteris Caune

Chúng tôi có chức năng tương tự. Nhưng chúng tôi sử dụng Emarsys để tạo email được gửi đến người dùng và trong phần chân trang có một liên kết đơn giản (được mã hóa) thực hiện công việc. Bây giờ bạn làm tôi tự hỏi, người dùng của tôi có bị hủy đăng ký bởi máy quét email không?
Vedran Maricevic.

Câu trả lời:


7

Đây là một chủ đề của cuộc tranh luận đang diễn ra tại M³AAWG (Nhóm làm việc về nhắn tin, phần mềm độc hại và chống lạm dụng di động). Đó là một mớ hỗn độn và không có giải pháp dễ dàng. Nghe có vẻ như bạn đang làm mọi thứ đúng, nhưng một số hệ thống chống thư rác hơi quá mạnh.

Vấn đề lớn là bất cứ điều gì bạn có thể làm cũng có thể được thực hiện bởi một nhà tiếp thị lạm dụng hoặc người gửi thư rác.

Đề xuất tốt nhất tôi từng nghe chỉ là đặt hẹn giờ cho hành động. Thêm một hình ảnh xác thực cho người dùng hủy đăng ký trong vòng 5 phút sau khi giao hàng và xóa hình ảnh xác thực sau đó. (Đỗ không thực hiện điều này cho RFC của bạn 8058 Danh sách-Hủy đăng ký-Post link.)

Đề xuất yêu thích tiếp theo của tôi là thêm một liên kết canary vào tin nhắn. Điều này nên vô hình với độc giả của con người. Nếu được theo dõi, nó sẽ hoàn nguyên hoạt động nhấp gần đây từ IP đó và cấm IP từ các kích hoạt hành động trong một thời gian.

Tôi cũng thích ý tưởng của bạn, chỉ cần đảm bảo rằng nếu Javascript bị tắt, người dùng vẫn có thể hủy đăng ký sau khi nhấp vào nút xác nhận.

 

Có một phần của tôi (cảnh báo, tôi là một nhà nghiên cứu chống thư rác) muốn có những thông tin sai lệch này. Hy vọng rằng điều đó sẽ dạy cho các đồng nghiệp của tôi rằng họ đang làm một công việc tồi tệ như vậy và những sự leo thang này sẽ tiếp tục đến với họ. Từ quan điểm của bạn, bạn có thể vượt qua giới hạn (mặc dù bạn sẽ mất một vài người đăng ký trong quá trình này).

Các hệ thống phát hiện spam phải cẩn thận để tránh các liên kết quản lý đăng ký (ít nhất là cho đến khi kẻ xấu bắt đầu ngụy trang tải trọng của chúng dưới dạng liên kết không đăng ký).


Cảm ơn bạn! Đây là cả hai ý tưởng tốt mà tôi đã không nghĩ về. Tôi sẽ thử phương pháp hẹn giờ. Trong trường hợp của tôi, "CAPTCHA" là một nút đơn giản ở giữa màn hình chỉ cần nhấp vào. Để nhanh chóng mở các liên kết hủy đăng ký, tôi sẽ không bao gồm JS để tự động nhấp vào nút đó. Điều này sẽ nhận được xung quanh Office365 ATP ít nhất, quét các liên kết trong vòng một phút sau khi gửi email. Các liên kết canary sẽ khó thực hiện hơn một chút (hoàn tác các hành động, theo dõi các IP bị cấm). Ngoài ra, có nguy cơ máy quét spam có thể gắn cờ các email có liên kết vô hình là spam / phần mềm độc hại.
Pēteris Caune
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.