domingo, 1 de diciembre de 2013

Almacén de datos (Datawarehouse) y un tablero de control



DATAWAREHOUSE
Un Datawarehouse es una base de datos corporativa que se caracteriza por integrar y depurar información de una o más fuentes distintas, para luego procesarla permitiendo su análisis desde infinidad de perspectivas y con grandes velocidades de respuesta. La creación de un datawarehouse representa en la mayoría de las ocasiones el primer paso, desde el punto de vista técnico, para implantar una solución completa y fiable de Business Intelligence.

La ventaja principal de este tipo de bases de datos radica en las estructuras en las que se almacena la información (modelos de tablas en estrella, en copo de nieve, cubos relacionales... etc). Este tipo de persistencia de la información es homogénea y fiable, y permite la consulta y el tratamiento jerarquizado de la misma (siempre en un entorno diferente a los sistemas operacionales).


El término Datawarehouse fue acuñado por primera vez por Bill Inmon, y se traduce literalmente como almacén de datos. No obstante, y como cabe suponer, es mucho más que eso. Según definió el propio Bill Inmon, un datawarehouse se caracteriza por ser:


*   Integrado: los datos almacenados en el datawarehouse deben integrarse en una estructura consistente, por lo que las inconsistencias existentes entre los diversos sistemas operacionales deben ser eliminadas. La información suele estructurarse también en distintos niveles de detalle para adecuarse a las distintas necesidades de los usuarios.

*  Temático: sólo los datos necesarios para el proceso de generación del conocimiento del negocio se integran desde el entorno operacional. Los datos se organizan por temas para facilitar su acceso y entendimiento por parte de los usuarios finales. Por ejemplo, todos los datos sobre clientes pueden ser consolidados en una única tabla del datawarehouse. De esta forma, las peticiones de información sobre clientes serán más fáciles de responder dado que toda la información reside en el mismo lugar.

*   Histórico: el tiempo es parte implícita de la información contenida en un datawarehouse. En los sistemas operacionales, los datos siempre reflejan el estado de la actividad del negocio en el momento presente. Por el contrario, la información almacenada en el datawarehouse sirve, entre otras cosas, para realizar análisis de tendencias. Por lo tanto, el datawarehouse se carga con los distintos valores que toma una variable en el tiempo para permitir comparaciones.

*   No volátil: el almacén de información de un datawarehouse existe para ser leído, pero no modificado. La información es por tanto permanente, significando la actualización del datawarehouse la incorporación de los últimos valores que tomaron las distintas variables contenidas en él sin ningún tipo de acción sobre lo que ya existía.


Otra característica del datawarehouse es que contiene meta datos, es decir, datos sobre los datos. Los meta datos permiten saber la procedencia de la información, su periodicidad de refresco, su fiabilidad, forma de cálculo... etc.

Los meta datos serán los que permiten simplificar y automatizar la obtención de la información desde los sistemas operacionales a los sistemas informacionales.

Por último, destacar que para comprender íntegramente el concepto de datawarehouse, es importante entender cual es el proceso de construcción del mismo, denominado ETL (Extracción, Transformación y Carga), a partir de los sistemas operaciones de una compañía:



  • Extracción: obtención de información de las distintas fuentes tanto internas como externas.
  • Transformación: filtrado, limpieza, depuración, homogeneizan y agrupación de la información.
  • Carga: organización y actualización de los datos y los meta datos en la base de datos.




Una de las claves del éxito en la construcción de un datawarehouse es el desarrollo de forma gradual, seleccionando a un departamento usuario como piloto y expandiendo progresivamente el almacén de datos a los demás usuarios. Por ello es importante elegir este usuario inicial o piloto, siendo importante que sea un departamento con pocos usuarios, en el que la necesidad de este tipo de sistemas es muy alta y se puedan obtener y medir resultados a corto plazo.


PRINCIPALES APORTACIONES DE UN DATAWAREHOUSE




*  Proporciona una herramienta para la toma de decisiones en cualquier área funcional, basándose en información integrada y global del negocio.

*  Facilita la aplicación de técnicas estadísticas de análisis y modelización para encontrar relaciones ocultas entre los datos del almacén; obteniendo un valor añadido para el negocio de dicha información.

*  Proporciona la capacidad de aprender de los datos del pasado y de predecir situaciones futuras en diversos escenarios.

*  Simplifica dentro de la empresa la implantación de sistemas de gestión integral de la relación con el cliente.

Supone una optimización tecnológica y económica en entornos de Centro de Información, estadística o de generación de informes con retornos de la inversión espectaculares.

TABLEROS DE CONTROL



El tablero de control (TdeC) es una herramienta, del campo de la administración de empresas, aplicable a cualquier organización y nivel de la misma, cuyo objetivo y utilidad básica es diagnosticar adecuadamente una situación. Se lo define como el conjunto de indicadores cuyo seguimiento y evaluación periódica permitirá contar con un mayor conocimiento de la situación de su empresa o sector apoyándose en nuevas tecnologías informáticas.



El diagnostico y monitoreo permanente de determinados indicadores e información ha sido y es la base para mantener un buen control de situación en muchas de las disciplinas de la vida. Como ejemplo de estos podemos señalar a la: medicina, basada en mediciones para el diagnostico de la salud de los pacientes, a la aviación, cuyos indicadores de tablero de control sintetiza la información del avión y del entorno para evitar sorpresas y permite a los pilotos dirigir el avión a buen puerto; el tablero de un sistema eléctrico o de una represa son otros ejemplos. En todos estos casos el Tablero permite a través del color de las luces y alarmas ser el disparador para la toma de decisiones.





  • Tablero de Control Operativo: Es aquel que permite hacer un seguimiento, al menos diario, del estado de situación de un sector o proceso de la empresa, para poder tomar a tiempo las medidas correctivas necesarias. El Tablero debe proveer la información que se necesita para entrar en acción y tomar decisiones operativas en áreas como las finanzas, compras, ventas, precios, producción, logística, etc.
  • Tablero de Control Directivo: Es aquel que permite monitorear los resultados de la empresa en su conjunto y de los diferentes temas claves en que se puede segmentarse.
  • Tablero de Control Estratégico: Nos brinda la información interna y externa necesaria para conocer la situación y evitar llevarnos sorpresas desagradables importantes respecto al posicionamiento estratégico y a largo plazo de la empresa.
  • Tablero de Control Integral: Información relevantes para que la alta dirección de una empresa pueda conocer la situación integral de su empresa. Engloba a las tres perspectivas anteriores.

