¿Son malos los despliegues escalonados de los parches de seguridad?

63

Muchos dispositivos Android, incluida la línea Google Nexus, ahora reciben parches de seguridad mensuales a través de las actualizaciones de OTA, acompañados de Boletines de seguridad de Android . Sin embargo, estas actualizaciones a menudo se lanzan en lo que se conoce como "rollouts escalonados", donde la actualización está disponible para más dispositivos (del mismo modelo) a lo largo del tiempo, en lugar de estar disponible para todos los usuarios instantáneamente.

Entiendo que para las actualizaciones de funciones, los despliegues graduales permiten corregir errores o errores antes de que todos los usuarios reciban el nuevo software. Sin embargo, para los parches de seguridad, una versión escalonada no haría mucho más fácil para los piratas informáticos de Blackhat utilizar las vulnerabilidades ahora públicas contra los usuarios cuyos dispositivos aún no han recibido la OTA, aunque ya existe un parche para su modelo de dispositivo. disponible?

Por ejemplo, tengo un teléfono Google Nexus que se supone que está entre los primeros en recibir todas las actualizaciones de Android. La última actualización de seguridad de Android se lanzó públicamente el 4 de mayo de 2016, junto con su código fuente; Ya es 16 de mayo de 2016, y mi dispositivo Nexus aún me dice que mi "sistema está actualizado", incluso cuando hago clic en el botón "Buscar actualizaciones". Por supuesto, puedo descargar manualmente las últimas imágenes de firmware y flashearlas manualmente; pero, ¿no deberían las actualizaciones de seguridad estar disponibles para todos los dispositivos del mismo modelo tan pronto como sea posible una vez que se hagan públicas?

Edit: Gracias por las respuestas muy reflexivas. Si bien esta pregunta pretende ser ampliamente aplicable a diferentes dispositivos, mi preocupación específica es el "despliegue escalonado" intencional a dispositivos idénticos del mismo modelo, una vez que se haya desarrollado un parche para ese modelo específico. Por ejemplo, la actualización de seguridad de mayo de 2016 se lanzó para el Google Nexus 6P a principios de mes, pero a partir del 16 de mayo no todos los dispositivos Nexus 6P han recibido la actualización de OTA. Google lanza parches de seguridad para dispositivos Nexus cada mes, y cada mes algunos dispositivos los reciben unas semanas más tarde que otros dispositivos del mismo modelo.

    
pregunta tonytan 16.05.2016 - 06:39
fuente

3 respuestas

56

Excelente pregunta.

Sí, su comprensión es correcta, así como su razón detrás.

A menudo, es sensato contar con extraordinarias salidas para nuevas funciones.

Rarear de forma sorprendente los parches de seguridad rara vez es una buena idea. Como señalaste, esto brinda aún más oportunidades para que las vulnerabilidades sean explotadas. Tal vez aún más importante, los parches pueden ser diseñados rápidamente por ingeniería inversa para desarrollar exploits de manera rápida.

Microsoft a menudo publica públicamente sus parches el segundo martes del mes (y también a veces el cuarto martes). Esto se conoce comúnmente como " Patch Tuesday ". Hay una razón por la que llamamos al día siguiente "Exploit Wednesday".

Es lamentable que una gran parte del ecosistema de Android no haya aprendido de este fenómeno.

Actualizaciones :
Varias personas bien informadas han señalado un impacto potencial en la infraestructura de Internet, incluidos los temores de sobrecargar todo el Internet. El volumen de tráfico de internet es monumental; Los parches de seguridad, incluso los extremadamente grandes, son pequeñas gotas en el cubo. Microsoft lanza parches grandes a cientos de millones de usuarios el mismo día de cada mes, y aún tienen que "bloquear Internet". Netflix, YouTube y Twitch transmiten videos a millones de personas todos los días, e incluso con su tráfico combinado, aún tienen que "bloquear Internet".

Por otro lado, los parches de Android se entregan predominantemente (pero no exclusivamente) a los usuarios inalámbricos. Hay soluciones para cualquier problema potencial :

  1. Proporcione a los usuarios la opción de cuándo descargar los parches. Esto proporciona numerosos beneficios:
    • No interrumpe el flujo de trabajo del usuario
    • Crea un tráfico escalonado debido a la interacción humana y la variabilidad de la decisión
    • Permite al usuario esperar hasta que se conecte a un sistema de mayor ancho de banda (tal vez en el trabajo, su universidad, WiFi en casa)
    • Permite al usuario, bajo su propio riesgo, esperar y ver si otros informan problemas con los parches
  2. Cuando se distribuyen parches a regiones específicas que se sabe tienen una infraestructura limitada que podría verse afectada, escalone los parches en un número mínimo de días para evitar la sobrecarga de infraestructura.

