Seguridad en El Desarrollo de Sistemas de Información
-
Upload
juannavarro -
Category
Documents
-
view
217 -
download
0
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