A partir de la experiencia de implementación y de las diferentes necesidades de las empresas me he encontrado con la posibilidad de implementar cuatros tipos genéricos de Tableros:

Los Scorecards y Tableros de Control brindan información instantánea sobre la performance del negocio. Habitualmente se construyen para gerentes y ejecutivos que necesitan tener una visión general de la performance del negocio. Para ellos es muy valioso poder ver muestras oportunas y visualmente intuitivas de la información estratégica tanto financiera como operativa de la compañía.

Una sólida plataforma debe brindar toda la gama completa de funcionalidades de Scorecards y Tableros de Control. Que permita combinar el poder de las técnicas de diseño basadas en zonas que se emplean para generar Scorecards y Tableros de Control con las funcionalidades tradicionales de formato de reportes extensos, para generar reportes ricos en información y visualmente atractivos. De esta forma, las compañías pueden controlar la performance de manera integral, aumentando el poder de la información y llegando a todas las personas de la empresa con formatos amigables.

Los Tableros de Control muestran una representación ilustrativa de la performance del negocio. Deben estar diseñados para generar el máximo impacto visual posible en un formato optimizado para lograr captar la información rápidamente, por medio de una combinación de tablas, gráficos, reglas de medición, cuadrantes y otros indicadores gráficos, como así también formatos condicionales, etiquetas free-form, y colores de fondo.

Los Scorecards muestran una representación visual de los indicadores clave de performance, que son métricas cuidadosamente seleccionadas utilizadas por las empresas para medir y controlar.

La integración de Scorecards y Tableros de Control permite asegurar que cualquier usuarios pueda acceder de manera segura a los reportes que necesita, en cualquier lado, en cualquier momento y mediante cualquier interfaces.
   

domingo, 24 de noviembre de 2013

Amenazas de un negocio electronico en internet



Introduccion 
La Internet se ha convertido en un medio en donde se llevan a cabo una gran cantidad de negocios alrededor de todo el mundo, y como en cualquier otro tipo de negocios, no se puede asumir que todos los participantes estarán dispuestos a jugar limpio. El solo hecho de llevar a cabo transacciones de negocios en un medio inseguro es suficiente para alentar la conducta criminal en Internet [GHOS98]. 

Hay cuatro componentes cuya seguridad es crítica para la realización de transacciones de negocios en línea: el software cliente, los protocolos de transferencia de datos, el servidor Web (o de comercio) y el sistema operativo. Una falla en cualquiera de estos componentes compromete la seguridad de las transacciones y debilitan la confianza de los consumidores y comerciantes en el comercio electrónico. 

Amenazas al Comercio Electrónico 

Se entiende por amenaza a una acción o condición del entorno de redes (persona, máquina, suceso o idea) que, dada una oportunidad, podría dar lugar a que se produjese una violación en la seguridad (confidencialidad, integridad, disponibilidad o uso legitimo) [STAL95]. 

Las amenazas a la seguridad de los sistemas de comercio electrónico pueden ser clasificadas como internas y externas. La amenaza interna es la que tiene más probabilidad de ocurrir, es la más difícil de combatir o controlar y sin embargo es la que más se pasa por alto [GHOS98]. Este tipo de amenazas es difícil de combatir ya que muy pocos sistemas brindan protección contra acciones maliciosas ejecutadas por usuarios que estén autorizados en el sistema. Es por esto que la mejor manera de combatir esta amenaza es con una combinación de políticas de seguridad estrictas y un esquema de acceso a información privilegiada que solo le permita el acceso a aquellas personas que deban tenerlo. 

Sin embargo, las amenazas a la seguridad a las que más se les da importancia es a las externas. Tanto los ejecutivos de las compañías como los administradores de los sistemas sienten un temor especial a los intrusos desconocidos que estando fuera de las barreras de la organización puedan tener acceso a información privilegiada. Parte de esta preocupación está bien fundada, ya que la Internet le da a los comerciantes la posibilidad de llegar a los consumidores potenciales en cualquier parte del mundo, pero al mismo tiempo permite que todos los usuarios mal intencionados, hackers y espías corporativos en todo el mundo puedan tener acceso a la información de la compañía. 

Las categorías generales de amenazas o ataques al comercio electrónico son las siguientes [GHOS98]: 

Vandalismo y sabotaje en Internet 

El vandalismo o sabotaje en el web es tal vez el ataque que ha recibido más atención de los medios de comunicación. Este ataque consiste en rescribir la página web de alguien mas, generalmente de forma ilegal, para cambiar el contenido de esa página dejando un mensaje propio del saboteador. Este ataque generalmente está motivado por razones políticas o por el ego del saboteador que muestra que pudo romper las medidas de seguridad de un sitio web [GHOS98]. 

Aunque este ataque está dirigido al servidor web, el resto de los programas o información contenidas en la máquina que fue blanco del ataque también pueden estar comprometidas, como también otros recursos de red que estuvieran conectados a esa máquina, ya que el atacante pudo tener acceso a ellas tan fácilmente como lo hizo con los archivos de las páginas web. 

