domingo, 15 de noviembre de 2009

Patrones de seguridad para SOA

Cuando aplicamos en general la seguridad atacamos diferentes dimensiones: La primera es la Autenticación que nos indica como nos vamos a autenticar a un servicio, la segunda Autorización es decir que operaciones podemos hacer a que recursos podemos acceder, la tercera es la Auditoría o conocida como no repudio donde podemos hacer rastreos de las operaciones no autorizadas y las ultimas Confidencialidad, Integridad y Disponibilidad las cuales nos aseguran que los datos son confiables, que no fueron alterados en el transporte y que nuestros servicios deben seguir disponibles para nuestros usuarios


EXCEPTION SHIELDING

Problema: Sin filtrar datos de la excepción de salida de un servicio, este puede contener detalles de la implementación interna que puede comprometer la seguridad del servicio y su entorno.

Solución: Asegurar las excepciones sustituyendo los datos sensibles de la excepción, por datos seguros.

Aplicación: En tiempo de diseño, mediante ejecución (subrutinas).

Impacto: El seguimiento de errores es más difícil.



Message Screening

Problema: Un atacante puede transmitir mensajes con contenido malicioso o incorrecto a un servicio, dando lugar a un comportamiento indeseable.

Solución: Cuando un servicio recibe un mensaje, éste hace una serie de controles para detectar el contenido del mensaje de datos dañinos

Aplicación: Cuando un servicio recibe un mensaje este hace una serie de chequeos para detectar el contenido mal formado.

Impacto: Se requiere tiempo de procesamiento extra, y la lógica de detección requiere rutinas especializadas para procesar contenido de los mensajes binarios, tales como archivos adjuntos

Trusted Subsystem

Problema: Un consumidor que tiene acceso a los recursos backend de un servicio directamente, puede comprometer la integridad de los recursos

Solución: El servicio está diseñado para utilizar sus propias credenciales de autenticación y autorización de los recursos backend en nombre de los consumidores

Aplicación: Dependiendo de la naturaleza de los recursos subyacentes, varias opciones de diseño y tecnologías de seguridad se pueden aplicar

Impacto: Si este tipo de servicio se ve comprometido por los atacantes o usuarios no autorizados, puede ser explotado para acceder a una amplia gama de recursos.

Service perimeter guard

Problema: Los consumidores externos que requieren acceso a uno o más servicios en una red privada, podrían atacar el servicio o usuario para acceder a recursos internos

Solución: Un servicio intermedio se establece en el perímetro de la red y este es asignado para trabajar con un FireWall así que pueda establecer comunicación entre la red externa y la interna

Aplicación: Establecer un mecanismo seguro, entre redes externas e internas

Impacto: Adiciona complejidad y sobrecarga al rendimiento ya que hay una labor intermedia
Para más información: http://www.soapatterns.org/masterlist_c.asp

Modelos operacionales

Las empresas tienen modelos operativos y es importante que estas hagan uso de la tecnología para apoyar su modelo.

Dentro de la “Arquitectura Empresarial” (En otro post ampliare este concepto), es importante que las empresas identifiquen en que cuadrante “están” o a cual se quieren “mover en el futuro” ya que la forma de operar debe estar alineada con la estrategia de la organización. A continuación presento un mapa mental que presenta un resumen del paper del MIT donde se encuentran explicados estos modelos:

http://web.mit.edu/cisr/resbrfgs/2005_12_3C_OperatingModels.pdf