En lo que respecta a específicamente , las actualizaciones de seguridad de Google Nexus 6P no se lanzan a todos los usuarios con prontitud, simplemente es una mala elección de Google que no es lo mejor para sus clientes. En comparación con el gran volumen de tráfico de Internet, esos parches son minúsculos.

Además de eso, ese dispositivo es relativamente raro en el ecosistema de Android. Esto respalda la afirmación de que la publicación de los parches a todos los clientes a la vez no perjudicaría a ningún proveedor de Internet.

Incluso la completa línea de productos Google Nexus abarca solo una pequeña parte del mundo Android. Sin embargo, como línea de productos, podría haber un pequeño impacto en la infraestructura en regiones seleccionadas. Como tal, la siguiente metodología, combinada con las recomendaciones descritas anteriormente, minimizará el impacto en la infraestructura al maximizar la distribución de parches:

  1. Lanzar parches de exploits de día cero inmediatamente
  2. Lanzamos actualizaciones programadas en diferentes días cada mes, un día diferente para cada producto
  3. Si un producto tiene una participación de mercado significativa que podría impactar razonablemente la infraestructura en una región, escalone el despliegue durante la cantidad mínima de días requeridos para evitar la sobrecarga de infraestructura en esa región solamente

Finalmente, según sus declaraciones, han pasado más de dos semanas desde que Google lanzó inicialmente esos parches para el Google Nexus 6P. Eso es tiempo más que suficiente para saber si sus parches están causando estragos. No he encontrado documentación de Google que reconozca o se disculpe por un par de parches malos, ni evidencia anecdótica de ningún problema grave.

Uno podría argumentar que los parches asombrosos en unos pocos días podrían ser razonables para detectar parches defectuosos y reducir la carga de tráfico. Pero dejar a los clientes sin parches durante semanas no es razonable, es innecesario y no es una política efectiva desde el punto de vista de la seguridad de la información.

En conclusión, según las declaraciones anteriores y su declaración de que Google no ha implementado los parches de seguridad en su dispositivo, mi conclusión es que Google, al no entregar parches de seguridad a todos los clientes afectados de Google Nexus 6P, está realizando una mala decisión y está haciendo un mal servicio a sus clientes.

    
respondido por el RockPaperLizard 16.05.2016 - 06:57
fuente
4
  

Sin embargo, para parches de seguridad, ¿no lo haría una versión escalonada?   mucho más fácil para los hackers de Blackhat utilizar el ahora público   vulnerabilidades contra los usuarios cuyos dispositivos aún no han recibido la   ¿OTA, aunque ya hay un parche para su modelo de dispositivo disponible?

¿Más fácil que qué ?, es la pregunta importante. Sí, será más fácil para el pirata informático durante unos días mientras se lleva a cabo la actualización. Pero será mucho más difícil para el pirata informático si no se envía la actualización.

Una versión escalonada mantiene la red en movimiento, los servidores en funcionamiento y los flujos de 1 y 0 mientras todos reciben su actualización. Si todos los dispositivos Android intentaran actualizarse todos al mismo tiempo, terminaría con una gran cantidad de tráfico que llega a un pequeño recurso.

La otra opción solo hace una actualización cuando la gente "escanea" en busca de ella. Eso es horrible también.

Entonces, si bien el enfoque escalonado no es el mejor absoluto, es el mejor disponible con respecto a los recursos.

Tenga en cuenta que para aprovechar esta ventana, necesitará encontrar un dispositivo entre el momento en que se lanzó el parche y cuando (el dispositivo) se actualizó.

También recuerda que Android es de código abierto. Es mucho más rentable escribir exploits que aún son viables, que los que usted sabe que estarán en la próxima versión (porque puede ver el código).

Por lo tanto, en verano:

  • Las correcciones no son un secreto antes de que empiece el impulso de seguridad de todos modos.
  • Es mejor que no haya actualizaciones
  • Es mejor que bloquear la red móvil o el servidor de actualizaciones.
  • La ventana de oportunidad es tal que se debe afectar a muy pocas personas, que aún no son un objetivo activo.
respondido por el coteyr 16.05.2016 - 17:19
fuente
0

No diría que soy un experto en esto, por lo que mi punto puede no ser válido.

Leí rápidamente en Wikipedia

  

