Phân tích sâu: Giao thức ‘Find My’ của Apple và rủi ro bảo mật

Phân tích sâu: Giao thức 'Find My' của Apple và rủi ro bảo mật
CLOUD SERVER
Vững hạ tầng • Chắc thành công
☁️
⚡ Hiệu năng cao
🛡️ Bảo mật
📈 Mở rộng dễ dàng
🕒 Hỗ trợ 24/7
TÌM HIỂU NGAY

Một nhà nghiên cứu bảo mật đã thực hiện kỹ thuật đảo ngược thành công giao thức Find My People độc quyền của Apple. Qua đó, nhà nghiên cứu đã chứng minh rằng một máy tính chạy Linux có thể đăng ký với các dịch vụ nội bộ của Apple, nhận khóa chia sẻ vị trí hiện có và giải mã vị trí trực tiếp của bạn bè mà không cần sử dụng máy Mac hoặc iPhone.

Kỹ thuật đảo ngược giao thức Find My People

Dự án ban đầu xuất phát từ nhu cầu xây dựng cảnh báo địa lý cho Discord bằng dữ liệu vị trí mà một người bạn đã chia sẻ thông qua ứng dụng Find My của Apple. Quá trình này, tưởng chừng chỉ là một lệnh gọi API được xác thực đơn giản, đã dẫn đến khoảng một tuần thực hiện kỹ thuật đảo ngược cơ sở hạ tầng nhận dạng thiết bị và nhắn tin độc quyền của Apple, do chưa có dự án mã nguồn mở nào trước đây sao chép đầy đủ quy trình này.

Bằng cách sử dụng kết quả phân giải mã của các daemon fmfd, findmylocatedsearchpartyd của Apple, kết hợp với các công cụ mã nguồn mở như FindMy.pypypush, nhà nghiên cứu đã tái tạo toàn bộ quy trình xử lý từng trường dữ liệu.

Thách thức xác thực và nhận dạng thiết bị

Trở ngại đầu tiên là quá trình xác thực. Các token đăng nhập iCloud tiêu chuẩn trả về lỗi 401 khi tương tác với API Find My Friends cũ. Nguyên nhân là do mỗi dịch vụ của Apple cấp các thông tin xác thực phạm vi riêng thông qua một quy trình trao đổi với broker. Sau khi xác thực thành công qua GrandSlam, giao thức đăng nhập tài khoản của Apple, nhà nghiên cứu đã thu được một delegate token cho IDS, lớp nhận dạng và nhắn tin mã hóa độc quyền của Apple, nền tảng của cả iMessage và Find My.

Việc chuyển đổi delegate token này thành một nhận dạng thiết bị hoạt động đòi hỏi một yêu cầu ký chứng chỉ với các ràng buộc rất cụ thể và không được ghi lại. Bao gồm một khóa RSA 2048-bit, một chữ ký SHA-1 và một tên chung (common name) có nguồn gốc từ mã băm SHA-1 của ID hồ sơ tài khoản, được đóng gói trong một thuộc tính danh sách XML nén gzip. Quá trình đăng ký với tư cách là một thiết bị Find My cũng tương tự, yêu cầu đăng ký dưới dịch vụ đa hợp “alloy” của Apple với sáu dịch vụ phụ cụ thể thay vì đăng ký trực tiếp Find My Friends.

Lấy và giải mã khóa chia sẻ vị trí

Phần phức tạp nhất về mặt khái niệm là thuyết phục Apple gửi khóa mã hóa cho một lượt chia sẻ đã được chấp nhận tới “thiết bị” Linux mới. Theo một nhà nghiên cứu của Zerotistic, một yêu cầu SubscribeAndFetch với mục đích distributeKeys sẽ kích hoạt thiết bị chia sẻ phân phối lại khóa hiện tại của nó qua Apple Push Notification Service. Dữ liệu này được đóng gói trong một phong bì đã được ký và xác minh bằng ECDH, gọi là pair-ec.

Điều quan trọng là quá trình này không yêu cầu chia sẻ lại hoặc thay đổi tài khoản, vì kiến trúc của Apple được thiết kế để tự động bàn giao các khóa hiện có cho các thiết bị mới được thêm vào. Khóa được bàn giao sử dụng mật mã đường cong elip trên đường cong P-224, khác với các khóa P-256 được sử dụng trong phong bì nhắn tin.

Với khóa chia sẻ cho mỗi lượt chia sẻ trong tay, nhà nghiên cứu đã truy vấn dịch vụ SearchParty của Apple, nơi lưu trữ các báo cáo vị trí được mã hóa. Sau đó, họ giải mã dữ liệu văn bản mã hóa cục bộ bằng cách sử dụng trao đổi khóa ECDH và AES-GCM. Kết quả thu được là tọa độ trực tiếp, bán kính độ chính xác và dấu thời gian cho thiết bị của người bạn đã đồng ý, tất cả đều thu được hoàn toàn thông qua các công cụ Linux.

Giá trị của việc nghiên cứu

Cuộc nghiên cứu này không phát hiện ra một lỗ hổng bảo mật mà Apple cần vá, bởi lẽ nó chỉ truy cập vào một vị trí đã được chia sẻ tự nguyện với tài khoản của nhà nghiên cứu. Thay vào đó, giá trị của nó nằm ở việc ghi lại chi tiết, lần đầu tiên, cách các giao thức IDSSearchParty độc quyền của Apple phân phối và luân chuyển các khóa chia sẻ vị trí. Thông tin này rất hữu ích cho các nhà nghiên cứu đang xây dựng các máy khách Find My có khả năng tương tác hoặc tự lưu trữ.

Phòng ngừa sự cố do điều tra chậm trễ. Nâng cao hiệu quả của đội ngũ SOC cấp Tier 1 với threat intelligence từ 15.000 trung tâm SOC. Tích hợp tra cứu thông tin mối đe dọa vào quy trình vận hành SOC của bạn. Liên hệ để biết thêm chi tiết.