1. แบตเตอรี่ในการสร้างลายนิ้วมือเบราว์เซอร์คืออะไร
Battery Status API (navigator.getBattery()
) ถูกนำมาใช้เพื่อให้เว็บไซต์สามารถเข้าถึงข้อมูลเกี่ยวกับสถานะแบตเตอรี่ของระบบได้ เช่น:
- สถานะการชาร์จแบตเตอรี่ (
isCharging
) - ระดับการชาร์จแบตเตอรี่ (
level
) - เวลาที่เหลือจนหมดแบตเตอรี่ (
dischargingTime
) - เวลาโดยประมาณจนกว่าจะชาร์จเต็ม (
chargingTime
)
แม้จะดูไม่เป็นอันตราย แต่ข้อมูลนี้ถูกนำมาใช้สำหรับการสร้างลายนิ้วมือเบราว์เซอร์ เนื่องจากข้อมูลสถานะแบตเตอรี่รวมกันมักจะไม่ซ้ำกันและคงอยู่ โดยเฉพาะอย่างยิ่งเมื่อมีการติดตามข้ามการเข้าชมหลายครั้ง
ที่สำคัญกว่านั้น ข้อมูลแบตเตอรี่สะท้อนถึงพฤติกรรมการใช้งานอุปกรณ์ (เช่น ผู้ใช้มือถือชาร์จบ่อยขึ้น ผู้ใช้พลังงานต่ำในแล็ปท็อป) ทำให้การสร้างลายนิ้วมือด้วย Battery API เป็นสัญญาณที่มีประสิทธิภาพในแพลตฟอร์มที่:
- เปรียบเทียบพฤติกรรมการใช้งานระหว่างเซสชัน
- รันระบบตรวจจับหลายบัญชี
- พยายามตรวจจับสภาพแวดล้อมการท่องเว็บเสมือนจริงหรือแบบ Headless
2. แพลตฟอร์มตรวจจับลายนิ้วมือแบตเตอรี่ได้อย่างไร
บริการตรวจจับไซต์และบริการต่อต้านการสร้างลายนิ้วมืออาจตรวจสอบ:
การเข้าถึง Battery Status API:
การอ่านnavigator.getBattery()
และวิเคราะห์Promise ที่ส่งกลับมา รวมถึงค่าต่างๆ เช่นlevel
และisCharging
การลงนามสคริปต์แบตเตอรี่:
การรวบรวมความไม่สอดคล้องกันของเวลาในการเปลี่ยนแปลงสถานะแบตเตอรี่เพื่อตรวจจับเครื่องมืออัตโนมัติหรือการปลอมแปลงกราฟความสอดคล้องของอายุแบตเตอรี่:
ระบบขั้นสูงอาจสร้างโปรไฟล์การชาร์จแบตเตอรี่เมื่อเวลาผ่านไป การรีเซ็ตกะทันหัน การอ่านค่าปลอม หรือการเปลี่ยนแปลงที่ไม่เป็นธรรมชาติอาจเป็นสัญญาณอันตรายจำนวนเหตุการณ์การชาร์จ/การคายประจุ:
เว็บไซต์ที่เน้นพฤติกรรมอาจวิเคราะห์ว่าอุปกรณ์สลับระหว่างการชาร์จเต็มและแบตเตอรี่เหลือน้อยบ่อยแค่ไหนในการเข้าสู่ระบบต่างๆการเปรียบเทียบกับส่วนประกอบลายนิ้วมืออื่นๆ:
ตัวอย่างเช่น ผู้ใช้เดสก์ท็อปที่อ้างว่าอยู่ในโครงสร้าง Chromebook แต่รายงานแบตเตอรี่ 100% ตลอดเวลา หรือผู้ใช้มือถือที่มีรูปแบบการชาร์จไม่ตรงกัน อาจถูกทำเครื่องหมายว่าน่าสงสัย
3. FlashID สร้างลายนิ้วมือแบตเตอรี่ได้อย่างไร
แม้ในเฟรมเวิร์กและเบราว์เซอร์ที่สามารถตรวจจับแบตเตอรี่ได้หรือมีให้ใช้งานบางส่วน FlashID จะแยกและสร้างข้อมูลแบตเตอรี่เสมือนสำหรับแต่ละโปรไฟล์ เพื่อนำเสนอ:
- การปลอมแปลงลายนิ้วมือแบตเตอรี่ข้ามหลายเซสชัน
- การเปลี่ยนแปลงการชาร์จ/การคายประจุที่สมจริงและเป็นไดนามิก
- ตรรกะต่อต้านการฉ้อโกงพร้อมค่าเริ่มต้นที่ชาญฉลาด
การจำลองลายนิ้วมือแบตเตอรี่ของ FlashID ประกอบด้วย:
การปลอมแปลงแบตเตอรี่ระดับผู้ผลิต:
- ไม่ว่าอุปกรณ์กำลังชาร์จหรือคายประจุ
- ระดับแบตเตอรี่ที่กำหนดเองตั้งแต่ 0 ถึง 1.0 (เช่น 0.45, 0.68)
- การจำลอง
chargingTime
และdischargingTime
การแยก API แบตเตอรี่ต่อโปรไฟล์:
- แต่ละโปรไฟล์เบราว์เซอร์จะเก็บข้อมูล
.level
,.charging
และข้อมูลเวลาของตนเอง - ไม่มีการรั่วไหลของข้อมูลระบบพื้นฐานระหว่างโปรไฟล์ FlashID
- แต่ละโปรไฟล์เบราว์เซอร์จะเก็บข้อมูล
ตรรกะการเปลี่ยนแปลงสถานะที่กำหนดเอง:
- FlashID ให้ผู้ใช้ควบคุมว่าค่าแบตเตอรี่เปลี่ยนแปลงไปอย่างไรเมื่อเวลาผ่านไป (เช่น แสดงการคายประจุอย่างต่อเนื่องทุก 5 นาทีเพื่อหลีกเลี่ยงการตรวจจับ)
- เลือกส่งกลับ
API not available
หรือundefined
เพื่อเลียนแบบบริบทแบตเตอรี่ที่น้อยที่สุด
การสุ่มลายนิ้วมือแบตเตอรี่พร้อมขอบเขต:
- สามารถสุ่มระหว่างระดับที่เป็นไปได้ เช่น 85%, 43%, 67%
- ป้องกันการพลิกกลับจากการชาร์จเต็ม → ชาร์จต่ำอย่างกะทันหันที่บ่งบอกถึงการปลอมแปลง
การปกปิดร่องรอยแบตเตอรี่ในไลบรารีการตรวจจับแบบปรับเปลี่ยนได้:
- หลีกเลี่ยงเฟรมเวิร์กการติดตามและตรวจจับที่ใช้สนิปเพ็ตเพื่อตรวจจับการปลอมแปลงคุณสมบัติแบตเตอรี่ที่กำลังทำงานอยู่
- ใช้การซิงค์พฤติกรรมการระบุตำแหน่งทางภูมิศาสตร์ + แบตเตอรี่ที่ผูกติดกับโลกจริง เพื่อให้แน่ใจว่าเซสชันปรากฏจากผู้ใช้จริง
สถานะแบตเตอรี่เป็นพฤติกรรมลายนิ้วมือที่ละเอียดอ่อนแต่คงอยู่ ซึ่งมักถูกมองข้ามโดยผู้ใช้ แต่เป็นเป้าหมายของแพลตฟอร์มที่ต้องการท้าทายเซสชันปลอม โดยเฉพาะอย่างยิ่งในแพลตฟอร์มข้อมูลระบุตัวตน, ฟาร์มบอท และเกมออนไลน์
ด้วย FlashID ข้อมูลแบตเตอรี่จึงถูกแยกออก, ถูกปกปิด และถูกปลอมแปลงอย่างสมเหตุสมผล ทั้งหมดนี้ในขณะที่มั่นใจว่าการตรวจจับมีความเอนเอียงน้อยที่สุดจากจากการเปลี่ยนแปลงพลังงานที่ไม่น่าเป็นไปได้หรือกะทันหัน
คุณอาจชอบ