1 điểm bởi GN⁺ 2024-11-17 | 1 bình luận | Chia sẻ qua WhatsApp
  • Phần mềm iPhone mới của Apple sẽ tự động khởi động lại nếu thiết bị không được mở khóa trong 72 giờ, khiến việc truy cập dữ liệu khó hơn khi máy bị tịch thu dài ngày hoặc bị thất lạc
  • Inactivity reboot trên iOS 18 được xác nhận là có bộ đếm 72 giờ thông qua video trình diễn của Jiska Classen và xác nhận từ Magnet Forensics
  • Sau khi khởi động lại, iPhone chuyển sang trạng thái an toàn hơn khi khóa khóa mã hóa bên trong Secure Enclave, khiến các công cụ pháp chứng rẻ tiền hoặc cũ khó mở hơn
  • Khả năng truy cập pháp chứng thay đổi tùy theo trạng thái BFU(Before First Unlock)AFU(After First Unlock), và việc khởi động lại sẽ đưa thiết bị từ trạng thái “hot” dễ khai thác hơn về trạng thái “cold” khó hơn
  • Tính năng này làm chậm việc truy cập của kẻ trộm và một số công cụ pháp chứng, nhưng theo Classen, nó không chặn hoàn toàn cơ quan thực thi pháp luật vì trong 3 ngày vẫn có thể điều phối chuyên gia phân tích và quy trình cần thiết

Tự động khởi động lại sau 72 giờ không sử dụng

  • Phần mềm iPhone mới bao gồm một tính năng bảo mật cho phép thiết bị tự khởi động lại nếu không được mở khóa trong 72 giờ
  • 404 Media cho biết một số iPhone đã khởi động lại vì lý do chưa rõ, khiến cơ quan thực thi pháp luật và các chuyên gia pháp chứng gặp khó khăn trong việc truy cập thiết bị và trích xuất dữ liệu
  • Sau đó, các nhà nghiên cứu bảo mật xác nhận rằng iOS 18 có inactivity reboot, cơ chế buộc thiết bị khởi động lại
  • Nhà nghiên cứu Jiska Classen tại Hasso Plattner Institute đã công bố video trình diễn về tính năng này, trong đó cho thấy một chiếc iPhone bị để nguyên không mở khóa đã khởi động lại sau 72 giờ
  • Magnet Forensics, công ty cung cấp các sản phẩm pháp chứng số bao gồm công cụ trích xuất dữ liệu iPhone và Android Graykey, cũng xác nhận bộ đếm là 72 giờ

BFU và AFU quyết định độ khó của pháp chứng

  • Inactivity reboot chuyển iPhone sang trạng thái an toàn hơn bằng cách khóa khóa mã hóa của người dùng bên trong chip Secure Enclave
  • Theo Classen, ngay cả khi kẻ trộm giữ iPhone luôn bật nguồn trong thời gian dài, việc mở khóa bằng các công cụ pháp chứng rẻ tiền và cũ cũng sẽ trở nên khó hơn
  • Công việc của cơ quan thực thi pháp luật khi muốn thu thập dữ liệu từ thiết bị của tội phạm cũng trở nên phức tạp hơn, nhưng chỉ riêng tính năng này không khiến việc truy cập bị chặn hoàn toàn
    • Giải thích là 3 ngày vẫn đủ thời gian để điều phối chuyên gia phân tích và các thủ tục liên quan
  • iPhone có hai trạng thái ảnh hưởng đến các nỗ lực dò mật mã bằng brute force hoặc khai thác lỗ hổng phần mềm để trích xuất dữ liệu
    • BFU(Before First Unlock): dữ liệu người dùng được mã hóa hoàn toàn, và nếu không biết mật mã thì gần như không thể truy cập
    • AFU(After First Unlock): một phần dữ liệu đã được giải mã, nên ngay cả khi điện thoại đang bị khóa, một số công cụ pháp chứng vẫn có thể trích xuất dễ hơn
  • Nhà nghiên cứu bảo mật iPhone Tihmstar cũng gọi hai trạng thái này lần lượt là thiết bị cold và thiết bị hot
    • Nhiều công ty pháp chứng tập trung vào các thiết bị “hot” ở trạng thái AFU, tức sau khi người dùng đã nhập đúng mật mã ít nhất một lần
    • Lý do là khi đó thông tin liên quan đến mật mã được lưu trong bộ nhớ của iPhone Secure Enclave
    • Thiết bị “cold” sau khi khởi động lại không thể dễ dàng trích xuất bộ nhớ, nên khó bị xâm nhập hơn nhiều
  • Apple trong nhiều năm qua đã liên tục bổ sung các tính năng bảo mật mới mà cơ quan thực thi pháp luật phản đối, cho rằng chúng khiến công việc trở nên khó khăn hơn
  • Năm 2016, FBI đã khởi kiện nhằm buộc Apple tạo một backdoor để mở chiếc iPhone của tay súng trong một vụ xả súng, sau đó startup Azimuth Security của Australia đã hỗ trợ FBI hack chiếc iPhone này
  • Apple không phản hồi yêu cầu bình luận

