กลับไปบล็อก

เว็บไซต์ “จำ” เบราว์เซอร์ของคุณได้อย่างไร? เข้าใจหลักการ Browser Fingerprinting

การลบ Cookies ไม่ได้หมายความว่าเว็บไซต์จะจำคุณไม่ได้อีกต่อไป เบราว์เซอร์เปิดเผยคุณลักษณะของอุปกรณ์และซอฟต์แวร์หลายอย่าง ซึ่งสามารถนำมารวมเป็น “ลายนิ้วมือดิจิทัล” เพื่อระบุการกลับมาใช้งานและอาจเชื่อมโยงบัญชีเข้าด้วยกันได้ บทความนี้อธิบายหลักการ ความเสี่ยง และแนวทางลดความเสี่ยง

หลายคนคิดว่าเพียงลบ Cookies เป็นประจำ เว็บไซต์ก็จะไม่สามารถจำตนเองได้อีก แต่ความจริงซับซ้อนกว่านั้น เมื่อคุณเปิดหน้าเว็บ เบราว์เซอร์จะเปิดเผยข้อมูลจำนวนมากเกี่ยวกับอุปกรณ์และซอฟต์แวร์ เว็บไซต์สามารถนำสัญญาณเหล่านี้มารวมกันเป็นตัวระบุที่ค่อนข้าง “เฉพาะตัว” ซึ่งเรียกว่า browser fingerprint แม้คุณจะลบ Cookies แล้ว หากคุณลักษณะของ fingerprint ยังแทบไม่เปลี่ยน เว็บไซต์ก็อาจยังจำคุณได้ บทความนี้จะอธิบายว่า browser fingerprinting ทำงานอย่างไร มีความเสี่ยงจริงแบบใด และจะลดความเสี่ยงได้อย่างไร

เว็บไซต์เก็บข้อมูลอะไรบ้างกันแน่?

วิธีที่สัญญาณ browser fingerprint รวมกันเป็นลักษณะเฉพาะ

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

  • User-Agent (UA): ทุก HTTP request จะมี string ที่อาจระบุชื่อเบราว์เซอร์ เวอร์ชัน ระบบปฏิบัติการ และข้อมูลอื่น;
  • HTTP request headers: นอกจาก UA แล้วยังอาจมีค่าภาษาที่ต้องการ (Accept-Language), วิธีบีบอัดข้อมูล (Accept-Encoding) และข้อมูลอื่น;
  • หน้าจอและสี: เบราว์เซอร์สามารถอ่านความละเอียดหน้าจอและความลึกของสีได้;
  • รายการฟอนต์: ระบบปฏิบัติการและเบราว์เซอร์ต่างชนิดรองรับฟอนต์เริ่มต้นแตกต่างกัน;
  • เขตเวลา: สามารถตรวจจับเขตเวลาของอุปกรณ์ได้;
  • Plugins และ extensions: ข้อมูลอาจเผยให้เห็นว่าติดตั้ง plugin ใดอยู่ หรือใช้ script engine เวอร์ชันใด;
  • ข้อมูลฮาร์ดแวร์: วิธีเก็บข้อมูลบางแบบสามารถอ่านชนิด CPU, ข้อมูล GPU และสัญญาณอื่นได้;
  • Canvas fingerprint: เว็บไซต์ให้เบราว์เซอร์วาดภาพผ่าน HTML5 canvas อุปกรณ์ การ์ดจอ และ driver ที่ต่างกันจะให้ผลการ render แตกต่างกันเล็กน้อย และการวัดความแตกต่างเหล่านี้สามารถสร้างสัญญาณที่มีลักษณะเฉพาะได้

เมื่อดูแยกกันแต่ละรายการอาจไม่ได้ “เฉพาะตัว” มากนัก แต่เมื่อรวมคุณลักษณะหลายสิบอย่างเข้าด้วยกัน โปรไฟล์ที่ได้อาจมีความแตกต่างสูงสำหรับผู้ใช้รายหนึ่ง นี่คือเหตุผลที่ “ลบ Cookies” มักไม่เพียงพอ เพราะ fingerprint ผูกกับพารามิเตอร์ของอุปกรณ์และเบราว์เซอร์ ไม่ใช่ตัว Cookie เอง

Browser fingerprinting ส่งผลจริงอย่างไร?

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

ระบบลงทะเบียน ล็อกอิน และควบคุมความเสี่ยงมักใช้ “ความคล้ายกันของ browser fingerprint” เป็นหนึ่งในสัญญาณเพื่อประเมินว่าหลายบัญชีเป็นของบุคคลเดียวกันหรือมีความเกี่ยวข้องกันหรือไม่ หากคุณใช้เบราว์เซอร์เดียวกันและพารามิเตอร์ที่คล้ายกันมากเพื่อลงทะเบียนหรือล็อกอินหลายบัญชี fingerprints อาจดูคล้ายกันมาก และบัญชีอาจถูกมองว่าเกี่ยวข้องกัน เมื่อระบบตรวจพบความเชื่อมโยง ผลกระทบอาจตั้งแต่บัญชีหนึ่งส่งผลต่ออีกบัญชี ไปจนถึงบัญชีทั้งกลุ่มถูกจำกัด ซึ่งสร้างความเสียหายต่อการดำเนินงานได้

ดังนั้น สำหรับผู้ดูแลหลายบัญชี เป้าหมายจริงไม่ใช่การ “มองไม่เห็นโดยสมบูรณ์” แต่คือ แยก fingerprints และ runtime environments ของแต่ละบัญชีออกจากกัน พร้อมรักษาการตั้งค่าให้คงที่และสอดคล้องกัน เพื่อหลีกเลี่ยงการเปิดเผยความเชื่อมโยงจากพารามิเตอร์ที่คล้ายกันเกินไปหรือเปลี่ยนแบบไม่มีแบบแผน

