ลายนิ้วมือเบราว์เซอร์ต่างจากคุกกี้อย่างไร
| คุกกี้และพื้นที่จัดเก็บอื่นๆ | ลายนิ้วมือเบราว์เซอร์ | |
|---|---|---|
| จัดเก็บไว้ที่ไหน | ในเบราว์เซอร์ของคุณ | ไม่ได้จัดเก็บ เว็บไซต์อ่านและคำนวณใหม่ทุกครั้ง |
| ล้างได้หรือไม่ | ได้ โดยล้างข้อมูลหรือใช้โหมดไม่ระบุตัวตน | ไม่ได้ บนอุปกรณ์เดียวกันมักคงที่เป็นเวลานาน |
| การใช้งานทั่วไป | คงสถานะการเข้าสู่ระบบ ตะกร้าสินค้า และค่ากำหนด | ระบุอุปกรณ์ ป้องกันการฉ้อโกง ควบคุมความเสี่ยง และระบุแหล่งที่มาของโฆษณา |
มิติของลายนิ้วมือที่พบบ่อย
| สัญญาณ | ข้อมูลที่เปิดเผย | ความไม่สอดคล้องที่พบบ่อย |
|---|---|---|
| User-Agent และ Client Hints | แบรนด์และเวอร์ชันของเบราว์เซอร์ ระบบปฏิบัติการ สถาปัตยกรรม | UA ระบุ Chrome 144 แต่ Client Hints หรือ Worker กลับแสดงเวอร์ชันอื่น |
| หน้าจอ | ความละเอียด ความสูงที่ใช้ได้ ความลึกสี อัตราส่วนพิกเซลของอุปกรณ์ | ความสูงที่ใช้ได้ไม่สอดคล้องกับแถบงานของระบบ |
| ภาษาและเขตเวลา | navigator.language, Accept-Language, เขตเวลาของ Intl | เขตเวลาไม่ตรงกับตำแหน่งของ IP |
| ฟอนต์ | รายการฟอนต์ที่ติดตั้งและความกว้างเมื่อเรนเดอร์ | UA เป็น Windows แต่ตรวจพบฟอนต์เฉพาะของ macOS |
| Canvas | ค่าแฮชของผลการเรนเดอร์ข้อความและกราฟิก | เปลี่ยนทุกครั้งที่อ่าน (สัญญาณรบกวนแบบสุ่ม) หรือไม่สอดคล้องกับ GPU |
| WebGL / WebGPU | ผู้ผลิตและตัวเรนเดอร์ของ GPU พารามิเตอร์ และผลลัพธ์ระดับพิกเซล | ระบบ Windows รายงานว่าเป็น Apple GPU |
| Audio | ค่าแฮชของผลการประมวลผล AudioContext | ผลลัพธ์ไม่คงที่เมื่อทดสอบหลายครั้งบนอุปกรณ์เดียวกัน |
| ClientRects | ความแตกต่างเล็กน้อยของขนาดองค์ประกอบ | ผลลัพธ์ในหน้าต่างหลักกับใน iframe ต่างกัน |
| ฮาร์ดแวร์ | จำนวนคอร์ CPU และหน่วยความจำของอุปกรณ์ | จำนวนคอร์ไม่สอดคล้องกับรุ่นของเครื่องอย่างชัดเจน |
| WebRTC | ที่อยู่ IP แบบ candidate ทั้งในเครือข่ายภายในและสาธารณะ | ยังเปิดเผย IP สาธารณะจริงแม้ใช้พร็อกซีอยู่ |
| ร่องรอยของระบบอัตโนมัติ | navigator.webdriver และตัวบ่งชี้เบราว์เซอร์แบบ headless | คุณสมบัติที่เครื่องมืออัตโนมัติทิ้งไว้ |
ทำไม “ความสอดคล้อง” จึงสำคัญกว่า “การสุ่ม”
บนอุปกรณ์จริง คุณลักษณะต่างๆ จะสอดคล้องกันและคงที่ในระยะยาว เว็บไซต์ตรวจสอบจึงไม่ได้ดูแค่ว่าค่าใดค่าหนึ่งหายากหรือไม่ แต่ให้ความสำคัญว่าค่าทั้งหมดเป็นจริงพร้อมกันได้หรือไม่:
- สอดคล้องกันทุกมิติ: ระบบปฏิบัติการ ฟอนต์ GPU หน้าจอ และเวอร์ชันเบราว์เซอร์ต้องมาจากอุปกรณ์ประเภทเดียวกัน
- สอดคล้องกันทุกบริบท: หน้าหลัก iframe และ Worker ควรอ่านได้ตัวตนเดียวกัน
- คงที่ตลอดเวลา: อุปกรณ์เดียวกันควรได้ลายนิ้วมือเดิมทุกครั้งที่เข้าชม “สัญญาณรบกวนแบบสุ่ม” ที่เปลี่ยนทุกครั้งถือเป็นสัญญาณผิดปกติในตัวเอง
- สอดคล้องกับเครือข่าย: เขตเวลา ภาษา และตำแหน่งทางภูมิศาสตร์ควรตรงกับตำแหน่งของ IP ขาออก
วิธีตรวจสอบลายนิ้วมือเบราว์เซอร์ของคุณเอง
| เครื่องมือ | จุดเน้น |
|---|---|
| CreepJS | ความสอดคล้องข้ามบริบท, Canvas, WebGL, Audio, ฟอนต์, Intl และอื่นๆ พร้อมทำเครื่องหมาย “คำโกหก” ที่น่าสงสัย |
| Pixelscan | ความสอดคล้องของเบราว์เซอร์ ระบบปฏิบัติการ ตำแหน่ง ระบบอัตโนมัติ และการปลอมแปลงลายนิ้วมือ |
| BrowserLeaks | ดูข้อมูลดิบแยกรายการ เช่น Canvas, WebGL, ฟอนต์, WebRTC, Client Hints |
| IPhey | การประเมินโดยรวมของเบราว์เซอร์, ตำแหน่ง, IP, ฮาร์ดแวร์ และซอฟต์แวร์ |
ทดสอบสองโปรไฟล์พร้อมกัน
คุณค่าของเบราว์เซอร์ antidetect อยู่ที่ความแตกต่างระหว่างโปรไฟล์ การทดสอบเพียงโปรไฟล์เดียวจึงมองไม่เห็นปัญหา
ทดสอบอีกครั้งหลังรีสตาร์ท
ปิดโปรไฟล์เดิมแล้วเปิดใหม่ ค่าสำคัญ (Canvas, WebGL, เขตเวลา) ควรคงเดิม
เปรียบเทียบกับเบราว์เซอร์จริงในเครื่องเดียวกัน
แม้แต่ Chrome ทางการบนคอมพิวเตอร์เครื่องเดียวกันก็ถูกบางหน้าทำเครื่องหมายสีแดง จึงควรแยกให้ออกก่อนว่าคำเตือนใดเป็นเพียงวิธีตัดสินของเว็บไซต์ตรวจสอบนั้นเอง
บันทึกฟิลด์ ไม่ใช่สี
จดเวลาที่ทดสอบ ระบบปฏิบัติการ เวอร์ชันเบราว์เซอร์และเคอร์เนล พร็อกซี และฟิลด์ที่ไม่ผ่านโดยละเอียด กฎการตรวจสอบมีการอัปเดต ผลลัพธ์จึงสะท้อนเฉพาะช่วงเวลานั้น
Prism จัดการมิติเหล่านี้อย่างไร
Prism จัดการการกำหนดค่าลายนิ้วมือในระดับล่างภายในเคอร์เนล Chromium ที่คอมไพล์เอง โดยไม่อาศัยการแทรกสคริปต์ลงในหน้าเว็บ ระบบปฏิบัติการ CPU หน้าจอ และ GPU มาจากเทมเพลตฮาร์ดแวร์ชุดเดียวกัน ส่วนรายละเอียดอย่าง Canvas, WebGL, Audio จะถูกกำหนดคงที่ด้วยค่า seed ลายนิ้วมือของแต่ละโปรไฟล์ ดูคำอธิบายทีละรายการได้ที่การกำหนดค่าลายนิ้วมือและเทมเพลตฮาร์ดแวร์
คำถามที่พบบ่อย
- การล้างคุกกี้หรือใช้โหมดไม่ระบุตัวตนเปลี่ยนลายนิ้วมือได้หรือไม่?
- ไม่ได้ ลายนิ้วมือมาจากคุณลักษณะของอุปกรณ์และตัวเบราว์เซอร์เอง การล้างพื้นที่จัดเก็บจึงไม่ได้เปลี่ยนลายนิ้วมือ
- การใช้พร็อกซีเปลี่ยนลายนิ้วมือเบราว์เซอร์ได้หรือไม่?
- พร็อกซีเปลี่ยนเพียง IP ขาออกของเครือข่ายเท่านั้น ส่วนเขตเวลา ภาษา WebRTC และอื่นๆ ยังอาจเผยให้เห็นความไม่ตรงกัน จึงต้องตั้งค่าไปพร้อมกับลายนิ้วมือ
- ลายนิ้วมือยิ่งมีเอกลักษณ์ ยิ่งถูกระบุตัวได้ง่ายหรือไม่?
- ชุดค่าที่ยิ่งหายากก็ยิ่งแยกแยะได้ง่าย แต่สิ่งที่สำคัญกว่าคือชุดค่าที่ขัดแย้งกันเอง การใช้ชุดฮาร์ดแวร์ที่พบบ่อยและครบถ้วนจึงปลอดภัยกว่าการสุ่มนำค่ามาปะติดปะต่อกัน
- หากหน้าตรวจสอบแสดงสีแดง แปลว่ามีปัญหาแน่นอนหรือไม่?
- ไม่เสมอไป ให้ดูฟิลด์ที่เจาะจงก่อน และเปรียบเทียบกับเบราว์เซอร์จริงในเครื่องเดียวกัน การถูกตรวจพบว่าใช้พร็อกซี ความแตกต่างของฟอนต์ หรือกฎของเว็บไซต์เองล้วนทำให้เกิดคำเตือนได้