Mục lục:
Vào đầu mỗi tháng, Google phát hành Bản tin bảo mật Android hàng tháng và bắt đầu gửi các bản cập nhật cho điện thoại Pixel. Thật tuyệt khi công ty minh bạch về những gì đang diễn ra và cách mọi thứ được khắc phục ngay cả khi bạn không phải là kiểu người thích đọc mã nguồn.
Có rất nhiều công việc đi vào các bản vá này trước khi chúng được công khai, và thậm chí còn có nhiều công việc liên quan hơn trước khi nói đến các điện thoại khác - nếu nó xuất hiện. Chúng ta hãy xem làm thế nào xúc xích được tạo ra và cố gắng hiểu rõ hơn về lý do tại sao dòng thời gian cho các bản vá bảo mật là một chút mờ.
Đầu tiên bạn sửa Android
Android là một con thú phức tạp. Hơn 5 triệu dòng mã, nó tồn tại để giúp các công ty sản xuất các sản phẩm di động bắt đầu và chạy với một nền tảng ứng dụng hoàn chỉnh bao gồm quyền truy cập vào Google Play và các dịch vụ khác. Nó không phải là thứ có thể được sử dụng nguyên trạng; các công ty này đã dành rất nhiều thời gian để cố gắng để Android được điều chỉnh để hợp nhất vào các phần mềm khác mà họ có thể đang sử dụng để tạo ra một hệ điều hành đồng nhất tốt đẹp.
Google có một số quy tắc về cách thực hiện việc này nếu một công ty muốn bao gồm các dịch vụ của mình, nhưng các nhà sản xuất có một bước tiến dài về cách sản phẩm cuối cùng được xây dựng.
Mã này là nơi một bản vá bảo mật đi vào cuộc sống. Ai đó, có thể là một nhà nghiên cứu bảo mật hoặc chỉ là một Joe bình thường, tìm thấy một lỗ hổng trong điện thoại có thể được sử dụng để làm giảm lớp bảo mật của thiết bị. Nếu lỗ hổng đó không phải là thứ mà OEM tạo ra, nhóm Android có nhiệm vụ tìm hiểu chuyện gì đang xảy ra, tại sao nó lại xảy ra và cách khắc phục theo cách ít gây rối nhất.
Nếu lỗ hổng bảo mật được tìm thấy và đó là một phần của mã Android cơ bản, Google phải sửa nó sau đó gửi nó cho mọi người khác.
Thông thường, lỗ hổng không phải là thứ mà Google có thể sửa chữa. Giống như chúng tôi, Google không có quyền truy cập vào phần sụn từ các công ty sản xuất phần cứng như Qualcomm hoặc LG. Nếu lỗ hổng cần được giải quyết ở cấp độ phần cứng, rất có thể công ty cung cấp một số thành phần được sử dụng sẽ cần phải thực hiện thay đổi trước tiên. Nếu đây là trường hợp, những thay đổi đó được chuyển tiếp đến Google để nó có thể thấy những gì cần phải thực hiện để chứa chúng trong mã của Android.
Những thay đổi này mất thời gian, đặc biệt nếu một nhà cung cấp phần cứng có liên quan. Có bản vá và thử nghiệm và nhiều bản vá hơn và nhiều thử nghiệm hơn cho mỗi và mọi lỗ hổng được đề cập trong một bản vá. Khi Google tự tin rằng họ có một bản sửa lỗi hợp lệ cho lỗi bảo mật, mọi công ty sản xuất điện thoại Android đều được cấp quyền truy cập sớm (ít nhất 30 ngày trước khi bản vá được Google công khai) để họ có thể làm việc.
Giai đoạn hai
Đây là nơi hầu hết các công việc được thực hiện. Google có thể tự viết và bảo trì Android, nhưng phần lớn thiết bị sử dụng nó không phải do Google tạo ra. Những cái đó là - điện thoại Pixel - cũng được bao gồm ở đây. Phần cứng của Google là khách hàng của Android giống như Samsung hay Motorola.
Samsung và LG của ngành công nghiệp di động, nơi tạo ra nhiều thay đổi cho Android, có rất nhiều công việc liên quan khi đến lúc hợp nhất một bản vá.
Tất cả các công ty này đều bắt tay vào làm một vài điều ngay khi họ có mã mới từ Google. Phần đầu tiên - và có thể là quan trọng nhất - là xác định phần nào của bản vá là không cần thiết. Và có rất nhiều điều trong mỗi bản vá mà một công ty có thể tự do bỏ qua.
Ví dụ: nếu NVIDIA phải thực hiện các thay đổi được đẩy lùi vào Android, sẽ không có điện thoại Samsung nào cần một phần của bản vá. Một ví dụ cực đoan hơn sẽ là những thay đổi mà BlackBerry hoặc Samsung đã thực hiện đã giải quyết vấn đề theo một cách khác. Tìm hiểu những gì cần thiết và những gì không thể tốn thời gian, đặc biệt là khi một công ty thực hiện những thay đổi lớn đối với một số phần nhất định của hệ điều hành. Google đã điều tra các cáo buộc rằng các OEM đang gửi các bản vá bảo mật không giải quyết được một số thứ họ nên có và đây là những gì nó tìm thấy.
Không phải mọi phần của một bản vá là cần thiết trên mọi điện thoại.
Khi đã xong, phần còn lại của bản vá cần được hợp nhất thành mã Android tùy chỉnh của nhà cung cấp, sau đó được xây dựng và thử nghiệm. Phần "được xây dựng và thử nghiệm" có thể trở thành một vấn đề đau đầu nếu bản vá không thể được áp dụng vì nó chạm vào các tệp mà mã tùy chỉnh đang sử dụng hoặc phụ thuộc vào. Chúng tôi thấy rằng rất nhiều, quá. Bất cứ khi nào Bluetooth hoặc Wi-Fi được vá, cho dù đó là phần cứng hay phần mềm đằng sau chúng, nó sẽ chạm vào mã đã được thay đổi bởi một OEM lớn tạo ra một hệ điều hành huyền ảo hơn là "stock" Android. Có rất nhiều phần của Android mà OEM có thể chạm vào.
Khi các kỹ sư của Samsung hoặc nhà cung cấp khác có được một hệ điều hành khởi động và chạy, nó cần phải được kiểm tra. Và thử nghiệm thêm một số. Việc thử nghiệm có thể bao gồm việc đưa các kỹ sư mạng từ các nhà mạng khác nhau tham gia, cũng như có Google và / hoặc nhà sản xuất của bất kỳ thành phần nào trở lại hỗn hợp. Nó phải đúng. Một bản vá được gửi tới hàng ngàn và hàng ngàn điện thoại có khả năng làm tê liệt mạng của người vận chuyển, ăn hết nắp dữ liệu của người dùng hoặc thậm chí khiến chính điện thoại ngừng hoạt động. Bất cứ điều gì thuộc loại này là không thể chấp nhận và phải được tìm thấy trước khi nó rời khỏi tòa nhà.
Buổi giới thiệu
Công ty đã tạo ra điện thoại của bạn, Google và có thể nhà mạng của bạn làm việc cùng nhau để sẵn sàng cập nhật hàng loạt. Nếu bạn đã từng thấy URL được sử dụng để tải xuống một bản vá, bạn sẽ nhận thấy nó có "Google" trong địa chỉ web. Đó là bởi vì công cụ bên trong điện thoại của bạn có thể tìm nạp và xử lý bản cập nhật OTA đang tìm kiếm một vị trí rất cụ thể cho một bản vá. Nó cần phải biết rằng các bản vá là chính xác 100% và được ký bởi chữ ký số đúng. Nó sẽ kiểm tra lại điều này một lần nữa khi bản vá được tải xuống đầy đủ.
Nếu bạn mua điện thoại của mình từ một nhà mạng, nó có rất nhiều đầu vào trong suốt vòng đời của một bản vá.
Nhà cung cấp dịch vụ của bạn có thể có một số quy tắc về thời điểm và ai có thể tải xuống một bản vá khi nó tồn tại nếu tên của họ có trên điện thoại. Các công ty như Samsung hay LG tạo ra các phiên bản tùy chỉnh của các mẫu phổ biến nhất của họ cho từng nhà mạng, có nhiều đầu vào về cách mọi thứ được thực hiện. Nó nên vì tên của nó là trên hộp. Điều này có thể gây bực bội, nhưng nó có ý nghĩa. Nếu tất cả mọi người ở Pittsburgh (ví dụ), người có điện thoại Samsung Galaxy S8 cố gắng tìm nạp một bản vá 800 MB cùng một lúc, thì mạng sẽ bị vỡ vụn. Nhà cung cấp dịch vụ của bạn sẽ làm bất cứ điều gì cần làm để giữ cho mạng tồn tại.
Google cũng đặt một loại giữ cho các buổi giới thiệu OTA. Một số lượng người dùng cụ thể sẽ nhận được một bản vá và sau một khoảng thời gian nhất định, Google xác định xem những người dùng đó có trải nghiệm tốt hay xấu. Nếu mọi việc suôn sẻ, một số lượng lớn người dùng sẽ nhận được bản vá trong đợt thứ hai. Điều này lặp đi lặp lại nhiều lần trước khi lũ lụt được mở. Người dùng không muốn đợi thử nghiệm cuối cùng này có thể tải xuống một bản vá thông qua các cài đặt thiết bị của họ.
Khi đến lượt bạn và bạn bật đèn xanh cho điện thoại để lấy tập tin đó, nó được tải xuống và sau đó điện thoại của bạn sẽ kiểm soát.
Trong tay bạn
Một bản vá được tải xuống điện thoại của bạn và được xác minh là đúng thứ. Các phiên bản cũ hơn của Android có bộ đệm dành riêng, đây là một phần lưu trữ của bạn đã được phân chia cho những thứ như tệp cập nhật để phát hành; những thứ chỉ là tạm thời trên điện thoại. Các điện thoại sử dụng tính năng cập nhật liền mạch của Android (sẽ là hầu hết các điện thoại chạy Android Nougat khi được bán) "trượt" các tệp đã tải xuống vào các vị trí được gọi là khe cắm. Trong cả hai trường hợp, bạn cần có đủ dung lượng để tệp OTA được trích xuất và làm việc.
Điện thoại với các phiên bản Android cũ hơn có thể có phân vùng bộ nhớ cache chuyên dụng được sử dụng trong quá trình cập nhật. Nó cần phải có kích thước lớn hơn 2, 5 lần so với tệp OTA bạn đã tải xuống.
Phần mềm cập nhật OTA trong điện thoại của bạn là một phần của Android. Một tập lệnh trong tệp đã tải xuống cho nó biết cách tìm kiếm các tệp cần thay đổi và nó sao chép các tệp đó vào bộ đệm của thiết bị hoặc vào khe được chỉ định. Sau đó, nó so sánh các tệp gốc trên điện thoại của bạn với các tệp đã được tải xuống. Một số có thể là một trao đổi đơn giản - lấy tệp X từ điện thoại và xóa nó, sau đó thay thế nó bằng tệp X từ tải xuống OTA. Những người khác không phải là tập tin đầy đủ và chỉ chứa những thay đổi cụ thể nhỏ. Phần mềm cập nhật và cài đặt trong điện thoại của bạn biết phải làm gì ở đây.
Nhiều tệp trong Android, đặc biệt là các ứng dụng và thư viện phần mềm, thực sự có rất nhiều tệp được nén vào một kho lưu trữ đặc biệt. Bạn có thể lấy một tệp APK và thay đổi nó thành tệp.zip và mở nó bằng Windows. Đôi khi những tài liệu lưu trữ này cần được mở và một phần trong số chúng cần được hoán đổi với các phiên bản mới được tải xuống cho bản vá bảo mật. Đó là lý do tại sao bạn cần không gian làm việc đó trong phân vùng bộ nhớ cache của mình - đó là nơi các tệp này được trích xuất.
Rất nhiều tệp trên điện thoại của bạn thực sự là kho lưu trữ chứa nhiều tệp - bao gồm cả các tệp lưu trữ khác. Nó phức tạp lắm.
Khi mọi tệp trong bản cập nhật OTA đã được xử lý và các thay đổi được thực hiện đối với các bản sao của tệp hệ thống, đã đến lúc chạy hệ thống với chúng. Điều này xảy ra khi điện thoại yêu cầu bạn khởi động lại sau khi nó xử lý OTA mà bạn nhận được vì thường có các tệp cần được vá nhưng đang được sử dụng trong khi điện thoại đang chạy. Bạn có thể thấy một màn hình cho thấy có công việc đang diễn ra trong quá trình khởi động lại hoặc bạn chỉ có thể thấy logo Android. Trong cả hai trường hợp, các tệp đang được kiểm tra, di chuyển vào vị trí và kiểm tra lại. Các tệp cũ được giữ trong bộ đệm trong trường hợp có vấn đề và bạn không thể khởi động với các tệp mới.
Tất cả những gì còn lại là dành cho bạn để đảm bảo mọi thứ vẫn chỉ là cách bạn thích và bạn có một ngày mới hơn cho phiên bản Security Patch trong cài đặt của điện thoại. Bây giờ bạn đã sẵn sàng cho bản cập nhật tiếp theo!