Tabla de contenido:
A principios de cada mes, Google publica el Boletín mensual de seguridad de Android y comienza a enviar actualizaciones a los teléfonos Pixel. Es genial que la compañía sea transparente sobre lo que está sucediendo y cómo se están arreglando las cosas, incluso si no eres el tipo de persona que le gusta leer el código fuente.
Hay mucho trabajo en estos parches antes de que se hagan públicos, y hay aún más trabajo involucrado antes de que se trate de otros teléfonos, si es que llega. Echemos un vistazo a cómo se hace la salchicha y tratemos de comprender mejor por qué la línea de tiempo para los parches de seguridad es un poco borrosa.
Primero arreglas Android
Android es una bestia complicada. Con más de 5 millones de líneas de código, existe para ayudar a las empresas que hacen que los productos móviles se pongan en marcha con una plataforma de aplicación completa que incluye el acceso a Google Play y otros servicios. No es algo que pueda usarse tal cual; Estas compañías pasan mucho tiempo tratando de adaptar Android para fusionarse con el otro software que pueden estar utilizando para crear un buen sistema operativo homogeneizado.
Google tiene algunas reglas sobre cómo se debe hacer esto en caso de que una empresa quiera incluir sus servicios, pero los fabricantes tienen una larga información sobre cómo se construye el producto final.
Este código es donde un parche de seguridad cobra vida. Alguien, ya sea un investigador de seguridad o simplemente un Joe promedio, encuentra una falla en un teléfono que podría usarse para disminuir la capa de seguridad del dispositivo. Si ese defecto no es algo creado por un OEM, el equipo de Android tiene la tarea de averiguar qué está sucediendo, por qué está sucediendo y cómo solucionarlo de la manera menos disruptiva.
Si se encuentra una falla de seguridad y es parte del código base de Android, Google tiene que arreglarlo y luego enviarlo a todos los demás.
A menudo, la falla no es algo que Google pueda solucionar. Al igual que nosotros, Google no tiene acceso al firmware de compañías que fabrican hardware como Qualcomm o LG. Si la falla necesita ser abordada a nivel de hardware, existe una buena posibilidad de que la compañía que suministra algunos de los componentes utilizados necesite hacer cambios primero. Si este es el caso, esos cambios se envían a Google para que pueda ver qué debe hacerse para acomodarlos en el código de Android.
Estos cambios llevan tiempo, especialmente si está involucrado un proveedor de hardware. Hay parches y pruebas y más parches y más pruebas para cada falla tratada en un parche. Una vez que Google confía en que tiene una solución válida para una falla de seguridad, todas las empresas que fabrican teléfonos Android tienen acceso anticipado (al menos 30 días antes de que Google haga público el parche) para que puedan ponerse a trabajar.
Fase dos
Aquí es donde se realiza la mayor parte del trabajo. Google puede escribir y mantener el propio Android, pero Google no fabrica la mayor parte de los dispositivos que lo usan. Los que están, los teléfonos Pixel, también se incluyen aquí. El hardware de Google es un cliente de Android de la misma manera que Samsung o Motorola.
Los Samsung y LG de la industria móvil, que realizan muchos cambios en Android, tienen mucho trabajo involucrado a la hora de fusionar un parche.
Todas estas compañías se ponen a trabajar en un par de cosas tan pronto como tienen un nuevo código de Google. La primera parte, y posiblemente la más importante, es determinar qué parte del parche no se necesita. Y hay muchas cosas en cada parche que una sola empresa puede ignorar libremente.
Por ejemplo, si NVIDIA tuviera que hacer cambios que se envían nuevamente a Android, ningún teléfono Samsung necesitará esa parte del parche. Un ejemplo más extremo serían los cambios que hicieron BlackBerry o Samsung que ya abordan el problema de una manera diferente. Descubrir qué se necesita y qué no se puede llevar mucho tiempo, especialmente cuando una empresa realiza grandes cambios en ciertas partes del sistema operativo. Google investigó las acusaciones de que los OEM estaban enviando parches de seguridad que no abordaban algunas cosas que deberían tener, y esto es lo que encontró.
No se necesita cada parte de un parche en todos los teléfonos.
Una vez hecho esto, el resto del parche debe fusionarse en el código de Android personalizado de un proveedor, luego construirse y probarse. La parte "construida y probada" puede convertirse en un gran dolor de cabeza si el parche no se puede aplicar simplemente porque toca archivos que el código personalizado está usando o de los que depende. También vemos eso mucho. Cada vez que se parchea Bluetooth o Wi-Fi, ya sea el hardware o el software detrás de ellos, tocará el código que ha sido alterado por un gran OEM que hace un sistema operativo más elegante que el "stock" de Android. Hay muchas partes de Android que un OEM puede tocar.
Una vez que los ingenieros de Samsung u otro proveedor obtienen un sistema operativo que se inicia y ejecuta, debe probarse. Y probado un poco más. Las pruebas pueden incluir obtener ingenieros de red de varios operadores involucrados, así como también hacer que Google y / o el fabricante de cualquier componente vuelvan a la mezcla. Tiene que estar bien. Un parche enviado a miles y miles de teléfonos podría potencialmente paralizar la red de un operador, consumir el límite de datos de cada usuario o incluso hacer que el teléfono deje de funcionar. Cualquier cosa por el estilo es inaceptable y debe encontrarse antes de abandonar el edificio.
El despliegue
La compañía que hizo que su teléfono, Google, y tal vez su operador trabajen juntos para tener lista una actualización masiva por aire. Si alguna vez has visto la URL que se usa para descargar un parche, notarás que tiene "Google" en la dirección web. Esto se debe a que el motor dentro de su teléfono que puede buscar y procesar una actualización OTA está buscando un parche muy específico. Debe saber que el parche es 100% correcto y está firmado por la firma digital correcta. Verificará esto nuevamente una vez que el parche esté completamente descargado.
Si compró su teléfono a un proveedor, tiene muchas entradas durante toda la vida útil de un parche.
Su proveedor puede tener algunas reglas sobre cuándo y quién puede descargar un parche una vez que esté en vivo si su nombre está en el teléfono. Las compañías como Samsung o LG hacen versiones personalizadas de sus modelos más populares para cada operador, que tiene mucha información sobre cómo se hacen las cosas. Debería ya que su nombre está en la caja. Esto puede ser frustrante, pero tiene sentido. Si todos en Pittsburgh (por ejemplo) que tienen un teléfono Samsung Galaxy S8 intentan obtener un parche de 800 MB al mismo tiempo, la red se desmoronará. Su operador hará lo que sea necesario para mantener viva la red.
Google también pone una especie de retención en los lanzamientos de OTA. Un número específico de usuarios recibirá un parche, y después de un período de tiempo determinado, Google determina si esos usuarios tuvieron una buena o mala experiencia. Si todo va bien, un mayor número de usuarios recibirá el parche en una segunda ola. Esto se repite varias veces antes de que se abran las compuertas. Los usuarios que no desean esperar esta prueba final pueden descargar manualmente un parche a través de la configuración de su dispositivo.
Cuando es tu turno y le das luz verde a tu teléfono para que tome ese archivo, se descarga y luego tu teléfono toma el control.
En tus manos
Se descarga un parche en su teléfono y se verifica que es lo correcto. Las versiones anteriores de Android tienen una memoria caché dedicada, que es una sección de su almacenamiento que se ha dividido para cosas como un archivo de actualización para vivir; cosas que solo están temporalmente en el teléfono. Los teléfonos que usan la función de actualización integrada de Android (que debería ser la mayoría de los teléfonos con Android Nougat cuando se venden) "deslizan" los archivos descargados en lo que se llama ranuras. En cualquier caso, debe tener suficiente espacio para extraer y trabajar el archivo OTA.
Los teléfonos con versiones anteriores de Android pueden tener una partición de caché dedicada que se usa durante una actualización. Tiene que ser 2.5 veces más grande que el archivo OTA que descargaste.
El software de actualización OTA en su teléfono es parte de Android. Una secuencia de comandos en el archivo descargado le dice cómo encontrar los archivos que necesitan ser alterados y los copia en la memoria caché de su dispositivo o en la ranura designada. Luego compara los archivos originales en su teléfono con los archivos que se han descargado. Algunos pueden ser un simple intercambio: tome el archivo X del teléfono y elimínelo, luego reemplácelo con el archivo X de la descarga de OTA. Otros no son el archivo completo y solo contienen pequeños cambios específicos. El software de actualización e instalación en su teléfono sabe qué hacer aquí.
Muchos archivos en Android, especialmente las aplicaciones y las bibliotecas de software, son realmente una gran cantidad de archivos comprimidos en un archivo especial. Puede tomar un archivo APK y cambiarlo a un archivo.zip y abrirlo con Windows. A veces, estos archivos deben abrirse y parte de ellos deben intercambiarse con nuevas versiones descargadas para el parche de seguridad. Es por eso que necesita ese espacio de trabajo en su partición de caché: ahí es donde se extraen estos archivos.
Muchos archivos en su teléfono son realmente archivos que contienen muchos archivos, incluidos otros archivos de archivos. Es complicado.
Una vez que se han procesado todos los archivos de la actualización OTA y se han realizado cambios en las copias de los archivos del sistema, es hora de ejecutar el sistema con ellos. Esto sucede cuando el teléfono le pide que reinicie después de procesar la OTA que recibió porque a menudo hay archivos que necesitan ser reparados pero que están en uso mientras el teléfono está en funcionamiento. Puede ver una pantalla que muestra que hay trabajo durante el reinicio o puede que solo vea el logotipo de Android. En cualquier caso, los archivos se verifican, se colocan en su lugar y se vuelven a verificar. Los archivos antiguos se guardan en la memoria caché en caso de que haya un problema y no pueda arrancar con los archivos nuevos.
Todo lo que queda es que usted se asegure de que todo siga como le gusta, y que tenga una fecha más nueva para la versión de Security Patch en la configuración de su teléfono. ¡Ahora estás listo para la próxima actualización!