Conozca a Pal. Pal es un desarrollador sénior que trabaja en PalBank.
Durante los próximos 6 meses, Pal será responsable de dirigir el desarrollo de la cliente web del banco, que millones de clientes utilizarán a diario.
Pal invierte un esfuerzo considerable en el diseño y la implementación de la aplicación más segura posible: desarrollo estrictamente controlado y seguro, pipelines de compilación y despliegue, análisis estático de código, pruebas de penetración realizadas por terceros, autenticación multifactor para acceder a la aplicación y cifrado de datos en reposo. ¡Y la lista continúa!
Pal es el mejor, ¿verdad? Por desgracia, aunque estos esfuerzos son esenciales, son insuficientes. E incluso si asumiéramos, en aras del argumento y el humor, que el cliente web de PalBank está completamente libre de todas las vulnerabilidades de software conocidas y desconocidas, las garantías de seguridad de la aplicación están destinadas a verse amenazadas una vez que los consumidores la ejecuten en sus dispositivos. Se verán amenazadas por las millones de líneas de código que componen el software del sistema de la plataforma, si este se infecta o se ve comprometido. En este contexto, el software del sistema incluye el sistema operativo, el gestor de máquinas virtuales y todo el firmware de las plataformas que incorpora.
Dicho de otro modo, poco importa que un usuario elija una contraseña única y perfectamente segura, cuando su sistema operativo está infectado con un keylogger que la filtra a terceros malintencionados. Del mismo modo, poco importa si su código no tiene desbordamientos de búfer, si su sistema operativo tiene una puerta trasera y simplemente decide filtrar todos los datos de sus clientes a terceros malintencionados.
Entonces, ¿por qué la seguridad de las aplicaciones a nivel de usuario depende de la seguridad de su software subyacente de sistema? La razón es la arquitectura jerárquica de los dispositivos básicos: el software de sistema obtiene acceso sin restricciones a todos los recursos de las aplicaciones de nivel de usuario sin privilegios, porque controla su ejecución, su memoria y su acceso al hardware subyacente. Efectivamente, es una característica, no un error.
Foto de regularguy.eth en Unsplash
Por lo tanto, es extremadamente importante tener en cuenta el estado de seguridad del sistema operativo de los dispositivos de punto final, y utilizar el sistema operativo más seguro posible.
Aquí es donde entra Linux
Linux hace referencia a un grupo de sistema operativo creados a partir de software de código abierto y el kernel de Linux, agrupados en una distribución Linux. En 2004, Mark Shuttleworth fundó Canonical para producir la distribución Ubuntu, y desde entonces Canonical ha publicado una nueva versión de Ubuntu cada 6 meses.
Código abierto significa que el software se publica con una licencia que permite a cualquiera consultar el código fuente, modificarlo y distribuirlo como desee. Suele desarrollarse en colaboración con programadores de todo el mundo. Existen numerosas variantes de licencias de código abierto, pero todas ellas permiten en general este modelo de colaboración y distribución abiertas.
Linux es tan adecuado para una laptop como para ejecutar una aplicación de misión crítica en la nube o en sus servidores. El kernel de Linux es el corazón del sistema operativo, pero funciona detrás de las cámaras: todas las aplicaciones que utilizamos a diario, como el navegador web, el programa de correo electrónico, los juegos de cartas, las herramientas para desarrolladores, etc., se ejecutan sobre el kernel. El desarrollo corre por cuenta de grupos independientes, y luego depende de un editor como Canonical agrupar todo el software que la gente pueda necesitar en una única distribución; Ubuntu ofrece muchos miles de las aplicaciones y paquetes de software más populares en la última versión de Jammy Jellyfish.
Cada 6 meses, en abril y octubre, se lanza una nueva versión de Ubuntu, con un nombre simpático (por ejemplo, Bionic Beaver [Castor biónico]) y un número de versión que refleja el año y el mes en que se produjo. Cada dos años, la versión de abril se designa como versión de soporte a largo plazo, lo que significa que Canonical proporcionará actualizaciones y correcciones de seguridad para los paquetes de software durante 5 años. Canonical lleva apoyando a Ubuntu de esta forma desde 2004.
Ubuntu se publica en 3 ediciones: Desktop, Server y Core (para dispositivos IoT y robots). Más de 3 millones de personas utilizan Ubuntu Desktop y cada día se lanzan más de 100.000 nuevas instancias de Ubuntu en la nube pública.
¿Y qué hay de la seguridad?
Una vulnerabilidad de seguridad es un defecto o error de software que puede ser explotado para permitir a un adversario obtener acceso no deseado a un sistema o dañar su funcionamiento de alguna manera. Las vulnerabilidades de seguridad son un hecho inevitable de la vida, pero lo que marca la diferencia es cómo nos enfrentamos a ellas. Ningún sistema de software es inmune a las vulnerabilidades de seguridad, y todos los sistemas de software que utilizamos hoy en día deben mantenerse actualizados con las últimas correcciones.
En el mundo del código abierto podemos ser totalmente transparentes sobre qué problemas se han solucionado y cuándo, porque todo el mundo puede inspeccionar el código fuente. La gran mayoría de las vulnerabilidades de seguridad son descubiertas por investigadores que estudian el software e informan de los problemas para solucionarlos y mejorar el software para todo el mundo. Funcionan mediante un modelo de divulgación responsable, en el que el investigador informa de la vulnerabilidad al editor del software, que dispone de tiempo suficiente para aplicar una solución al problema y publicar una versión actualizada del software antes de que el investigador informe al mundo sobre la vulnerabilidad. Sin embargo, no todo el mundo actúa así, y hay algunos actores maliciosos que descubren vulnerabilidades para quedarselas para sus propios fines nefastos, o para venderlas a otros y utilizarlas en ataques de «día cero» (llamados así porque el desarrollador del software ha tenido cero días de preaviso para solucionar el problema y publicar un parche).
Parchear vulnerabilidades conocidas
¿Cómo pueden perjudicarle las vulnerabilidades conocidas? Al fin y al cabo, si conocemos una brecha de seguridad y está disponible el parche que garantiza resolverla, seguramente todo el mundo parchearía inmediatamente sus sistemas afectados. ¿Cierto? Desgraciadamente, eso está muy lejos de la realidad. En un informe publicado en Verizon 2022, se descubrió que solo el 25 % de las organizaciones analizadas parcheaban vulnerabilidades conocidas en los dos meses siguientes a su divulgación pública.
Foto de Sajad Nori en Unsplash
Pero, ¿por qué iba alguien a dejar que su organización sea vulnerable a los ciberataques de forma voluntaria y consciente? Una vez más, la respuesta está en la eterna tensión entre seguridad y usabilidad. Pregunte a cualquier administrador de sistemas y le dirá que el trabajo no programado que supone parchear vulnerabilidades lleva mucho tiempo, es caro y, a veces, simplemente imposible, porque necesitan mantener el servidor en funcionamiento.
Livepatch: parchea el kernel mientras está funcionando
Vuelva a preguntar a estos mismos administradores y también le dirán que les encantaría una solución que les permitiera parchear vulnerabilidades mientras el sistema funciona sin necesidad de reiniciarlo. ¡Problema resuelto! Para el kernel de Ubuntu, esto es precisamente lo que ofrece Livepatch.
Livepatch permite parchear las vulnerabilidades críticas y de alta gravedad del kernel en tiempo de ejecución. Dado que estas últimas representan el 40 % de todas las vulnerabilidades altas y críticas, Livepatch aportará a su organización beneficios cuantificables y un retorno de la inversión inigualable.
Livepatch se adapta perfectamente a nuestras necesidades. No hay otra solución igual y es muy rentable. La migración manual de máquinas virtuales, la aplicación de actualizaciones del kernel y el reinicio tardaron un promedio de 32 horas por servidor. Multiplicado por 80 servidores, fueron más de 2500 horas de trabajo.
Shinya Tsunematsu, jefe de Ingeniería de la División Técnica, GMO Pepabo
Lea el caso de estudio de GMO Pepabo ›
Una ventaja de seguridad adicional
Pero ¿qué ocurre con el resto de vulnerabilidades no relacionadas con el kernel que no están cubiertas por Livepatch? Aquí es precisamente donde brilla el ecosistema de Canonical. Con cada versión de Ubuntu de soporte a largo plazo (LTS), siempre se beneficiará de 5 años de mantenimiento de seguridad estándar para el sistema operativo base, los paquetes de software críticos y los componentes de infraestructura. Y si, por alguna razón no puede actualizar a la siguiente versión LTS después de 5 años, puede utilizar el Mantenimiento de Seguridad Ampliado de Canonical para permanecer seguro durante un total de 10 años. Está disponible a través de una suscripción a Ubuntu Pro con una licencia gratuita disponible para uso personal.
Este enfoque innovador no solo ofrece una propuesta de valor de seguridad convincente, sino también una propuesta empresarial igualmente convincente. Pal puede contar de primera mano cómo esto le ha permitido habilitar un ecosistema de código abierto seguro y estable para Palbank, y prescindir de la carga habitual de mantenimiento. Como ya no tiene que preocuparse de analizar, aplicar y probar las últimas actualizaciones de seguridad, puede dedicar todo el tiempo que necesite a ofrecer la mejor aplicación bancaria a sus clientes, e incluso tomarse unas vacaciones o dos de vez en cuando.
¿Y qué pasa con las amenazas desconocidas?
Si conocemos una vulnerabilidad de seguridad, podemos parchearla, pero ¿qué pasa cuando un atacante utiliza un exploit que aún no se ha corregido? Aquí es donde ayuda el ecosistema Ubuntu. La naturaleza del software de código abierto hace que sea mucho más difícil para los delincuentes introducir puertas traseras en el software. El código fuente está disponible de forma gratuita para que todo el mundo pueda leerlo, y Canonical revisa y supervisa el código de cada paquete que se incluye en Ubuntu, lo que significa que puedes instalar todo el software que necesites desde una fuente de confianza, respaldado por el historial de décadas de parches y soporte de Canonical, sin tener que recurrir a descargar trozos de código al azar de Internet.
Otro beneficio de usar paquetes de Ubuntu es que todo el código que Canonical compila en paquetes está configurado para usar las últimas contramedidas de seguridad del compilador. Estas opciones del compilador se centran en las comprobaciones de protección de memoria y ayudan a garantizar que el software esté reforzado contra ataques en memoria, como desbordamientos de búfer y corrupción de heap, que han plagado el código nativo durante muchos años.
Ubuntu está configurado, de forma predeterminada, para ser seguro. Una instalación nueva de Ubuntu Desktop no abre ningún puerto de red del que un atacante pueda abusar, y ya tiene activado un cortafuegos. Para limitar el daño potencial de ataques desconocidos, Ubuntu utiliza AppArmor, que es un mecanismo de espacio seguro integrado en el kernel de Linux que establece restricciones predefinidas sobre lo que las aplicaciones pueden hacer en el sistema. Así, por ejemplo, si un sitio web malicioso intentara aprovechar una vulnerabilidad del navegador Firefox, AppArmor impediría que el código de explotación comprometa todo el sistema.
Entonces, ¿Linux es seguro?
El kernel de Linux y todo su ecosistema de distribuciones de sistema operativo se construyen en torno a los valores de apertura, transparencia, agilidad y confiabilidad. Estos valores son los que sientan las bases de la seguridad del software moderno en el que se basa Canonical.
Dado que Ubuntu se sostiene sobre hombros de gigantes, podía permitirse mirar a su alrededor y escuchar lo que necesitan las empresas modernas: mantenimiento y soporte de seguridad de nivel empresarial, suministrados de forma confiable día tras día por una entidad comercial consolidada, en la que pueda confiar para que sea su socio digital, ahora y en el futuro.
Lo que millones de clientes, y Pal, han descubierto, es que la versión Ubuntu LTS con una suscripción a Ubuntu Pro y LivePatch activado, es el sistema operativo más razonablemente seguro por el que se puede apostar. Esta es la razón por la que siguen eligiendo Canonical Ubuntu, todos los días, para impulsar sus computadoras de escritorio, dispositivos IoT, centros de datos y cargas de trabajo de nube pública.