GoConqr has a new look! Let us know what you think.

Mind map

PRÁCTICAS DE PROGRAMACIÓN SEGURA

Daniel Ferrández0159 Spanish

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.
  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

Information

Description
Mapa mental de programación
Views
44
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?