PDF de programación - Patrones de Ataque y de Seguridad como guía en el desarrollo de software

Imágen de pdf Patrones de Ataque y de Seguridad como guía en el desarrollo de software

Patrones de Ataque y de Seguridad como guía en el desarrollo de softwaregráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.060 visualizaciones desde el 14 de Enero del 2017
417,5 KB
10 paginas
Creado hace 8a (14/09/2015)
Patrones de Ataque y de Seguridad como guía en el

desarrollo de software

Ignacio Ramos

Universidad Tecnológica Nacional, Facultad Regional Santa Fe, Argentina

[email protected]

Abstract. Se parte de una pregunta desde la que se va a intentar, en este trabajo,
obtener una primera respuesta o acercamiento: Dado un conjunto bien definido
de patrones de seguridad ¿Son estos adecuados para repeler o mitigar un conjunto
concordante de patrones de ataque?
Mediante un recorrido cronológico sobre la investigación desarrollada en materia
de seguridad, previa y presente, se va a introducir cada concepto asociado a esta
pregunta tanto así como la importancia del tratamiento de esta información —su
catalogación—, las dificultades que presentan a la hora de llevarse a la práctica
y los avances que se están haciendo respecto de esto último.

Keywords: Patrones de Ataque. Patrones de Diseño. Seguridad. Software.

1

Introducción

1.1 Etapas previas

Teniendo en cuenta la presente popularización del uso de sistemas de software de ma-
nera cotidiana y los cambios constantes en todo aspecto del software, la necesidad de
inmediatez, de la salida temprana de un producto al mercado ha ido creciendo, con sus
implicaciones sobre la completitud sus pruebas de software, flexibilizando el control
de calidad. La existencia de vulnerabilidades en el software derivadas tanto del diseño
como de la programación está causada por dos factores primarios: complejidad y mo-
tivación. Los desarrolladores de software empujan para crear productos cada vez más
complejos, y se trabaja constantemente sobre el límite de complejidad manejable. Por
otra parte, aunque los vendedores fueran capaces de crear un software más seguro, la
economía de la industria de software provee poco incentivo para ello; los consumidores
generalmente recompensan a los vendedores por añadir rasgos y ser los primeros en
colocarlos en el mercado. Estas dos motivaciones están en tensión directa con el obje-
tivo de producir un software más seguro.

Al momento de iniciar mi trabajo como becario de investigación en 2012 ingresé en
un proyecto que ya presentaba continuidad en este apartado del software desde 2009 y
donde se planteó ver a la seguridad como un aspecto transversal que recorre a todas las
etapas del proceso de desarrollo de software y al mismo tiempo genera realimentación
para proyectos sucesivos. Estos trabajos previos fueron demostrando progresivamente

EST 2015, 18º Concurso de Trabajos Estudiantiles. 44 JAIIO - EST 2015 - ISSN: 2451-761256 que ha habido grandes avances tanto técnicos como de concientización sobre la seguri-
dad en los sistemas pero están muy detrás en lo que respecta a la velocidad de cambio
del software antes mencionada.

En dichos trabajos se analizó a la seguridad, no solo como un requerimiento de
calidad integral sino también como un requerimiento a considerar en todas las fases del
ciclo de vida del desarrollo de software

Se definieron actividades integrables al ciclo de vida: 1. Identificar objetivos de segu-
ridad; 2. Aplicar guías de diseño de seguridad; 3. Crear modelos de amenazas; 4. Conducir
revisiones de seguridad de la arquitectura y el diseño; 5. Completar revisiones de seguri-
dad de la implementación; 6. Ejecutar revisiones de seguridad del despliegue [1].

Se probaron diferentes herramientas y metodologías a aplicar en cada etapa del desa-
rrollo, se elaboró una conclusión que dio sustento teórico al proyecto bajo el cual in-
gresé y abrió las puertas a una vacante, espacio a profundizar y probar, dentro de los
patrones de diseño.

1.2

Inicio como becario

La primera instancia de mi participación fue de preparación, en la que participé de la
elaboración de un glosario de términos y en un estudio generalizado sobre el material
asociado a la seguridad, y con mi inclusión se comenzó a profundizar en lo que son los
patrones de seguridad como una alternativa viable para acercar la teoría de seguridad
—abundante y compleja en muchos niveles— a la puesta en práctica.

2

Patrones de seguridad

Los patrones de seguridad (PS) son una metodología que capta la experiencia en solu-
ciones implementadas por expertos de seguridad, que son abstraídas de contexto y des-
critas bajo un conjunto de especificaciones [2].

Lo que proponen ante las distintas etapas del ciclo de vida de desarrollo del software
es evitar la implementación de soluciones propias, mediante la selección de un conjunto
de patrones de seguridad ya definidos que sean contextualmente coherentes al entorno
del sistema a construir, para luego realizar su profundización y aplicación, lo que puede
marcar la diferencia en la defensa ante posibles amenazas. De esta manera no solo se
puede tener un mejor manejo del dominio de la seguridad de un sistema sino que tam-
bién se puede realimentar a las descripciones de los patrones para avanzar en conjunto
en pos de mejores y más completas soluciones futuras.

