Thay vào đó, nó sử dụng giao thức AirTag trên một thiết bị Bluetooth không có kết nối internet nhằm "đánh lừa" các thiết bị Apple gần đó gửi dữ liệu lên internet thay cho thiết bị đó.
Nói một cách đơn giản thì: bạn đang được truy cập internet miễn phí, nhưng bù lại sẽ bị đôi chút hạn chế về băng thông và độ trễ.
Cụ thể, trong thử nghiệm, nhà nghiên cứu Fabian Braunlein đã sử dụng một con chip Bluetooth/Wi-Fi ESP32 giá rẻ và dễ lập trình, vốn được dùng phổ biến trong các thiết bị IoT và bán đầy rẫy trên các website linh kiện điện tử. Anh đặt tên cho concept hack này là "Send My", nhại lại tên dịch vụ "Find My" của Apple, trong đó các AirTag sẽ thông qua một mạng lưới các iPhone để báo vị trí kể cả khi chúng không có kết nối internet.
Vì AirTag có thể báo vị trí về Apple dù không có kết nối internet, Braunlein tự hỏi liệu quy trình này có thể được biến hóa đôi chút bằng một con chip Bluetooth không phải của Apple, sử dụng dữ liệu báo cáo từ Find My để truyền tải dữ liệu Send My hay không?
Quy trình gửi dữ liệu vị trí từ AirTag diễn ra như sau:
- Khi bạn ghép nối AirTag với một Apple ID, máy tính và AirTag của bạn sẽ đồng ý kích hoạt một "hạt giống" mã hoá. Hạt giống này được sử dụng để phát sinh một chuỗi dữ liệu ngẫu nhiên mỗi 15 phút một lần. Nó giống như hạt giống dùng trong một ứng dụng xác thực 2FA vốn tính toán một mã 6 số ngẫu nhiên mỗi 30 giây một lần (hạt giống AirTag không được chia sẻ với Apple)
- Mỗi 2 giây, AirTag sẽ gửi đi một tín hiệu phát sóng Bluetooth Low Energy có chứa chìa khóa mã khóa công khai. Đây là một phần của cặp khóa Elliptic Curve được tạo ra bằng chuỗi dữ liệu ngẫu nhiên từ hạt giống ban đầu và tương ứng với khung thời gian 15 phút hiện tại.
Như vậy, tất cả những thứ AirTag làm đơn giản là phát sóng và chờ đợi có ai đó tiếp nhận.
Nếu bất kỳ thiết bị Apple có kết nối internet nào như iPhone hay MacBook nằm trong phạm vi của AirTag và nhận được tín hiệu "Tôi ở đây này" của AirTag, nó sẽ đóng vai trò là một bộ chuyển tiếp tín hiệu và hoàn tất quá trình truyền tin theo các bước:
- Tính toán vị trí của nó bằng GPS, Bluetooth, Wi-Fi, hay các nguồn có sẵn khsac
- Mã hóa dữ liệu vị trí bằng chìa khóa công khai Elliptic Curve trong tin nhắn của AirTag
- Tải dữ liệu đã mã hóa lên dịch vụ Find My của Apple.
Braunlein phát hiện ra một số điều: đầu tiên, AirTag không cần mã định danh riêng để truyền đi, bởi ID mà chúng sử dụng đơn giản chỉ là một nửa của cặp khóa công khai - riêng tư được mã hóa và luôn thay đổi; thứ hai, cả thiết bị Apple thực hiện chuyển tiếp tín hiệu miễn phí thay cho AirTag lẫn bản thân Apple đều không biết bất kỳ khóa riêng tư nào đã được sử dụng.
Nói cách khác:
- AirTag không biết thiết bị Apple nào nhận và chuyển tiếp tín hiệu của nó, do đó đảm bảo được quyền riêng tư của người sở hữu thiết bị đang giúp đỡ nó bằng cách cung cấp kết nối internet để truyền báo cáo lên Find My.
- Apple biết thiết bị nào gửi tín hiệu lên Find My nhưng không thể giải mã nó, do đó vị trí của thiết bị chuyển tiếp được đảm bảo riêng tư.
- Chủ nhân AirTag muốn báo cáo vị trí có thể giải mã vị trí trong báo cáo của Find My, nhưng không biết thiết bị chuyển tiếp nào đã đưa báo cáo lên.
Và đó là lúc đặt ra câu hỏi: liệu bạn có thể sử dụng các khóa công khai kia không phải để trộn dữ liệu muốn gửi đi, mà để mã hóa dữ liệu muốn gửi hay không?
Braunlein đưa ra một giải pháp hiệu quả để làm điều đó. Anh lập trình một thiết bị Bluetootdh để truyền các khóa công khai của AirTag nhưng thực ra không phải là khoá: những khóa công khai của anh trên thực tế là một chuỗi các gói tin mã hóa có chứa dữ liệu ẩn.
Phần lớn những dữ liệu đó có thể thất lạc trong quá trình truyền qua Bluetooth, và những tín hiệu Bluetooth phát ra rồi được nhận bởi các thiết bị Apple gần đó có thể không bao giờ được chuyển về Apple, hoặc mất rất lâu mới được chuyển đi. Nhưng bằng cách hạn chế độ dài của dữ liệu ẩn và lặp lại các khóa công khai Bluetooth đó liên tục, Braunlein hi vọng có thể gửi được toàn bộ các gói dữ liệu chứa dữ liệu ẩn lên Apple.
Lúc này, người nhận, vốn đã biết trước sẽ có gói dữ liệu ẩn, có thể truy vấn các máy chủ Find My của Apple để xem tin nhắn nào đã đến và giải mã tin nhắn. Các khóa công khai gửi đến máy chủ Apple sẽ nói cho người nhận biết dữ liệu ẩn nào đã được gửi lên. Hệ thống của Braunlein thậm chí còn đảm bảo nội dung tin nhắn gửi đi sẽ được ghép lại hoàn chỉnh với nhau theo trật tự chính xác bất kể chúng đến máy chủ Apple vào thời điểm nào, và dữ liệu có thể được tái cấu trúc kể cả khi một số mẩu thông tin không đến nơi được.
Đó chẳng phải là một hình thức truy cập internet miễn phí (và bí mật) sao?
Tuy nhiên, như đã nói ở trên, hệ thống này dù miễn phí nhưng không nhanh cũng như tiện lợi.
Braunlein cho biết anh có thể gửi dữ liệu đi ở tốc độ 20 bits/giây và nhận ở tốc độ khoảng 25 bits/giây, nhưng những tin nhắn ẩn đó mất từ 1 phút đến…1 giờ mới đến nơi.
Tạm kết
Kỹ thuật hack của Braunlein có phải là một nguy cơ tiềm tàng không?
Có lẽ là không.
Theo Braunlein, Apple có thể không ngăn được tình trạng sử dụng sai mục đích đối với hệ thống Find My, và có lẽ cũng không muốn, xét việc họ thiết kế hệ thống này với tiêu chí ẩn danh và riêng tư. Có thể Apple sẽ đưa ra một số hạn chế về lượng băng thông nhận và gửi vốn đã khá ít ỏi mà Send My tận dụng, nhưng điều đó không đồng nghĩa kỹ thuật này sẽ trở nên vô dụng.
Braunlein nói rằng kỹ thuật Send My của anh có thể được dùng để lấy dữ liệu từ các môi trường bảo mật trong đó các điện thoại di động chỉ được phép cài đặt các ứng dụng đã phê duyệt, và mọi thiết bị kết nối internet đều được giám sát và điều khiển.
Đó là bởi kỹ thuật này mở ra một con đường để các thiết bị Bluetooth ẩn danh truyền dữ liệu qua internet thông qua các điện thoại đã được phê duyệt gần đó mà không cần phải xác thực với các điện thoại đó hay bất kỳ ứng dụng nào khác của chúng.
Nếu bạn lo ngại về nguy cơ này, thì có lẽ bạn không nên cho phép người khác mang điện thoại di động của họ vào các khu vực bảo mật, hoặc bạn cần nhắc nhở mọi người chuyển sang chế độ máy bay trước đi vào.
Tham khảo: Sophos