1. AudioContext ใน Browser Fingerprinting คืออะไร

AudioContext เป็นส่วนหนึ่งของ Web Audio API ที่นำเสนอกราฟการประมวลผลสัญญาณเพื่อจัดการแหล่งเสียง, ฟิลเตอร์ และปลายทางภายในเบราว์เซอร์ แม้ว่าจะไม่เด่นชัดหรือถูกอ้างถึงบ่อยเท่า Canvas หรือ WebGL fingerprints แต่ก็สามารถเป็น ตัวระบุระดับซอฟต์แวร์ที่ซ่อนอยู่แต่ทรงพลัง

ระบบตรวจจับลายนิ้วมือใช้ประโยชน์จาก ไปป์ไลน์การเรนเดอร์เสียง เช่น:

  • จำนวนช่องสัญญาณและความสามารถของอุปกรณ์เอาต์พุตเสียง
  • อัตราตัวอย่างและความคลาดเคลื่อนของความแม่นยำในการเล่น
  • พฤติกรรมการหน่วงเวลาการประมวลผลเสียง
  • ไม่ว่า ScriptProcessorNode หรือ AudioWorklet จะรองรับหรือถูกบล็อก
  • คุณสมบัติการดีบักเช่น audioContext.listener, currentTime, และ baseLatency

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


2. แพลตฟอร์มตรวจจับ AudioContext Fingerprints ได้อย่างไร

แพลตฟอร์มที่ล้ำหน้าที่สุด (โดยเฉพาะแพลตฟอร์มที่มุ่งเป้าไปที่ การวอเตอร์มาร์กเสียง, การประมวลผลเสียงแบบ Convolution หรือ ลักษณะ DSP) สามารถใช้ AudioContext ในลักษณะที่วัดความผันแปรภายในเบราว์เซอร์และเอนจิ้นเสียง

ตัวอย่างโค้ดสำหรับตรวจจับ:

const audioCtx = new AudioContext();
const oscillator = audioCtx.createOscillator();
const listener = audioCtx.listener;
const dest = audioCtx.destination;

console.log(listener.forwardX.value, listener.forwardY.value, listener.forwardZ.value);
console.log({
  sampleRate: audioCtx.sampleRate,
  baseLatency: audioCtx.baseLatency,
  state: audioCtx.state,
  outputChannelCount: dest.maxChannelCount,
});

สิ่งที่สามารถตรวจจับลายนิ้วมือได้:

คุณสมบัติเสียงการใช้งานในการติดตาม
Sample Rateสามารถตรวจจับค่าเริ่มต้นของ OS/macOS/Windows ได้
Channel Count Supportการอนุมานความสามารถของอุปกรณ์
Audio Listener Spaceรูปแบบการวางแนวสเตอริโอ/3D ที่ซ่อนอยู่
DSP Kernel Signaturesโดยเฉพาะในเครือข่าย Convolution
Web Audio Schedulingเหตุการณ์เช่น oncomplete + latencies เป็นตัวบอก

บางแพลตฟอร์มยังเรนเดอร์รูปคลื่นสังเคราะห์, คำนวณ Fast Fourier Transforms (FFTs) ใน JavaScript หรือเข้ารหัสสิ่งประดิษฐ์เสียงที่ละเอียดอ่อน (เช่น ความคลาดเคลื่อนของการตัดสัญญาณ) เพื่อแยกความแตกต่างระหว่างเบราว์เซอร์จริงและเบราว์เซอร์จำลอง


3. FlashID ปิดบัง AudioContext Fingerprints อย่างไร

เพื่อป้องกันไม่ให้เบราว์เซอร์ถูกตรวจจับลายนิ้วมือโดยรอบผ่านเสียง FlashID รับประกัน การจำลองเสมือนและการปลอมแปลงพฤติกรรม Web Audio API อย่างสมบูรณ์ รวมถึง:

  1. การจำลองเสมือน AudioContext Listener

    • ปลอมแปลงค่าการวางแนว 3D เช่น forwardX, positionX, velocity สำหรับ PannerNode และ AudioListener
  2. การปกปิด SampleRate และ Channel Count

    • ปกปิด audioContext.sampleRate ด้วยค่าเดสก์ท็อป/มือถือที่สมจริงที่กำหนดค่าได้ (44100, 48000 ฯลฯ)
    • ปลอมแปลงขีดจำกัดช่องสัญญาณเอาต์พุต (destination.maxChannelCount) โดยไม่คำนึงถึงขีดจำกัดของอุปกรณ์จริง
  3. การจำลองเส้นทาง DSP

    • เข้ารหัสเอาต์พุตบัฟเฟอร์แบบผสมผสานแทนการใช้กราฟสัญญาณจริง
    • ป้องกันไม่ให้ระบบใช้การสื่อสาร ScriptNode หรือ Worklet เพื่อหาความเฉพาะตัว
  4. การควบคุมสถานะและการหน่วงเวลา

    • แก้ไข audioContext.state ให้เป็นค่ารันไทม์ที่คาดไว้ (running/closed/suspended)
    • ปกปิด baseLatency เพื่อสะท้อนพฤติกรรมเริ่มต้นของเดสก์ท็อปหรือมือถือมาตรฐาน
  5. ความสอดคล้องของบริบทตลอดเซสชัน

    • ลายนิ้วมือเสียง ถูกล็อกไว้กับตัวตนต่อโปรไฟล์
    • ป้องกันการเปลี่ยนแปลงระหว่างเซสชันการเรนเดอร์แบบต่อเนื่องโดยการรับประกันค่าพื้นฐานเดียวกันตลอดการรีเซ็ตเอนจิ้นหลายครั้ง

FlashID จำลองสิ่งเหล่านี้โดยใช้ พร็อกซี AudioBus ภายใน และกำหนดค่าโหนดปลอมและสายโซ่การกำหนดเส้นทางที่รักษา การตอบสนองของ Web Audio API ที่น่าเชื่อถือ โดยไม่เปิดเผยลักษณะเฉพาะของ DSP ของอุปกรณ์จริง

สิ่งนี้ช่วยให้แพลตฟอร์มไม่สามารถใช้ AudioContext แยกต่างหากหรือร่วมกับ Canvas/WebGL เพื่อสร้างความหลากหลายของอุปกรณ์ขึ้นใหม่หรือระบุสภาพแวดล้อมปลอมได้ ทั้งหมดนี้ในขณะที่ยังคงมีอินเทอร์เฟซเดียวกันกับที่โค้ดของคุณคาดหวัง


คุณอาจชอบ

Run multiple accounts without bans and blocks
ทดลองใช้ฟรี

การป้องกันความปลอดภัยหลายบัญชี เริ่มต้นด้วย FlashID

ผ่านเทคโนโลยีการระบุตัวตนด้วยลายนิ้วมือของเรา คุณจะไม่ถูกติดตาม

การป้องกันความปลอดภัยหลายบัญชี เริ่มต้นด้วย FlashID