En los dispositivos móviles modernos, como los teléfonos inteligentes, una actualización por aire puede referirse simplemente a una actualización de software que se distribuye a través de Wi-Fi o banda ancha móvil mediante una función integrada en el sistema operativo

De esta cita podemos observar que la actualización se distribuye a través de WiFi o banda ancha móvil, que no siempre puede estar disponible al mismo tiempo, por ejemplo. Si vivo en un lugar donde no hay módulos WiFi, o si la intensidad de la señal es baja, existe la posibilidad de que pierda el momento en que se envían las actualizaciones, y luego se descargará al cabo de un tiempo.

Actualizaciones llevadas a cabo por el administrador integrado

Algunos programas de actualización incorporados pueden tener configuraciones, que le permiten personalizar cuando desea verificar y descargar actualizaciones de OTA. Es posible que su configuración esté configurada para verificar las actualizaciones cuando el dispositivo está encendido, dos veces al día, diariamente, semanalmente, mensualmente o incluso manualmente. Si algunos dispositivos tienen configuraciones diferentes, es posible que reciban las actualizaciones en un momento diferente.

Actualizaciones llevadas a cabo por el productor

En este caso, las actualizaciones son realizadas por el productor de firmware, en este caso google. Como ya se mencionó, es posible que no pueda recibir información de que hay una nueva actualización disponible, porque, por ejemplo, batería muerta, sin señal, etc.
Las actualizaciones tienden a realizarse cuando el usuario no usa su teléfono, por lo que no impide que el usuario haga lo que está haciendo en este momento, por lo que la actualización se puede hacer por la noche.

Diferencia de hardware entre dos modelos del mismo teléfono

(NOTA: este punto puede no ser válido para algunos dispositivos, incluido el suyo, ya que algunos dispositivos pueden ser exactamente iguales en la primera versión y en su versión final)

A veces, incluso el mismo modelo de dispositivo puede ser un poco diferente. Por ejemplo, al principio, xbox 360 no tenía salida HDMI, pero después de un tiempo se agregó y esto probablemente requería que también se creara otro software. Incluso si ambos tipos de xbox son diferentes, el nombre del modelo sigue siendo el mismo. Esto hace que algunos dispositivos con el mismo nombre de modelo no sean los mismos en el interior.

Hay una gran diferencia entre, por ejemplo, Windows 10 64 bit, y android. La diferencia es que la versión de Windows de 64 bits se ejecutará en una CPU que admita long mode (modo de 64 bits) y las instrucciones establecidas serán las mismas en AMD e Intel. El problema con Android es que diferentes dispositivos pueden tener diferentes procesadores con diferentes instrucciones, y esto hace que los teléfonos incluso requieran un código totalmente diferente. Esto está causando que las actualizaciones para diferentes dispositivos puedan llegar en diferentes momentos.

Por ejemplo, esto podría ser si tuvieras pocas tarjetas WiFi. Digamos que usted instaló el controlador para uno de ellos. Es muy probable que otras tarjetas no se ejecuten con este controlador, por lo que necesitará instalar un controlador diferente, que definitivamente tendrá un código diferente. Ahora, si el productor de esta tarjeta WiFi encuentra errores en todos esos controladores, solo es posible solucionarlo uno por uno, o tener a muchas personas trabajando al mismo tiempo en diferentes versiones. Sin embargo, incluso si varias personas están trabajando en varios archivos al mismo tiempo, uno puede terminar de corregirlo antes que el otro. En este caso, la actualización se lanzará más rápido que para el otro.

Tenga en cuenta que el productor también podría esperar a que se corrija cada versión del código y luego actualizarlo en todos los dispositivos al mismo tiempo, pero la actualización de errores incluso en un dispositivo disminuye la cantidad de personas que serían vulnerables a este error.

También tenga en cuenta que usted instala los controladores en Windows, lo más probable es que utilice los instaladores .exe . En Android, todos esos controladores están incorporados y, como mencioné anteriormente, si necesita una versión diferente del controlador para diferentes teléfonos, dedicará un tiempo a reparar todos esos controladores. Supongo que la forma en que Google funciona con la actualización es que están actualizando los teléfonos lo más rápido posible una vez que se solucionaron.

También mencionó que incluso si hace clic en el botón manualmente 'verificar actualización', su dispositivo dice que 'el sistema está actualizado'. Esto puede deberse a la falta de disponibilidad del servicio de actualización, que es realmente similar a las actualizaciones realizadas por el productor.

    
respondido por el vakus 16.05.2016 - 23:29
fuente

Lea otras preguntas en las etiquetas