Este tipo de ataques es muy perjudicial para la imagen de la compañía que sufre el ataque. La página web es la imagen de la compañía ante el mundo, y si esta es saboteada, la organización completa se verá vulnerable. 

Violación a la seguridad o privacidad 

En la Internet, los mensajes son transmitidos a través de un número de intermediarios antes de llegar a su destino, los intermediarios son generalmente Routers, cualquiera de los cuales puede copiar, modificar o borrar los mensajes. Es por esta razón que no se debe asumir que las comunicaciones de datos son privadas a menos que se utilice un mecanismo de encripción para protegerlas. El mayor temor de los consumidores en la Internet es el de revelar sus números de tarjetas de crédito, actualmente se han desarrollado un número de sistemas de transacciones de pago seguras para proteger la privacidad de las transacciones. 

El “romper” las claves de los sistemas de encripción actuales es muy difícil, por lo que es poco probable que se pueda comprometer la seguridad de las transacciones que utilizan estos sistemas. Sin embargo, los componentes web activos pueden presentar riesgos a la seguridad en el client-side. Los componentes activos son programas que se descargan y ejecutan automáticamente desde el navegador web cuando un usuario entra en un sitio web que los tiene como parte de su código. Ejemplo de estos componentes son los controles ActiveX, Applets de Java, JavaScripts, VBScripts y ciertos archivos multimedia que se ejecutan vía plug-ins. Los plug-ins son aplicaciones que se ejecutan automáticamente cuando el navegador descarga archivos de un determinado formato. 

Robo y fraude en Internet 

El robo y fraude en la Internet tienen lugar cuando las personas son engañadas para que confíen en sitios web (y sus operadores), con los que no han tenido relaciones previas. La mayoría de los fraudes son resultado de realizar transacciones comerciales con sitios web establecidos por criminales que se hacen pasar por sitios que llevan a cabo negocios legítimos, cuando en realidad son una fachada para actividades criminales. Los consumidores son engañados para entregar sus números de tarjetas de crédito para pagar por productos o servicios que nunca son entregados. 

Violación a la integridad de los datos 

Los ataques a la integridad de los datos casi no se discuten en el contexto de sesiones de Internet, sin embargo, son un problema en las transacciones de comercio electrónico. Las fallas en la integridad de los datos que se envían a través de las redes son casi siempre accidentales, pero existe la posibilidad de que los datos sean alterados intencionalmente para hacer algún daño. Un ataque que modifique datos, como por ejemplo precio de las acciones de la bolsa de valores puede tener gran impacto. 

Existen mecanismos para detectar si los datos han sido modificados, pero al igual que con los métodos de encripción, no se han implantado tan ampliamente como deberían. 

Negación de servicio 

Los ataques de negación de servicio han sido denominados como las peores amenazas a la seguridad en Internet. Un ataque de negación de servicio tiene como objetivo hacer que cierto servicio no esté disponible para el publico [GHOS98]. El potencial que tiene este tipo de ataques para causar daños o perdidas aumenta cada día, mientras se automatizan más servicios y se conducen cada vez más negocios de manera electrónica. 

El defenderse de este tipo de ataques es particularmente difícil, porque para realizar este tipo de ataques los atacantes se apoyan en debilidades estructurales de los protocolos de comunicación más utilizados, como el Internet Protocol (IP). 

Componentes de la Seguridad del Comercio Electrónico 

El modelo de seguridad en el comercio electrónico se puede dividir en cuatro componentes principales que hay que proteger; el software del client-side, el transporte de los datos, el software del servidor Web y el sistema operativo del servidor. Es importante hacer un esfuerzo para que la seguridad de estos componentes sea consistente, ya que si uno de ellos presentara una debilidad obvia, sería blanco de la mayoría de los ataques, y debido a su debilidad muchos de esos ataques serían exitosos. 

Seguridad del software cliente 

La seguridad del software cliente se refiere a la seguridad que presenta el software cliente de web, es decir, el software que se utiliza para navegar en Internet. Los dos grandes riesgos de este componente son las vulnerabilidades de los navegadores y los componentes Web activos. 

Los navegadores presentan riesgos debido a que su código fuente no está disponible para revisión y los usuarios deben confiar en que el navegador no sea vulnerable a ataques, no habrá hoyos en la seguridad ni ejecute código malicioso en segundo plano. 

El contenido web activo presenta el riesgo de que ejecute código malicioso en segundo plano sin que el usuario se entere. El contenido web activo es cada vez más común y puede presentarse en forma de Applets de Java, controles ActiveX, macros de Word, JavaScript, VBScript, y al descargar o ver archivos de formato Postscript, GIF o JPEG [GHOS98]. 

Seguridad en el transporte de los datos 

El transporte de los datos a través de las redes es el aspecto del comercio electrónico que ha recibido la mayor concentración de recursos para asegurar su seguridad. El brindar seguridad a los datos en transito implica garantizar la integridad y confidencialidad de los datos, y la autenticidad tanto del emisor como del receptor. La integridad de los datos se refiere a asegurar que los datos no son modificados mientras son transportados a través de la Internet, La confidencialidad se refiere a que los datos no puedan ser leídos por una entidad diferente al receptor y la autenticidad de el emisor y receptor se refiere a garantizar que las partes involucradas en la transmisión sean quienes dicen ser, es decir, que no sean suplantados por terceros. 

La necesidad de desarrollar mecanismos de seguridad para el transporte de los datos surge de la naturaleza insegura de la Internet ya que la información en transito se puede leer, copiar, modificar o eliminar mientras se transmite por las diferentes redes. Para brindar la seguridad necesaria en el transporte de los datos se han desarrollado diferentes mecanismos como la encripción de datos, las firmas digitales y los certificados de autenticidad, también se han desarrollado protocolos de comunicación seguros como el SSL (Secure Socket Layer, que es el estándar de facto para la transmisión segura de datos a través de la Internet) o el S-HTTP y protocolos para garantizar la seguridad de las transacciones de pago electrónico como el SET (Secure Electronic Transaction). 

