Si algo empieza mal, mal acaba. Cuando se está desarrollando software hay que tener en cuenta la seguridad desde el primer segundo y aunque esto puede parecer muy obvio la realidad se impone y se evidencia que no siempre es así de ahí que tenga tanta importancia insistir en la importancia que tiene el desarrollo de código seguro. Se evitarían muchos sustos, se evitarían muchas modificaciones/actualizaciones y en definitiva se evitarían muchos gastos.
Pasan muchas cosas porque no se piensa en profundidad y detenidamente en las mil cosas que pueden pasar. Si se plantearan y se subsanaran errores desde el principio o mejor aún, si no se cometieran esos errores porque se piensa detenidamente antes de picar y picar código como si no hubiera mañana, mejor iría todo.
Pensando en esta máxima Jesús Hernández (@JHG_), estudiante de ingeniería informática en la UNED y técnico superior de administración de sistemas informáticos y redes que trabaja como desarrollador de software, ofreció una charla en las Jornadas de Ciberseguridad BitUp en Alicante.
En la ponencia, disponible a continuación tanto en vídeo como en podcast como es habitual en Palabra de hacker, puso el foco en la importancia del desarrollo de código seguro teniendo en cuenta los motivos por los que normalmente se suelen cometer errores y explicando cómo se puede hacer apoyándose en buenas prácticas, metodología, guías, lenguajes y sentido común.
¿Qué cosas hay que tener en cuenta para desarrollar código seguro?
Cuando se ven comprometidas la confidencialidad, la disponibilidad, la integridad o la autenticación, el mal ya está hecho por eso hay que plantearse que la seguridad debe ser la base sobre la que gire cualquier proyecto de software que se vaya a realizar y esta se debe contemplar a lo largo de todo el ciclo de vida del software. De nada sirve si no se tiene en cuenta todo el proceso.
En la charla Jesús explica que las causas más habituales por las que surgen fallos suelen ser desbordamientos, por problemas aritméticos, bloqueos mutuos, tipos de datos, variables no inicializadas, errores de lógica y algoritmos entre otros.
De ahí que se fije como máxima contemplar las SD3+C a la hora de desarrollar código seguro: la seguridad por defecto, la seguridad en el diseño, la seguridad en el despliegue y también la comunidad existente donde es primordial que exista una comunicación fluida y en la misma se compartan ideas, fallos, impresiones y soluciones.
Existen una serie de metodologías, guías y lenguajes en los que apoyarse para contemplar la seguridad desde el inicio:
- Metodologías de desarrollo seguro:
- OpenSAMM que forma parte del Proyecto OWASP (Open Web Application Security Project). Recomiendo revisar el ciberdebate que dediqué a OWASP y las tres guías de seguridad publicadas en OWASP que deberías conocer.
- SDL (Microsoft).
- Guías de código:
- MISRA C.
- NASA JPL coding standar for C.
- OWASP Secure Coding Practices.
- Lenguajes pensados para la seguridad:
- Ada y SPARK.
- Erlang y Elixir.
- Rust.
- Go.
*La presentación usada por Jesús está disponible en su perfil de Slideshare en este enlace y en esta lista de reproducción están disponibles los vídeos de las Jornadas BitUp publicados.
Si te ha gustado puedes dejarme abajo un comentario y compartir la entrada, el vídeo o el podcast para que otros también puedan disfrutarlo. ¡Gracias!
Vídeo
Podcast
¿Tienes Telegram? Suscríbete al canal de Palabra de hacker: https://t.me/palabradehacker
Periodista y formadora especializada en ciberseguridad de tú a tú y competencias digitales. Fundadora del canal divulgativo HangoutNEO y del canal especializado en ciberseguridad Palabra de hacker. Autora del libro «Ciberseguridad de tú a tú. Lo que tienes que conocer para sentirte más seguro» de la editorial 0xWord. Si quieres adquirir un ejemplar del libro y que te lo envíe firmado, escríbeme.
Me defino curiosa por naturaleza, apasionada de la comunicación, abanderada de la educación y amante del social media. Soy la profesional que te puede ayudar a mejorar tu seguridad digital, tu identidad digital y tus competencias digitales así que ¡lánzame un reto!