Tại sao các ứng dụng root không hoạt động nữa?


10

Một vài năm trước, thật dễ dàng để root bất kỳ thiết bị nào: Cài đặt KingRoot, KingoRoot hoặc một ứng dụng tương tự, nhấn nút ROOT lớn và để phần còn lại làm. Sau 5 phút hoặc lâu hơn, một "Root thành công!" lời nhắc sẽ bật lên và chúng tôi có thể chọn giữ ứng dụng gốc hoặc gỡ cài đặt ứng dụng và cài đặt ứng dụng quản lý gốc sạch như SuperSU / Superuser.

Họ làm việc như thế nào? Tại sao họ không làm việc nữa? Và nếu chúng hoạt động, tôi có nên sử dụng chúng hay không?


2
Điều này có thể hữu ích, đặc biệt là VERIFIED / SECURE BOOTphần: forum.xda-developers.com/android/general/iêu
Irfan Latif

Câu trả lời:


16

Tôi đã có câu hỏi này vài tháng trước và tôi đã tìm thấy câu trả lời này thông qua một số nghiên cứu, vì vậy tôi nghĩ sẽ chia sẻ nghiên cứu của mình trên trang web này bằng cách trả lời câu hỏi của tôi, xem xét thông tin giả mạo trực tuyến. (Ví dụ: trang web chính thức của KingoRoot nói rằng nó có thể root Android Oreo , đây là thông tin hoàn toàn sai)

Làm thế nào để các ứng dụng root hoạt động?

Có khá nhiều ứng dụng root, KingRoot, KingoRoot, Z4Root, Root Genius, Universal Androot để đặt tên cho một vài ứng dụng phổ biến / từng là ứng dụng phổ biến. Tất cả đều sử dụng khai thác / lỗ hổng / lỗ hổng trong HĐH Android để cung cấp cho mình các đặc quyền dành riêng cho các ứng dụng hệ thống hoặc thậm chí chính hệ điều hành Android. Và sau đó họ gắn kết là đọc / ghi thư mục có tên /systemchứa các quy trình cần thiết để hệ thống chạy và các ứng dụng hệ thống, và đặt một nhị phân có tên suvào một vị trí của thư mục, cụ thể là /system/bin/su. Nếu một số ứng dụng yêu cầu root, ứng dụng sẽ thực thi nhị phân đó và bạn sẽ thấy lời nhắc xem có nên cho phép hoặc từ chối quyền truy cập root hay không.

Các khai thác / lỗ hổng được phát hiện được cung cấp CVEID và sau đó được nêu chi tiết trong trang web CVE và được sửa trong Bản tin bảo mật của Android . Một ví dụ là lỗ hổng DirtyC0W khét tiếng đã được đưa ra CVEID CVE-2016-5195, nó đã bị vấy bẩn và vẫn còn làm hỏng các hạt nhân Linux cũ hơn. Hầu như tất cả các ứng dụng được đề cập ở trên đều khai thác lỗ hổng này.

Tại sao các ứng dụng root không hoạt động nữa?

Như được tham chiếu trong Bản tin ở trên, Google sửa một loạt vấn đề trong Android mỗi tháng. Vì vậy, phạm vi của các lỗ hổng rất thấp. Tất cả các lỗ hổng mà các ứng dụng root sử dụng cho đến nay đã được sửa trong các bản vá bảo mật ở đâu đó vào khoảng năm 2018 .

Nhưng có thể có một số vấn đề nhà sản xuất quên vá! Còn họ thì sao?

Trên Android 6.0.0 trở lên, điều đó sẽ khiến thiết bị không khởi động được nữa. Để hiểu lý do cho điều này, chúng ta phải xem xét một khái niệm có tên Chain of Trust .

Chain of Trust , viết tắt CoT, là một cơ chế bảo mật được giới thiệu để bảo vệ HĐH Android khỏi virus và sửa đổi trái phép. Nó hoạt động giống như một chuỗi phần cứng và phần mềm, trong đó mỗi phần xác minh phần tiếp theo. Trên cơ sở từng bước:

  1. Khi bạn bật nguồn thiết bị, chức năng phần cứng (đôi khi được gọi là Boot ROM) sẽ khởi động. ROM khởi động được ghi vào phần cứng và không thể thay đổi.
  2. Boot ROM xác minh phần mềm đầu tiên trong CoT, bộ tải khởi động là một blob nhị phân thô, đôi khi được gọi là trình tải trước. (Ngoài ra, ROM Boot đôi khi tải và sử dụng các phân vùng / nhị phân tùy chỉnh đặc biệt tùy thuộc vào nhà cung cấp) Nếu bộ tải khởi động không vượt qua các xác minh, thiết bị sẽ tắt. Nếu nó vượt qua, Boot ROM sẽ chạy bộ tải khởi động.
  3. Bộ tải khởi động kiểm tra các tùy chọn được truyền cho nó bởi ROM khởi động và chọn chế độ khởi động thích hợp. Các chế độ khởi động thông thường tồn tại trên hầu hết mọi thiết bị là khởi động, khôi phục và Fastboot / Tải xuống thông thường của Android.