Seguridad del servidor Web 

Los servidores web se componen de tres elementos básicos: el software servidor que se encarga de responder a todas las peticiones de información provenientes de los navegadores, bases de datos donde están almacenados los datos acerca de los productos, servicios o información acerca de los usuarios, y los programas de interfaz entre el software servidor web y las bases de datos, esta interfaz puede hacerse a través de CGI (Common Gateway Interface) que son programas invocados por el servidor web para extraer la información de las bases de datos o a través de ASP o JSP que son programas incluidos en el código HTML y que son ejecutados por módulos del mismo servidor web. Las fallas de seguridad en el server-side se presentan generalmente en el software servidor y en los programas de interfaz con las bases de datos. 

Es importante hacer notar que mientras más servicios preste el servidor mayor será la probabilidad de que brinde oportunidades que los atacantes puedan aprovechar. Por eso es necesario escoger entre un servidor con una amplia gama de servicios y que sea inseguro, o un servidor extremadamente seguro pero que no preste muchos servicios. Además de las brechas de seguridad que presentan algunos de los servicios , los programas también tienen fallas en la seguridad que son producto de errores de programación. Este tipo de errores hace que los programas se comporten de manera anormal y son bien conocidos y aprovechados por los atacantes. La única manera de corregir este tipo de problemas es conseguir las actualizaciones de software que corrigen esos errores o conseguir versiones actualizadas del software que no presenten el error. 

El software del servidor generalmente lo instala el “súper usuario” o “root”, que tiene todos los derechos y puede acceder a cualquier archivo del sistema. Como los programas del servidor son propiedad del “super usuario” estos se ejecutan con sus privilegios. Esto es necesario debido a que solo los programas con este nivel de privilegio pueden abrir el puerto 80 (http) o el puerto 443 (SSL) y escribir en los archivos de log. Sin embargo, es recomendable configurar el software servidor para reducir sus privilegios de ejecución. 

Cuando hay una conexión entrante al puerto 80, se crea un proceso hijo para manejar la solicitud y el proceso servidor (proceso padre) regresa al modo de escucha de peticiones [PALA00]. Se puede configurar el servidor de manera que los procesos hijos se ejecuten sin privilegios especiales al procesar las peticiones remotas. Si no se configura el software servidor de esta manera se puede presentar el problema de “escalamiento de privilegios”. El escalamiento de privilegios ocurre cuando un usuario o entidad no autorizados o no confiable obtiene privilegios de acceso, creación, modificación o eliminación de archivos más elevados de los que tendría normalmente. El peligro de este problema está en que si un atacante logra explotar una vulnerabilidad del servidor o algún script CGI, podría ejecutar comandos en el servidor con privilegios de super usuario. Esto significa que el atacante podría tener acceso privilegiado a cualquier archivo en esa máquina y en las máquinas del mismo dominio de confianza, incluyendo las bases de datos de la compañía, o ejecutar programas maliciosos en esas maquinas. 

Además de las opciones de privilegios de ejecución existen otras opciones que tienen impacto en la seguridad de los servidores. Algunas de ellas son: 

- Listado automático de directorios 
Esta opción hace que si un navegador apunta a un directorio en el servidor donde no existe un archivo Index.htm, entonces la respuesta por defecto del servidor será un listado de los archivos de dicho directorio. El peligro está en que un atacante puede tener acceso a un directorio donde están los log o existan enlaces simbólicos o peor aun, los códigos fuente de los CGI o los archivos de configuración del servidor, los cuales pueden ser descargados y examinados minuciosamente para encontrar fallas que puedan ser explotadas. Para evitar este problema se debe deshabilitar esta característica del software, y de no ser posible, crear archivos Index.htm en todos los directorios del servidor web. 

- Server Side Include (SSIs) 
Esta característica permite incluir comandos en el código HTML de una página web. Cuando se recibe una petición para mostrar la página que tiene los comandos incluidos, estos son ejecutados por el servidor web con su privilegio de ejecución. El comando más peligroso es el “EXEC”, el cual permite ejecutar cualquier programa en el sistema. Esta opción debe ser deshabilitada para prevenir problemas de ejecución de programas maliciosos o escalamiento de privilegios. 

- Seguimiento de enlaces simbólicos 
Esta característica permite extender el árbol de directorios. Un enlace simbólico es una referencia a un archivo que se encuentra en otro directorio, cuando se accede al enlace simbólico es como si se accediera al archivo al cual hace referencia. Los enlaces simbólicos pueden apuntar a archivos fuera del árbol de directorios especificado para el servidor web. El peligro es que los enlaces simbólicos pueden apuntar a directorios sobre los cuales el administrador web no tenga control y que contengan archivos como scripts CGI maliciosos que puedan ser ejecutados vía web. Esta opción también debe ser deshabilitada. 

Los archivos que son parte del website solo deben ser accesibles a los administradores del sitio web o a usuarios autorizados para publicar información en el web y no deben poder ser accedidos vía web por usuarios internos o externos, esto para evitar que los atacantes tengan acceso a los archivos de configuración o log que pueden revelar información que los atacantes pueden utilizar contra el servidor. 

Si se presta el servicio de FTP, los directorios donde residen los archivos del sitio web y el directorio ftp deben estar separados para evitar que usuarios no autorizados o atacantes coloquen archivos en el servidor (páginas web o CGI) vía ftp y luego estos archivos sean mostrados o ejecutados por el servidor web. 

En las aplicaciones de venta de contenido es necesario poder controlar el acceso a los documentos que están a la venta. Esto permite dar acceso a los documentos a ciertos clientes y restringir el acceso a otros. Los tres tipos de mecanismos de control de acceso que están presentes en la mayoría de los servidores web son: 

