Strategie zapobiegające aktywowaniu przez skanery e-mail linków „anuluj subskrypcję”

10

Chciałbym podać linki „Anuluj subskrypcję” jednym kliknięciem w stopce wiadomości e-mail wysyłanych przez moją usługę.

Oczywiście wiele skanerów spamowych skanuje wiadomości e-mail i podąża za wszelkimi linkami znajdującymi się w wiadomościach e-mail, aby skanować ich zawartość w poszukiwaniu złośliwego oprogramowania. Obejście, z którego korzystałem do tej pory:

  • Jeśli strona „Anuluj subskrypcję” jest żądana przez HTTP GET, renderuje prosty formularz potwierdzenia i trochę JS, który przesyła formularz przy ładowaniu strony
  • Jeśli strona „Anuluj subskrypcję” jest żądana przez HTTP POST, anulujemy subskrypcję użytkownika

W ten sposób użytkownik będzie zwykle potrzebował tylko jednego kliknięcia w formularzu i otrzyma komunikat „Zostałeś anulowany”. Jeśli mają wyłączone JS, nadal mogą ręcznie przesłać formularz potwierdzenia.

Teraz problem polega na tym, że niektóre skanery, takie jak ATP Office365, otwierają strony i wykonują w nich JS . Wykonując JS, przesyłają formularz i powodują automatyczne anulowanie subskrypcji użytkownika.

Rozważałem dodanie czeków do logiki automatycznego przesyłania JS:

  • nie przesyłaj automatycznie dla określonych programów użytkownika
  • nie przesyłaj automatycznie dla określonych zakresów adresów IP klientów
  • wywołać zdarzenie automatycznego przesyłania po przesunięciu myszy

Ale wszystko to wydaje się być kruchymi metodami, w najlepszym razie hackami, które zepsują się, gdy skanery poczty elektronicznej zmienią taktykę.

Jestem pewien, że ten problem ma przed sobą wiele osób. Czy istnieją znane rozsądne obejścia poza rezygnacją z funkcji pojedynczego kliknięcia?

PS. Dodałem obsługę RFC 8058, ale użytkownicy nadal będą klikać łącza w stopce.

Pēteris Caune
źródło
1
Interesującym problemem, który przychodzi mi na myśl, jest niewidzialna reCAPTCHA v3 nowego Google'a, zwykle nie wymaga żadnych działań ze strony użytkownika, jeśli wygląda dobrze.
Vladan
@Vladan może działać w „szczęśliwym przypadku”. Jeśli sprawdzenie reCAPTCHA nie powiedzie się (na przykład, ponieważ strona otwiera się w kliencie poczty e-mail, gdzie nie ma pliku cookie Google), to jest bardzo denerwujące dla użytkownika końcowego. Ponadto dane trafiają do Google, więc musisz się z tym czuć swobodnie, wspomnij o tym w polityce prywatności itp.
Pēteris Caune,
Mamy taką samą funkcjonalność. Ale używamy Emarsys do tworzenia wiadomości e-mail wysyłanych do użytkowników, a w stopce znajduje się prosty link (zakodowany), który wykonuje to zadanie. Teraz zastanawiasz się, czy moi użytkownicy nie mają subskrypcji skanerów e-mail?
Vedran Maricevic.

Odpowiedzi:

7

Jest to temat toczącej się debaty w M³AAWG (grupa robocza ds. Przesyłania wiadomości, złośliwego oprogramowania i mobilnego zapobiegania nadużyciom). To bałagan i nie ma łatwych rozwiązań. Wygląda na to, że robisz wszystko dobrze, ale niektóre systemy antyspamowe są trochę zbyt agresywne.

Dużym problemem jest to, że wszystko, co możesz zrobić, może być również wykonane przez agresywnego sprzedawcę lub spamera.

Najlepsza propozycja, jaką słyszałem, to po prostu ustawić czas działania. Dodaj captcha dla użytkowników, którzy anulują subskrypcję w ciągu 5 minut od dostarczenia, a następnie usuń captcha. (Czy nie zaimplementować to za RFC 8058 łącza List-Wyrejestrowanie-Post).

Moją następną ulubioną propozycją jest dodanie do wiadomości linku kanaryjskiego. Powinno to być niewidoczne dla ludzkich czytelników. Jeśli zostanie zastosowane, cofnie ostatnią aktywność kliknięcia z tego adresu IP i na pewien czas zablokuje adres IP z wyzwalaczy akcji.

Podobają mi się również twoje pomysły. Upewnij się, że jeśli JavaScript jest wyłączony, użytkownik nadal może zrezygnować z subskrypcji po kliknięciu przycisku potwierdzenia.

 

Jest część mnie (uwaga, jestem badaczem antyspamowym), która chce tych fałszywych alarmów. Mam nadzieję, że nauczy to moich rówieśników, że wykonują tak złą robotę i że te eskalacje będą do nich przychodzić. Z twojego punktu widzenia możesz przejść do złotówki (choć w tym procesie stracisz kilku subskrybentów).

Systemy wykrywania spamu muszą uważać, aby unikać linków do zarządzania subskrypcjami (przynajmniej dopóki złoczyńcy nie zaczną ukrywać swoich ładunków jako odsyłaczy od abonamentu).

Adam Katz
źródło
Dziękuję Ci! Są to dobre pomysły, o których nie myślałem. Spróbuję podejść do timera. W moim przypadku „CAPTCHA” to prosty przycisk na środku ekranu, który wystarczy kliknąć. W przypadku szybko otwieranych linków anulowania subskrypcji nie dołączę JS do automatycznego klikania tego przycisku. Powinno to obejść przynajmniej Office365 ATP, który skanuje łącza w ciągu minuty od wysłania wiadomości e-mail. Łącza kanaryjskie byłyby nieco trudniejsze do wdrożenia (cofanie działań, śledzenie zablokowanych adresów IP). Ponadto istnieje ryzyko, że skanery spamowe mogą oznaczać wiadomości e-mail z niewidocznymi linkami jako spam / złośliwe oprogramowanie.
Pēteris Caune,