การแฮ็กกุญแจความปลอดภัยเผยให้เห็นการถกเถียงเรื่อง WebUSB ที่ซ่อนอยู่: การเข้าถึงเบราว์เซอร์ vs. ความกังวลด้านความปลอดภัย

BigGo Editorial Team
การแฮ็กกุญแจความปลอดภัยเผยให้เห็นการถกเถียงเรื่อง WebUSB ที่ซ่อนอยู่: การเข้าถึงเบราว์เซอร์ vs. ความกังวลด้านความปลอดภัย

นักพัฒนาได้สาธิตวิธีการหลีกเลี่ยงข้อจำกัด WebUSB ใน Firefox โดยการเลียนแบบกุญแจความปลอดภัย U2F จุดประกายการถกเถียงใหม่เกี่ยวกับความสามารถในการเข้าถึงฮาร์ดแวร์ของเบราว์เซอร์ การพิสูจน์แนวคิดนี้แสดงให้เห็นว่า Raspberry Pi Pico สามารถถูกโปรแกรมให้สื่อสารกับหน้าเว็บผ่าน Firefox ได้แม้ว่าเบราว์เซอร์จะไม่รองรับ WebUSB ซึ่งเน้นย้ำถึงความสมดุลที่ซับซ้อนระหว่างฟังก์ชันการทำงานและความปลอดภัยในเบราว์เซอร์สมัยใหม่

การแฮ็กนี้ทำงานโดยใช้ประโยชน์จากข้อเท็จจริงที่ว่า Firefox ไม่สนับสนุน WebUSB แต่รองรับกุญแจความปลอดภัย U2F โดยการโปรแกรมไมโครคอนโทรลเลอร์ให้แสร้งเป็นกุญแจความปลอดภัยและลักลอบส่งข้อมูลตามอำเภอใจผ่านฟิลด์ key handle และลายเซ็นของข้อความการยืนยันตัวตน U2F นักพัฒนาได้สร้างช่องทางการสื่อสารแบบลับ ซึ่งช่วยให้เว็บไซต์สามารถควบคุมฮาร์ดแวร์ เช่น LED บนอุปกรณ์ได้โดยไม่ต้องมีการสนับสนุน WebUSB อย่างชัดเจน

การแบ่งแยก WebUSB: Chrome vs. Firefox และ Safari

ความคิดเห็นเผยให้เห็นความแตกแยกอย่างลึกซึ้งในชุมชนเทคโนโลยีเกี่ยวกับการสนับสนุน WebUSB Chrome (และเบราว์เซอร์ที่ใช้ Chromium) สนับสนุน WebUSB ในขณะที่ Firefox และ Safari เลือกที่จะไม่นำมาใช้โดยเจตนา นี่ไม่ใช่เพียงความแตกต่างทางเทคนิคเท่านั้น แต่สะท้อนถึงความไม่เห็นด้วยเชิงปรัชญาพื้นฐานเกี่ยวกับโมเดลความปลอดภัยของเบราว์เซอร์

Mozilla และ Apple ได้ปฏิเสธ WebUSB ด้วยเหตุผลด้านความเป็นส่วนตัวและความปลอดภัย โดยโต้แย้งว่าอุปกรณ์ USB ไม่ได้ถูกออกแบบมาเพื่อรับมือกับการโต้ตอบที่อาจเป็นอันตรายและการให้ความยินยอมของผู้ใช้อย่างมีความหมายนั้นทำได้ยาก แนวทางของ Google คือการใช้คุณสมบัตินี้พร้อมกับการแจ้งเตือนการอนุญาตและรายการบล็อกอุปกรณ์ โดยเฉพาะอย่างยิ่งสำหรับอุปกรณ์ที่มีความอ่อนไหวด้านความปลอดภัย เช่น กุญแจ FIDO/U2F

การรองรับ WebUSB โดยเบราว์เซอร์หลัก

  • Chrome/Chromium: รองรับอย่างเต็มรูปแบบ
  • Firefox: ไม่รองรับ (เนื่องจากข้อกังวลด้านความปลอดภัยและความเป็นส่วนตัว)
  • Safari: ไม่รองรับ (เนื่องจากข้อกังวลด้านความปลอดภัยและความเป็นส่วนตัว)

กรณีการใช้งาน WebUSB ที่พบบ่อย

  • การอัปโหลดเฟิร์มแวร์ให้กับ ESP32 และไมโครคอนโทรลเลอร์อื่นๆ
  • การกำหนดค่าคีย์บอร์ดที่สามารถโปรแกรมได้
  • การอัปเดตฮาร์ดแวร์ เช่น คอนโทรลเลอร์ Stadia
  • การจัดการเครื่องพิมพ์ฉลาก
  • การรองรับฮาร์ดแวร์เฉพาะทาง เช่น เครื่องบันทึก MiniDisc

ข้อกังวลด้านความปลอดภัย

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

กรณีการใช้งานจริง vs. ข้อกังวลด้านความปลอดภัย

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

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

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

คำถามที่กว้างขึ้น: เบราว์เซอร์ควรทำอะไร?

การถกเถียงนี้เกี่ยวข้องกับคำถามพื้นฐานเกี่ยวกับบทบาทของเว็บเบราว์เซอร์ พวกมันควรเป็นเพียงตัวดูเอกสารที่มีความสามารถจำกัด หรือควรพัฒนาให้เป็นแพลตฟอร์มแอปพลิเคชันที่ครอบคลุมซึ่งสามารถเข้าถึงทรัพยากรของระบบได้?

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

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

ในขณะที่เบราว์เซอร์ยังคงพัฒนาต่อไป ความตึงเครียดระหว่างการขยายความสามารถและการรักษาความปลอดภัยจะยังคงอยู่ในศูนย์กลางของการพัฒนาแพลตฟอร์มเว็บ การแฮ็กที่สร้างสรรค์ที่แสดงในบทความนี้แสดงให้เห็นทั้งความเฉลียวฉลาดของนักพัฒนาและข้อพิจารณาด้านความปลอดภัยที่ซับซ้อนที่ผู้ให้บริการเบราว์เซอร์ต้องนำทาง

อ้างอิง: Update: Hi HN et al.!