- Restricciones por direcciones IP o nombre de host 
Es uno de los mecanismos de control de acceso más básicos. Consiste en restringir el acceso a las páginas web basándose en la dirección IP o nombre del host que hace la solicitud de información. Una solicitud web incluye el nombre del host y la dirección IP del cliente, el servidor web puede utilizar esta información para determinar si la solicitud proviene de un equipo autorizado a ver el contenido del documento. 

Para determinar si la solicitud proviene de una dirección autorizada el servidor web utiliza las Listas de Control de Acceso (ACLs). Las ACLs son una serie de reglas de acceso que se evalúan en secuencia para determinar si una solicitud proviene de una dirección autorizada. Se aconseja que los ACLs primero restrinjan el acceso a todos y luego se autorice a determinadas direcciones a acceder a la información. Esto es debido a que si existe algún error en el ACL esto resultará en inconveniencia para algunos usuarios y no en fallas a la seguridad. 

Este método de control de acceso no se considera especialmente seguro, puede mantener alejados a los usuarios curiosos pero no a los atacantes determinados. El problema de este método de control de acceso es que es vulnerable al “spoofing”. El spoofing se presenta cuando un atacante enmascara la dirección IP o nombre de host de su máquina para que aparezca como la de otra máquina en la cual se confía. Además, aunque la solicitud provenga realmente de una máquina autorizada, no se tiene la seguridad de que el usuario de esa máquina sea el usuario autorizado a ver la información que solicita. 

- Autenticación basada en contraseñas 
En este mecanismo el servidor web verifica la identidad del usuario basándose en un identificador de usuario y una contraseña. Para establecer el control de acceso utilizando este mecanismo el administrador del sistema debe crear una base de datos de usuarios autorizados, que contenga los identificadores de los usuarios y sus respectivas contraseñas (encriptadas). Luego el administrador debe declarar explícitamente que partes del sistema de archivos serán protegidos por este mecanismo. 

Cuando un usuario quiera acceder a un documento protegido el servidor le mostrará un cuadro de dialogo donde el usuario debe ingresar su identificador y contraseña. El identificador de usuario se compara con los que están almacenados en la base de datos y la contraseña se encripta y compara con la contraseña que acompaña al identificador en la base de datos, si existe una correspondencia se da acceso al documento. 

Este mecanismo presenta varios problemas de seguridad. Primero, como el identificador de usuario y la contraseña viajan a través de la red en “texto plano” cuando son enviados al servidor cualquier atacante con las herramientas adecuadas puede obtenerlos a través de la red. 

Otro problema es la escogencia de contraseñas por parte de los usuarios representa un problema. Los usuarios tienden a escoger como contraseñas su mismo identificador de usuario, su nombre o apellido, fecha de nacimiento u otro dato que es fácil de averiguar por parte de los atacantes. Además muchos sistemas no encriptan las contraseñas en la base de datos sino que las codifican, por esta razón si un atacante logra obtener el archivo de la base de datos podría recuperar todos los identificadores de usuario y sus respectivas contraseñas con una herramienta de fuerza bruta. Esto se conoce como autenticación débil. 

Para evitar molestias a los usuarios muchos servidores web no solicitan una re-autenticación del usuario durante la misma sesión web si este solicita documentos que estén en la misma “región de autenticación”. Una región de autenticación es un área del sistema de archivos protegida por el mismo ACL. Para evitar la re-autenticación el servidor envía al cliente un cookie y el cliente presenta este cookie cada vez que solicita información de la misma región de autenticación. El problema es que cada vez que el cliente envía el cookie al servidor este puede ser interceptado por un atacante y luego tener acceso a los archivos de esa región de autenticación. Para minimizar este problema se puede encriptar el cookie y vincularlo a la dirección IP del cliente al cual se le envió, así solo es valido si proviene de la dirección IP a la cual fue enviado. Sin embargo esto no evita el spoofing. 

- Autenticación basada en Certificados Digitales 
El control de acceso mediante certificados digitales se hace utilizando el protocolo SSL, el cual en su versión 3.0 soporta la autenticación tanto del servidor como del cliente de una sesión web. Para poder implantar este mecanismo es necesario que los clientes posean certificados digitales emitidos por alguna Autoridad Certificadora. Los cerificados digitales contienen los datos del cliente así como su clave pública para poder realizar la encripción asimétrica. 

Este mecanismo presenta un nivel de seguridad más alto que el que presentan los mecanismos explicados anteriormente. Además, este mecanismo se implementa de forma transparente al usuario porque el intercambio de la información de identificación lo realiza el software cliente al momento de establecer la comunicación con el servidor. 

Este mecanismo no sufre de los problemas de spoofing, de contraseñas débiles o de la captura de contraseñas cuando son transmitidas. El único problema es que se le impone al usuario la responsabilidad de conseguir un certificado personal emitido por una Autoridad Certificadora. Lo difícil es convencer al usuario a que se someta al proceso de obtención del certificado. 

Los scripts CGI también son de interés para la seguridad de los servidores web. Una de las preocupaciones con los scripts CGI es que estos pueden actuar maliciosamente en respuesta a peticiones web de posibles atacantes. Esto se debe a que los CGI se ejecutan en el servidor respondiendo a las entradas de usuarios en los cuales no se tiene confianza. Los riesgos que presentan los CGI incluyen la habilidad de que clientes web ejecuten comandos del sistema que realicen alguna de estas tareas: 

- Leer, remplazar, modificar o remover archivos. 
- Enviar archivos al atacante vía mail a través de Internet. 
- Ejecutar programas previamente cargados en el servidor, como colectores de contraseñas o un servidor para brindar acceso no autorizado vía telnet. 
- Lanzar un ataque de negación de servicio sobrecargando el CPU con trabajos de computo intensivo. 

