กลยุทธ์ในการป้องกันไม่ให้เครื่องสแกนอีเมลเปิดใช้งานลิงก์ "ยกเลิกการสมัคร"


10

ฉันต้องการให้ลิงก์ "ยกเลิกการสมัคร" เพียงคลิกเดียวที่ส่วนท้ายของอีเมลที่บริการของฉันส่ง

เห็นได้ชัดว่าสแกนเนอร์สแปมจำนวนมากจะสแกนอีเมลและจะติดตามลิงก์ใด ๆ ที่พบในอีเมลเพื่อสแกนเนื้อหาเพื่อหามัลแวร์ วิธีแก้ปัญหาที่ฉันใช้มาแล้ว:

  • หากมีการร้องขอหน้า "ยกเลิกการสมัคร" ผ่าน HTTP GET หน้านั้นจะแสดงแบบฟอร์มการยืนยันอย่างง่ายและ JS จำนวนหนึ่งที่ส่งแบบฟอร์มในการโหลดหน้าเว็บ
  • หากมีการร้องขอหน้า "ยกเลิกการสมัคร" ผ่าน HTTP POST เราจะยกเลิกการเป็นสมาชิกของผู้ใช้

ด้วยวิธีนี้ผู้ใช้จะต้องคลิกเพียงครั้งเดียวบนแบบฟอร์มและพวกเขาจะได้รับข้อความ "คุณได้ยกเลิกการสมัคร" หากพวกเขาปิดการใช้งาน JS พวกเขายังสามารถส่งแบบฟอร์มยืนยันด้วยตนเอง

ขณะนี้ปัญหาคือสแกนเนอร์บางตัวเช่น ATP ของ Office365 จะเปิดหน้าและ ดำเนินการ JS ภายในพวกเขา โดยการดำเนินการ JS พวกเขาส่งแบบฟอร์มและทำให้ผู้ใช้ยกเลิกการเป็นสมาชิกโดยอัตโนมัติ

ฉันได้พิจารณาเพิ่มการตรวจสอบกับตรรกะ JS อัตโนมัติส่ง:

  • อย่าส่งอัตโนมัติสำหรับตัวแทนผู้ใช้ที่เฉพาะเจาะจง
  • อย่าส่งอัตโนมัติสำหรับช่วง IP ของลูกค้าที่เฉพาะเจาะจง
  • ทริกเกอร์เหตุการณ์ส่งอัตโนมัติเมื่อเลื่อนเมาส์

แต่วิธีการเหล่านี้ดูเหมือนจะเปราะบางแฮ็กที่ดีที่สุดที่จะทำลายเป็นสแกนเนอร์อีเมลเปลี่ยนกลยุทธ์ของพวกเขา

ฉันแน่ใจว่าปัญหานี้มีหลายคนก่อนหน้าฉัน มีวิธีแก้ไขปัญหาที่สมเหตุสมผลหรือไม่นอกเหนือจากเพียงแค่ยกเลิกฟังก์ชั่นการคลิกเพียงครั้งเดียว?

PS ฉันได้เพิ่มการสนับสนุนสำหรับRFC 8058แต่ผู้ใช้ยังคงคลิกลิงก์ในส่วนท้าย


1
ปัญหาที่น่าสนใจสิ่งที่อยู่ในใจของฉันคือ reCAPTCHA v3 ใหม่ที่มองไม่เห็นของ Google ตามปกติแล้วมันไม่จำเป็นต้องมีการดำเนินการใด ๆ จากผู้ใช้หากดูดี

@Vladan สามารถทำงานได้ใน "กรณีที่มีความสุข" หากการตรวจสอบ reCAPTCHA ล้มเหลว (ตัวอย่างเช่นเนื่องจากหน้าเปิดขึ้นภายในไคลเอนต์อีเมลที่ไม่มีคุกกี้ของ Google) แสดงว่าผู้ใช้ปลายทางน่ารำคาญมาก นอกจากนี้ข้อมูลจะถูกส่งไปยัง Google ดังนั้นคุณจะต้องพอใจกับข้อมูลดังกล่าวในนโยบายความเป็นส่วนตัวและอื่น ๆ
P --teris Caune