Nếu bộ tải khởi động bị khóa, nó sẽ xác minh xem phần tiếp theo của CoT để chạy có còn nguyên vẹn không và nếu có, bộ nạp khởi động sẽ chạy nó. Nếu không, nó có thể tắt, khởi động lại hoặc bị kẹt trong chế độ bộ nạp khởi động đặc biệt tùy thuộc vào kiểu máy.

Nếu bộ nạp khởi động được mở khóa, nó không xác minh phần tiếp theo của CoT mà tải trực tiếp nó.

  1. Phần tiếp theo được gọi là phân vùng khởi động . Nó xử lý cách để tự khởi động hệ thống. Trong các phiên bản Android trên / mới hơn 6.0.0 (Lollipop), nó cũng xác minh xem hệ thống có còn nguyên vẹn không và nếu được sửa đổi, nó sẽ tắt.

Như đã đề cập trước tiên, các ứng dụng gốc này khai thác các lỗ hổng để sửa đổi /system, được xác minh bởi phân vùng khởi động như đã đề cập trong Giai đoạn 4 ở trên. Vì vậy, bất kỳ sửa đổi sẽ khiến thiết bị không khởi động. Trạng thái này thường được gọi là "cục gạch mềm", chỉ có thể được sửa bằng đèn flash lại.

Vì vậy, các thiết bị mới hơn yêu cầu mở khóa bộ nạp khởi động nếu bạn muốn root thiết bị của mình. Các thiết bị này được bắt nguồn bằng cách flash phục hồi với nhiều tùy chọn hơn so với phục hồi thông thường (như TWRP, ClockWorkMod), thường được gọi là phục hồi tùy chỉnh và sử dụng điều đó để sửa đổi phân vùng khởi động (và vô hiệu hóa xác minh hệ thống). Cũng có thể sửa đổi trực tiếp phân vùng khởi động mà không cần phục hồi tùy chỉnh.

Một số nhà sản xuất đưa ra cách mở khóa bộ nạp khởi động, và một số thì không. Các thiết bị phổ biến có tải khởi động bị khóa (ví dụ như nhà mạng Mỹ đã khóa các thiết bị Samsung S) có xu hướng bị cộng đồng mod mod Android khai thác.

Thiết bị của tôi vẫn là Android 5.1.1 trở lên! Tôi có nên sử dụng chúng để root?

Hầu hết các thiết bị cũ hơn đều có thể root bằng các ứng dụng root. Vì vậy, bạn có thể. Bạn có nên Điều đó phụ thuộc vào sở thích của bạn. Quyền truy cập root cung cấp năng lượng cho mọi thứ trong HĐH và với quyền truy cập root, thường không mất đến một phần triệu giây để đảm bảo rằng thiết bị của bạn sẽ không khởi động lại. Rất có khả năng các ứng dụng root không bao giờ làm điều đó, nhưng, chúng có thể. Ngoài ra, với root, ứng dụng có thể truy cập mọi thứ mà thiết bị của bạn làm và mọi thứ trong bộ nhớ bao gồm thông tin thẻ tín dụng, mật khẩu, v.v ... Nếu điều đó nghe có vẻ như là mối đe dọa riêng tư nghiêm trọng đối với bạn, có thể không sử dụng ứng dụng gốc. Nếu bạn không quan tâm đến điều đó, bạn có thể thử chúng.

Nếu bạn đủ hiểu biết, có những nguồn khai thác gần như tất cả các khai thác mà các ứng dụng gốc sử dụng. Bạn có thể cố gắng tìm kiếm chúng bằng CVEID, tìm kiếm chúng trong Git, biên dịch và chạy chúng và cố gắng lấy shell gốc, và bạn sẽ có thể tự cài đặt sunhị phân và các phụ thuộc khác.

Ngoài ra, KingoRoot đã được biết đến với việc gửi dữ liệu có độ nhạy cao như IMEI và Số sê-ri đến máy chủ của họ. Cơ hội là họ sẽ không bao giờ sử dụng chúng, nhưng, đó là quyết định của bạn cuối cùng. Và KingRoot được biết đến với việc cài đặt một cửa hậu trong SDK cho phép một số ứng dụng truy cập root trái phép bởi người dùng.

Phần kết luận

Thời đại của các ứng dụng root đã qua lâu rồi. Các ứng dụng root không hoạt động nữa và nếu bạn sử dụng chúng trên các phiên bản Android mới hơn, bạn có nguy cơ làm mềm thiết bị của mình và có thể mất tất cả dữ liệu. Nếu bạn sử dụng chúng trên các phiên bản Android được hỗ trợ, chúng sẽ hoạt động hầu hết thời gian, nhưng có những lo ngại về quyền riêng tư và bảo mật bạn nên cân nhắc trước khi tiếp tục.

Tôi hy vọng nghiên cứu của tôi sẽ giúp được ai đó trong tương lai gặp vấn đề tương tự như tôi. :)


1
+ 1 /. Những ưu và nhược điểm
beeshyams
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.