- iOS 18 đã giới thiệu một tính năng bảo mật khởi động lại do không hoạt động mới: "tự động khởi động lại nếu không được mở khóa trong 3 ngày"
- Việc nhập mật mã khi bật iPhone và nhập mật mã sau đó để mở khóa là hai việc rất khác nhau
- Khi nhập mật mã lúc khởi động iPhone lần đầu, kho khóa của Secure Enclave Processor (SEP) được mở, và đây là thành phần mã hóa dữ liệu trên iPhone
- Ở trạng thái trước lần mở khóa đầu tiên (BFU), dữ liệu người dùng được mã hóa, Face ID và Touch ID không hoạt động và bắt buộc phải nhập mật mã. Do mật khẩu Wi‑Fi được mã hóa nên không thể kết nối Wi‑Fi, nhưng vẫn có thể kết nối mạng di động nếu SIM không được bảo vệ bằng mã PIN. Nội dung xem trước thông báo cũng không hiển thị.
- Ở trạng thái sau lần mở khóa đầu tiên (AFU), dữ liệu người dùng được giải mã. Trong khi iOS đang chạy, kho khóa vẫn mở nên có thể kết nối Wi‑Fi và xem trước thông báo tin nhắn. Tuy nhiên, trạng thái này dễ bị tấn công hơn.
- Điểm yếu bảo mật của trạng thái AFU: nếu kẻ tấn công vượt qua được màn hình khóa thì có thể truy cập dữ liệu đã giải mã. Khi có quyền tiếp cận vật lý, khả năng khai thác lỗ hổng qua USB, Wi‑Fi, Bluetooth hoặc tấn công phần cứng cũng tăng lên
Tin đồn về việc iPhone khởi động lại
- Cơ quan thực thi pháp luật giữ iPhone trong trạng thái cách ly khỏi Internet để lấy dữ liệu quan trọng cho điều tra số khi máy đang ở trạng thái AFU.
- Có tin đồn rằng trên iOS 18, iPhone vẫn sẽ khởi động lại ngay cả khi bị cô lập hoàn toàn khỏi mạng không dây
- Cũng có tuyên bố rằng iPhone chạy iOS 18 có thể ra lệnh khởi động lại không dây cho iPhone chạy phiên bản iOS thấp hơn (khả năng này thấp về mặt kỹ thuật)
Phát hiện tính năng khởi động lại do không hoạt động
- Apple thường để lại gợi ý qua các chuỗi debug khi thêm tính năng mới
- Từ iOS 18.1 xuất hiện chuỗi
inactivity_reboot. Trên iOS 18.2, chuỗi này đổi thành inactivity_reboot_enabled
- Kết quả thử nghiệm xác nhận rằng khởi động lại do không hoạt động sẽ xảy ra nếu thiết bị không được mở khóa trong 3 ngày (72 giờ)
Reverse engineering cơ chế khởi động lại do không hoạt động
- Secure Enclave Processor (SEP) theo dõi thời điểm mở khóa gần nhất, và khi vượt quá 3 ngày sẽ thông báo cho mô-đun kernel AppleSEPKeyStore.
- Mô-đun kernel AppleSEPKeyStore thông báo cho user space để bắt đầu khởi động lại. SpringBoard sẽ đóng an toàn toàn bộ tiến trình user space.
- Sau khi khởi động lại,
keybagd đọc biến NVRAM "aks-inactivity" và nếu được thiết lập thì gửi sự kiện phân tích cho Apple.
- Nếu việc khởi động lại thất bại, sẽ xảy ra kernel panic
Reverse engineering Secure Enclave Processor
- SEP là một trong những bí mật được bảo vệ nghiêm ngặt nhất của Apple, và firmware của nó được mã hóa.
- Firmware SEP được cấu thành từ nhiều ứng dụng, và ứng dụng liên quan đến SEPKeyStore có tên là "sks".
- Khi vượt quá 3 ngày (72 giờ), SEP tạo một thông điệp và gửi nó đến tiện ích mở rộng kernel SEPKeyStore.
Đây có phải biện pháp chỉ nhắm vào cảnh sát?
- Hiệu quả cải thiện bảo mật: Truyền thông đưa tin rằng tính năng này chủ yếu nhắm vào cơ quan thực thi pháp luật, nhưng xét ở góc độ chống trộm thì đây là một cải tiến bảo mật lớn.
- Thiết bị của cơ quan thực thi pháp luật đời cũ thường được bán rẻ trên các nền tảng như eBay, và tính năng này giúp giảm các trường hợp kẻ trộm lợi dụng chúng để truy cập dữ liệu iPhone.
- Trên thực tế, rất khó để kẻ trộm có được công cụ hack mới nhất hoặc đủ nguồn lực để mở khóa thiết bị trong vòng 3 ngày.
- Tầm quan trọng của việc cập nhật thiết bị: Việc duy trì phiên bản iOS mới nhất là cực kỳ quan trọng để bảo vệ an toàn dữ liệu cá nhân.
- Cơ quan thực thi pháp luật cần thích nghi:
- Cơ quan thực thi pháp luật cần điều chỉnh quy trình trích xuất dữ liệu để hoàn tất trong vòng 3 ngày.
- Một số nhà sản xuất công cụ pháp chứng số đã công bố rằng họ có thể sắp xếp quy trình trích xuất dữ liệu trong vòng 24 giờ.
- Điều này cho thấy giới hạn là dữ liệu chỉ có thể được trích xuất khi máy ở trạng thái AFU.
- Tính bất đối xứng của mối đe dọa bảo mật:
- Với kẻ trộm, tính năng này gần như khiến việc lấy được dữ liệu trở nên bất khả thi và trở thành một rào cản bảo mật quan trọng.
- Trong khi đó, cơ quan thực thi pháp luật phải đơn giản hóa quy trình và phản ứng nhanh hơn.
Các điểm chính
- Không liên quan đến hoạt động không dây:
- Tính năng này không liên quan đến hoạt động của mạng không dây.
- Khó có thể tin vào tuyên bố trong tài liệu của cơ quan thực thi pháp luật về "khởi động lại do giao tiếp không dây giữa các thiết bị".
- Việc các thiết bị trước iOS 18 khởi động lại nhiều khả năng là do lỗi phần mềm.
- Vai trò của SEP:
- Việc đo thời gian không hoạt động và kích hoạt khởi động lại được thực hiện trong SEP.
- SEP giao tiếp với tiện ích mở rộng kernel SEPKeyStore để thực thi lệnh khởi động lại.
- Khả năng cao là việc thao túng thời gian từ bên ngoài qua Internet hoặc mạng di động sẽ không ảnh hưởng đến bộ đếm 3 ngày.
- Tính năng bảo mật mạnh:
- Nếu kẻ tấn công muốn ngăn khởi động lại do không hoạt động, chúng sẽ cần quyền thực thi mã kernel.
- Ngay cả khi chuyên gia pháp chứng số có thể trì hoãn việc khởi động lại để trích xuất dữ liệu, vụ khai thác ban đầu vẫn phải được thực hiện trong vòng 3 ngày.
- Sự thay đổi của bối cảnh đe dọa:
- Tạo ra những thách thức mới cho cả kẻ trộm lẫn chuyên gia pháp chứng số.
- Với kẻ trộm, tính năng này gần như chặn hoàn toàn việc truy cập tài khoản ngân hàng và các dữ liệu nhạy cảm khác lưu trên iPhone.
- Cơ quan thực thi pháp luật sẽ chịu áp lực phải phản ứng nhanh hơn để truy cập dữ liệu.
1 bình luận
Ý kiến trên Hacker News
Ở trạng thái AFU, dữ liệu người dùng được giải mã. Nhà phát triển có thể chọn nhiều loại khóa khác nhau để bảo vệ dữ liệu. Apple sử dụng các khóa cụ thể để bảo vệ thông tin nhạy cảm như dữ liệu sức khỏe của người dùng
Có ý kiến đặt câu hỏi vì sao lại nhấn mạnh quá nhiều vào việc không kết nối mạng. GrapheneOS đã cung cấp tính năng tự động khởi động lại sau một khoảng thời gian nhất định, và điều này có hiệu quả trong việc ngăn rò rỉ dữ liệu
Hai câu hỏi được nêu ra:
Có ý kiến thắc mắc vì sao Apple mã hóa firmware SEP. Nếu điều đó không thiết yếu đối với mô hình bảo mật, có thể là để bảo vệ sở hữu trí tuệ
Đây là một bài viết rất hay cho thấy Apple đang đi trước trong bảo mật thiết bị
Có đề cập rằng iOS 18 có thể ra lệnh khởi động lại không dây cho điện thoại khác, nhưng có vẻ sau đó không nói lại vấn đề này
Có ý kiến cho rằng điều này tương tự với cách AOSP xử lý mở khóa BFU và AFU
Nghi ngờ rằng việc này được quản lý trong Secure Enclave. Điều đó sẽ khiến việc vô hiệu hóa nó trở nên rất khó, ngay cả khi iOS bị xâm phạm hoàn toàn
Có câu hỏi vì sao lại chọn mốc thời gian cụ thể là 3 ngày, thay vì cho phép người dùng tự đặt độ trễ
Cảm ơn vì bài viết tuyệt vời, đây là một phân tích xuất sắc