AJDERNIZ

Investigación con OWASP

Top 10

Categoría Descripción Prevención
Diseño inseguro El producto implica, por diseño, defectos de seguridad, los cuales no pueden ser remedidados por una "implementación perfecta". Tomar en cuenta asuntos de seguridad al desarrollar el diseño de un producto, en especial si es muy complejo.
Configuración errónea de seguridad Un producto presenta mala configuración en la forma de contraseñas por defecto, características innecesarias activadas, insuficiente endurecimiento, entre otros ejemplos.
  • Realizar chequeos frecuentes de endurecimiento.
  • Incorporar un sistema de auditoría de endurecimiento.
  • Eliminar todos los servicios y módulos innecesarios.
Fallos criptográficos El producto no oculta satisfactoriamente detalles confidenciales, haciendo posible que éstos sean accesados por usuarios no autorizados.
  • Clasificar los flujos de información, para determinar un rango de sensibilidad.
  • Implementar el cifrado de datos confidenciales.

Comunidad

Vulnerabilidades

Vulnerabilidad Descripción Prevención
Inyeccción de CSV/Inyección de fórmula Se insertan fórmulas maliciosas en celdas de hojas de cálculo, propiciando acceso no deseado en un host víctima.
  • Desalentar la descarga y visualización de archivos de hojas de cálculo de fuentes no confiables.
  • Si es absolutamente necesario, revisar que no hayan fórmulas en celdas donde no deberían de haber.
Cross-Site Scripting (XSS) Cuando se insertan scripts maliciosos en sitios web normalmente confiables.
  • Tratar la entrada de usuario como texto, sin interpretar secuencias de escape o caracteres especiales como algo más que caracteres.
  • Validar aportes de usuarios antes de incorporar dentro de un sitio.
Inyección de SQL Inserción de consultas o comandos maliciosos dentro de un campo de entrada, con el fin de extraer o insertar información en una base de datos.
  • Validar la entrada de usuario antes de procesarla.
  • Proveer un formato estricto para los campos de ingreso.
  • No permitir que la aplicación interactúe directamente con el servidor de base de datos.

Ataques

Ataque Descripción Prevención
Expresiones regulares muy laxas Se usan expresiones regulares (RegEx) con parámetros muy amplios, que podrían utilzarse para llevar a cabo un ataque de inyección.
  • Evitar utilizar expresiones regulares con comodines muy flexibles, como ".*".
  • Evitar el uso de expresiones regulares en general, si no son verdaderamente necesarias.
Buffer overflow Se presenta la posibilidad de que una entrada de usuario asigne más memoria de la deseada en la pila (stack), haciendo posible que se sobreescriba información de forma inesperada.
  • No confiar en la entrada de usuario.
  • Delimitar un rango estático para el campo de ingreso del usuario.
  • Avitar usar asignación dinámica de memoria.
Fuga de memoria La memoria asignada a la pila (stack) no es des-asignada, ocasionando que el programa utilice más memoria de la que es necesaria.
  • Des-asignar la memoria dinámica asignada tan pronto deja de ser necesaria.
  • Evitar utilizar memoria dinámica cuando no sea necesaria.
  • Utilizar lenguajes de programación con recolección de basura.