เจาะเบื้องหลัง ScamOrNot: จูนระบบตรวจจับมิจฉาชีพอย่างไรไม่ให้เตือนภัยเก้อ
เรียนรู้เบื้องหลังการพัฒนา ScamOrNot เครื่องมือเช็กข้อความและลิงก์มิจฉาชีพในเบราว์เซอร์ ด้วยระบบคำนวณคะแนนความเสี่ยง 15 รูปแบบที่ไม่ส่งข้อมูลผู้ใช้ไปบนคลาวด์

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- ScamOrNot เป็นเครื่องมือตรวจสอบข้อความและลิงก์มิจฉาชีพที่ทำงานทั้งหมดบนเบราว์เซอร์โดยไม่จัดเก็บข้อมูล
- ระบบใช้รูปแบบการจับผิด 15 แบบพร้อมน้ำหนักคะแนนที่ต่างกัน เช่น การขอ seed phrase มีคะแนนสูงถึง 50 คะแนน
- เพิ่มระบบคัดกรองข้อความเชิงป้องกันเพื่อแก้ปัญหาบทความเตือนภัยที่เคยถูกตรวจจับผิดว่าเป็นข้อความโจมตี
- เปิดให้ใช้งานฟรี 3 ครั้งต่อวันโดยไม่ต้องสมัครสมาชิกและเน้นรับฟีดแบ็กกรณีผลคะแนนผิดพลาด
หลังจากเปิดตัว ScamOrNot เครื่องมือตรวจสอบความเสี่ยงข้อความ ลิงก์ และกระเป๋าเงินคริปโตที่เว็บไซต์ scamornot-app.netlify.app ผู้พัฒนาได้เผยถึงเบื้องหลังการทำงานส่วนที่ยากที่สุด นั่นคือการปรับจูนระบบให้สามารถตรวจจับกลโกงได้อย่างแม่นยำ ขณะเดียวกันก็ต้องไม่ส่งเสียงแจ้งเตือนผิดพลาดกับข้อความทั่วไปของผู้ใช้งาน
หัวใจสำคัญของเครื่องมือนี้คือเอ็นจิ้น JavaScript ขนาดเล็กที่ทำงานทั้งหมดภายในเบราว์เซอร์ของผู้ใช้โดยไม่มีการอัปโหลดข้อความที่วางลงไปบนเซิร์ฟเวอร์ใด ๆ เพื่อป้องกันไม่ให้ตัวเครื่องมือตรวจจับกลโกงกลายเป็นปัญหาด้านความเป็นส่วนตัวเสียเอง ภายในระบบประกอบด้วยตระกูลรูปแบบความเสี่ยงรวม 15 แบบ ซึ่งแต่ละแบบจะมีน้ำหนักคะแนนแตกต่างกันออกไป
ในส่วนของคะแนนย่อยอื่น ๆ เช่น การเรียกเก็บค่าธรรมเนียมล่วงหน้าเพื่อปลดล็อกเงินมีค่าคะแนนอยู่ที่ 28 คะแนน การันตีผลตอบแทนรายวันอยู่ที่ 22 คะแนน โดยระบบถูกออกแบบมาให้สัญญาณเตือนเพียงข้อเดียวไม่เพียงพอที่จะตัดสินว่าข้อความนั้นเป็นภัยคุกคาม แต่หากมีสัญญาณเตือนร่วมกัน 3 ถึง 4 ข้อ ระบบจะเริ่มทำการแจ้งเตือนทันที ในส่วนของลิงก์นั้น ระบบจะใช้การตรวจสอบโครงสร้างแทนการจับคู่รูปแบบทั่วไป เช่น การตรวจหาชื่อแบรนด์ที่อยู่ในโดเมนที่ไม่ถูกต้อง การใช้ punycode หรือการใช้อยู่ในรูปแบบไอพีแอดเรส
การปรับจูนระบบตรวจจับภัยคุกคามด้วยการเขียนกฎเกณฑ์ (Rule-based) มักเผชิญกับความท้าทายคลาสสิกเรื่อง False Positive หรือการแจ้งเตือนผิดพลาด ซึ่งในบริบทของความปลอดภัยไซเบอร์ หากระบบมีความไวเกินไปจนแจ้งเตือนข้อความจริงจากธนาคาร ผู้ใช้งานจะสูญเสียความเชื่อมั่นและเมินเฉยต่อคำเตือนทั้งหมดภายในเวลาอันสั้น การออกแบบที่ให้ระบบประมวลผลบนเครื่องของผู้ใช้ (Client-side) จึงช่วยลดความกังวลเรื่องการรั่วไหลของข้อมูลอ่อนไหวได้เป็นอย่างดี
บทเรียนสำคัญที่เกือบทำให้ระบบพังเกิดขึ้นเมื่อบทความด้านความปลอดภัยข้อความหนึ่งระบุข้อความเตือนว่า "ห้ามแชร์ seed phrase ของคุณเด็ดขาด" ซึ่งในตอนแรกเอ็นจิ้นตรวจจับได้อ่านคำดังกล่าวว่าเป็นเหยื่อล่อขโมยข้อมูลและให้คะแนนความเสี่ยงเทียบเท่ากับการโจมตีจริง ทำให้ผู้พัฒนาต้องเพิ่มระบบคัดกรองข้อความเชิงป้องกัน (Protective framing) เข้ามา เพื่อแยกแยะระหว่างข้อความที่เตือนภัยกับตัวภัยคุกคามออกจากกันอย่างเด็ดขาด
"บทความเตือนภัยที่บอกว่าห้ามแชร์ seed phrase มีคำว่า seed phrase อยู่ข้างใน ในช่วงแรกเอ็นจิ้นอ่านคำนั้นว่าเป็นเหยื่อล่อและให้คะแนนเหมือนเป็นการโจมตี"
ผู้พัฒนา ScamOrNot

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
กระบวนการปรับจูนสิ้นสุดลงในจุดที่สามารถอธิบายได้ นั่นคือสคริปต์กลโกงของจริงที่ระบบตรวจพบจะมีคะแนนอยู่ระหว่าง 45 ถึง 70 คะแนน ในขณะที่ SMS จริงจากธนาคาร โดเมนแบรนด์แท้ ข้อความสนทนาทั่วไป และบทความด้านความปลอดภัยจะได้รับคะแนนเป็น 0 ทั้งหมด ซึ่งผู้พัฒนาเน้นย้ำว่าคะแนนที่สะอาดหมายถึงการไม่พบรูปแบบความเสี่ยงที่ชัดเจน ไม่ได้เป็นการรับประกันความปลอดภัยร้อยเปอร์เซ็นต์
เครื่องมือนี้เปิดให้ใช้งานฟรีจำกัด 3 ครั้งต่อวันโดยไม่ต้องลงทะเบียน และผู้พัฒนาเปิดรับรายงานข้อผิดพลาดสองรูปแบบหลัก ได้แก่ ข้อความจริงที่ดันได้คะแนนความเสี่ยงสูง หรือสคริปต์มิจฉาชีพที่ดันได้คะแนนเป็นศูนย์ เพื่อนำไปปรับปรุงระบบต่อไป
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น