จะลดความเสี่ยงจาก fingerprint ได้อย่างไร?

เปรียบเทียบเบราว์เซอร์ที่ใช้ร่วมกันกับ environment ที่แยกและคงที่

แนวคิดหลักในการลดความเสี่ยงจากการเชื่อมโยงด้วย fingerprint คือทำให้ environments “แยกจากกันและคงที่” โดยแบ่งได้เป็นหลายขั้นตอน:

ข้อแรก จัดการ browser parameters ให้เป็นส่วนหนึ่งของบัญชี ระบบปฏิบัติการ เขตเวลา ภาษา ความละเอียด และฟอนต์สามารถบ่งบอกลักษณะของอุปกรณ์และภูมิภาคได้ พารามิเตอร์เหล่านี้ควรสอดคล้องกับตลาดธุรกิจของบัญชี แทนที่จะตั้งแบบสุ่มหรือเปลี่ยนบ่อย คุณลักษณะการ render ระดับฮาร์ดแวร์อย่าง Canvas, WebGL และ Audio ก็ควรถูกกำหนดหรือจัดการอย่างเหมาะสม เพื่อป้องกันไม่ให้หลายบัญชีเผยสัญญาณการ render แบบเดียวกัน

ข้อสอง ให้บัญชีทำงานใน environments อิสระที่แยกจากกัน แทนที่จะสลับบัญชีไปมาในเบราว์เซอร์เดียวและล้าง cache บ่อย ๆ ควรให้แต่ละบัญชีอยู่ใน environment ของตนเอง พร้อม login state, proxy และชุดพารามิเตอร์แยกต่างหาก เพื่อไม่ให้รบกวนกัน

ข้อสาม ใช้เครื่องมือจัดการ environment เพื่อรวมการบริหาร “parameters” และ “environments” ไว้ที่เดียว เมื่อมีบัญชีน้อย การตั้งค่าด้วยตนเองยังทำได้ แต่เมื่อจำนวนบัญชีเพิ่มขึ้น และต้องแบ่งตาม platform และภูมิภาค การตั้งค่าทีละรายการจะไม่ค่อยเหมาะสมและมีโอกาสผิดพลาดสูง จึงควรมีระบบจัดการแบบรวมศูนย์

PurpleMark เป็นแพลตฟอร์มจัดการ browser environment ที่ออกแบบมาสำหรับความต้องการลักษณะนี้ เมื่อสร้าง environment คุณสามารถตั้งค่าระบบปฏิบัติการ, Chromium kernel version, User-Agent, ความละเอียด, ภาษา, เขตเวลา และตำแหน่งทางภูมิศาสตร์ได้ รวมถึงจัดการ fingerprint dimensions ระดับลึก เช่น Canvas, WebGLImage, AudioContext และ WebRTC, ผูก proxy กับ environment และ import login Cookies เพื่อให้แต่ละบัญชีใช้พารามิเตอร์และ runtime environment ที่แยกจากกันตามความต้องการทางธุรกิจ เมื่อเทียบกับการตั้งค่าด้วยตนเองทีละรายการ PurpleMark รวมค่าที่กระจัดกระจายเหล่านี้ไว้ใน workspace เดียว พร้อมรองรับการจัดกลุ่มและนำกลับมาใช้ซ้ำ สำหรับความสามารถที่แน่นอน โปรดดู เว็บไซต์ทางการของ PurpleMark หรือหน้า interface สำหรับสร้าง environment จริงในเวอร์ชันเว็บ

เรื่องที่ควรทำความเข้าใจก่อน

การลดความเสี่ยงจาก fingerprint ไม่ได้หมายถึง “การหาช่องทางเพื่อหลบกฎของแพลตฟอร์ม” จุดประสงค์ของเครื่องมือจัดการ environment คือช่วยให้คุณบริหารบัญชีที่ดำเนินการอย่างถูกต้องได้อย่างชัดเจนและเป็นระเบียบ ไม่ใช่สร้างบัญชีที่ผิดกฎจำนวนมากหรือหลบระบบควบคุมความเสี่ยงของแพลตฟอร์ม นอกจากนี้ พารามิเตอร์ที่ “สุ่ม” มากขึ้นไม่ได้หมายความว่าจะดีกว่าเสมอไป ในระยะยาว การตั้งค่าที่คงที่ สอดคล้อง และเข้ากับตลาดธุรกิจของแต่ละบัญชีมักเหมาะสมกว่า และแม้จะแยก environment ได้ดี ก็ไม่ได้รับประกัน “ปลอดภัย 100%” เพราะแพลตฟอร์มตัดสินจากสัญญาณหลายอย่างร่วมกัน

สรุปในประโยคเดียว

Browser fingerprint คือ “รหัสระบุตัวตน” ที่เว็บไซต์สร้างจากการรวมคุณลักษณะหลายสิบอย่างของอุปกรณ์และเบราว์เซอร์ แม้ลบ Cookies แล้วก็ยังอาจระบุคุณได้ สำหรับผู้ดูแลหลายบัญชี ความเสี่ยงคือ fingerprints ที่คล้ายกันอาจทำให้บัญชีต่าง ๆ ถูกมองว่าเกี่ยวข้องกัน กุญแจสำคัญไม่ใช่ “การหายตัวอย่างสมบูรณ์” แต่คือการแยก account parameters และ environments รักษาให้คงที่ และใช้เครื่องมืออย่าง PurpleMark เพื่อจัดการ environments, fingerprint parameters และ proxies แบบรวมศูนย์ หากต้องการตั้งค่า environment อิสระตั้งแต่ต้น สามารถเริ่มจาก PurpleMark เวอร์ชันเว็บ ได้