Vụ Hack Khóa Bảo Mật Làm Lộ Ra Cuộc Tranh Luận Về WebUSB: Truy Cập Trình Duyệt và Các Mối Lo Ngại Về Bảo Mật

BigGo Editorial Team
Vụ Hack Khóa Bảo Mật Làm Lộ Ra Cuộc Tranh Luận Về WebUSB: Truy Cập Trình Duyệt và Các Mối Lo Ngại Về Bảo Mật

Một nhà phát triển đã chứng minh cách vượt qua các hạn chế của WebUSB trong Firefox bằng cách giả lập một khóa bảo mật U2F, làm dấy lên cuộc tranh luận mới về khả năng truy cập phần cứng của trình duyệt. Bằng chứng khái niệm cho thấy cách một Raspberry Pi Pico có thể được lập trình để giao tiếp với các trang web thông qua Firefox mặc dù trình duyệt này không hỗ trợ WebUSB, làm nổi bật sự cân bằng phức tạp giữa chức năng và bảo mật trong các trình duyệt hiện đại.

Cách hack này hoạt động bằng cách khai thác thực tế rằng mặc dù Firefox không hỗ trợ WebUSB, nó vẫn hỗ trợ các khóa bảo mật U2F. Bằng cách lập trình một vi điều khiển giả dạng làm khóa bảo mật và truyền dữ liệu tùy ý thông qua các trường xử lý khóa và chữ ký của thông điệp xác thực U2F, nhà phát triển đã tạo ra một kênh liên lạc bí mật. Điều này cho phép các trang web kiểm soát phần cứng như đèn LED trên thiết bị mà không cần hỗ trợ WebUSB rõ ràng.

Sự Chia Rẽ Về WebUSB: Chrome so với Firefox và Safari

Các bình luận cho thấy sự chia rẽ sâu sắc trong cộng đồng công nghệ về hỗ trợ WebUSB. Chrome (và các trình duyệt dựa trên Chromium) hỗ trợ WebUSB, trong khi Firefox và Safari đã cố tình chọn không triển khai nó. Đây không chỉ đơn thuần là sự khác biệt kỹ thuật mà còn phản ánh những bất đồng triết lý cơ bản về mô hình bảo mật trình duyệt.

Mozilla và Apple đã từ chối WebUSB vì lý do bảo mật và quyền riêng tư, lập luận rằng các thiết bị USB không được thiết kế để xử lý các tương tác có khả năng độc hại và việc nhận được sự đồng ý có ý nghĩa từ người dùng là khó khăn. Cách tiếp cận của Google là triển khai tính năng này với các lời nhắc cấp phép và danh sách chặn thiết bị, đặc biệt là đối với các thiết bị nhạy cảm về bảo mật như khóa FIDO/U2F.

Hỗ trợ WebUSB bởi các trình duyệt chính

  • Chrome/Chromium: Hỗ trợ đầy đủ
  • Firefox: Không hỗ trợ (do lo ngại về bảo mật và quyền riêng tư)
  • Safari: Không hỗ trợ (do lo ngại về bảo mật và quyền riêng tư)

Các trường hợp sử dụng WebUSB phổ biến được đề cập

  • Nạp firmware cho ESP32 và các vi điều khiển khác
  • Cấu hình bàn phím lập trình được
  • Cập nhật phần cứng như tay cầm chơi game Stadia
  • Quản lý máy in nhãn
  • Hỗ trợ phần cứng chuyên dụng như máy ghi MiniDisc

Các mối lo ngại về bảo mật

  • Các thiết bị USB không được thiết kế để xử lý dữ liệu đầu vào độc hại
  • Khó khăn trong việc nhận được sự đồng ý có ý nghĩa từ người dùng
  • Khả năng lấy dấu vân tay thiết bị
  • Sự tương đồng giữa các thông báo WebUSB và thông báo khóa bảo mật
  • Nguy cơ tấn công lừa đảo thông qua sự nhầm lẫn về quyền

Các Trường Hợp Sử Dụng Thực Tế và Mối Lo Ngại Về Bảo Mật

Đối với nhiều nhà phát triển và người đam mê, WebUSB mang lại những lợi ích thực tế đáng kể. Nó cho phép cấu hình bàn phím dựa trên trình duyệt, cài đặt firmware vào các vi điều khiển như ESP32, và lập trình thiết bị mà không cần cài đặt phần mềm đặc thù cho nền tảng. Người dùng những tính năng này mô tả trải nghiệm như ma thuật so với các phương pháp truyền thống yêu cầu ứng dụng gốc.

Tuy nhiên, các chuyên gia bảo mật cảnh báo về những rủi ro tiềm ẩn khi để các trang web tiếp xúc với thiết bị USB. Các giao thức USB không được thiết kế với bảo mật web trong tâm trí, và nhiều thiết bị thiếu sự bảo vệ chống lại đầu vào độc hại. Cũng có những lo ngại về việc lấy dấu vân tay và theo dõi thông qua các định danh thiết bị USB.

Mọi người đều yêu thích việc trình duyệt là một sandbox an toàn, cho phép người dùng chạy mã không đáng tin cậy. Tôi không hiểu tại sao mọi người lại muốn đục quá nhiều lỗ trong sandbox đó.

Câu Hỏi Rộng Hơn: Trình Duyệt Nên Làm Gì?

Cuộc tranh luận này đề cập đến một câu hỏi cơ bản về vai trò của các trình duyệt web. Liệu chúng có nên là những trình xem tài liệu tối thiểu với khả năng hạn chế, hay nên phát triển thành các nền tảng ứng dụng toàn diện với quyền truy cập vào tài nguyên hệ thống?

Nhiều người bình luận lưu ý rằng thay thế cho WebUSB thường là tải xuống và cài đặt các ứng dụng gốc, thường có quyền truy cập hệ thống rộng hơn và ít hạn chế bảo mật hơn so với trình duyệt. Những người khác chỉ ra rằng người dùng trung bình ít cần đến chức năng WebUSB, khiến rủi ro bảo mật bổ sung trở nên đáng ngờ đối với đa số người dùng.

Cuộc thảo luận cũng nhấn mạnh thách thức của việc thiết kế hệ thống cấp phép cung cấp sự đồng ý có ý nghĩa. Nhiều người dùng nhấp qua các lời nhắc cấp phép mà không hiểu đầy đủ các hàm ý, đặc biệt khi những lời nhắc đó trông giống với các yêu cầu xác thực hợp pháp.

Khi các trình duyệt tiếp tục phát triển, sự căng thẳng giữa việc mở rộng khả năng và duy trì bảo mật có thể sẽ vẫn là trung tâm của sự phát triển nền tảng web. Hack sáng tạo được trình bày trong bài viết cho thấy cả sự khéo léo của các nhà phát triển và những cân nhắc bảo mật phức tạp mà các nhà cung cấp trình duyệt phải điều hướng.

Tham khảo: Update: Hi HN et al.!