แนวคิดในการลบสแปมยกฝูง


เขียนเช้าว่าอีกสองสามปีคงเจอ เอ๋า พูดเช้า เจอเย็น

ผมพอจะมีประสพการณ์ลบสแปมอยู่บ้าง คิดว่าบันทึกไว้ อาจมีประโยชน์กับชุมชนผู้ดูแลระบบบ้างตามควร

ตามปรกติ ถ้าเป็นสแปมที่คนโพสท์เข้ามาในเว็บบอร์ดหรือบล็อก พวกนี้ เป็นเรื่องของดุลยพินิจของผู้ดูแล ว่าจะลบหรือไม่ ซึ่งเป็นเรื่องของธรรมเนียมปฎิบัติแต่ละที่

แต่ก็มีสแปมอีกแบบ ที่เป็น bot แปะเข้ามา เพื่อสร้าง PageRank ให้ web ขายของของตัวเอง ดูดีขึ้นในสายตาของ search engine ซึ่งเวลาใครค้นอะไร web ที่ว่า ก็จะชูคอสลอนอยู่หน้าแรกของการค้นได้

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

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

วันนี้ยังไม่มี แต่อีกไม่กี่ปี ผมแน่ใจว่า มีแน่ เพราะเทคโนโลยี OCR สำหรับการแปลง CAPTCHA เป็นตัวอักษร เดี๋ยวนี้ ก็ไม่ใช่เรื่องแปลก ที่แปลกคือ ทำไม bot ยังไม่เอา OCR มาใช้ต่างหาก คาดว่าวันนี้มีแล้ว bot รุ่นที่ว่าน่ะ

วันไหน bot อ่าน CAPTCHA ออก (สบายใจได้ วันนั้นยังมาไม่ถึง เตรียมกลุ้มใจได้ วันนั้นมาถึงแล้ว) เราต้องหันไปใช้ระบบ CAPTCHA ที่อิงกับวัฒนธรรมเฉพาะถิ่น ที่ bot ไม่มีทางเดาถูก ต่อให้อ่านออก (เช่น CAPTCHA เขียนว่า "วันนี้วันอะไร เขียนตัวย่อสองตัว" ถ้าถามคน คนตอบ "พฤ" แต่ bot จะตอบ "วันนี้วันอะไร เขียนตัวย่อสองตัว")

การลบสแปมในกรณีที่เป็น bot ต้องการแนวคิดแบบใหม่ในการลบ คือลบแบบกวาดล้างยกฝูง

แนวคิดการลบแบบทีละฝูง ควรทำเป็นสองขั้น

ขั้นที่หนึ่ง ใช้ปูนแดงกาหมายไว้ในรายการที่เป็นสแปม ว่า รอลบ

ขั้นที่สอง กวาดล้างจริง โดยสั่งให้ลบในทุกรายการที่รอลบอยู่

 

ขั้นการกาปูนแดงหมายหัว อาจใช้วิธี "ทำมือ" หรือ "อัตโนมัติ" ก็ได้

 

ระบบ "ทำมือ" ควรอำนวยความสะดวกให้ผู้ลบ คือแจงรายการเรียงตามลำดับที่ post ล่าสุด และผู้ดูแลระบบเพียงแต่กาเครื่องหมายไว้ที่ข้างหน้าข้อความ คล้ายกับเวลาเราใช้ email เราจะการอลบหน้า email ขยะจนเสร็จก่อน แล้วสั่ง ลบจริง ตามมา

 

ระบบ "ทำมือ" ยังสามารถขยายไปถึงกรณีที่สมาชิกทั่วไป สามารถเสนอแนะมาก็ได้ โดยใช้ระบบที่ว่า ใครเสนอแนะแบบไร้เหตุผลมาบ่อย ๆ เตือนแล้วไม่ฟัง จะถูกลบชื่อออกจากสมาชิก ก็จะทำให้เกิดระบบนิเวศแบบสมดุลขึ้นในการอยู่ร่วมกัน

 

ส่วนการลบระบบอัตโนมัติ ดูน่าหวาดเสียวไปนิดสำหรับคนไม่เคย แต่ถ้าลองใช้จริงแล้วจะติดใจ เพราะรับมือกับสแปมที่เข้ามาแบบยกทัพใหญ่ได้

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

ส่วนวิธีที่พิสูจน์มาแล้วว่าไม่ได้ผล คือวิธีที่ใช้ IP address เพราะเดี๋ยวนี้ bot มันฉลาดพอที่จะปลอม IP address ทุกครั้งที่แปะ

แต่มันจะฉลาดยังไง มันก็มีวัตถุประสงค์เดียว ก็คือ แปะข้อความซ้ำซาก ซึ่งวิธีตรวจลายพิมพ์นิ้วมือ จะเจอเสมอ

สแปมเวลาเข้ามา ก็จะเป็นข้อความซ้ำซาก เราก็เอาข้อความซ้ำซากที่คนดี ๆ เขาไม่เขียนกัน มาเก็บไว้เป็น ลายพิมพ์รอยนิ้วมือโจร ซะเลย เก็บลายพิมพ์นี้เข้าคลังไว้

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

กาเสร็จ ยังไม่ลบ อาจให้ผู้ดูแลระบบมาดูรายการที่กาปูนแดงไว้ ว่ารายการไหนจะยกเว้นให้บ้าง (ซึ่งหากเลือกลายพิมพ์รอยนิ้วมือโจรมาได้อย่างฉลาดแล้ว จะไม่เจอกรณียกเว้นเลย)

หลังจากผู้ดูแลดูแล้วว่า ระบบทำงานได้ตรงตามคาด ก็สั่งลบจริง คราวนี้ ขยะทั้งหลาย ก็จะโดนลบถาวรออกไปจากระบบ

 

คำสำคัญ (Tags): #สแปม
หมายเลขบันทึก: 249482เขียนเมื่อ 19 มีนาคม 2009 11:09 น. ()แก้ไขเมื่อ 12 กุมภาพันธ์ 2012 05:44 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (2)

ถ้าปกติ spam ยิงจากโปรแกรมที่ไม่ผ่านการพิมพ์หน้าเว็บ

เป็นไปได้ไหม เราจะเขียนโปรแกรมจับตัวแปร url ก่อนหน้า

แล้วให้เช็คว่าถ้าไม่ได้มาจาก url นั้น แล้วจะไม่อนุญาตให้บันทึกข้อมูล

สวัสดีครับ คุณ pcdos

  • ก็อาจเป็นทางเลือกหนึ่งครับ
  • แต่ก็เป็นไปได้ว่ามันมี IP จอมบงการที่มีตัวตนจริง ๆ คอยชักใย ในกรณีนี้ ตรวจสอบยังไงก็เจอว่ามันมีตัวตนจริงอยู่แล้ว
  • ยังตัดความเป็นไปได้นี้ทิ้งไปไม่ได้กระมังครับ
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท