1 คะแนน โดย GN⁺ 2024-03-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

การระบุตัวตนผ่านเสียง

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

วิธีที่ Safari 17 รบกวนการทำ Audio Fingerprinting

  • Safari 17 ได้นำฟีเจอร์ป้องกันการทำ Fingerprinting ขั้นสูงมาใช้ โดยเปิดใช้งานเป็นค่าเริ่มต้นในโหมดการท่องเว็บแบบส่วนตัว และปิดไว้ในโหมดปกติ
  • ฟีเจอร์ป้องกันนี้จะเพิ่มสัญญาณรบกวนแบบสุ่มให้กับแต่ละตัวอย่างเสียง ทำให้ความแม่นยำของลายนิ้วมือลดลง
  • ผลลัพธ์คือ Audio Fingerprint จะเปลี่ยนไปทุกครั้งที่คำนวณ จึงไม่สามารถนำมาใช้เพื่อระบุตัวตนได้

วิธีข้ามการป้องกัน Fingerprinting ขั้นสูงของ Safari 17

  • มี 3 ขั้นตอนในการปรับปรุงอัลกอริทึมการทำ Fingerprinting เพื่อลบสัญญาณรบกวนที่ Safari เพิ่มเข้ามา ได้แก่ ลดการกระจายของสัญญาณรบกวน, ขยายระยะห่างระหว่างหมายเลขระบุของเบราว์เซอร์, และปัดเศษลายนิ้วมือเพื่อลบสัญญาณรบกวนที่เหลืออยู่
  • เพื่อลดสัญญาณรบกวน จึงนำ Audio Fingerprint หลายค่าเข้ามารวมกัน และเปลี่ยนสัญญาณพื้นฐานเพื่อเพิ่มความแตกต่างของตัวอย่างเสียงระหว่างเบราว์เซอร์
  • เพื่อทำให้ผลลัพธ์มีความเสถียร จึงปัดเศษตัวอย่างเสียงโดยคงตัวเลขสำคัญไว้

ประสิทธิภาพ

  • อัลกอริทึม Fingerprinting แบบใหม่มีประสิทธิภาพลดลงราว 1.5-2 เท่าเมื่อเทียบกับอัลกอริทึมเดิม แต่ยังคงใช้เวลาในการคำนวณไม่มากแม้บนอุปกรณ์ประสิทธิภาพต่ำ
  • มีการย้ายงานบางส่วนไปประมวลผลบนเธรด OfflineAudioRender เพื่อให้หน้าเพจยังคงตอบสนองได้ดี

การทำงานในเบราว์เซอร์ที่เน้นความเป็นส่วนตัว

  • เบราว์เซอร์ที่เน้นความเป็นส่วนตัวอย่าง Tor และ Brave ก็พยายามจำกัดการทำ Audio Fingerprinting เช่นกัน
  • ใน Tor นั้น Web Audio API ถูกปิดใช้งานทั้งหมด ทำให้ไม่สามารถทำ Audio Fingerprinting ได้
  • Brave ใช้วิธีคล้ายกับ Safari 17 โดยเพิ่มสัญญาณรบกวนเข้าไปในสัญญาณเสียง

การใช้งานใน FingerprintJS

  • อัลกอริทึม Audio Fingerprinting แบบใหม่นี้เข้ามาแทนที่อัลกอริทึมเดิมใน FingerprintJS
  • Audio Fingerprinting เป็นหนึ่งในหลายสัญญาณที่ใช้สร้าง Browser Fingerprint โดยมีการวิเคราะห์ความเสถียรและความเป็นเอกลักษณ์ของแต่ละสัญญาณแยกกัน เพื่อพิจารณาว่าส่งผลต่อความแม่นยำของลายนิ้วมือมากเพียงใด

ความเห็นของ GN⁺

  • ฟีเจอร์รบกวนการทำ Audio Fingerprinting ของ Safari 17 แสดงให้เห็นถึงความพยายามของ Apple ในการเสริมความเป็นส่วนตัวให้ผู้ใช้ ซึ่งอาจช่วยมอบความเป็นส่วนตัวที่มากขึ้นแก่ผู้ใช้
  • อย่างไรก็ตาม บริการอย่าง FingerprintJS ยังสามารถข้ามการป้องกันนี้และทำให้การระบุตัวตนยังคงเป็นไปได้ ซึ่งสะท้อนให้เห็นถึงความตึงเครียดที่ดำเนินอยู่ระหว่างการคุ้มครองความเป็นส่วนตัวกับความปลอดภัย
  • ยังจำเป็นต้องมีการถกเถียงเพิ่มเติมว่าเทคโนโลยีนี้สามารถถูกนำไปใช้ในด้านความมั่นคงปลอดภัยไซเบอร์ได้อย่างไร เช่น ใช้เพื่อป้องกันการทุจริตและปกป้องบัญชีผู้ใช้
  • โครงการโอเพนซอร์สอื่นที่มีฟีเจอร์คล้ายกัน ได้แก่ Privacy Badger และ uBlock Origin ซึ่งสามารถช่วยบล็อกการติดตามผู้ใช้ได้
  • เมื่อนำเทคโนโลยีนี้มาใช้ สิ่งสำคัญคือการหาสมดุลระหว่างความเป็นส่วนตัวของผู้ใช้กับความต้องการด้านความปลอดภัยของเว็บไซต์ ประโยชน์ที่ได้จากการใช้เทคโนโลยีนี้คือความแม่นยำในการระบุตัวตนผู้ใช้ที่ดีขึ้น แต่ก็ควรคำนึงถึงความเสี่ยงของการละเมิดความเป็นส่วนตัวด้วย

1 ความคิดเห็น

 
GN⁺ 2024-03-11
ความคิดเห็นบน Hacker News
  • เทคนิคการทำลายนิ้วมือของ GPU

    • เทคนิคการทำลายนิ้วมือของ GPU ที่ชื่อ 'DrawnApart' ใช้ WebGL เพื่อวัดจำนวนและความเร็วของ execution unit ของ GPU รวมถึงวัดเวลาเสร็จสิ้นของการเรนเดอร์เวอร์เท็กซ์ การจัดการฟังก์ชัน stall เป็นต้น
    • ที่มา
  • ความเป็นไปได้ของการทำลายนิ้วมือด้วยเสียง

    • ขอคำอธิบายว่าทำไมการทำลายนิ้วมือด้วยเสียงจึงเป็นไปได้
  • ความไม่มีประสิทธิภาพของการเพิ่ม noise เพื่อป้องกันการรั่วไหลของข้อมูล

    • เมื่อพิจารณาจากความสนใจล่าสุดต่อการโจมตีแบบ side-channel การเพิ่ม noise เพื่อป้องกันข้อมูลรั่วไหลนั้นไม่ได้ผล เพราะสามารถเก็บตัวอย่างเพิ่มและกำจัด noise ออกได้
    • ตั้งคำถามว่าเหตุใด Safari จึงเพิ่มสิ่งนี้เข้ามา
  • สเปก Web Audio API และการจัดการ anti-aliasing ของ oscillator

    • การเลือกวิธีจัดการ anti-aliasing ของ oscillator ในสเปก Web Audio API ดูเหมือนจะเป็นกุญแจสำคัญที่ทำให้การหลบเลี่ยงการทำลายนิ้วมือสำเร็จ
    • อาจเลือกวิธี anti-aliasing ที่ต่างกันได้ตามเบราว์เซอร์หรือฮาร์ดแวร์ และด้วยเหตุนี้จึงอาจเกิดผลลัพธ์ที่ไม่เป็นเชิงกำหนดทั้งระหว่างเบราว์เซอร์ต่างกันหรือแม้แต่ภายในเบราว์เซอร์เดียวกัน
    • แสดงความไม่เข้าใจต่อการเลือกให้เบราว์เซอร์เป็นผู้จัดการ anti-aliasing
    • ที่มา
  • คำวิจารณ์ต่อการนำ Audio API ไปใช้งานภายในเบราว์เซอร์

    • มีความเห็นว่าการใส่ node graph audio API ไว้ในเบราว์เซอร์เป็นเรื่องไม่สมเหตุสมผล
    • โต้แย้งว่าควรมีเพียง audio worklet เท่านั้น
  • ข้อเสนอให้ปรับปรุงวิธีเพิ่ม noise ในการสุ่มตัวอย่าง

    • มีข้อเสนอว่าแทนที่ Safari จะเพิ่ม noise แบบสุ่มให้แต่ละ sample อาจเพิ่ม noise โดยอิงจากคีย์ที่เปลี่ยนไปตามเวลา
    • วิธีนี้จะทำให้ noise คงที่ภายในหนึ่งเซสชัน แต่หลังผ่านไปหนึ่งชั่วโมงก็จะใช้ติดตามต่อไม่ได้
  • ความเห็นของผู้ใช้ที่ชอบปิดการใช้งาน JavaScript

    • ความเห็นจากผู้ใช้ที่ชอบปิดการใช้งาน JavaScript แล้วท่องเว็บ
  • การรบกวนการทำลายนิ้วมือผ่านการแก้ไข prototype ของ Audio API

    • มีข้อเสนอวิธีแก้ไข prototype ของ Audio API เพื่อให้คืนค่าผลลัพธ์ตามที่ต้องการ
    • ยอมรับว่าการได้มาซึ่งลายนิ้วมือปลอมที่ต้องการนั้นทำได้ยาก
  • พื้นฐานของการทำลายนิ้วมือจากการประมวลผลเสียง

    • ถามว่าการทำลายนิ้วมือจากการประมวลผลเสียงนั้นอิงกับความแตกต่างของฮาร์ดแวร์/ไดรเวอร์/OS หรือว่าอิงเพียงความแตกต่างของซอฟต์แวร์เบราว์เซอร์
    • กล่าวถึงว่ายังมีเทคนิคคล้ายกันที่ใช้ <canvas> เพื่อเผยให้เห็นความแตกต่างระหว่างอุปกรณ์กราฟิก