Si bien cada patrón se focaliza en proveer una solución auto-contenida para resolver
un problema específico, los patrones no son independientes unos de otros. Existen re-
laciones, y muchas veces la solución propuesta de cierto patrón se obtiene a partir de la
implementación de un conjunto de otros patrones, de la misma manera en que un pro-
blema general es enmendado por la resolución de sub-problemas menores.

Los patrones de seguridad fueron definidos en múltiples trabajos con diferentes ca-
racterísticas y en diferente profundidad, sin haber “estándares” que definan su correcta
descripción y difusión [3]. A fines de usar un ejemplo como aclaración, en la Tabla 1

EST 2015, 18º Concurso de Trabajos Estudiantiles. 44 JAIIO - EST 2015 - ISSN: 2451-761257 se ve la catalogación de un patrón de seguridad simple, presente en el índice creado
bajo este mismo proyecto y desarrollado más adelante.

Tabla 1. Ejemplo de catálogo de un Patrón de Seguridad típico, con sus Atributos asociados.



3

Proyecto de mapeo

Partiendo del trabajo anterior, se generó la propuesta comenzada en 2014, con el obje-
tivo de analizar la contribución de los patrones para la generación de inteligencia aso-
ciada al desarrollo de software seguro.

Se distinguieron y refinaron un conjunto de criterios que ayudan a la producción de

software seguro:

 Tener presente que la seguridad y el costo de desarrollo de un producto de software

dependen fuertemente del conocimiento que se tenga de sus requisitos.

 Incluir el tratamiento de la seguridad en cada una de las diferentes etapas del proceso
de desarrollo de software es un criterio aceptado para mejorar la seguridad del pro-
ducto final [4] [5].

 Emplear los patrones de seguridad, ya que representan las mejores prácticas logradas
por la industria, a fin de detener o limitar ataques que comprometen la seguridad del
software [2] [3] [6].

 Emplear los patrones de ataque en la descripción de los métodos utilizados para la

explotación del software.

Este proyecto pone foco en los últimos dos puntos dado que se considera que son los
que más aportan a la captura de inteligencia de seguridad, de una manera sistemática y
comunicable [7] [8].

EST 2015, 18º Concurso de Trabajos Estudiantiles. 44 JAIIO - EST 2015 - ISSN: 2451-761258 4

Patrones de ataque

Los patrones de ataque (PA) constituyen también una herramienta de conocimiento
para el diseño, desarrollo y despliegue de software seguro, que permite capturar y co-
municar la perspectiva del atacante (completan la definición de una amenaza).

Conforman la descripción de los métodos utilizados para explotar software, orienta-
dos (desde el punto de vista de diseño) a un objetivo relativamente “destructivo” y que
son un elemento clave para identificar y comprender las diferentes perspectivas en las
que una amenaza se puede convertir en una vulnerabilidad. Ofrecen información que
permite determinar factores de riesgo, evaluaciones de impacto, detección proactiva de
ataques y apoyo en las decisiones de seguridad [9].

De esta manera, brindan una forma coherente de enseñar a diseñadores y desarrolla-
dores como sus sistemas pueden ser atacados y como pueden efectivamente defenderse.

Podemos resumir los beneficios que se obtienen de su uso de la siguiente manera:
 Ayudan a categorizar los ataques de una forma significativa, haciendo posible un
análisis efectivo de los problemas y las soluciones; en lugar de adoptar un enfoque
ad-hoc para la seguridad del software, los PA permiten identificar los tipos de ata-
ques conocidos a los que una aplicación puede estar expuesta y así construir en la
propia aplicación las mitigaciones adecuadas;

 Contiene el nivel de detalle suficiente acerca de cómo tienen lugar los ataques de tal
forma que los desarrolladores pueden ayudar a prevenirlos. Sin embargo, por lo ge-
neral, no contienen detalles específicos inapropiados acerca de los exploits reales a
fin de no favorecer el aprendizaje no deseado por parte de atacantes menos expertos.
La idea de fondo es que no se los pueda utilizar directamente para crear exploits
automatizados.

Los Patrones de ataque cumplen un rol entre tantos dentro del “conocimiento en segu-
ridad de la arquitectura de software”. Otros artefactos asociados pueden ser: casos de
desuso/abuso, requerimientos de seguridad, modelos de amenazas, árboles de ataque,
etc.

5

La catalogación de patrones

5.1 Catalogación de Patrones de Seguridad

Desde el proyecto de investigación se desarrolló un trabajo considerando la consigna
de que la información ofrecida por un catálogo resulte apropiada para “encontrar” el
patrón de seguridad, que fue presentado en [10]. Esta información se extrae o infiere de
la descripción del propio patrón, e incluye extensiones que faciliten su categorización
conforme a dos criterios establecidos: a) el o los atributos de seguridad impac
  • Links de descarga
http://lwp-l.com/pdf1692

Comentarios de: Patrones de Ataque y de Seguridad como guía en el desarrollo de software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad