Por qué cada vez es más difícil confiar en el software que usamos

Por qué cada vez es más difícil confiar en el software que usamos

Cada pieza de software que usamos requiere cierto grado de confianza. Ya sea un sistema de administración de contenido, una suite ofimática o un sistema operativo, cada aplicación que instalamos es un pequeño acto de fe.

Tenemos que confiar, por ejemplo, en que es seguro, respeta nuestra privacidad y funciona como se espera. En otras palabras: debemos creer que el desarrollador ha creado una aplicación con buenas intenciones y que su uso no provocará ningún daño intencional.

Esa creencia se pone a prueba a diario. Las fallas de seguridad, los ataques maliciosos y todo tipo de errores plantean grandes desafíos. Y gran parte de la reputación de una aplicación depende de cómo responda el desarrollador a estas crisis.

Pero como estamos viendo con más frecuencia, la confianza no depende únicamente del desarrollador principal de una aplicación. Esa responsabilidad también se extiende a los scripts y bibliotecas de terceros que utiliza su producto.

Un buen ejemplo es el Vulnerabilidad log4j. Una falla en esta popular biblioteca de registro de Apache hizo posible que un actor ejecutara arbitrariamente código malicioso. Sus efectos podrían ser devastadores.

Como si esto no fuera lo suficientemente malo, parchear la vulnerabilidad se volvió increíblemente complejo debido a la cantidad de otras aplicaciones y proveedores de servicios que utilizan Log4j. Esto significaba que cada aplicación tenía que actualizar su copia de la biblioteca y luego distribuir la solución a los usuarios. El proceso tiene que repetirse una y otra vez.

Para los diseñadores web, esto llega a casa en varios niveles. Confiamos en muchas aplicaciones (particularmente de código abierto). Y muchos tienen dependencias de terceros. Nos pone a nosotros y a nuestros clientes en riesgo.

Echemos un vistazo más profundo al problema y lo que los diseñadores web pueden hacer para mantenerse seguros.

El software de código abierto es motivo de especial preocupación

La saga de Log4j ha abierto una proverbial lata de gusanos con respecto al software de código abierto en particular. En los Estados Unidos, la Casa Blanca celebró una reunión con las principales empresas de tecnología con respecto a la seguridad del software fundamental ampliamente utilizado que es mantenido por voluntarios.

Los ejemplos populares incluyen WordPress, Nodo.js, reaccionar nativo, y OpenSSL. Más allá de eso, Google tiene publicado una lista de más de 100.000 proyectos que se consideran “críticos”. Todos confían en ellos, desde gobiernos, corporaciones, instituciones educativas, hasta sitios web personales y de pequeñas empresas.

Esto no significa que ninguno de los elementos de la lista sea intrínsecamente inseguro. Más bien, es una medida del impacto potencial que podría tener una falla de seguridad. Como el grupo de trabajo (WG) de seguridad de proyectos críticos de OpenSSF estados:

“Para nuestros propósitos, un proyecto OSS (software de código abierto) crítico es un proyecto OSS que puede tener un impacto especialmente grande si tiene una vulnerabilidad involuntaria significativa, o si se subvierte en su repositorio fuente o paquete(s) de distribución. .”

Código de computadora que se muestra en una pantalla.

Voluntarios y recursos limitados

Para decir lo obvio, los agujeros de seguridad no se limitan al software de código abierto. Grande propiedad proyectos de la talla de Apple, Microsoft y otros gigantes de la tecnología también tienen su parte justa.

La diferencia es que estas empresas tienen los recursos para garantizar que cualquier problema, una vez descubierto, se solucione de inmediato. Los proyectos que dependen de voluntarios pueden no tener tales lujos. Algunos pueden necesitar luchar para encontrar a alguien con conocimientos que pueda tomar las medidas adecuadas de manera oportuna.

¿Y si un proyecto ya no se mantiene? Coloca un gran objetivo en cualquiera que use ese software, ya sea que lo sepan o no.

La belleza de estos proyectos es que sus voluntarios son increíblemente dedicados. a menudo hemos saludado los que trabajan detrás de escena de WordPress, por ejemplo. La disposición de las personas a contribuir con su tiempo y talento es algo maravilloso.

Pero como Morten Rand-Hendriksen Señala, es necesario abordar algunos problemas sistémicos importantes:

“Estamos actuando como si estos fueran todavía pequeños proyectos de pasatiempos que estamos pirateando en los sótanos de nuestros padres. En realidad, son de misión crítica, a menudo a nivel de gobierno, y lo que nos trajo aquí ya no es suficiente para llevarnos a ningún otro lugar que no sea el caos”.

Es admirable que un grupo de personas, sin importar cuán pequeño o extenso sea, pueda crear una aplicación que tenga un impacto en el mundo. Pero no hay garantías de que el proyecto sea sostenible a largo plazo. Eso puede ser problemático.

Una computadora portátil cubierta de calcomanías.

¿Qué pueden hacer los diseñadores web?

Como diseñadores web, estamos en una posición incómoda. Gran parte de lo que hacemos en estos días se basa en proyectos de código abierto. Y cosechamos el beneficios de ellos todos los días.

La buena noticia es que ninguno de los problemas descritos anteriormente significa que tenemos que abandonar el código abierto, ni deberíamos hacerlo. Hay demasiado valor en simplemente dar la espalda a nuestros proyectos favoritos. Si suficientes de nosotros lo hiciéramos, probablemente empeoraría la situación.

En cambio, debemos considerar cuidadosamente las aplicaciones que estamos usando. Obtenga una comprensión del proyecto, quién está involucrado y los desafíos que enfrentan. Mire su reputación dentro de la industria y su longevidad. Examine su registro de cambios y vea con qué frecuencia se publican las actualizaciones. Considere ofrecer su tiempo como voluntario si puede.

También es importante observar qué dependencias de terceros están asociadas con un proyecto. Esto puede ser difícil de discernir, pero vale la pena el esfuerzo.

Luego está el papel de los proveedores de servicios, como servidores web y API. Son eslabones adicionales en esta cadena. Porque, incluso si estamos seguros de que una aplicación que instalamos es segura, también debemos confiar en estos proveedores para mantener sus sistemas. Vigílelos lo mejor que pueda y no tenga miedo de hacer preguntas.

Confiar ciegamente en el software no es una buena elección. Y si bien puede parecer casi imposible mantenerse al día con todo esto, ahora es una parte necesaria del trabajo.

A decir verdad, no podremos detectar todos los problemas antes de que se conviertan en algo más grande. Pero podemos estar atentos y ser proactivos con el software que estamos usando.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *