Root (Android)

Root (gốc rễ) là quá trình cho phép người dùng điện thoại thông minh, máy tính bảng và các thiết bị khác chạy hệ điều hành di động Android có quyền truy cập quản trị viên cao cấp (còn gọi là quyền truy cập root) trên nhiều hệ thống phụ Android. Vì Android sử dụng hạt nhân Linux, việc root một thiết bị Android sẽ cấp quyền truy cập siêu người dùng (Superuser) #SU trên Linux, tương tự như Administrator trên Windows hay các hệ điều hành tương tự Unix khác như FreeBSD hay macOS.

Root thường được thực hiện nhằm vượt qua các hạn chế mà các nhà mạng và nhà sản xuất phần cứng đưa vào các thiết bị. Vì vậy, root cho phép người dùng chỉnh sửa hoặc thay thế các cài đặt và ứng dụng trong phân vùng hệ thống (thư mục phân vùng root, đường dẫn :\), chạy các ứng dụng yêu cầu quyền truy cập cấp quản trị, hoặc thực hiện các hoạt động khác mà người dùng Android bình thường không thể truy cập vào. Trên Android, root cũng cho phép loại bỏ và thay thế hoàn toàn hệ điều hành của thiết bị, thường là với một bản phát hành mới hơn của hệ điều hành hiện tại.

Quyền truy cập root đôi khi được so sánh với các thiết bị jailbreak chạy hệ điều hành Apple iOS. Tuy nhiên, đây là hai khái niệm khác nhau: Jailbreak là vượt qua một số các hạn chế mà Apple đặt ra với người dùng, bao gồm việc điều chỉnh hệ điều hành (thực thi bởi một "trình nạp khởi động khóa"), cài đặt các ứng dụng từ bên ngoài qua việc sideload, và cho người dùng quyền truy cập cấp quản trị (root). Chỉ một phần nhỏ thiết bị Android có trình nạp khởi động khóa tránh cài phần sụn tùy chỉnh, và nhiều hãng sản xuất như HTC, Sony, Asus và Google còn cung cấp rõ ràng cách mở khóa thiết bị, và thậm chí còn thay thế hoàn toàn hệ điều hành. Tương tự như vậy, khả năng sideload ứng dụng hoàn toàn có thể được kích hoạt trên Android mà không cần quyền root. Vì vậy, chủ yếu chỉ có mặt thứ ba của jailbreak trên iOS (trao quyền quản trị cho người dùng) là có liên quan nhất tới root trên Android.

== Tổng quan ==
Root cho phép tất cả các ứng dụng do người dùng cài đặt chạy các lệnh cấp cao thường không thể thực hiện được khi thiết bị đang ở trạng thái gốc. Root là quá trình cần thiết để thực hiện các thao tác nâng cao hơn và có nguy cơ gây hại tới thiết bị hơn, bao gồm chỉnh sửa hoặc xóa bỏ các tập tin hệ thống, xóa bỏ các ứng dụng cài đặt sẵn, và truy cập cấp thấp vào phần cứng (khởi động lại, điều khiển đèn trạng thái, hay tinh chỉnh nhập cảm ứng). Quá trình cài đặt quyền root thường sẽ cài đặt cả ứng dụng Superuser, có chức năng giám sát các ứng dụng được trao quyền root hay quyền superuser bằng cách yêu cầu quyền từ người dùng trước khi trao quyền truy cập. Một thao tác khác, mở khóa, được thực hiện nhằm xóa bỏ hoặc thay thế hệ điều hành hiện tại.

Trái ngược với jailbreak trên iOS, không cần thiết phải root nếu muốn chạy các chương trình được phân phối bên ngoài Google Play Store, đôi khi được gọi là "sideloading". Hệ điều hành Android hỗ trợ sẵn tính năng này qua hai cách: thông qua tùy chọn "Nguồn không xác định" trong Cài đặt và qua Android Debug Bridge. Tuy nhiên, một số nhà mạng tại Hoa Kỳ, bao gồm AT&T, đã ngăn chặn việc cài đặt các ứng dụng không có trên Play Store trong firmware, mặc dù một vài thiết bị không phải chịu hạn chế này, bao gồm chiếc Samsung Infuse 4G; AT&T đã dỡ bỏ hạn chế này trên hầu hết các thiết bị cho tới giữa năm 2011.