เรามีฟังก์ชั่นเดียวกัน แต่เราใช้ Emarsys เพื่อสร้างอีเมลที่ส่งถึงผู้ใช้และในส่วนท้ายมีลิงก์ที่เรียบง่าย (เข้ารหัส) ที่ทำงานได้ ตอนนี้คุณทำให้ฉันสงสัยว่าผู้ใช้ของฉันได้รับการยกเลิกการสมัครโดยสแกนเนอร์อีเมล?
Vedran Maricevic

คำตอบ:


7

นี่คือหัวข้อการถกเถียงอย่างต่อเนื่องที่M³AAWG (กลุ่มการส่งข้อความมัลแวร์และคณะทำงานต่อต้านการละเมิดระบบมือถือ) มันเป็นระเบียบและไม่มีวิธีแก้ปัญหาง่าย ๆ ดูเหมือนว่าคุณกำลังทำทุกอย่างถูกต้อง แต่ระบบต่อต้านสแปมบางตัวอาจก้าวร้าวเกินไป

ปัญหาใหญ่คือสิ่งที่คุณสามารถทำได้ก็สามารถทำได้โดยนักการตลาดที่ไม่เหมาะสมหรือผู้ส่งสแปม

ข้อเสนอที่ดีที่สุดที่ฉันเคยได้ยินก็คือการจับเวลา เพิ่มแคปช่าสำหรับผู้ใช้ที่ยกเลิกการสมัครภายใน 5 นาทีของการจัดส่งและลบแคปต์ชาหลังจากนั้น (ทำไม่ได้ดำเนินการนี้สำหรับคุณ RFC 8058 ลิงก์ราย-ยกเลิกสมาชิกโพสต์.)

ข้อเสนอที่ฉันโปรดปรานต่อไปคือการเพิ่มลิงค์นกขมิ้นในข้อความ สิ่งนี้ควรไม่ปรากฏแก่ผู้อ่านที่เป็นมนุษย์ หากมีการติดตามกิจกรรมดังกล่าวจะเปลี่ยนกิจกรรมการคลิกล่าสุดจาก IP นั้นและห้ามไม่ให้ทริกเกอร์การกระทำเป็นระยะเวลาหนึ่ง

ฉันชอบความคิดของคุณด้วยเช่นกันตรวจสอบให้แน่ใจว่าหากปิดการใช้งาน Javascript ผู้ใช้ยังสามารถยกเลิกการสมัครหลังจากคลิกปุ่มยืนยัน

 

มีส่วนหนึ่งของฉัน (คำเตือนฉันเป็นนักวิจัยต่อต้านสแปม) ที่ต้องการผลบวกที่ผิดพลาดเหล่านี้ หวังว่าจะสอนเพื่อนของฉันว่าพวกเขาทำงานได้ไม่ดีและการเลื่อนระดับเหล่านี้จะมาหาพวกเขาต่อไป จากมุมมองของคุณคุณจะได้รับรางวัล (แม้ว่าคุณจะสูญเสียสมาชิกในกระบวนการ)

ระบบตรวจจับสแปมจะต้องระมัดระวังในการหลีกเลี่ยงลิงก์การจัดการการสมัครสมาชิก (อย่างน้อยก็จนกว่าผู้ร้ายจะเริ่มปลอมตัวเป็นเพย์โหลดการเชื่อมโยง)


ขอบคุณ! นี่เป็นความคิดที่ดีทั้งที่ฉันไม่เคยคิดมาก่อน ฉันจะลองวิธีจับเวลา ในกรณีของฉัน "CAPTCHA" เป็นปุ่มง่าย ๆ ที่อยู่ตรงกลางของหน้าจอที่เพิ่งจะต้องคลิก สำหรับลิงก์ยกเลิกการสมัครเปิดอย่างรวดเร็วฉันจะไม่รวม JS ให้คลิกปุ่มนั้นโดยอัตโนมัติ สิ่งนี้ควรจะอยู่ใน Office365 ATP เป็นอย่างน้อยซึ่งจะสแกนลิงก์ภายในหนึ่งนาทีหลังจากส่งอีเมล ลิงก์นกขมิ้นจะค่อนข้างยากกว่าที่จะนำมาใช้ (การยกเลิกการกระทำการติดตาม IP ที่ถูกแบน) นอกจากนี้ยังมีความเสี่ยงที่สแกนเนอร์สแปมสามารถตั้งค่าสถานะอีเมลด้วยลิงก์ที่มองไม่เห็นว่าเป็นสแปม / มัลแวร์
Pēteris Caune
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.