Lỗ hổng bảo mật trong tính năng kết nối nhanh của AirPods
(blogs.gnome.org)- Do CVE-2024-27867 trong firmware AirPods, người biết địa chỉ Bluetooth MAC có thể kết nối với thiết bị để nghe micro hoặc phát nhạc
- Lỗ hổng phát sinh vì đường dẫn Fast Connect, giao thức độc quyền của Apple, không kiểm tra rõ ràng trạng thái xác thực và mã hóa
- Địa chỉ Bluetooth MAC cần cho tấn công không hoàn toàn riêng tư; có thể thu được qua sóng vô tuyến khi ở chế độ ghép đôi hoặc khi AirPods đang hoạt động
- Nếu AirPods nằm trong hộp sạc đang đóng hoặc AirPods Max nằm trong Smart Case, chức năng không dây sẽ tắt nên không thể kết nối được
- Apple đã phát hành bản cập nhật firmware cho AirPods và một số thiết bị Beats, nhưng người dùng Android·Windows·Linux sử dụng không qua iOS·macOS có thể gặp quy trình cập nhật rườm rà hơn
Lỗ hổng firmware AirPods và phạm vi ảnh hưởng
- Firmware Apple AirPods có lỗ hổng bảo mật CVE-2024-27867
- Người biết địa chỉ Bluetooth MAC có thể kết nối với AirPods và thực hiện các hành động sau
- Nghe micro
- Phát nhạc
- Kiểm tra và tạm dừng nhạc đang phát trên thiết bị kết nối khác
- Thực hiện một số thao tác mà giao thức AAP cho phép
- Gửi thông điệp sai định dạng để làm AirPods bị crash
- Kẻ tấn công vẫn có thể kết nối thêm ngay cả khi AirPods đã được kết nối với điện thoại
- Tuy nhiên, nếu kẻ tấn công bật micro thì việc phát nhạc sẽ dừng lại
- Nếu AirPods nằm trong hộp sạc đang đóng hoặc AirPods Max nằm trong Smart Case, chức năng không dây sẽ tắt nên không thể có bất kỳ kết nối nào
Cách phát hiện lỗ hổng
- AirPods 3 hoạt động tự nhiên với nhiều tính năng khi dùng kết hợp macOS và thiết bị Apple, nhưng khi khởi động cùng laptop đó vào Linux thì không kết nối đồng thời với điện thoại và laptop được
- Do khác biệt này, người phân tích cho rằng có sử dụng giao thức riêng của Apple không có trên tai nghe Bluetooth thông thường, và bắt đầu phân tích để tái triển khai một số tính năng trên Linux
- Trong quá trình phân tích, lỗ hổng được phát hiện trong tính năng Fast Connect của Apple dùng để kết nối thiết bị ngoại vi Bluetooth
Cách Fast Connect hoạt động
- Fast Connect là giao thức độc quyền của Apple và sử dụng một cách sáng tạo tính năng ping trong đặc tả Bluetooth
- Mục tiêu là giảm thời gian thiết lập kết nối giữa hai thiết bị Apple từ khoảng 1 giây xuống khoảng 0,5 giây
- Trước khi xác thực với thiết bị đích, hai thiết bị trao đổi thông điệp L2CAP ping
- Apple đặt thông điệp giao thức vào trong payload ping
- Bằng cách này, hai bên xác nhận có hỗ trợ Fast Connect hay không mà không vi phạm đặc tả Bluetooth
- Sau đó, quá trình thương lượng cần thiết cho kết nối được thực hiện bằng 3 lượt thông điệp khứ hồi bổ sung
- Tổng cộng chỉ có 4 lượt thông điệp khứ hồi, nên nhanh hơn quy trình trao đổi SDP descriptor và cấu hình kênh trong kết nối Bluetooth thông thường
Thiếu kiểm tra xác thực
- Vấn đề nằm ở việc một bước kiểm tra quan trọng bị thiếu trong đường dẫn mã riêng triển khai Fast Connect
- AirPods không kiểm tra liệu bên kết nối đã thực sự xác thực và bật mã hóa hay chưa
- iOS và macOS bình thường sẽ thực hiện bước xác thực và kích hoạt mã hóa sau thông điệp Fast Connect ban đầu
- Ngay cả khi kẻ tấn công bỏ qua bước này, AirPods vẫn tiếp tục quy trình Fast Connect
- Khi kết nối với AirPods bằng phương thức Bluetooth thông thường không qua Fast Connect, bước xác thực được bao gồm ngầm định; vì vậy có khả năng đường dẫn mã Fast Connect đã bị thiếu kiểm tra rõ ràng
Điều kiện về địa chỉ Bluetooth MAC
- Kẻ tấn công cần biết địa chỉ Bluetooth MAC cố định của AirPods
- Địa chỉ này không phải thông tin hoàn toàn riêng tư
- Nó được quảng bá qua sóng vô tuyến khi thiết bị Bluetooth ở chế độ ghép đôi
- Khi AirPods đang hoạt động, có thể dễ dàng lấy từ sóng vô tuyến bằng phần cứng như Ubertooth One
Cập nhật và vấn đề với người dùng không dùng Apple
- Apple đã phát hành nhiều bản cập nhật firmware khắc phục lỗ hổng này trong vài ngày gần đây
- Các thiết bị áp dụng gồm AirPods 2, AirPods 3, AirPods Pro, AirPods Pro 2, AirPods Max và một số tai nghe Beats
- Người dùng cần kiểm tra xem firmware AirPods đã là phiên bản mới nhất chưa
- Thông tin cập nhật bảo mật: trang bảo mật của Apple
- Cách cập nhật: hướng dẫn cập nhật firmware AirPods
- Firmware AirPods được cập nhật tự động, nhưng chỉ tự động cập nhật khi dùng cùng iPhone hoặc MacBook
- Những người dùng AirPods không có thiết bị iOS hoặc macOS, chẳng hạn người dùng Android, Windows, Linux, khó cập nhật firmware một cách dễ dàng
- Có vẻ những người dùng này có thể cập nhật firmware tại Apple Store
Báo cáo và công cụ
- Jiska Classen của University of Potsdam đã hỗ trợ các câu hỏi liên quan đến Bluetooth và quy trình công bố
- Các công cụ cộng đồng Linux như BlueZ là cần thiết để tìm ra vấn đề này
1 bình luận
Các ý kiến trên Hacker News
Muốn biết yếu tố nào quyết định đơn vị thời gian của quá trình này
Cuối cùng, cấu trúc là handshake để xác nhận hai bên hỗ trợ những tính năng nào và sẽ giao tiếp bằng giao thức tầng vật lý nào sẽ ngốn thời gian
Có một số ứng dụng bên thứ ba, nhưng độ tin cậy thấp; may là trên Mac thì làm được hầu hết, nhưng kiểm tra độ vừa khi đeo thì vẫn cần iPhone. Việc nâng cấp firmware không cho người dùng kiểm soát, cũng không có thông tin trạng thái hay tiến độ nào, nên được thiết kế theo kiểu gây rối tối đa
Có lần nhân viên hỗ trợ ở Apple Store bảo tôi “đặt AirPods trong hộp đang mở khi đang kết nối với Mac, cắm hộp vào nguồn và để khoảng 30 phút”, nhưng thực tế có cảm giác việc cập nhật khá ngẫu nhiên. Nhân viên Apple Store dường như đôi khi cũng hiểu rất mơ hồ về khả năng phối hợp giữa các sản phẩm Apple ngoài iPhone, và họ đã hai lần bối rối khi biết tôi dùng AirPods chỉ với Mac và Android, không có iPhone
https://support.apple.com/en-us/106340
Bản Mỹ hiển thị số phiên bản firmware mới nhất khác; ví dụ AirPods Pro thế hệ 2 là 6F8, còn bản Ấn Độ là 6B34
Khiến tôi chờ bài tiếp theo về triển khai trên Linux
Giá mà có nhiều quyền kiểm soát cập nhật hơn
https://support.apple.com/en-us/106340
Đúng là hơn 95% người dùng AirPods không cần biết về cập nhật firmware, nhưng với những người quan tâm thì nên có cách để biết chuyện gì đang xảy ra
Thường thì không phải vấn đề lớn, nhưng đã có lần tôi nhận firmware AirPods muộn vài ngày, và trong tương lai có thể sẽ có thời điểm cập nhật ngay lập tức trở nên quan trọng
Nếu là kiểu ngắt kết nối hiện có thì có vẻ khó nghe lén cuộc gọi hoặc luồng âm thanh mà người dùng không biết. Không rõ kịch bản tệ nhất chỉ là quét địa chỉ MAC ở cự ly gần rồi tự động kết nối để phát tiếng ồn vào tai, hay còn vấn đề lớn hơn
Có thể chiếm AirPods khi một nhân vật nổi tiếng cấp cao hoặc chính trị gia đang gọi video, nhưng chắc sẽ bị phát hiện ngay; tôi tò mò liệu có chuyện gì tệ hơn không
Ngoài ra, chiếm được kết nối Bluetooth đồng nghĩa với việc có một bề mặt tấn công khá rộng, nên nếu kẻ tấn công biết lỗ hổng khác thì cũng mở đường cho chuỗi khai thác bổ sung
Giao thức “Fast Connect” có vẻ cho phép “kết nối” đồng thời với nhiều thiết bị, nên người dùng nhiều khả năng sẽ không nhận ra. Một kiểu tấn công khác là đặt các thiết bị hình đế lót ly cà phê khắp văn phòng như nhân viên vệ sinh để chộp âm thanh từ AirPods xung quanh
Về cơ bản, phần khó nhất đã được giải quyết; chỉ cần làm một thiết bị có pin nhỏ, bộ phát Bluetooth và bộ nhớ là có thể thu thập âm thanh chất lượng cao gần nơi mọi người nói chuyện
Tuy nhiên phải ở trong phạm vi Bluetooth, nên có khi nghe lén theo cách bình thường còn dễ hơn
Nếu chưa được vá, hẳn ai đó đã làm một ứng dụng phá AirPods cho Flipper Zero để cắt âm thanh AirPods của mọi người ở nơi công cộng và khiến họ bực mình
6A326 có vẻ là phiên bản chứa bản sửa lỗi
https://support.apple.com/en-us/HT214111
Có lẽ là phiên bản dành cho AirPods Pro thế hệ 2