1 bình luận

 
GN⁺ 2024-11-17
Ý kiến trên Hacker News
  • Thiết bị đầu cuối thanh toán cần khởi động lại định kỳ do yêu cầu PCI, và gần như mọi thiết bị điểm bán trên thị trường đều khởi động lại mỗi 24 giờ

    • Có vẻ là một chiến lược phòng thủ theo chiều sâu tốt. Ngày nay, phần lớn hệ thống có bảo mật chuỗi khởi động khá ổn, nên sau khi khởi động lại có thể xem hệ thống đang ở trạng thái hợp lệ và các thay đổi độc hại tiềm tàng cũng đã biến mất
    • Việc Apple đưa cách tiếp cận tương tự vào iPhone cũng gần với ý tưởng đó, chỉ là có lẽ được áp dụng cho bảo vệ dữ liệu cá nhân
    • Boeing 787 cũng làm như vậy
    • Tôi vẫn khởi động lại iPhone vào mỗi cuối tuần, bất kể có cần hay không
  • Ước gì có thể hạ cài đặt này xuống ngắn hơn. Nếu cả ngày mà điện thoại chưa được mở khóa thì chắc có gì đó bất thường, và cần nghi ngờ thêm về bảo mật

    • Tôi tò mò liệu có làm được bằng ứng dụng Shortcuts mặc định không nên đã tìm thử, ban đầu tưởng là không được vì không có tác vụ "Restart"
      Hóa ra tôi đã xem nhầm chỗ, nó được cung cấp dưới dạng tùy chọn của tác vụ "Shut Down"
    • Một hệ thống khởi động lại nếu không ở gần một Airtag cụ thể hoặc thiết bị tương tự cũng có vẻ ổn. Tất nhiên phải có thể vượt qua bằng cách mở khóa
    • Để giảm bất tiện khi chỉ đơn giản là không đụng tới điện thoại, khoảng 12 giờ có lẽ là vừa đúng với tôi
    • Tạo một shortcut tự động hóa khởi động lại điện thoại hằng ngày là giải quyết được
  • Tính năng “mới” này đã được GrapheneOS hỗ trợ, mặc định cũng chạy sau 18 giờ và người dùng có thể chỉnh theo ý muốn. Không có lý do chính đáng nào để ép mọi người dùng 72 giờ; đây là một quyết định thiết kế thù địch với người dùng

    • Thực tế có vẻ nó chỉ hoạt động khi điện thoại không được mở khóa thành công trong 3 ngày. Vì vậy phần lớn người dùng gần như sẽ không nhận ra tính năng này
    • Lần đầu tôi thấy tính năng dùng đèn flash camera làm đèn pin là trên Cyanogenmod 7. Wi-Fi hotspot trên điện thoại cũng bắt đầu từ một app Cydia vào thời các app chính thức chẳng mấy hữu dụng
      Hệ sinh thái hack luôn mang những tính năng hay nhất lên điện thoại, nhưng các nhà sản xuất lại ngày càng khiến việc tiếp cận những tính năng đó khó hơn
    • Trên điện thoại GrapheneOS cá nhân thì đây là tính năng thiết yếu. Tôi thường chỉ dùng một hai lần mỗi ngày, nên gần như mỗi lần dùng đều ở trạng thái vừa khởi động lại
      Tôi từng đọc rằng nhiều exploit mới trong mảng di động chỉ tồn tại trong bộ nhớ nên có thể bị chặn bằng một lần khởi động lại đơn giản, trong đó có cả spyware khét tiếng Pegasus
    • Có lẽ đây gần như là một thỏa hiệp. Độ trễ dài như vậy tránh được các tiêu đề giật gân về người dùng nổi giận vì máy tự khởi động lại ngẫu nhiên, và cũng không ngắn đến mức các cơ quan liên bang phản ứng công khai rồi lại yêu cầu Trump đòi backdoor
      Đồng thời đây là một cập nhật khá kín tiếng, không mấy nổi bật ngoài cộng đồng kỹ thuật, nên các tội phạm nhỏ có thể chưa kịp chuẩn bị đúng cách. Nếu là thiết kế thù địch với người dùng thì ngay từ đầu họ đã không triển khai
      Phong cách đặc trưng của Apple là đặt mặc định chung chung và không làm phiền người dùng; có lúc tốt, có lúc xấu
    • Không biết Graphene dùng thực tế thì thế nào
  • Nếu đúng là vậy, biến nó thành tùy chọn có thể cấu hình là một cải tiến nhỏ. Nên để 72 giờ làm mặc định, còn nếu nhu cầu bảo mật cao hơn thì có thể hạ xuống 12 giờ hoặc ngắn hơn

    • Nếu cấu hình được, có lẽ tôi sẽ đặt 30 phút rồi tăng lên nếu thấy bất tiện. Tôi vốn luôn để điện thoại ở chế độ không làm phiền, nên việc khởi động lại làm thông báo đến muộn không phải vấn đề, và việc phải nhập mật mã thay vì FaceID mỗi 30 phút cũng không khiến tôi bận tâm lắm
    • Nếu cho cấu hình, có thể sẽ khó hard-code trong Secure Enclave để không thể bị vô hiệu hóa khi điện thoại bị jailbreak
    • Đồng ý, nhưng việc Apple chọn 72 giờ nghe giống như để cho cảnh sát có thời gian. Có lẽ vì cảnh sát có tổ chức hơn tội phạm chăng
    • Cho phép cấu hình là bước tiếp theo hợp lý
  • Tính năng này có vẻ làm hỏng chuyển tiếp SMS giữa các iDevice. Tôi phát hiện một cách khá vất vả khi một số thông báo giao hàng không đến cho tới khi tôi mở khóa chiếc iPhone phụ và mở ứng dụng Messages

  • Tôi hiểu rằng một chiếc điện thoại đang khóa phải đã nạp mọi thứ vào bộ nhớ. Nhưng tôi tò mò rào cản kỹ thuật nào khiến Apple không thể làm cho trạng thái bị khóa an toàn như ngay sau khi khởi động lại

    • trạng thái trước lần mở khóa đầu tiên, phần xem trước thông báo, thông tin liên hệ của cuộc gọi đến và các dữ liệu riêng theo người dùng khác chưa được giải mã nên vẫn bị khóa. Những thứ này cũng thay đổi lớn trải nghiệm người dùng, nên Apple không làm vậy
    • Có một giải thích hay về cách việc này được triển khai về mặt mật mã học: https://www.youtube.com/watch?v=BLGFriOKz6U
    • Tôi nghĩ rào cản nằm ở trải nghiệm người dùng hơn là kỹ thuật
  • Có vẻ 404Media là nơi đầu tiên xác nhận điều này. Cũng có thể không phải. Đây là bài dành cho người đăng ký và tôi không tìm được link archive xem được toàn bộ nội dung, nhưng họ là một cơ quan làm việc tốt nên đáng ủng hộ
    https://www.404media.co/apple-quietly-introduced-iphone-rebo...

  • Tự động khởi động lại đã có trên điện thoại Samsung từ thời Android 5 Lollipop, cách đây 10 năm. Thật mừng là tiến bộ công nghệ cuối cùng cũng tới được Apple

    • Về mặt bảo mật thì không phải cùng một tính năng. Cái đó giống quản lý hiệu năng hơn, tương tự việc khởi động lại một PC Windows cũ
      BFU của Android, tức trạng thái trước lần mở khóa đầu tiên, khá giống iPhone: dữ liệu vẫn bị khóa, không có thông báo đến, ứng dụng cũng không chạy. Phải mở khóa lần đầu thì ứng dụng mới chạy, thông báo mới đến, và đó cũng là lúc trạng thái dễ bị kẻ tấn công khai thác hơn
      Tôi dùng cả iPhone lẫn Android, và Android hiện tại là mẫu mới Z Fold 5. Fold 5 tự động khởi động lại hằng tuần, nhưng sau khi khởi động lại, các ứng dụng nền thường dùng vẫn được nạp và thông báo vẫn hoạt động bình thường
      Điều đó có nghĩa Android, chính xác hơn là OneUI mà Samsung đặt lên trên Android, không thực hiện khởi động lại “hoàn toàn”, và không đem lại lợi ích bảo mật như Apple khi để điện thoại ở trạng thái BFU hoặc trạng thái lạnh
  • Tôi tự hỏi vì sao không tách vật lý bộ nhớ lệnh chương trình và bộ nhớ dữ liệu ngay từ đầu. Tôi biết ở cấp trang có những xấp xỉ tương tự, nhưng thấy không có lý do gì để cho kernel tự sửa bộ nhớ của chính nó
    Có lẽ có thể làm kiểu một đơn vị bộ nhớ chỉ nạp các trang đã ký

    • Thứ bạn đang yêu cầu là máy tính kiến trúc Harvard, không phải kiến trúc von Neumann. Nó đi kèm các đánh đổi
      Điều cần lưu ý là JIT là công nghệ rất hữu ích nên cái giá của việc mất nó khá lớn, và interpreter vẫn xem bộ nhớ dữ liệu như bộ nhớ lệnh chương trình, nên lợi ích của sự tách biệt này bị giới hạn
    • Tôi không biết đây là câu trả lời cho điều gì. Nó đã hoạt động như vậy rồi, và kernel không thể sửa các trang mã của chính nó. Tuy nhiên vẫn còn nhiều bề mặt tấn công khác, như tấn công ghi đè con trỏ hàm hoặc dữ liệu khác
    • iOS đã hoạt động như vậy rồi
  • Câu hỏi: Màn hình khởi động lại của Apple thật sự có hiển thị log dmesg không?

    • Có lẽ đó là Security Research Device. https://security.apple.com/research-device/
    • Chắc không phải trong bản phát hành cuối, có lẽ các nhà nghiên cứu bảo mật đang dùng beta dành cho nhà phát triển và chế độ log chi tiết đã được bật