¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

PRÁCTICAS DE PROGRAMACIÓN SEGURA

Daniel Ferrández0159 Español

Contenido del mapa

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.
  1. 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
  2. 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.
  3. Reutilización de código bueno siempre que sea posible

  4. 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
  5. 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
  6. Sé amable con los mantenedores

    • Utilizar normas
      • Retirar código obsoleto
        • Análizar todos los cambios de código
  7. 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

Información

Descripción
Mapa mental de programación
Visitas
44
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?