[Phần 2] FutureRestore – Hạ cấp hoặc Nâng cấp lên các phiên bản iOS đã khoá sign

đăng bởi tieubachlongblog
Đọc lại Phần 1 để hiểu rõ hơn tại đây: https://is.gd/phan1
Bài viết đã được dịch từ tiếng Anh, có nhiều từ ngữ chuyên môn. Nếu chưa hiểu các bạn có thể comment ở dưới nhé!!
1. Tại sao bạn lại hạ cấp phiên bản iOS của mình?
Kể từ khi chiếc iPhone đầu tiên được phát minh, jailbreak đã cho thấy nó có thể làm được nhiều hơn những gì Apple dự định. Jailbreak đã là một trò chơi “mèo vờn chuột” với Apple vì Apple thường nằm ở “kèo trên” hơn. Điều này có nghĩa là các phiên bản iOS mới nhất hiếm khi có thể jailbreak được, trong đó các phiên bản cũ hơn là những phiên bản được ưu tiên cho những người đam mê bẻ khóa vì có sẵn một lượng Kernel khai thác dồi dào.
2. Khai thác hạt nhân trên iOS (iOS kernel) là gì?
Một phần mềm khổng lồ và phức tạp như hạt nhân iOS, ít nhất cũng sẽ có lỗi. Với mỗi tính năng hoặc thay đổi mới, các nhà phát triển của Apple cũng có “sơ suất” đưa ra các lỗi mới trong nhân. Các nhà nghiên cứu bảo mật (tin tặc nếu bạn muốn) có thể tìm thấy những lỗ hổng này thông qua các công nghệ đảo ngược kéo dài hoặc thậm chí bằng cách xem mã nguồn mở (mặc dù không thường xuyên). Một khi lỗ hổng này được tìm thấy, một chương trình khai thác (một chương trình sử dụng lỗ hổng đó) có thể được viết.
Công nghệ đảo ngược là quá trình tìm ra các nguyên lý kỹ thuật của một phần mềm ứng dụng hay thiết bị cơ khí qua việc phân tích cấu trúc, chức năng và hoạt động của nó. Trong quá trình này, người ta thường phải tháo dỡ đối tượng (ví dụ một thiết bị cơ khí, một thành phần điện tử, một phần mềm) thành từng phần và phân tích chi tiết hoạt động của nó, thường là với mục đích xây dựng một thiết bị hoặc phần mềm mới hoạt động giống hệt nhưng không sao chép bất cứ thứ gì từ đối tượng nguyên bản. Trung Quốc, Cộng Hoà Hồi giáo Iran, Israel là các quốc gia đi đầu trong lĩnh vực này.
Tất nhiên, tùy thuộc vào mức độ nghiêm trọng của lỗi, nó có thể ảnh hưởng đến các thành phần bảo mật nghiêm trọng của nhân iOS và bằng cách sử dụng cách khai thác, tin tặc có thể bỏ qua hoặc vô hiệu hóa sandbox, vô hiệu hóa CodeSign thực thi nhận dạng ký mã đáng tin cậy, cho phép truy cập các quyền ROOT đầy đủ, v.v … Đây là công thức để bẻ khóa, và nếu không có các khai thác hạt nhân như vậy, bẻ khóa như bạn biết sẽ không tồn tại.
Vì phiên bản iOS mới nhất thường không có các lỗ hổng được biết đến công khai (trừ khi bạn nói về thiết bị tương thích với CheckM8 với Checkra1n), phiên bản ưu tiên cho người bẻ khóa là phiên bản có đủ lỗ hổng nhân được biết đến trong tự nhiên để có thể tiến hành bẻ khóa. và đó thường là 2-3 thậm chí có thể là 4 phiên bản mới nhất. Trong trường hợp như vậy, người ta có thể muốn sử dụng FutureRestore, một công cụ có thể hỗ trợ hạ cấp hoặc nâng cấp trong một số điều kiện nhất định ngay cả sau khi Apple ngừng ký (unsign) chương trình cơ sở dễ bị tấn công.
3. Tại sao nó lại quan trọng nếu Apple ký (sign) một phiên bản iOS?
Apple sử dụng dịch vụ TSS (Tatsu Signing Service) mà thiết bị của bạn “nói chuyện” mọi lúc khi nó muốn cài đặt iOS (qua OTA hoặc qua các file IPSW). Thiết bị iOS thực hiện một yêu cầu chứa số sê-ri, IMEI, phiên bản iOS, ID thiết bị, tính ngẫu nhiên FairPlay, v.v. và gửi yêu cầu đó đến Máy chủ ký của Apple. Sau khi máy chủ nhận được yêu cầu, nếu Apple vẫn ký, giả sử như iOS 14.3, nó sẽ gửi lại một phiếu ký được cá nhân hóa cho thiết bị cụ thể đó và quá trình cài đặt sẽ bắt đầu.
Nếu phiên bản iOS bạn cố gắng cài đặt không còn được ký, máy chủ sẽ trả về mã dừng và không có vé (ticket). Không có vé ký tên, tức là không có cách nào để cá nhân hóa phần mềm cho thiết bị nên BOOTROM trên thiết bị sẽ từ chối cài đặt, do đó từ chối hạ cấp / nâng cấp của bạn lên bất kỳ phiên bản nào bạn muốn.
Trong trường hợp như vậy, việc lưu các SHSH2 blobs rất hữu ích.
4. SHSH hoặc SHSH2 blobs trên iOS là gì?
Đó là những tệp nhỏ (kích thước vài KB) chứa phản hồi mà Máy chủ TSS của Apple sẽ gửi đến thiết bị nếu phiên bản iOS mà bạn cố gắng khôi phục vẫn được ký. Chúng được lưu bởi người dùng trong khi một phiên bản iOS cụ thể vẫn được ký, để sử dụng sau này.
Hãy tưởng tượng đây là một bản ghi vĩnh viễn về những gì máy chủ sẽ phản hồi lại khi giả sử iOS 14.3 vẫn được ký. Đó là phản hồi mà thiết bị chờ đợi để bắt đầu cài đặt.
Với tệp như vậy trong tay và với một công cụ như FutureRestore có thể sử dụng tệp đó thay vì “nói chuyện” với Máy chủ TSS của Apple, nếu các điều kiện nhất định được đáp ứng, bạn có thể đánh lừa BOOTROM trên thiết bị để nghĩ phản hồi đã được nhận ngay bây giờ và bất kỳ phiên bản iOS nào bạn cố gắng hạ cấp xuống, vẫn được ký.
Bạn không thể lưu SHSH2 blobs (hoặc vé) sau khi phiên bản iOS bị khoá sign vì máy chủ sẽ chỉ trả lại mã lỗi và không có hiệu lực. Hãy lưu chúng trong khi phiên bản iOS được ký, ngay cả khi chưa có bản jailbreak nào cho nó. Ví dụ: iOS 14.7 và 14.7.1 là phiên bản mới nhất tại thời điểm tôi viết bài này, nhưng không có jailbreak cho nó trên các thiết bị A12 trở lên. Tôi sẽ lưu SHSH2 của mình NGAY BÂY GIỜ, vì vào thời điểm bản jailbreak kết thúc, 14.7 và 14.7.1 sẽ từ lâu sẽ không được sign.
5. Tôi cần gì để hạ cấp với FutureRestore?
Để có thể hạ cấp iPhone, iPad hoặc iPod Touch của bạn bằng FutureRestore, bạn cần có một số tệp quan trọng, thiết bị của bạn và rất nhiều sự kiên nhẫn, thận trọng. Một sai lầm bạn mắc phải sẽ làm mất đi cơ hội này. Hãy luôn nhớ điều đó.
6. Nonce Generator và Nonce Setter là gì?
Mỗi blob bạn lưu chứa một chuỗi duy nhất được gọi là trình tạo nonce. Nếu bạn đặt điều đó trở lại NVRAM của thiết bị bằng Nonce Setter thường sử dụng khai thác Kernel, thiết bị của bạn sẽ tạo một yêu cầu khớp với dữ liệu giả ngẫu nhiên được lưu trữ trong blob của bạn, vì vậy thiết bị sẽ tin rằng SHSH2 blob là một thực tế. phản hồi hợp pháp từ Máy chủ TSS của Apple.
Nếu không, nonce sẽ được ngẫu nhiên hóa mỗi khi thiết bị khởi động lại và cơ hội khớp với một nonce mà bạn đã lưu trong blob của mình gần như bằng không.
0 0 đánh giá
Đánh giá bài viết

Bài Viết Liên Quan

Đăng ký
Thông báo về
guest
0 Bình luận
Phản hồi
Xem tất cả bình luận
0
Tham gia bình luận bài viết ngayx