Debido a que los CGI realizan muchas de las funciones de negocios de los sitios web dedicados al comercio electrónico es imposible eliminarlos para resolver los problemas de seguridad, pero se pueden seguir las siguientes recomendaciones para minimizar la posibilidad de que sean aprovechados por atacantes: 

- Analizar cuidadosamente los scripts antes de ponerlos en producción para asegurarse de que no contengan vulnerabilidades que sean aprovechadas por los atacantes. 
- Configurar el servidor web para reducir sus privilegios de ejecución. Debido a que los CGI son ejecutados por el servidor con su nivel de privilegios, el reducir los privilegios de ejecución del servidor minimiza el daño que pueda causar un CGI defectuoso. 
- Configurar el servidor para que solamente ejecute los CGI que se encuentren en un directorio especifico. Todos los CGI que sean aprobados para estar en el ambiente de producción deben estar en ese directorio, este directorio generalmente se llama CGI-bin. 
- Se deben establecer restricciones de acceso al directorio donde residen los códigos fuente de los scripts CGI, generalmente es el directorio CGI-src. Si un atacante tiene acceso a los códigos fuente de los CGI los puede examinar para determinar las fallas que puedan tener. 
- Se deben realizar revisiones periódicas para determinar el origen, propósito y modificaciones hechas a cada CGI en el sistema. Los CGI que no tengan ninguna función en el sistema o cuyo origen no sea confiable deben removidos del sistema, así como su código fuente y versiones de respaldo. 
- Se puede generar periódicamente un hash del contenido del directorio CGI-bin para comprobar que los scripts que están en ese directorio no sean modificados sin autorización. 
- No incluir interpretadores de comandos (shell interpreters) en el directorio CGI-bin debido a que si un atacante logra descubrir que los interpretadores están disponibles, puede utilizarlos para ejecutar comandos arbitrarios en el servidor vía peticiones web que contengan los comandos. 

El último componente de los servidores de comercio electrónico son las bases de datos. Las bases de datos son esénciales para todas las aplicaciones de comercio electrónico y autenticación de usuarios. En las bases de datos está la información de mayor importancia para la organización. Por esta razón el acceso a las bases de datos debe estar controlado cuidadosamente. Debido a la importancia de las bases de datos para las aplicaciones de comercio electrónico, la mayoría de los fabricantes de paquetes de bases de datos han desarrollado interfaces entre estas y los servidores web. Estos interfaces han sido probados para asegurar que no contengan vulnerabilidades que puedan ser aprovechadas. Lo que se debe controlar es el acceso que tengan los usuarios a las interfaces de las bases de datos. 

Existen dos tipos de interfaces a las bases de datos: a través de los programas o aplicaciones de bases de datos y a través de las interfaces web. El uso de los programas de bases de datos debe estar restringido a los usuarios internos autorizados para operar las bases de datos, esto para evitar el abuso interno de la información contenida en las bases de datos y se deben emplear mecanismos de identificación de usuarios a nivel de las bases de datos. Para los interfaces web se puede restringir el acceso a la base de datos con los mismos mecanismos utilizados por el servidor web para controlar el acceso a las páginas web combinado con los mecanismos de identificación de usuario a nivel de la base de datos. También es posible encriptar la información cuando se transfiere entre la base de datos y el servidor web y entre el servidor web y el cliente o se puede mantener la información encriptada dentro de la base de datos para evitar que los datos sean recuperados aun si la base de datos cae en manos de algún atacante. 

La falta de recursos dedicados al desarrollo de mecanismos de seguridad para el server-side se debe en parte a la sobre valuación de los mecanismos de seguridad como la encripción de datos y los firewalls. La encriptación de datos es buena para proteger los datos en transito, pero cuando los datos se almacenan, generalmente se hace en “texto plano” y es allí donde los atacantes pueden obtenerlos. Por otra parte, los firewalls brindan protección solo contra atacantes “aficionados”, un atacante determinado puede violar la protección que brindan los firewalls aunque estén bien configurados. Las estadísticas muestran que el 75% de los firewalls pueden ser violados. 

Seguridad en el sistema operativo 

El sistema operativo constituye la base sobre la cual se construyen las aplicaciones de comercio electrónico. Si existen vulnerabilidades en el sistema operativo, entonces los datos almacenados en el servidor están expuestos a un ataque, sin importar los mecanismos de seguridad que presenten las aplicaciones o los protocolos de transporte de datos utilizados en las transacciones de comercio electrónico. 

Las fallas en la seguridad de los sistemas operativos generalmente son bien conocidas y se pueden solucionar cambiando parámetros de configuración de los mismos para evitar las opciones por defectos de las que se aprovechan la mayoría de los ataques a los sistemas operativos. 

La mayoría de las vulnerabilidades de los sistemas operativos se pueden agrupar en cinco categorías, la idea de agruparlos es tener un marco de referencia para comparar la severidad de las vulnerabilidades. Las categorías son: 

- Opciones por defecto: 
- Vulnerabilidades en el software de red. 
- Ataques de negación de servicio. 
- Autenticación débil. 
- Hoyos en el sistema operativo. 

- Opciones por defecto 
Las opciones por defecto se refieren a las opciones de configuración del software que ha sido recién instalado. La mayoría del software viene configurado para maximizar la facilidad de uso, a veces a costa de la seguridad. 

En esta categoría están incluidas las cuentas de usuario que son creadas automáticamente cuando se instala el sistema operativo. El problema con esas cuentas es que muchas veces tienen un identificador bien conocido como “guest” y no requieren contraseña, haciendo fácil la tarea de entrar en el sistema sin autorización. Además pueden dar acceso a partes vitales del sistema operativo si no se tienen configuradas las restricciones de acceso necesarias. 

