Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En la ola de la vida, en la tormenta de la acción,
Floto, arriba y abajo,
Yo soplo, ¡de un lado a otro!
El nacimiento y la tumba,
Un flujo eterno,
Un tejido cambiante,
Un resplandor del Ser.
Sobre el tembloroso telar del Tiempo intento,
Trabajar el vestido vivo de la Divinidad.
Fausto
Si has trabajado con ordenadores en un entorno profesional en algún momento desde los albores de los milenios, probablemente habrás oído que la seguridad es importante. A estas alturas, probablemente también te habrás dado cuenta de que la ciberseguridad no funciona. Los seres humanos nos confían, como personas que trabajamos con software, cada vez más parte de sus vidas y no somos capaces de mantener esa confianza. Año tras año, los mismos tipos de ataques asolan las costas y el corazón de nuestros territorios digitales en constante crecimiento.
Mientras tanto, la industria de la seguridad acumula poder y dinero, permitiéndose tecnologías más nuevas y brillantes y profundizando a menudo en su santurrón descaro. Los resultados del éxito siguen siendo amorfos; y en el fondo se desliza el temor existencial de que la seguridad no pueda "seguir el ritmo" del software. Los dedos señalan y otros dedos señalan hacia atrás. Nuestros programas de seguridad se coagulan en rituales performativos, un humoralismo moderno basado en la sabiduría popular y la tradición más que en el empirismo. Los equipos de ingeniería de software hierven en resentimiento, anhelando respuestas sobre cómo mantener la seguridad de sus sistemas sin exigir sacrificios rituales. Sabemos que podemos hacerlo mejor, pero nos cuesta trazar un rumbo cuando estamos inmersos en la turbia oblicuidad que es la ciberseguridad hoy en día.
Se acerca un cambio fundamental tanto en la filosofía como en la práctica. La ciberseguridad debe aceptar la realidad de que se producirán fallos. Los humanos harán clic en las cosas y a veces será en la cosa equivocada. Las implicaciones para la seguridad de simples cambios de código no estarán claras para los desarrolladores. Las mitigaciones se desactivarán accidentalmente. Las cosas se romperán (y, de hecho, se rompen todo el tiempo). Este cambio requiere que nos transformemos hacia la resiliencia: la capacidad de recuperarnos de los fallos y adaptarnos a medida que cambia nuestro contexto.
Este libro es un ataque a la estrategia y ejecución actuales de la ciberseguridad. Para evocar a la autora y activista Jane Jacobs, este ataque es a los principios y objetivos que han dado forma a la estrategia y ejecución tradicionales de la ciberseguridad, no a las argucias sobre métodos o patrones de diseño específicos.
Llamamos a esta transformación "Ingeniería del Caos de la Seguridad", el tema de este tomo. La Ingeniería del Caos de la Seguridad (SCE) es una transformación sociotécnica que aporta valor a las organizaciones mediante la capacidad de responder a los fallos y adaptarse a las condiciones cambiantes con rapidez y elegancia. Para que esta transformación tenga éxito, nos basaremos en conocimientos interdisciplinarios sobre la resistencia de los sistemas complejos. En esencia, podemos copiar los deberes de otros ámbitos problemáticos para que la resolución de nuestros problemas informáticos y de software sea más clara.
Nosotros, como humanidad, nos hemos vuelto bastante buenos en software. La mayor parte del software forma parte ahora de sistemas distribuidos. Los cambios tecnológicos transformadores, como la computación en nube, los microservicios y la entrega continua, han generado mejoras en el valor para el cliente, pero a su vez han dado lugar a una nueva serie de retos. El principal de esos retos es que hemos llegado a un estado en el que los sistemas que construimos se han vuelto imposibles de concebir en su totalidad por nuestras mentes. Lo que empieza como nuestra pequeña plantita de software crece hasta convertirse en algo asombroso e imposible de modelar mentalmente, en caso de que tenga éxito.
A lo largo de este libro, cubrimos las filosofías, prácticas y principios que te ayudarán a conseguir una seguridad orientada a los resultados y a transformarte hacia la resiliencia. Hablaremos de mucho más que del arte de realizar experimentos de caos, aunque el método científico es esencial para nuestra búsqueda. La SCE es nuestra ambiciosa extensión de la práctica de la ingeniería del caos, que comenzó con el objetivo de promover la resiliencia de los sistemas desde una perspectiva de rendimiento más que de seguridad. La ingeniería del caos es la práctica de la experimentación continua para validar que nuestros sistemas funcionan como creemos que lo hacen. Estos experimentos ayudan a descubrir las debilidades sistémicas o las lagunas en nuestra comprensión, informando sobre la mejora del diseño y las prácticas que pueden ayudar a la organización a ganar más confianza en su comportamiento.
El objetivo de la ingeniería del caos es arreglar las cosas en producción, no romperlas. De poco sirve el sufrimiento, en cualquier ámbito, si no podemos aprender de él e idear un curso constructivo para mejorarlo. A lo largo del libro, hemos tenido mucho cuidado de evitar cualquier analogía relacionada con la guerra o la violencia, del tipo de las que se suelen encontrar en ciberseguridad y que insinúan que se necesitan soluciones militaristas y disciplinarias para resolver nuestros problemas. En su lugar, esperamos inspirar a la industria con analogías de la naturaleza, la ecología y otros ámbitos que implican nutrir, alimentar y apoyar a los seres humanos para que alcancen sus objetivos. Podemos ser creadores en lugar de castigadores. Podemos tener éxito en nuestros objetivos de seguridad sin deshumanizar a los usuarios, tratándolos como objetos que hay que controlar para que no frustren nuestras celosas ambiciones.
Al final del libro, tú -independientemente de tu función- comprenderás cómo mantener la resiliencia en tu software y sistemas para que tu organización pueda prosperar a pesar de la presencia de atacantes. Aprenderás a adaptarte a la adversidad y a mantener un cambio continuo a medida que el mundo evoluciona a tu alrededor y al de tus sistemas. Descubrirás que la seguridad puede escapar de la edad oscura y entrar en la era de la ilustración abrazando el empirismo y la experimentación. Esperamos que esto inicie una metatransformación que nos aleje del statu quo de la seguridad -que nos sirvió antes de que aprendiéramos más- y nos lleve a la resiliencia, para que podamos, por fin, superar a los atacantes y hacer cosas de verdad.
¿Quién debería leer este libro?
Si tu responsabilidad es diseñar, desarrollar, construir, implementar, entregar, operar, recuperar, gestionar, proteger o asegurar sistemas que incluyan software, este libro es para ti. Este libro está dirigido a las personas que trabajan en ingeniería de software y sistemas en todos los títulos y áreas de interés: ingenieros de software, arquitectos de software, ingenieros de seguridad y arquitectos de seguridad; ingenieros de fiabilidad de sitios; equipos de ingeniería de plataformas y sus líderes; ingenieros de infraestructuras, de la nube o de DevOps y los directores y vicepresidentes de esos equipos; directores de tecnología, directores de informática y directores de sistemas de información; y, por supuesto, estudiantes que aspiran a dejar una huella indeleble con su trabajo, mejorando la huella de software de la humanidad de cualquier forma que puedan.
Este libro es especialmente relevante si tu software, servicios y sistemas son complejos, que es la mayoría del software, servicios y sistemas conectados a Internet y el subproducto de muchas mentes a lo largo de muchos años. Independientemente de dónde te sitúes en el ciclo de vida de la entrega de software -o fuera de él, como administrador, gestor o defensor-, este libro te ofrece sabiduría sobre cómo apoyar la resistencia de tus sistemas ante ataques y otras condiciones adversas de tu esfera de influencia.
Debes tener una comprensión básica de lo que es el software y de cómo lo utilizan las organizaciones. Es útil tener alguna experiencia práctica en el diseño, la entrega o el funcionamiento de sistemas de software, o bien en la implantación de un programa de seguridad, pero reconocemos que pocas personas tienen experiencia en ambas cosas. Este libro está explícitamente diseñado para enseñar a la gente de software sobre seguridad y a la gente de seguridad sobre software, al tiempo que amplía y enriquece los conocimientos de los expertos existentes.
Si alguno de los siguientes resultados te atrae, entonces este libro te resultará valioso:
Aprende a diseñar un programa de seguridad moderno.
Toma decisiones informadas en cada fase de la entrega del software para alimentar la resistencia y la capacidad de adaptación.
Comprender la dinámica de los sistemas complejos de los que dependen los resultados de la resiliencia.
Navegar por las compensaciones técnicas y organizativas que distorsionan la toma de decisiones en los sistemas.
Explora la experimentación del caos para verificar supuestos críticos sobre la calidad y la seguridad del software.
Aprende cómo las grandes empresas aprovechan la ingeniería del caos de seguridad.
Como subrayaremos y volveremos a subrayar, tu estrategia para alimentar la resistencia de tus sistemas a los ataques depende de tu contexto específico. Toda organización, independientemente de su tamaño, edad o sector, puede beneficiarse de invertir en resiliencia mediante la transformación SCE que describiremos en estas páginas. Este libro no está escrito explícitamente sólo para hiperescaladores y organizaciones de Fortune 100; el contenido es sencillamente demasiado valioso.
Alcance de este libro
Este libro no prescribe tecnologías específicas ni detalla instrucciones sobre cómo poner en práctica las oportunidades descritas en código. Te animamos a que leas detenidamente la documentación pertinente para conocer esos detalles y a que pongas en práctica las habilidades únicas que aportes a tu organización. Nuestro objetivo es debatir los principios, las prácticas y las compensaciones que importan cuando consideramos la resiliencia de los sistemas, ofreciéndote una cornucopia de oportunidades a través de tus actividades de software de las que puedes arrancar los patrones que creas que darán más fruto para tu organización.
Resumen de este libro
Comenzamos nuestro viaje en el Capítulo 1, "La resiliencia en el software y los sistemas", hablando de la resiliencia en los sistemas complejos, cómo se manifiesta el fallo, cómo se mantiene la resiliencia y cómo podemos evitar los mitos comunes que llevan por mal camino nuestra estrategia de seguridad.
En el Capítulo 2, "Seguridad orientada a los sistemas", exploramos el cambio necesario hacia el pensamiento sistémico en seguridad, describiendo cómo perfeccionar los modelos mentales del comportamiento de los sistemas y realizar evaluaciones de resiliencia antes de comparar la SCE con la ciberseguridad tradicional ("teatro de seguridad").
La estructura de los Capítulos 3 a 6 actúa como una guía de referencia que puedes sacar en cada fase de la entrega de software. El Capítulo 3, "Arquitectura y diseño", comienza en la "primera" fase de la entrega de software: la arquitectura y el diseño de sistemas. Reflexionamos sobre cómo invertir el esfuerzo en función del contexto específico de tu organización, antes de describir las oportunidades de invertir en un acoplamiento más laxo y linealidad.
En el Capítulo 4, "Construcción y entrega", asignamos las cinco características que definen la resiliencia a actividades que podemos llevar a cabo al desarrollar, construir, probar y entregar sistemas. El terreno que cubrimos es amplio, desde las revisiones de código, la estandarización de las "materias primas", la automatización de las comprobaciones de seguridad y la Configuración como Código, hasta el teatro de pruebas, los sistemas de tipos, la modularidad y mucho más (este capítulo es quizás el más repleto de sabiduría práctica).
El Capítulo 5, "Operar y observar", describe cómo podemos mantener la resiliencia mientras nuestros sistemas funcionan en producción, y mientras operamos y observamos nuestros sistemas. Revelamos el solapamiento entre los objetivos de la ingeniería de fiabilidad del emplazamiento (SRE) y los de la seguridad, luego descubrimos distintas estrategias para la observabilidad de la seguridad antes de concluir con un debate sobre la relevancia de la escalabilidad para la seguridad.
En el Capítulo 6, "Respuesta y recuperación", pasamos a lo que ocurre después de un incidente, indagando en los prejuicios que pueden distorsionar nuestra toma de decisiones y el aprendizaje durante esta fase, como el sesgo de acción, el sesgo retrospectivo, el sesgo de resultado y la hipótesis del mundo justo. Por el camino, proponemos tácticas para contrarrestar esos prejuicios y apoyar esfuerzos más constructivos, sobre todo con vistas a erradicar el especialmente improductivo juego de culpas de declarar que el "error humano" es la "causa raíz" de los incidentes.
El capítulo 7, "Ingeniería de la resiliencia de la plataforma", introduce el concepto de ingeniería de la resiliencia de la plataforma y describe cómo aplicarlo en la práctica dentro de cualquier organización. Cubrimos el proceso de creación de soluciones de seguridad para clientes internos (como los equipos de ingeniería), incluyendo la definición de una visión, la definición de un problema de usuario, el diseño de una solución y la implantación de una solución. La Jerarquía del Cono Helado de Soluciones de Seguridad, que cubrimos en este capítulo, es una sabiduría especialmente sabrosa (y práctica).
En el Capítulo 8, "Experimentos sobre el caos de la seguridad", aprendemos a realizar experimentos y a trazar una imagen más rica de nuestros sistemas, lo que a su vez nos ayuda a orientar mejor las estrategias para hacerlos más resistentes a los fallos. Esbozamos el proceso de experimentación de principio a fin: cómo preparar tus experimentos para el éxito; diseño de hipótesis; diseño de experimentos y redacción de especificaciones de experimentos; realización de experimentos y recogida de pruebas; y análisis y documentación de pruebas.
Por último, en el Capítulo 9, "Ingeniería del Caos de la Seguridad en la Naturaleza", aprendemos de los experimentos de caos realizados en la naturaleza. Organizaciones reales que han adoptado la SCE y han realizado experimentos de caos imparten generosamente su sabiduría a través de una serie de casos prácticos. Aprenderemos de UnitedHealth Group, Verizon, OpenDoor, Cardinal Health, Accenture Global y Capital One.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-889-8969 (en Estados Unidos o Canadá)
- 707-829-7019 (internacional o local)
- 707-829-0104 (fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/SecurityChaosEngineering.
Para noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media.
Síguenos en Twitter: https://twitter.com/oreillymedia.
Míranos en YouTube: https://youtube.com/oreillymedia.
Agradecimientos
De Aaron: Nos gustaría reconocer las contribuciones de la comunidad SCE a este cuerpo de trabajo realizadas por las siguientes personas. Estos pioneros de la Ingeniería del Caos de la Seguridad han ayudado a dar forma a la comunidad y al oficio que existe hoy en día. ¡Muchas gracias por todos los sacrificios y el apoyo!
- Brian Bagdzinski
- Jamie Dicken
- Rob Duhart, Jr.
- Troy Koss
- Matas Kulkovas
- David Lavezzo
- Omar Marrero
- Charles Nwatu
- Mario Platt
- Kennedy Torkura
- Dan Walsh
- Jerome Walters
- James Wickett
- Sounil Yu
De Kelly: Este libro teje hilos de pensamiento a través de innumerables disciplinas, estudiosos y profesionales. He perdido la cuenta de los artículos, entradas de blog, libros y conversaciones que he inhalado antes y durante la redacción de este libro, y esto se refleja en las referencias del libro, que son muchas. Es especialmente a través de las ideas de otros ámbitos problemáticos como podemos liberarnos de la asfixiante insularidad de la ciberseguridad tradicional; hay mucho que podemos aprender de los errores, tropiezos y éxitos de otros, aunque sus búsquedas no tuvieran que ver con los ordenadores.
En realidad, sería un reto enumerar cada fuente de inspiración del libro, especialmente las que carecen de una cita tradicional. Si alguna vez hemos desafiado juntos la sabiduría del statu quo de la seguridad de los sistemas en una ferviente conversación, extiendo mi gratitud a Allan Alford, Geoff Belknap, Juan Pablo Buriticá, Lita Cho, Erinn Clark, Tasha Drew, Rob Duhart, Jr, Thomas Dullien, el Dr. Josiah Dykstra, Camille Fournier, la Dra. Nicole Forsgren, Jessie Frazelle, Eitan Goldstein, Bea Hughes, Kyle Kingsbury, Julia Knecht, Toby Kohlenberg, Mike Leibowitz, Kelly Lum, Caitie McCaffrey, Fernando Montenegro, Christina Morillo, Renee Orser, Ryan Petrich, Greg Poirier, Alex Rasmussen, el Dr. Andrew Ruef, Snare, Inés Sombra, Jason Strange, James Turnbull, Phil Vachon y Sounil Yu. Estoy especialmente agradecido a todo el equipo de Rantifesto (ya sabéis quiénes sois) y al Doctor Animal por su sabiduría informática; que siga aprendiendo de vosotros y arrojando sombra con vosotros.
Unos pocos seres humanos escogidos, nuestros revisores técnicos, fueron especialmente valiosos para dar forma a este libro. Gracias por devorar todo este material en tan poco tiempo, aportando comentarios constructivos y, en algunos casos, inspirando nuevos contenidos. Este libro es más fuerte como resultado directo de vuestros esfuerzos: Juan Pablo Buriticá, Will Gallego, Bea Hughes, Ryan Petrich, Alex Rasmussen y Jason Strange.
A Aaron Rinehart, mi cómplice no acusado en la promulgación de la transformación de la resiliencia, le estaré eternamente en deuda por haberme enviado un DM preguntándome si quería trabajar en un libro contigo.
Estoy agradecida a nuestra editora, Michele Cronin, por su infinita paciencia con mis frenéticos patrones de escritura, mis extrañas peticiones y mis referencias literarias a menudo exageradas. A nuestra editora de producción, Clare Laylock, y a la correctora, Nicole Taché, les agradezco sus incansables esfuerzos por garantizar un proceso de producción rápido y fluido, y su paciencia con mi perfeccionismo. Y gracias al equipo de O'Reilly y a John Devins por permitir que todas estas palabras existan fuera de los confines de mi cerebro.
Debo dar las gracias especialmente a Savannah Glitschka, que dio vida a Chaos Kitty e infundió cada capítulo con ilustraciones mágicas. Y por darme el espacio-tiempo para dedicarme a escribir, apoyar mi desafío al statu quo de la seguridad y ser un profesor considerado, doy las gracias a Sean Leach.
En el ámbito de lo personal, me gustaría extenderme mi más profundo agradecimiento por su resistencia en los meses que han pasado vertiendo su alma en estas páginas. ¡Enhorabuena por no haber perdido totalmente la cabeza! A Sotha Sil -el Hojalatero y Dios de los Relojes- le extiendo mi eterna gratitud por su existencia; es mi compañero favorito en los crímenes del pensamiento y una apreciada caja de resonancia para mi arquitectura tonal. A Geralt "Sr. Boopkin" Shortridge, tu barriguita imposiblemente suave y tus dichosos y alegres trinos fueron un bienvenido respiro de la escritura.
Por último, me gustaría dar las gracias a Michael Crichton por iniciarme como bebé en los sistemas complejos y a mi padre por su paciencia y por alimentar mi curiosidad científica. Ojalá todos conectemos con nuestro niño interior y encontremos una fascinación insondable por el mundo, sin dudar nunca en preguntar: "Pero, ¿por qué?".
Get Ingeniería del caos de la seguridad now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.