, chiếc Amazon Kindle Fire đặt cửa hàng mặc định là Amazon Appstore thay vì Google Play, mặc dù giống hầu hết các thiết bị Android khác, Kindle Fire cho phép cài đặt ứng dụng từ nguồn không xác định, và ứng dụng "trình cài đặt dễ dàng" trên Amazon Appstore còn khiến việc này đơn giản hơn. Các nhà sản xuất thiết bị Android khác có thể hướng tới các nguồn khác trong tương lai. Truy cập vào các ứng dụng thay thế có thể cần root nhưng cũng không phải luôn cần thiết.

Root một điện thoại Android cho phép người dùng thêm, sửa hoặc xóa tập tin hệ thống, và sau đó cho phép họ thực hiện nhiều chỉnh sửa hệ thống và sử dụng các ứng dụng yêu cầu quyền root.

=== Lợi ích ===
Các lợi ích của việc root bao gồm khả năng hoàn toàn kiểm soát trải nghiệm trên thiết bị. Do một superuser có thể truy cập vào các tập tin hệ thống của thiết bị, tất cả các phần của hệ điều hành có thể được tùy biến, cản trở duy nhất có lẽ chỉ là trình độ lập trình. Các lợi ích trước mắt của root bao gồm:

- Hỗ trợ các chủ đề giao diện, cho phép mọi thứ được thay đổi trực quan từ màu sắc biểu tượng pin, tới hình khởi động xuất hiện lúc điện thoại đang khởi động, và nhiều hơn nữa.
- Kiểm soát hoàn toàn hạt nhân, ví dụ như cho phép tăng tốc và giảm tốc CPU và GPU.
- Kiểm soát hoàn toàn ứng dụng, bao gồm khả năng sao lưu, phục hồi hoặc thay đổi ứng dụng, hoặc loại bỏ các ứng dụng sẵn bloatware đi kèm nhiều điện thoại.
- Tùy chỉnh các quá trình hệ thống tự động qua các ứng dụng bên thứ ba.
- Khả năng cài đặt firmware tùy chỉnh (còn gọi là ROM tùy chỉnh) hoặc các phần mềm (như Xposed, Magisk, Busybox, v.v) cho phép quyền kiểm soát, tùy chỉnh phát triển nhiều hơn.

=== Phương pháp ===
Một số phương pháp root bao gồm sử dụng câu lệnh và giao diện phát triển có tên là Android Debug Bridge (ADB), trong khi các phương pháp khác có thể dùng các ứng dụng đặc biệt, đôi lúc chỉ cần nhấn nút là sẽ thực hiện root tự động. Các thiết bị khác nhau, đôi khi cả các phiên bản khác nhau của cùng một mẫu thiết bị, có thể có phần cứng khác nhau. Vì vậy, nếu một bài hướng dẫn, ROM, hoặc phương pháp root được dùng cho một phiên bản thiết bị có phần cứng khác so với phiên bản được chỉ định, thiết bị sẽ có nguy cơ bị brick tức là biến thành cục gạch.

Trong những năm gần đây xuất hiện một phương pháp root mới gọi là "systemless root". Systemless root sử dụng nhiều công nghệ cho phép đạt quyền truy cập root mà không phải chỉnh sửa phân vùng hệ thống của thiết bị. Một ví dụ điển hình nhất là Magisk chiếm quyền root thông qua ram đĩa (ramdisk) là tập lệnh được tải bằng trình nạp khởi động trước khi vào hệ điều hành, cũng có khả năng ẩn quyền truy cập root khỏi các ứng dụng không cho phép hoạt động khi phát hiện quyền này, bao gồm các ứng dụng được bảo vệ bằng Safetynet như Android Pay và "Pokémon Go". Nhưng đối với hệ điều hành thì bạn sẽ bị phát hiện và mất bảo hành, khả năng cập nhật nhờ các phương thức bảo mật như xác minh chữ ký cho các tệp hệ thống, xác minh tính nguyên vẹn bằng md5, vbmeta (verify boot), dm-verity hash tree, hoặc bootloader sẽ trực tiếp phát hiện khi nháy ROM tùy chỉnh.

