1. การทำลายนิ้วมือปลั๊กอินคืออะไร
API navigator.plugins
จะแสดงรายการของ ปลั๊กอินทั้งหมดที่ติดตั้งและเปิดใช้งานอยู่ ในเบราว์เซอร์ ซึ่งรวมถึงปลั๊กอินต่างๆ เช่น Adobe Flash Player (หากรองรับ), Java, QuickTime, โปรแกรมอ่าน PDF และตัวถอดรหัสเสียง/วิดีโอ
ลายนิ้วมือปลั๊กอินมักใช้เพื่อ:
- ทำความเข้าใจ ความหลากหลายของซอฟต์แวร์ ในเบราว์เซอร์
- ตรวจสอบกับลักษณะเฉพาะของลายนิ้วมืออื่นๆ เช่น
userAgent
,languages
หรือbattery
- ระบุ เครื่องมืออัตโนมัติของเบราว์เซอร์ สภาพแวดล้อมแบบ headless ที่มักจะระงับหรือบิดเบือนรายการปลั๊กอิน
- ตรวจจับความผิดปกติในเวอร์ชันปลั๊กอินที่บ่งบอกถึง การปลอมแปลงหรือเครื่องมืออัตโนมัติ
แม้ว่าเบราว์เซอร์ที่ทันสมัยส่วนใหญ่จะเลิกใช้หรือจำกัดปลั๊กอินมาตรฐานแล้ว แต่แพลตฟอร์มต่างๆ ยังคงดูข้อมูลปลั๊กอินเพื่อสร้าง ลายนิ้วมือคอมโพสิตของฮาร์ดแวร์-ซอฟต์แวร์ที่น่าเชื่อถือ และ แตกต่างกัน มากขึ้น
2. เว็บไซต์ตรวจจับและใช้ลายนิ้วมือปลั๊กอินอย่างไร
การทำลายนิ้วมือปลั๊กอินโดยทั่วไปทำได้ด้วยวิธีต่อไปนี้:
การแจกแจงปลั๊กอินที่ติดตั้ง โดยการเรียกใช้โค้ดเช่น:
Array.from(navigator.plugins).map(p => p.name)
แพลตฟอร์มเว็บจะรวบรวมรายการปลั๊กอินที่มีอยู่ ซึ่งมักจะจัดทำดัชนีตามชื่อและประเภท MIME ที่รองรับ
การจับคู่ประเภท MIME Flash และปลั๊กอินรุ่นเก่าจะเปิดเผยความสามารถของประเภท MIME และรูปแบบไฟล์โดยละเอียด ซึ่งสคริปต์การทำลายนิ้วมือจะตรวจจับได้:
pluginItem.length // จำนวนประเภท MIME ที่ปลั๊กอินแต่ละตัวรองรับ pluginItem.item(index).type
ลายเซ็นปลั๊กอินแบบเก่า แม้ว่าปลั๊กอินจริงจะถูกปิดใช้งาน แต่บางเว็บไซต์ยังคงใช้ API รุ่นเก่าหรือมองหาร่องรอยการติดตั้งปลั๊กอินในพื้นที่เก็บข้อมูลหรือพฤติกรรม
การตรวจจับแบบ Cross-Check ระบบป้องกันการฉ้อโกงจะเปรียบเทียบลายนิ้วมือปลั๊กอินกับ:
navigator.userAgent
navigator.language
- สีของระบบและพฤติกรรม JS/Canvas
- ประวัติของปลั๊กอินที่ตรวจพบในแต่ละเซสชัน
หากพบความไม่ตรงกัน — เช่น รายการปลั๊กอินใหม่ปรากฏขึ้นสำหรับ Session ID เดียวกัน — นี่อาจถูกตีความว่าเป็นการพยายามดัดแปลงหรือการใช้หลายบัญชี
หมายเหตุสำคัญ: แม้ว่าปลั๊กอินส่วนใหญ่จะ ไม่ทำงานแล้ว เนื่องจากเหตุผลด้านความปลอดภัยและการเลิกใช้ แต่การมีอยู่และโครงสร้างที่รายงาน (
PluginArray
,MimeTypeArray
) ยังคงถูกใช้สำหรับการสร้างโปรไฟล์และการจัดประเภท โดยแพลตฟอร์มป้องกันการฉ้อโกงขั้นสูง
3. FlashID ปกปิดลายนิ้วมือปลั๊กอินอย่างไร
FlashID ช่วยให้การปกปิดครอบคลุมทั้ง API navigator.plugins
และ navigator.mimeTypes
เพื่อให้ทีมสามารถควบคุมความสอดคล้องของลายนิ้วมือได้อย่างเต็มที่ และหลีกเลี่ยงการเชื่อมโยงบัญชี
ความสามารถหลักในการปลอมแปลงลายนิ้วมือปลั๊กอินใน FlashID ได้แก่:
การปกปิด/ปรับแต่งรายการปลั๊กอิน FlashID แก้ไขผลลัพธ์ของ
navigator.plugins
เพื่อแสดงอาร์เรย์ปลั๊กอินปลอม (แต่สมจริง) คุณสามารถเลือกได้จาก:- พื้นฐานปลั๊กอินเริ่มต้นของเบราว์เซอร์
- การสร้างปลั๊กอินแบบไดนามิกตามโปรไฟล์
- การจัดหารายการที่กำหนดเองแบบคงที่ (
เทมเพลตอาร์เรย์ที่ใช้ JSON
)
การปลอมแปลงประเภท MIME FlashID จัดการได้อย่างสมบูรณ์แบบว่าประเภท MIME ใดปรากฏว่าได้รับการสนับสนุนสำหรับปลั๊กอินแต่ละตัว เพื่อให้แน่ใจว่ารายการที่ถูกปลอมแปลงนั้นสอดคล้องกับลักษณะเฉพาะของเบราว์เซอร์ที่เลือก:
// การตอบสนอง mimeTypes ที่ถูกปลอมแปลงโดย FlashID navigator.mimeTypes['application/x-shockwave-flash'] = undefined;
การจัดการความไม่สอดคล้องกันของออบเจกต์ PluginItem ไลบรารีตรวจจับเว็บแอปมักจะเรียกใช้คุณสมบัติย่อยของปลั๊กอิน เช่น
item.enabledPlugin
FlashID เลียนแบบความหมายในโลกแห่งความเป็นจริง รวมถึง:- ค่า Null หรือออบเจกต์ที่ส่งคืนขึ้นอยู่กับบริบทของเบราว์เซอร์
- การอ้างอิงประเภท MIME ที่ตรงกันต่อรายการ
- การจำลองความสามารถของ
description
และversion
ของปลั๊กอิน
การแยกโปรไฟล์ข้ามกัน อินสแตนซ์เบราว์เซอร์ FlashID แต่ละตัวมีรายการปลั๊กอินของตัวเอง ไม่เหมือนกับตัวปลอมแปลงทั่วไปที่เผยแพร่รายการปลั๊กอินปลอมเดียวกันไปทั่วหลายแท็บ FlashID จัดการความแตกต่างระหว่างโปรไฟล์เพื่อให้แน่ใจว่าผู้ใช้สามารถเข้าสู่ระบบด้วยข้อมูลประจำตัวที่แยกกันได้พร้อมกัน
การแจกแจงปลั๊กอินปลอม เมื่อเปิดเผยอาร์เรย์ปลั๊กอิน FlashID ตรวจสอบให้แน่ใจว่ามีเพียงปลั๊กอินที่เกี่ยวข้องกับ ภาษาท้องถิ่น, ระบบปฏิบัติการ และ เวอร์ชันเบราว์เซอร์ ที่เลือกเท่านั้นที่ถูกเปิดเผย ซึ่งรวมถึงการเลียนแบบชื่อที่เกี่ยวข้องกับ Adobe มาตรฐานบน Chrome 70 และคำอธิบายที่สะอาดตาเหมือนส่วนขยายบนโปรไฟล์ที่ทันสมัยกว่า
เกราะป้องกันแบบฮิวริสติก FlashID แนะนำการเปลี่ยนแปลงโดยเจตนา (การปลอมแปลงคุณสมบัติเล็กน้อยหรือการเข้าถึงที่ล่าช้า) เพื่อหลีกเลี่ยงบอทและตรรกะการตรวจจับที่ตรวจสอบ:
- รูปแบบการแจกแจงที่รวดเร็ว (ทั่วไปในแบบ headless)
- อาร์เรย์ปลั๊กอินที่เป็นค่าเริ่มต้นเสมอหรือว่างเปล่าเสมอ
- ลำดับปลั๊กอินที่ไม่สอดคล้องกับเบราว์เซอร์วัตถุประสงค์ทั่วไปจริง
4. สรุป
แม้ว่าฟังก์ชันปลั๊กอินจริงหลายอย่างจะล้าสมัยไปแล้ว แต่ นัยยะของการทำลายนิ้วมือยังคงแข็งแกร่งในตรรกะการตรวจจับและการสร้างโปรไฟล์ FlashID ช่วยให้โปรไฟล์รักษาสถานะปลั๊กอินที่ถูกปลอมแปลงที่สอดคล้องและเหมาะสมกับบริบทผ่านการดักจับออบเจกต์ JS การสร้างตามโปรไฟล์ และการแทรกค่าเอนโทรปีที่สมเหตุสมผล — ทั้งหมดนี้โดยไม่กระทบต่อความเข้ากันได้
สำหรับทีมที่จัดการหลายบัญชีหรืออินสแตนซ์เบราว์เซอร์ที่ไม่ระบุตัวตน การปลอมแปลงปลั๊กอินของ FlashID ช่วยให้การแยกพฤติกรรมเป็นไปอย่างปลอดภัยและมีความเสถียรภายใต้การวิเคราะห์ลายนิ้วมือขั้นสูง
คุณอาจชอบ