english
Logo Obelisk Blanco
Imagen cabecera

Buenas prácticas con OWASP Cheat Sheet

By Obelisk, 2020-06-04


En el mundo de desarrollo software es bastante habitual ver como se deja de lado algo tan importante como es la seguridad. Normalmente se busca la funcionalidad de la aplicación y su correcto funcionamiento y una vez está todo acabado, se realiza una revisión de vulnerabilidades. Esto tiene un coste relativamente elevado y es no es una metodología eficiente, ya que es necesario refactorizar partes de código ya hechas, con lo que se trabaja el doble.

Pero no sólo eso, modificar la programación a posteriori puede tener efectos colaterales en otras secciones de la aplicación, que quizás también tengan que ser reprogramadas para aceptar el nuevo código. Lo anterior unido a documentaciones inacabadas o directamente inexistentes es el cóctel perfecto para que un desarrollador pierda mucho más tiempo en entender cómo funciona la parte del código afectada y refactorizarlo que el que habría utilizado si directamente hubiese tenido en cuenta la seguridad desde el principio del proyecto.

No obstante, tener en mente la seguridad no siempre es sencillo, ya que a veces las temporizaciones son demasiado ajustadas o directamente no se tienen los conocimientos necesarios para llevarse a cabo. Para mitigar esto último en el caso del desarrollo web, OWASP Fundation (Open Web Application Security Project) tiene disponibles de manera gratuita una serie de escritos cortos sobre buenas prácticas en los distintos ámbitos de los proyectos software.

Actualmente el repositorio de Cheat Sheet cuenta con 64 temas distintos relacionados con buenas prácticas. Por supuesto, en estos escritos hay secciones específicas para autenticación, control de accesos y prevención de inyecciones, conocidas por todos, pero hay muchos otros menos conocidos, como seguridad CSS o buenas prácticas en la sección “Olvidé mi contraseña”.

Por ejemplo, en esta última cheat sheet podemos encontrar la necesidad de guardar en la sesión del usuario los pasos que éste va siguiendo a través de esta sección. Imaginemos que tenemos una web en la que se pide tras pulsar “olvidé mi contraseña” el nombre de usuario y después unas preguntas de seguridad. Es muy recomendable que el nombre de usuario se guarde en la sesión del usuario en el lado del servidor. Así si un atacante quisiese hacer envíos de fuerza bruta sobre las preguntas de seguridad, le faltaría el nombre de usuario en el lado del servidor, por lo que la petición podría ser rápidamente detectada como un ataque y rechazada.

Os recomendamos echar un vistazo a casi todas las sheets, ya que en cada una de ellas vais a aprender algo nuevo sobre desarrollo seguro que no aplicabais en vuestro software y nunca pensasteis que podía llegar a producir una vulnerabilidad.

Logo Obelisk Blanco

2021 © Obelisk Servicios y Comunicaciones S.L.

Políticas de: Privacidad, Cookies y RRSS