- Vulnerabilidades en el software de red 
El software de red da soporte a los sistemas de archivos compartidos, login remoto, comunicación entre procesos y toda clase de servicios de Internet. Algunos de estos programas están tan integrados con el sistema operativo que se les conoce como sistema operativo de red (NOS por sus siglas en ingles). 

La mayoría de los problemas de seguridad en esta categoría provienen de los mecanismos de autenticación utilizados para iniciar las sesiones de red y compartir recursos entre diferentes equipos conectados a través de la red. Los ataques explotan las vulnerabilidades de los mecanismos de autenticación para obtener acceso no autorizado a los recursos de un equipo o grupo de equipos. 

- Ataques de negación de servicio 
Los ataques de negación de servicio intentan hacer que un servidor web deje de funcionar o pierda acceso a la Internet. Los ataques de negación de servicio pueden variar en su extensión, desde hacer que deje de funcionar una sola computadora hasta un sitio completo. Este tipo de ataque se presenta en dos formas diferentes. La primera evita que los usuarios tengan acceso a los servicios ofrecidos por un servidor. La segunda consume los recursos de un equipo o hace que su sistema colapse. 

Las debilidades que este tipo de ataque explota son fallas en las aplicaciones, fallas en el software de red y hasta fallas en los protocolos de red utilizados en la Internet. Las fallas en las aplicaciones y software de red pueden resolverse con facilidad instalando correcciones, pero los ataques que se aprovechan de los protocolos de red son muy difíciles de evitar ya que explotan características propias de esos protocolos que no pueden ser cambiadas o eliminadas. Otra característica que hace a estos ataques peligrosos es que son relativamente fáciles de realizar y las herramientas para llevarlos a cabo están disponibles en Internet. 

- Autenticación débil 
La autenticación es utilizada para verificar si un usuario tiene permitido el acceso a los recursos de un sistema. Los sistemas de autenticación no son una medida de seguridad especialmente fuerte debido a que pueden ser engañados con facilidad. El principal problema es la escogencia de las contraseñas por los usuarios, que llevan al problema de autenticación débil. 

- Hoyos en el sistema operativo 
Hay un gran número de programas conocidos como software del sistema, que brinda servicios al sistema operativo. Debido a que el software del sistema realiza una serie de funciones para brindar servicios al sistema operativo, este software generalmente necesita privilegios especiales como acceso de súper usuario. Las vulnerabilidades del software de sistema pueden ser aprovechadas por los usuarios no autorizados para escalar privilegios. A diferencia de las otras categorías de vulnerabilidades del sistema operativo, este tipo de software puede protegerse de los usuarios externos mediante el uso de firewalls. 

Mecanismos de seguridad 

Para asegurar las transacciones de comercio electrónico es necesario que se cumplan los siguientes requerimientos básicos: 

- Privacidad. Es la habilidad de controlar quien puede (o no puede) ver la información. Las transacciones deben permanecer privadas e inviolables en el sentido de que entidades no autorizadas no puedan descifrar el contenido de los mensajes. 
- Integridad. Es la seguridad de que los datos almacenados o transmitidos no son alterados. Se debe asegurar que las transmisiones no son alteradas o interferidas. 
- Autenticidad. Es la habilidad de determinar la identidad de las partes que se comunican. 
- No repudiación. No debe ser posible que un emisor de un mensaje pueda alegar que no envió una comunicación segura o que no realizo una compra. 


sábado, 16 de noviembre de 2013

Ley Federal de Protección de Datos Personales


La Ley Federal de Protección de Datos Personales en Posesión de Particulares (LFPDPPP), es un cuerpo normativo de México, aprobado por el Congreso de la Unión el 27 de abril de 2010, mismo que tiene como objetivo regular el derecho a la autodeterminación informativa. Esta Ley fue publicada el 5 de julio del 2010 en el Diario Oficial de la Federación y entró en vigor el día 6 de julio del 2010. Sus disposiciones son aplicables a todas las personas físicas o morales que lleven a cabo el tratamiento de datos personales en el ejercicio de sus actividades, por lo tanto empresas como bancos, aseguradoras, hospitales, escuelas, compañías de telecomunicaciones, asociaciones religiosas, y profesionistas como abogados, médicos, entre otros, se encuentran obligados a cumplir con lo que establece esta ley.
Un dato personal, de acuerdo al artículo 3 fracción V de la Ley es toda aquella información que permita identificar a una persona.

Reformas Constitucionales en materia de datos personales

Capítulo III, De los Derechos de los Titulares de los Datos Personales
La Ley retoma el contenido del párrafo segundo del artículo 16 constitucional y otorga a los titulares los denominados “Derechos ARCO”, cuyo acrónimo corresponde a:
  • Acceso: los titulares pueden conocer si sus datos están siendo objeto de tratamiento.
  • Rectificación: el derecho a solicitar que sus datos sean modificados.
  • Cancelación: los titulares pueden solicitar que sus datos se cancelen de la base de datos por causas justificadas.
  • Oposición: el derecho de los individuos para impedir el tratamiento de su información.

Capítulo IV, Del Ejercicio de los Derechos de Acceso, Rectificación, Cancelación y Oposición

Los responsables están obligados a dar trámite a las solicitudes de acceso, rectificación, cancelación y oposición que realicen los titulares, para efectos de lo cual deberán nombrar a una persona o crear un departamento de datos personales, que se encargará de dar respuesta a las peticiones en los plazos que señala la ley. Dentro de este capítulo también se señalan las formas en que puede darse cumplimiento con estos derechos, así como las causas por las cuales puede negarse alguno de ellos.

Capítulo V, De la Transferencia de Datos

Cuando el responsable pretenda transferir los datos del titular deberá informar esta circunstancia en su aviso de privacidad, requiriendo el consentimiento del titular, a menos que aplique alguno de los supuestos de excepción que contempla este capítulo.

La reforma al artículo 6º Constitucional

