Secure Coding 101
Ponencia de Marta Macías perteneciente al módulo Bases de datos y desarrollo de software seguro de C1b3rWall Academy 22/23
Tiempo de lectura estimado: 4 minutos
Los ciberatacantes buscan vulnerabilidades casi de forma automatizada, no les cuesta nada atacar a una empresa más que menos. No es frecuente que consigan atacar a una organización en concreto, pero cuando lo consiguen el daño es enorme, por lo que un buen test coverage puede prevenir muchos problemas.
¿Dónde enfocarse para hacer código seguro?
Existen diversas posibilidades:
- Validación de entrada / tratamiento de la salida.
- Autenticación y gestión de credenciales.
- Gestión de sesiones.
- Control de acceso.
- Configuración del sistema.
- Sistema de archivos.
Fuzzing, Carbon y Rust
El fuzzing es una técnica que consiste en insertar en un programa un gran volumen de datos aleatorios para ver cómo reacciona. Gracias a esta técnica se pueden encontrar vulnerabilidades de seguridad.
Actualmente, la industria se está moviendo hacia el uso de lenguajes con un manejo de memoria más seguro, como es el lenguaje de programación Carbon, de Google. Hay una alternativa más estable llamada Rust, que ofrece seguridad y fiabilidad.
User handling
En cuanto a la gestión de usuario, hay una serie de pautas a tener en cuenta:
- Cada usuario debe tener limitados sus privilegios.
- Debe quedar constancia de todo lo que hace un usuario: recursos cambiados, accedidos, borrados, creados, etc.
- A ser posible, usar un identity provider ya conocido en vez de implementar uno nuevo: Firebase, Okta, etc.
- Si se implementa uno nuevo, conviene obligar a los usuarios a tener MFA, cifrar los tokens que los usuarios utilicen para autenticarse con nuestras APIs y guardar las contraseñas hasheadas.
¿Todavía no formas parte de C1b3rWall Academy? El contenido es gratuito, únete a otras miles de personas desde este enlace.
Si te interesa este tema, puedes consultar la información y cursar el Máster en Ciberseguridad o ver la oferta de másteres desde aquí.
Ponente: Marta Gómez Macías
Marta es ingeniera software en VirusTotal. Es graduada en Ingeniería Informática por la UGR y acumula cinco años de experiencia en ciberseguridad.
- Contacto: mgmacias@virustotal.com
- Redes sociales: Twitter y GitHub.
¿Cuál es tu reacción?