Cần phân biệt giữa "root mềm" là root thông qua ứng dụng bên thứ ba bằng cách lợi dụng một lỗ hổng an ninh ("lỗ hổng root") và "root cứng" bằng cách nháy (flash) một chương trình thực thi nhị phân codice_1. Nếu một chiếc điện thoại có thể được root mềm, khả năng cao nó sẽ dễ bị lây nhiễm các phần mềm độc hại.

== Tính đa dạng ==
Quá trình root phụ thuộc vào từng thiết bị, nhưng thường khai thác một hay nhiều lỗi bảo mật trong firmware (phiên bản HĐH Android hiện tại) của thiết bị. Một khi một lỗ hổng được xuất hiện, một ảnh phục hồi tùy chỉnh có thể được cài đặt nhằm bỏ qua quá trình kiểm tra chữ ký số của các bản cập nhật firmware. Sau đó một bản cập nhật firmware đã được chỉnh sửa có thể được cài đặt, trong đó thường chứa các công cụ cần thiết để chạy các ứng dụng cần quyền root. Ví dụ, một chương trình nhị phân codice_1 (có thể được tích hợp trong ứng dụng Superuser hoặc SuperSU dưới dạng mã nguồn mở) có thể được sao chép vào một vị trí trong PATH của quá trình hiện tại (ví dụ codice_3) và được trao quyền thực thi với lệnh codice_4. Một ứng dụng giám sát bên thứ ba, như Superuser hay SuperSU, có thể quản lý và ghi lại các yêu cầu quyền superuser từ các ứng dụng khác. Nhiều bài hướng dẫn, thủ thuật và các quá trình tự động được đưa ra cho các thiết bị Android phổ biến nhằm cung cấp một cách root nhanh và dễ dàng.

Quá trình root một thiết bị có thể đơn giản hoặc phức tạp, thậm chí còn phải dựa vào may mắn. Ví dụ, sau khi chiếc HTC Dream (HTC G1) được ra mắt, người ta phát hiện ra rằng bất cứ thứ gì được nhập từ bàn phím đều được phiên dịch dưới dạng một câu lệnh trong một giao diện quyền cấp cao (quyền root). Mặc dù Google đã nhanh chóng phát hành bản vá, một phiên bản đã được ký của firmware cũ đã bị rò rỉ, cho phép người dùng giáng cấp để root thiết bị qua lỗ hổng này.

=== Hỗ trợ từ nhà sản xuất ===
Một số nhà sản xuất, bao gồm LG, HTC, và Motorola, cung cấp hỗ trợ chính thức việc mở khóa trình nạp khởi động, cho phép root mà không phải khai thác lỗ hổng nào. Tuy nhiên, sự hỗ trợ này có thể chỉ giới hạn trong một vài thiết bị - ví dụ, LG chỉ phát hành công cụ mở khóa trình nạp khởi động cho một số mẫu điện thoại của hãng.

Dòng thiết bị Android Google Nexus mang nhãn hiệu Google có thể được mở khóa trình nạp khởi động đơn giản chỉ bằng cách kết nối thiết bị mới máy tính trong lúc đang ở chế độ nạp khởi động và chạy thủ tục Fastboot với câu lệnh codice_5. Sau khi chấp nhận thông báo cảnh báo, trình nạp khởi động sẽ được mở khóa, cho phép ảnh hệ thống mới được viết trực tiếp để cài đặt mà không cần nhờ tới lỗ hổng nào.

=== Khó khăn ===
Trong quá khứ, nhiều nhà sản xuất đã thử làm các điện thoại không thể root được với các lớp bảo vệ cao hơn (như chiếc Droid X), nhưng chúng vẫn có thể root được bằng những cách nào đó. Không cần nhất thiết phải có lỗ hổng root hay một chiếc điện thoại mới được cập nhật, các phương pháp root cho một thiết bị mới vẫn thường được phát hiện ra trong khoảng vài tháng.

== Sự đón nhận ==
Cho tới năm 2010, các nhà sản xuất máy tính bảng và điện thoại thông minh cùng với các nhà mạng chủ yếu không ủng hộ việc phát triển firmware từ bên thứ ba. Các nhà sản xuất đã bày tỏ lo ngại về sự hoạt động không đúng của các thiết bị có thể xảy ra khi chạy phần mềm không chính thức và các chi phí hỗ trợ liên quan. Hơn nữa, các firmware như OmniROM và CyanogenMod đôi lúc có những tính năng khiến các nhà mạng phải thu thêm phí dịch vụ, như tính năng Điểm phát sóng di động. Do vậy, các rào cản về kỹ thuật khóa trình nạp khởi động thường được các nhà sản xuất áp dụng cho nhiều thiết bị. Ví dụ, vào cuối tháng 12 năm 2011, Barnes & Noble và Amazon.com, Inc. đã bắt đầu gửi các bản cập nhật firmware tự động OTA, 1.4.1 cho dòng Nook Tablet và 6.2.1 cho dòng Kindle Fire, nhằm loại bỏ một phương pháp truy cập root cho các thiết bị này. Bản cập nhật 1.4.1 cho Nook Tablet cũng loại bỏ khả năng cài đặt các ứng dụng từ nguồn bên ngoài cửa hàng ứng dụng chính thức của Barnes & Noble (chưa qua chỉnh sửa).

Tuy nhiên, khi các phần mềm phát triển bởi cộng đồng bắt đầu phổ biến trong khoảng từ cuối năm 2009 tới đầu năm 2010, và theo một lời tuyên bố của Văn phòng Bản quyền và Thư viện Quốc hội (Hoa Kỳ) cho phép sử dụng các thiết bị di động "đã được jailbreak", các nhà sản xuất và nhà mạng đã tỏ ra mềm mỏng hơn với CyanogenMod và các bản phân phối firmware không chính thức khác. Một số nhà sản xuất, bao gồm HTC, Samsung, Motorola và Sony Mobile Communications còn thường xuyên cung cấp hỗ trợ và khuyến khích việc phát triển này.

Vào năm 2011, nhu cầu vượt qua các hạn chế phần cứng để cài đặt firmware bên ngoài bắt đầu giảm dần sau khi một lượng lớn thiết bị được tung ra với trình nạp khởi động có thể được mở khóa hoặc đã được mở khóa sẵn, tương tự như dòng điện thoại Nexus. HTC còn tuyên bố sẽ hỗ trợ các nhà phát triển phần mềm bên thứ ba bằng cách cho phép mở khóa trình nạp khởi động của tất cả các thiết bị mới. Tuy nhiên, các nhà mạng, như Verizon Wireless và gần đây là AT&T, đã liên tục ngăn cản các OEM như HTC và Motorola phát hành các thiết bị bán lẻ với trình nạp khởi động đã được mở khóa sẵn, thay vào đó chuyển sang các thiết bị "phiên bản nhà phát triển" không được trợ giá và nằm ngoài hợp đồng. Các thiết bị Nexus cũng được thực hiện tương tự, nhưng sẽ phải trả thêm phí cao cấp và không được giảm giá trong hợp đồng.

Vào năm 2014, Samsung ra mắt một dịch vụ bảo mật có tên là Knox, một công cụ ngăn chặn tất cả các chỉnh sửa vào tập tin hệ thống và khởi động, và bất kì hình ảnh nháy phân vùng được ký nào được phát hiện không khớp chữ ký Samsung gốc nhằm đặt giá trị của một eFuse thành 0x1 vĩnh viễn (cầu chì sẽ tự đốt) và không thể hoàn tác, hãng sẽ không chịu trách nhiệm bảo hành cho thiết bị.

== Tính hợp pháp ==
Các hiệp ước quốc tế ra đời đã có ảnh hưởng tới quá trình phát triển luật pháp có liên quan tới root. Hiệp ước Bản quyền Tổ chức Sở hữu Trí tuệ Thế giới (WIPO) năm 1996 yêu cầu các quốc gia thành viên quy định các điều luật chống tình trạng vi phạm việc quản lý quyền kỹ thuật số (DRM). Trong đó, Mỹ ban hành Đạo luật Bản quyền Kỹ thuật số Thiên niên kỷ (DMCA), trong đó bao gồm các quy định miễn trừ với những mục đích không vi phạm bản quyền như root. Sắc lệnh Bản quyền của Liên minh châu Âu năm 2001 thi hành hiệp ước này tại châu Âu, yêu cầu các thành viên Liên minh châu Âu thực hiện các quy định pháp lý về bảo vệ quản lý công nghệ. Sắc lệnh Bản quyền bao gồm các trường hợp ngoại lệ cho phép miễn các biện pháp bảo vệ với những mục đích không vi phạm bản quyền, như chạy các phần mềm thay thế, nhưng quá trình thực thi sắc lệnh còn tùy vào từng quốc gia thành viên.

=== Úc ===
Vào năm 2010, Electronic Frontiers Australia cho biết hiện vẫn chưa rõ liệu root có hợp pháp tại Úc không, và các luật chống vi phạm bản quyền có thể được áp dụng. Các quy định này được thắt chặt bằng Đạo luật Bản quyền Sửa đổi 2006.

=== Canada ===
Vào tháng 11 năm 2012, Canada sửa đổi Đạo luật Bản quyền với những điều khoản mới cấm can thiệp các hình thức khóa kỹ thuật số, ngoại trừ mục đích tương tác với phần mềm. Root để chạy phần mềm thay thế là một dạng của can thiệp vào khóa kỹ thuật số nhằm tương tác với phần mềm.

Đã từng có nhiều nỗ lực từ 2008-2011 nhằm sửa đổi Đạo luật Bản quyền (Dự luật C-60, Dự luật C-61, và Bill C-32) để cấm hành vi can thiệp khóa kỹ thuật số, cùng với dự thảo C-11 ban đầu có phần cứng rắn hơn, nhưng những dự luật này đều bị bỏ qua. Vào năm 2011, Michael Geist, một chuyên gia bản quyền người Canada, gọi jailbreak trên iPhone, hành vi mà Đạo luật Bản quyền sửa đổi có thể cấm, là một hành động không liên quan tới bản quyền.

=== Liên minh châu Âu ===
Tổ chức Phần mềm tự do châu Âu cho rằng root hay flash trên bất cứ thiết bị nào là hợp pháp. Theo Sắc lệnh 1999/44/CE của Liên minh châu Âu, việc thay thế hệ điều hành nguyên gốc không làm mất đi tình trạng bảo hành do luật định với phần cứng thiết bị là hai năm, trừ khi bên bán hàng có thể chứng minh rằng việc chỉnh sửa gây ra hư hỏng cho thiết bị.

==== Vương quốc Anh ====
Quy định về Bản quyền và các Quyền liên quan năm 2003 hợp pháp hóa các hình thức bảo vệ DRM đối với mục đích tương tác nhưng không vi phạm bản quyền. Root có thể là một dạng can thiệp được luật này nhắc tới, nhưng điều này chưa từng được kiểm chứng trước tòa. Các luật về cạnh tranh cũng có thể có liên quan. Xem thêm phần "Liên minh châu Âu" phía trên.

=== Ấn Độ ===
Luật bản quyền của Ấn Độ cho phép can thiệp DRM với các mục đích không vi phạm bản quyền. Quốc hội Ấn Độ đã đưa ra một dự luật bao gồm điều khoản về DRM này vào năm 2010 và thông qua năm 2012 với tên là Dự luật (Sửa đổi) Bản quyền 2012. Ấn Độ không tham gia Hiệp ước Bản quyền WIPO Copyright Treaty, trong đó yêu cầu đưa ra các luật chống lại việc can thiệp DRM, nhưng quốc gia này lại nằm trong "Danh sách Ưu tiên Theo dõi" trong Báo cáo 301 Đặc biệt của Hoa Kỳ nhằm gây áp lực cho Ấn Độ thắt chặt các luật bản quyền tương tự như hiệp ước WIPO.

=== New Zealand ===
Luật bản quyền của New Zealand cho phép can thiệp vào các phương thức bảo vệ công nghệ (TPM) miễn là với mục đích hợp pháp và không vi phạm bản quyền. Quy định này được đưa vào Đạo luật Bản quyền 1994 như một phần của Đạo luật Bản quyền (Công nghệ mới) Sửa đổi 2008.

=== Singapore ===
Root có thể là hợp pháp tại Singapore nếu được thực hiện với mục đích tương tác và không vi phạm bản quyền, nhưng điều này chưa được kiểm chứng trước tòa.

=== Hoa Kỳ ===
Đạo luật Lựa chọn Mở khóa của Người tiêu dùng và Cạnh tranh Viễn thông cho phép người tiêu dùng có thể mở khóa hoặc để người khác mở khóa điện thoại của mình. Dưới Đạo luật Bản quyền Kỹ thuật số Thiên niên kỷ (DMCA), root là bất hợp pháp tại Hoa Kỳ trừ các trường hợp ngoại lệ. Văn phòng Bản quyền Hoa Kỳ đã đưa ra một quyết định miễn trừ cho luật này "ít nhất là tới năm 2015".

Vào năm 2010, phản hồi trước yêu cầu của Electronic Frontier Foundation, Văn phòng Bản quyền Hoa Kỳ công nhận việc miễn trừ DMCA đối với root. Trong quy định này, Thư viện Quốc hội xác nhận vào ngày 26 tháng 7 năm 2010 rằng root đã nằm ngoài các quy định của DMCA về can thiệp vào khóa kỹ thuật số. Các quy định miễn trừ với DMCA phải được xem xét và làm mới mỗi ba năm, nếu không chúng sẽ hết hạn.

Vào ngày 28 tháng 10 năm 2012, Văn phòng Bản quyền Hoa Kỳ cập nhất các chính sách miễn trừ của họ. Việc root điện thoại thông minh tiếp tục hợp pháp "khi việc can thiệp được thực hiện chỉ nhằm mục đích kích hoạt tính tương tác của các phần mềm ứng dụng [được mua một cách hợp pháp] với các chương trình máy tính trên thiết bị điện thoại di động." Tuy nhiên, văn phòng lại không mở rộng quy định này với các máy tính bảng, cho rằng thuật ngữ "máy tính bảng" rất rộng và không thể định nghĩa chính xác, và nếu miễn trừ với dòng thiết bị này có thể gây ra những hệ quả không mong muốn. Văn phòng Bản quyền cũng làm mới quy định miễn trừ năm 2010 với việc mở khóa điện thoại một cách không chính thức để sử dụng chúng với các nhà mạng chưa được chứng nhận, nhưng quy định này đã bị thắt chặt lại với những chiếc điện thoại mua trước ngày 26 tháng 1 năm 2013.

Tim Wu, một giáo sư tại Đại học Luật Columbia, vào năm 2007 đã cho rằng jailbreak là "hợp pháp, hợp lý, và chỉ đơn thuần là cho vui." Wu nhắc tới một quy định miễn trừ được đưa ra bởi Thư viện Quốc hội vào năm 2006 về mở khóa cá nhân, trong đó ông nói rằng các hình thức khóa "được sử dụng bới các nhà mạng viễn thông để giới hạn khả năng người dùng có thể chuyển sang các nhà mạng khác, một quyết định kinh doanh không có liên quan gì tới những lợi ích được bản quyền bảo vệ cả" và vì vậy không liên quan tới DMCA. Wu không khằng định rằng quy định này được áp dụng với những người giúp người khác mở khóa thiết bị hay "traffic" trong phần mềm để làm vậy. Vào các năm 2010 và 2012, Văn phòng Bản quyền thông qua các quy định miễn trừ cho DMCA cho phép người dùng root thiết bị của mình một cách hợp pháp. Vẫn có thể sử dụng các biện pháp bảo vệ nhằm ngăn chặn việc root hoặc ngăn các thiết bị root hoạt động.

== Xem thêm ==
- Android Dev Phone
- Danh sách các bản phân phối Android tùy chỉnh
- Khóa SIM
- Ubuntu for Android