El primer antecedente se encuentra en la reforma realizada en el año 2007 al artículo 6 constitucional , en la que se adicionaba un párrafo segundo a este numeral, sentando las bases respecto al derecho a la información (transparencia), incluyendo la protección de datos personales por parte de las entidades públicas, reconociendo los derechos de acceso y rectificación.3

La reforma al artículo 16 Constitucional

En esta reforma4 se adiciona un párrafo segundo al artículo 16, y se establece que toda persona tiene derecho a la protección de sus datos personales y a ejercer los derechos denominados “ARCO” (acceso, rectificación, cancelación y oposición).
El texto constitucional también señala este derecho sólo podrá limitarse por razones de seguridad nacional, disposiciones de orden público, seguridad y salud públicas o para proteger los derechos de terceros. La LFPDPPP por su parte, recoge estos supuestos dentro de su artículo 4.

La reforma al artículo 73 Constitucional

En esta reforma5 se facultó al Congreso de la Unión para legislar en materia de protección de datos personales en posesión de particulares, a través de la adición de la fracción XXIX-O. La justificación para otorgar dicha facultad al Legislativo Federal fue que los datos personales se utilizan en diversas transacciones comerciales, y el comercio se encuentra regulado en el ámbito federal.

Modelos de legislación en materia de protección de datos personales

A nivel mundial se reconoce la existencia de dos modelos en materia de protección de datos personales: general y sectorial.
El modelo general es adoptado por la mayoría de los países, especialmente por la Unión Europea y entre sus características se encuentran:
  • Sólo existe un cuerpo normativo en la materia y una autoridad encargada de su cumplimiento.
  • Siempre se requiere el consentimiento de los titulares para el tratamiento de información.
  • Se prohíben las transferencias a países que no tengan un nivel adecuado de protección.
Por su parte, el modelo sectorial es aplicado por los Estados Unidos y tiene las siguientes características:
  • No existe un instrumento legal único que regule la materia, las diversas dependencias pueden emitir las normas que estimen convenientes para su sector.
  • Diversas autoridades, en el ámbito de su competencia. se encargan de velar por la protección de este derecho.
  • Se presume el consentimiento de los titulares para el tratamiento de los datos a menos que los mismos manifiesten su negativa.
  • Este esquema funciona bajo mecanismos de autorregulación.

Capítulo II, De los Principios de Protección de Datos Personales

La ley retoma del modelo general los principios de licitud, consentimiento, información, calidad, finalidad, lealtad, proporcionalidad y responsabilidad.
Resultan de suma importancia los principios de consentimiento, información y finalidad, en virtud de que los responsables sólo pueden realizar el tratamiento de datos personales si los titulares de los mismos otorgan su consentimiento para las finalidades señaladas en el aviso de privacidad.

Capítulo VI, De las Autoridades

La Ley señala que el IFAI (denominado Instituto Federal de Acceso a la Información y Protección de Datos a partir de la reforma del 5 de julio de 20106 ) será la autoridad encargada de vigilar y verificar el cumplimiento de la Ley de datos personales, así como dar trámite a los procedimientos de protección de derechos, verificación y sanción (Capítulos VII, VIII y IX). Adicionalmente, la ley señala que las Secretarías podrán emitir disposiciones en la materia, otorgando facultades especiales a la Secretaría de Economía.

Capítulo VII, Del Procedimiento de Protección de Derechos

Este procedimiento inicia con una solicitud presentada por el titular de los datos ante el IFAI, cuando estime que el responsable negó injustificadamente el acceso, rectificación, cancelación u oposición de sus datos. El capítulo en cuestión señala la forma y los plazos en los cuales se sustanciará este procedimiento, las causales de improcedencia y sobreseimiento, así como el recurso que procede en contra de la resolución que emita el Instituto.

Capítulo X, De las Infracciones y Sanciones

Dentro de este capítulo se enlista el catálogo de infracciones a la Ley y sus correlativas sanciones. La ley contempla como sanciones, multas que van de los 100 a los 320,000 días de salario mínimo vigente en el Distrito Federal, las cuales podrán aumentarse por reincidencia, y se duplicarán cuando las infracciones tengan relación con el tratamiento de datos personales sensibles. De conformidad con el salario mínimo del Distrito Federal para el 2013, estas multas oscilan entre los $6,476.00 (mínimo) y $20’723,200.00 (máximo).7

Capítulo VIII, Del Procedimiento de Verificación

Este procedimiento comenzará cuando los responsables incumplan con las resoluciones emitidas por el IFAI, o cuando la autoridad presuma la existencia de algún tipo de incumplimiento. La forma y plazos para sustanciar este procedimiento se regula en la vía reglamentaria.

Capítulo IX, Del Procedimiento de Imposición de Sanciones

El IFAI se encuentra facultado para dar inicio a un procedimiento sancionador en caso de que, derivado del trámite de los procedimientos de protección de derechos y de verificación, haya detectado algún incumplimiento de los principios o disposiciones de la Ley. La forma y plazos para sustanciar este procedimiento se regula en la vía reglamentaria.

Capítulo XI, De los Delitos en Materia del Tratamiento Indebido de Datos Personales

La ley contempla penas privativas de libertad, que van desde los tres meses hasta los 5 años de prisión, mismas que también podrán duplicarse cuando las conductas guarden relación con datos personales sensibles.

Conclusiones

La Ley de Datos Personales aprobada por el Congreso Federal recoge elementos de los modelos general y sectorial, y se erige como un instrumento normativo necesario para proteger laprivacidad de las personas respecto al tratamiento que puedan dar otros particulares respecto a su información personal. De la lectura de sus disposiciones se desprende que los datos de los individuos se protegen desde todos los ángulos, en virtud de que la información proporcionada por las personas en su carácter de clientes en la contratación de todo tipo de servicios o como trabajadores en sus centros de labores, entre otros tantos aspectos, se encuentra protegida.