Es increíble pensar que hace apenas 20 años pensábamos en los dispositivos inteligentes como un sueño en el horizonte, y hoy en día, todo, desde teléfonos inteligentes y relojes hasta refrigeradores e incluso puertas, tienen CPU y comparten información en la red. Pero bueno, vivimos en el mundo del Internet de las cosas, así que es mejor que te acostumbres.
Este nivel de interconectividad ha transformado nuestras vidas, de muchas maneras para mejor y algunas para peor. Uno de los nuevos desafíos del mundo digital es que se puede explotar la conectividad y se puede secuestrar o robar información o sistemas que están destinados a ser privados. Se podría decir que para cada puerta de nuestra red hay una puerta trasera esperando a que la encuentren.
Para ser justos, los piratas informáticos no son particularmente nuevos, y la gente que encuentra errores que pueden ser explotados es una práctica tan antigua como la primera computadora.
Pero es innegable que ha habido un aumento de los delitos informáticos. Uno de los primeros estudios sobre el tema predijo que para el 2025 el ciberdelito representaría más de 10 billones de dólares en pérdidas en todo el mundo, y hasta ahora la predicción ha sido demasiado cercana para ser cómoda.
Además, con el aumento de la popularidad del trabajo remoto, las empresas deben confiar en la conectividad para mantenerse competitivas en el mercado actual. Como tal, es primordial que su información y sistemas estén protegidos de intrusiones, y ahí es donde la seguridad por diseño entra en juego.
Dos enfoques de la ciberseguridad
Imagina que alguien irrumpe en tu casa y roba algunos objetos de valor en medio de la noche. Al día siguiente te das cuenta de que alguien apretó la cerradura de la puerta de tu casa, por lo que decides contratar a un cerrajero para reforzarla con una cerradura más fuerte.
En este escenario, su conciencia sobre su seguridad se activa por el hecho de que alguien aprovechó una vulnerabilidad en su sistema de seguridad. Hasta este momento, su puerta ha sido perfectamente útil, por lo que no había motivos para dudar de su eficacia.
Ahora, cambia tu casa por uno de los sistemas de tu empresa, la cerradura por un protocolo de seguridad y el cerrajero por un consultor de ciberseguridad y tienes en tus manos lo que llamamos “ciberseguridad reactiva”.
Es reactivo en el sentido de que cualquier cambio que realice en su sistema se realiza en respuesta a un ataque de un agente externo. Esto es lo que sucede comúnmente cuando una empresa se da cuenta de que ha habido una fuga de datos porque encuentra evidencia de sus bases de datos publicadas en la web.
Por el contrario, la ciberseguridad proactiva es la filosofía de que la seguridad debe estar al frente y al centro de su proceso de desarrollo, y que una parte importante de las pruebas de su proyecto es tratar de encontrar vulnerabilidades y exploits que podrían conducir a brechas de seguridad.
No importa cuán minucioso sea al crear software, siempre existe la posibilidad de que se encuentre un exploit en el futuro. Puede ser cualquier cosa: una línea de código incorrecta, un desliz en la arquitectura, un error en una biblioteca importada o una puerta trasera en el código original, como lo que sucedió con PHP.net
En otras palabras, ninguna cantidad de seguridad proactiva garantizará un producto blindado, pero es innegable que tener una buena metodología de seguridad minimizará los riesgos considerablemente.
Diseñar para la seguridad
La seguridad por diseño es un enfoque para el desarrollo de software que integra las mejores prácticas de ciberseguridad a lo largo del ciclo de vida del desarrollo. Es la ciberseguridad proactiva en su máxima expresión, adoptando la idea de que diseñar y actualizar sus sistemas de seguridad es un proceso que nunca termina.
En el centro de este enfoque se encuentra la idea de desarrollo continuo. Implica que con cada paso del proceso de desarrollo se implementan nuevos sistemas y se prueban continuamente los sistemas antiguos. Al igual que ágil, desea fallar duro y fallar rápido. Cuanto antes se encuentre un exploit, más rápido se podrá parchear.
Si la idea es minimizar los errores que comprometen su seguridad, entonces necesita un conjunto de pautas y prácticas que ayuden a los desarrolladores a evitar esos errores y encontrarlos cuando inevitablemente uno pasa por alto. A continuación, se muestran algunos ejemplos de cómo adoptar la seguridad por diseño:
- Tecnología de confianza utilizada: es difícil resistir la tentación de utilizar la última tendencia para nuestro proceso de desarrollo, pero hay una razón por la que los bancos y los gobiernos son extremadamente lentos en la actualización de sus sistemas: confían en una tecnología de confianza que ha resistido la prueba del tiempo.
“De confianza” no significa necesariamente viejo, eso sí. Cuanto más tiempo esté algo en el mercado y más popular sea, mayores serán las probabilidades de llamar la atención de los ciberdelincuentes. En este sentido, por confiable nos referimos a tecnología que ha sido probada y verdadera, cuyos propietarios son abiertos sobre sus prácticas de seguridad y que su equipo conoce de adentro hacia afuera.
- Capacite a su equipo: un equipo de desarrolladores que esté al tanto de las amenazas y exploits que se encuentran en proyectos similares será más cuidadoso al crear software. Además, muchos desarrolladores que son creativos y muy talentosos, carecen de conocimientos en prácticas de seguridad. Como tal, enseñarles estrategias como los principios de OWASP SbD es una ganancia para ellos como profesionales y para su negocio.
- Privacidad al frente y al centro: GDPR cambió el panorama del desarrollo de software y ha traído un enfoque más consciente al manejo de datos personales. Una buena práctica es partir de la idea de que los datos personales son privados y desarrollar su seguridad en torno a esa noción.
Cree controles de seguridad para acceder y compartir datos personales, asegúrese de que la base de datos esté lo más aislada posible y mantenga el acceso al mínimo.
- IA y comprobaciones manuales: realice comprobaciones de rutina en su código, probando posibles vulnerabilidades. Existen excelentes herramientas que pueden verificar el código en busca de errores y exploits. Otro enfoque es hacer que tanto las pruebas internas como los consultores de seguridad revisen el proyecto para tratar de encontrar posibles riesgos de seguridad.
- Buenas prácticas de diseño: el código espagueti, la tecnología heredada y las deudas técnicas hacen que los proyectos sean más difíciles de mantener y parchear cuando se detecta una brecha de seguridad. Mantener su proyecto limpio y organizado ayuda a los desarrolladores a detectar posibles amenazas y corregir las vulnerabilidades que se encuentren en el futuro.
¿Por qué se necesita seguridad por diseño?
Parchear un riesgo de seguridad es mucho más fácil y económico bajo condiciones controladas cuando su equipo de desarrollo puede tomarse el tiempo para probar diferentes soluciones y ajustarlas según sea necesario hasta que estén satisfechas. Un entorno bastante diferente a cuando el equipo tiene que reparar apresuradamente una infracción que puede poner en peligro su información e incurrir en pérdidas.
También es más fácil implementar controles y protocolos de seguridad sobre la marcha que esperar hasta el final del desarrollo y luego tener que cambiar retroactivamente el código cuando se encuentra un riesgo. Al final, la seguridad por diseño conduce a tiempos de diseño más rápidos y soluciones más robustas, que es una de las mejores formas que tenemos para enfrentar las amenazas cibernéticas en la actualidad.
Comentarios recientes