PRÁCTICAS DE PROGRAMACIÓN SEGURA

Description

Mapa mental de programación
Daniel Ferrández0159
Mind Map by Daniel Ferrández0159, updated more than 1 year ago
Daniel Ferrández0159
Created by Daniel Ferrández0159 over 8 years ago
38
0

Resource summary

PRÁCTICAS DE PROGRAMACIÓN SEGURA

Annotations:

  • 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:
    1. Una buena forma de evitar fallos...

      Annotations:

      • es estudiar y comprender los errores que otros hayan cometido a la hora de desarrollar el software.     
      1. Internet es...

        Annotations:

        • el hogar de una gran variedad de foros públicos donde se debaten con frecuencia problemas de vulnarabilidad de software.
        1. Leer libros ...

          Annotations:

          • y artículos sobre prácticas de codificación segura
          1. Explorar ...

            Annotations:

            • 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

      Annotations:

      • La mayoría de programas acptan datos que pueden ser adquiridos desde múltiples fuentes de entrada, se debe verificar cada pieza¡
      1. Limpiar datos

        Annotations:

        • 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.
        1. Realizar la comprobación de límites

          Annotations:

          • 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.
          1. Revisar ficheros de configuración

            Annotations:

            • Necesario revisar los datos como, si se tratase de una entrada de datos por teclado, ya que pueden ser manipulados por un atacante.
            1. Comprobar los parámetros de la línea de comandos.
              1. No fiarse de las URLs web.

                Annotations:

                • El usuario puede alterar directamente la URL dentro de su navegador.
                1. Comprobar cookies web

                  Annotations:

                  • Los valores pueden ser modificados por el usuario final y no se debe confiar en ellas
                  1. Comprender las referencias de nombre del fichero
                    1. Especial atención al almacenamiento de información

                      Annotations:

                      • Es vital importancia proteger la información considerada confidencial.
      2. Reutilización de código bueno siempre que sea posible
        1. Insistir en la revisión de los procesos
          1. Realzar un revisión por partes

            Annotations:

            • Recomendable el desarrollo de un lista de cosas que buscar, ha de ser revisada y mantenida.
            1. Realizar una validación y verificación independiente

              Annotations:

              • Revisar el código fuente (en proyectos más formales) línea por línea, para garantizar que se ajusta al diseño.
              1. Identificar y utilizar las herramientas de seguridad disponibles
          2. Utilizar listas de control de seguridad

            Annotations:

            • Estas listas pueden ser muy útiles para asegurar de  que han cubierto todas las fases durante la ejecución
            1. Este sistema de aplicación requiere de un contraseña
              1. Todos los inicios de sesión de usuario son únicos
                1. Esta aplicación utiliza el sistema de control de acceso a datos basado en roles
                  1. Las contraseñas no se transmiten a través de la red e texto plano
                    1. Cifrado para proteger los datos
            2. Sé amable con los mantenedores
              1. Utilizar normas
                1. Retirar código obsoleto
                  1. Análizar todos los cambios de código
              2. Las cosas que NO se deben hacer a la hora de programar
                1. Escribir código que útiliza nombres de fichero relativos
                  1. Referirse dos veces en el mismo programa a un fichero por su nombre
                    1. Invocar programas no confiables dentro de los programas
                      1. Asumir que los no son maliciosos
                        1. Dar por sentado el exito
                          1. Invocar un shell o una linea de comandos
                            1. Autenticarse en criterios que no sean de confianza
                              1. Utilizar áreas de almacenamiento con permisos de escritura
                                1. Guardar datos confidenciales en una base de datos sin protección ni contraseña
                                  1. Hacer eco en las contraseñas o mostrarlas en la pantalla del usuario
                                    1. Emitir contraseñas vía e-mail
                                      1. Distribuir mediante programación información confidencial a traves de correo electrónico
                                        1. Guardar contraseñas sin cifrar
                                          1. Transmitir entre los sistemas sin encriptar
                                            1. Tomar decisiones de acceso basadas en variebles de entorno o parámetros de línea de comandos
                                              1. Evitar en la medida de lo posible, confiar en software o los servicios de terceros para operaciones críticas
                Show full summary Hide full summary

                Similar

                Operadores Python
                Giovanni Sanhuez
                Mis Recursos de Programación
                maya velasquez
                FUNDAMENTOS DE REDES DE COMPUTADORAS
                anhita
                Editor Dibujo Paint
                gladiscj
                Herramientas de Software para Comercio y Finanzas
                mishelleisabel
                PROGRAMACIÓN ORIENTADA A OBJETOS - TERCER CORTE
                Jose Anacona Pira
                Parcial Fundamento de Programación
                ALBERTO MANUEL PATERNINA LEON
                Lenguaje de programación.
                Lina Melo
                FUNDAMENTOS DE BASES DE DATOS
                Francisco Hernandez
                Introducción a la Programación
                Diego Benavides
                Test sobre programación en ARDUINO
                Santi tecnoprofe