Mind map
PRÁCTICAS DE PROGRAMACIÓN SEGURA
Map content
PRÁCTICAS DE PROGRAMACIÓN SEGURA
- Es habitual que los clientes de software reciban parches con actualizaciones con parches para subsanar algún bug de los programas que ya tiene instalados en su ordenador.
INFORMARSE:
- Una buena forma de evitar fallos...
- es estudiar y comprender los errores que otros hayan cometido a la hora de desarrollar el software.
- Internet es...
- el hogar de una gran variedad de foros públicos donde se debaten con frecuencia problemas de vulnarabilidad de software.
- Leer libros ...
- y artículos sobre prácticas de codificación segura
- Explorar ...
- el software de código abierto, hay cantidad de ejemplos de cómo llevar a cabo deiversasaciones
- Una buena forma de evitar fallos...
PRECAUCIÓN EN EL MANEJO DE DATOS
- La mayoría de programas acptan datos que pueden ser adquiridos desde múltiples fuentes de entrada, se debe verificar cada pieza¡
- Limpiar datos
- Es el proceso de examen de los datos de entrada. Por ejemplo alteración de del juego de carácteres, uso de caracteres no permitidos, desbordamiento de bufer de datos.
- Realizar la comprobación de límites
- Hemos de verificar que los datos que le estamos pasando no desbordan el bufer. Revisar indices de arrays y garantizar que estos están dentro de sus límites.
- Revisar ficheros de configuración
- Necesario revisar los datos como, si se tratase de una entrada de datos por teclado, ya que pueden ser manipulados por un atacante.
- Comprobar los parámetros de la línea de comandos.
- No fiarse de las URLs web.
- El usuario puede alterar directamente la URL dentro de su navegador.
- Comprobar cookies web
- Los valores pueden ser modificados por el usuario final y no se debe confiar en ellas
- Comprender las referencias de nombre del fichero
- Especial atención al almacenamiento de información
- Es vital importancia proteger la información considerada confidencial.
- Especial atención al almacenamiento de información
- No fiarse de las URLs web.
Reutilización de código bueno siempre que sea posible
Insistir en la revisión de los procesos
- Realzar un revisión por partes
- Recomendable el desarrollo de un lista de cosas que buscar, ha de ser revisada y mantenida.
- Realizar una validación y verificación independiente
- Revisar el código fuente (en proyectos más formales) línea por línea, para garantizar que se ajusta al diseño.
- Identificar y utilizar las herramientas de seguridad disponibles
- Realzar un revisión por partes
Utilizar listas de control de seguridad
- Estas listas pueden ser muy útiles para asegurar de que han cubierto todas las fases durante la ejecución
- Este sistema de aplicación requiere de un contraseña
- Todos los inicios de sesión de usuario son únicos
- Esta aplicación utiliza el sistema de control de acceso a datos basado en roles
- Las contraseñas no se transmiten a través de la red e texto plano
- Cifrado para proteger los datos
- Las contraseñas no se transmiten a través de la red e texto plano
- Esta aplicación utiliza el sistema de control de acceso a datos basado en roles
- Todos los inicios de sesión de usuario son únicos
Sé amable con los mantenedores
- Utilizar normas
- Retirar código obsoleto
- Análizar todos los cambios de código
- Retirar código obsoleto
- Utilizar normas
Las cosas que NO se deben hacer a la hora de programar
- Escribir código que útiliza nombres de fichero relativos
- Referirse dos veces en el mismo programa a un fichero por su nombre
- Invocar programas no confiables dentro de los programas
- Asumir que los no son maliciosos
- Dar por sentado el exito
- Invocar un shell o una linea de comandos
- Autenticarse en criterios que no sean de confianza
- Utilizar áreas de almacenamiento con permisos de escritura
- Guardar datos confidenciales en una base de datos sin protección ni contraseña
- Hacer eco en las contraseñas o mostrarlas en la pantalla del usuario
- Emitir contraseñas vía e-mail
- Distribuir mediante programación información confidencial a traves de correo electrónico
- Guardar contraseñas sin cifrar
- Transmitir entre los sistemas sin encriptar
- Tomar decisiones de acceso basadas en variebles de entorno o parámetros de línea de comandos
- Evitar en la medida de lo posible, confiar en software o los servicios de terceros para operaciones críticas
- Tomar decisiones de acceso basadas en variebles de entorno o parámetros de línea de comandos
- Transmitir entre los sistemas sin encriptar
- Guardar contraseñas sin cifrar
- Distribuir mediante programación información confidencial a traves de correo electrónico
- Emitir contraseñas vía e-mail
- Hacer eco en las contraseñas o mostrarlas en la pantalla del usuario
- Guardar datos confidenciales en una base de datos sin protección ni contraseña
- Utilizar áreas de almacenamiento con permisos de escritura
- Autenticarse en criterios que no sean de confianza
- Invocar un shell o una linea de comandos
- Dar por sentado el exito
- Asumir que los no son maliciosos
- Invocar programas no confiables dentro de los programas
- Referirse dos veces en el mismo programa a un fichero por su nombre
- Escribir código que útiliza nombres de fichero relativos
Information
- Description
- Mapa mental de programación
- Created by
- Daniel Ferrández0159
- Views
- 44
- Tags
- Rating