Seguridad en El Desarrollo de Sistemas de Información

download Seguridad en El Desarrollo de Sistemas de Información

of 4

Transcript of Seguridad en El Desarrollo de Sistemas de Información

  • 7/23/2019 Seguridad en El Desarrollo de Sistemas de Informacin

    1/4

    SEGURIDAD EN EL DESARROLLO DE SISTEMAS DE INFORMACIN

    El desarrollo de sistemas es una tarea compleja, ya que es necesario tener en

    cuenta de manera simultnea muchos elementos. Por lo tanto, es indispensable

    usar una metodologa de programacin.

    Una metodologa de programacin es un conjunto o sistema de mtodos,

    principios y reglas que permiten enfrentar de manera sistemtica el desarrollo

    de un programa que resuele un problema algortmico. Estas metodologas

    generalmente se estructuran como una secuencia de pasos que parten de la

    definicin del problema y culminan con un programa que lo resuele.

    ! continuacin se presenta de manera general los pasos de una metodologa"

    El Dilogo:#on la cual se busca comprender totalmente el problema aresoler.

    La Especificacin:#on la cual se establece de manera precisa las

    entradas, salidas y las condiciones que deben cumplir.

    Diseo" En esta etapa se construye un algoritmo que cumpla con la

    especificacin.

    Co!ificacin:$e traduce el algoritmo a un lenguaje de programacin.

    "#$e%a & 'e#ificacin:$e reali%an pruebas del programa

    implementado para determinar su alide% en la resolucin del problema.

    &a seguridad del cdigo fuente de un soft'are cuyo objetio es encontrar y

    solucionar los errores de soft'are, esto incluye" Utili%acin de funciones

    seguras para proteger de desbordamientos de pila, declaracin segura de

    estructuras de datos, control del trabajo con el flujo de datos, anlisis profundo

    de otros errores de soft'are mediante testeos del soft'are en ejecucin y

    creacin de parches para los mismos, dise(o de parches para proeer un cierto

    grado de seguridad proactia, utili%acin de criptografa y otros mtodos para

    eitar que el soft'are sea crac)eado.

    &a programacin defensia es algunas eces referida como programacin

    segura por los cientficos de computacin los cuales ubican este enfoqueminimi%ando errores de soft'are.

  • 7/23/2019 Seguridad en El Desarrollo de Sistemas de Informacin

    2/4

    T(cnicas !e p#og#a)acin !efensi*a

    !lgunas tcnicas de programacin defensia sugeridas por algunos de los

    cientficos lderes de computacin para disminuir y*o eitar problemas de

    seguridad y errores de soft'are"

    Re!$ci# co)ple+i!a! !el c!igo f$en,e:+unca hacer el cdigo ms

    complejo que lo necesario. &a complejidad genera bugs, dificultad de

    mantenimiento incluyendo problemas de seguridad.

    "#$e%as !e sof,-a#e:&as pruebas de soft'are debern ser para casos con

    entradas correctas e incorrectas. &as herramientas de prueba pueden capturarentradas de teclado asociadas con operaciones normales. &uego las cadenas de

    teto de estas entradas capturadas pueden ser copiadas y editadas para

    ensayar todas las permutaciones y combinaciones, luego ampliarlas para tests

    posteriores despus de cualquier modificacin.

    "#og#a)acin !e a$,o #ec$pe#acin: $e considera lo ms posible escribir

    programas que puedan recuperarse de cualquier error y manejar cualquier

    entrada de datos. -anejar todas las ocurrencias inesperadas en un programa

    requiere que el programador adicione cdigo etra, el cual pudiera tambin

    tener bugs.

    Re$,ili.acin in,eligen,e !el c!igo f$en,e:En lo posible se escribe cdigo

    fuente separando la lgica del negocio de los algoritmos implementados del

    proceso del negocio. &a idea es capturar beneficios de un bien escrito y bien

    probado cdigo fuente, en e% de crear bugs innecesarios.

    Los p#o%le)as !e lega!o:!ntes de reutili%ar iejo cdigo fuente, bibliotecas,!Ps, configuracin y dems, debe ser considerado si el trabajo anterior es

    lido para reutili%ar, o si es propenso a problemas de legado. &os problemas de

    legado son problemas inherentes cuando se espera que iejos dise(os trabajen

    con los requerimientos actuales, especialmente cuando estos iejos dise(os no

    fueron desarrollados o probados con estos requerimientos en mente.

    "#incipio !el )eno# p#i*ilegio:Emplear el principio del menor priilegio, +o

    conceder ms permisos que los necesarios. Preferir conceder permisos a grupos

    peque(os de usuarios o usuarios especficos.

  • 7/23/2019 Seguridad en El Desarrollo de Sistemas de Informacin

    3/4

    /a+a ,ole#ancia con,#a e##o#es po,enciales:!sumir que el cdigo

    construido /+o est al tanto de todos los tipos de eplotaciones de seguridad0 y

    se prepara el cdigo para ser proactio utili%ando el mecanismo de manejo de

    ecepciones en el lenguaje para indicar que un estado errneo del sistema ha

    sido detectado y se guarda en bitcora 1Tratar de forma segura los errores2, y

    en lo posible permitir a actuali%aciones automticas.

    Con,#oles

    3odo sistema deber contar con mecanismos de seguridad que alcancen a las

    entradas, procesos, almacenamiento y salidas.

    &os controles establecen un marco de trabajo para asegurar que sean

    respetados y aplicados los mecanismos y polticas de seguridad" -onitoreo del uso del soft'are, con notificaciones automticas de

    situaciones que ponen en riesgo la continuidad de la operacin y la

    seguridad de la informacin.

    4eneracin de bitcoras de operacin sobre informacin crtica y sensible

    con anlisis de uso as como alertas y notificaciones en situaciones de

    riesgo.

    #ontroles de operacin y configuracin de equipo de cmputo referido a

    cada sistema.

    #ontrol de seguridad de datos por roles, ejemplo" cuentas especficas

    para la aplicacin, cuentas de usuario, cuentas del desarrollador,

    cuentas para la capacitacin, cuentas de usuarios eternos5

    #ontroles sobre el proceso de implementacin con diferentes puntos

    auditables del proceso.

    #ontroles administratios para garanti%ar que se llean adecuadamente

    reglas y procedimientos.

    Ealuacin del soft'are" 6eisin y auditorias del cdigo que aseguren

    que se respetan los estndares establecidos as como los documentos

    metodolgicos.

    #ontrol preliminar" El sistema erifica los atributos, cantidades y

    disponibilidad de recursos necesarios para su operacin.

    Consi!e#aciones !e co!ificacin:

    Evitar exponer las referencias

    Vericar la autorizacin en todos los accesos

    Usar referencias indirectas

    Diferenciar datos validados de los del usuario

  • 7/23/2019 Seguridad en El Desarrollo de Sistemas de Informacin

    4/4

    Evitar el uso de cookies

    Comprobar la aplicacin con todo tipo de datos de entrada invlidos analizar

    los mensa!es generados

    Estrategia com"n para gestionar excepciones

    Des#abilitar o limitar los detalles mostrados sobre errores $especialmente de

    capas internas% &D' ()***+

    ,o usar los gestores de error por defecto

    -arantizar .ue los caminos de e!ecucin sensibles devuelven mensa!es de error

    id/nticos en ms o menos el mismo tiempo $o #acerlo aleatorio+

    Usar ((0 exclusivamente para todo acceso autenticado

    Encriptar todas las credenciales tokens para almacenarlos $solo en mviles+

    ,o exponer datos sensibles en U10s o registros

    Utilizar un "nico mecanismo de autenticacin ,o usar direcciones 23' direcciones de dominio$ D,(+

    (er cuidadoso con el env4o de contrase5as a direcciones de correo

    0imitar o eliminar el uso de cookies para la autenticacin o gestin de sesiones

    $e!% recordar al usuario en el sitio 6eb+

    ,o aceptar id* de sesin nuevos' preestablecidos o invlidos en U10s o

    peticiones $evitar 7session xation attacks8+

    Crear una nueva sesin tras la autenticacin o cambio de nivel de privilegio

    3roporcionar enlaces para desconectarse

    Utilizar mecanismos de autodesconexin

    (lo almacenar lo imprescindible

    Usar algoritmos probados $no crear nuevos+

    ,o usar algoritmos d/biles $e!% 9D:' (;+

    -estin cuidadosa de claves

    Claves generarlas fuera de l4nea