Sistemas Operativos
Protección de Datos El Enmascaramiento de Datos Es la forma que muchas organizaciones eligen para proteger sus datos sensibles en entornos de producción y pruebas. Cuando la solución utilizada es la adecuada, esta protección mantiene la coherencia de la información real, por lo que se garantiza la calidad de los datos. Lograrlo depende de la personalización de las técnicas aplicadas, que será la que haga posible su adaptación a los requisitos específicos del negocio. Es el proceso de ocultar datos originales con caracteres aleatorios o datos.
de construcción y la realización de varios ciclos de prueba. Es práctica común en informática tomar los datos de los sistemas de producción para cubrir el componente de datos, necesario para estos entornos ajenos a la producción empresarial. Sin embargo la práctica no siempre se limita a entornos ajenos a la producción. En algunas organizaciones, los datos que aparecen en las pantallas de terminales para llamar a centro operadores pueden tener adhesiva aplicada dinámicamente basada en permisos de seguridad. La principal preocupación desde una perspectiva corporativa es que el personal de trabajo en entornos ajenos a la producción no es siempre seguro para operar con la información contenida en los datos de producción. La práctica general de enmascaramiento de datos a nivel organizativo debe ser firme junto con la prueba práctica de manejo de Metodología subyacente y deberían incorporar los procesos para la distribución de subconjuntos de datos de prueba enmascarado.
Tipos de Enmascaramiento de Datos La razón principal para la aplicación de enmascarar a un campo de datos es para proteger los datos que se clasificaron como datos personales identificables, datos personales sensibles o información comercialmente sensible, sin embargo los datos deben permanecer utilizables para los fines de realizar ciclos de prueba válida. También debe parecer real y parecen coherentes. Es más común que sea aplicada a los datos que se representaron fuera de un sistema de producción de las empresas. En otras palabras donde se necesitan datos con el fin de desarrollo de aplicaciones, las extensiones del programa
2/
SISTEMAS OPERATIVOS
Existen dos maneras principales de aplicar las técnicas de enmascaramiento de datos. Mientras que el enmascaramiento persistente de datos resguarda los datos, enmascarándolos, en entornos de desarrollo y pruebas, el enmascaramiento persistente dinámico ofrece enmascaramiento en tiempo real y basado en roles de datos sensibles en los entornos de producción (aquellos en los que residen los datos tal y como son).
El enmascaramiento persistente Garantiza la privacidad de los datos mediante la creación de copias enmascaradas para desarrollo, pruebas y formación, manteniendo unos procesos
Otras Formas óptimos. Enmascaramiento de datos escalable para aplicaciones heterogéneas.
El enmascaramiento dinámico Surgió como una tecnología de protección de datos flexible que aborda una serie de brechas en las soluciones existentes. Ofrece seguridad y supervisión de bases de datos en tiempo real basadas en políticas. Puede integrarse con software de autenticación y ofrece enmascaramiento y bloqueo de datos en tiempo real. Esta dualidad permite adaptarse a los planteamientos de seguridad que cada función requiere dentro de la empresa. Entre los beneficios del enmascaramiento de datos cabe destacar los siguientes, por su relevancia para cualquier negocio:
• Aumentar el rendimiento corporativo a través de una mejora de los niveles de productividad, que se logra gracias a la velocidad de acceso a los datos de producción protegidos. • Dar seguridad a los datos incluso cuando existen diferencias en los niveles de autorización de acceso. • No necesitar modificar las aplicaciones en uso, los procedimientos ni las formas de trabajar. • Ganar en transparencia sin que ello pueda afectar al rendimiento. • Optimizar el control sobre la seguridad en las bases de datos.
Otros Tipos de Enmascaramiento de Datos Sustitución
• Reducir el riesgo de atentados contra la seguridad de la información corporativa y minimizar la amenaza de sufrir una brecha en los datos. • Cumplir con la normativa aplicable en materia de protección de datos. • Eliminar los costes derivados de los daños a la imagen de la empresa que se producen cuando se hace público un problema de falta de seguridad en los datos.
Es uno de los métodos más eficaces de la aplicación de enmascaramiento de datos, capaz de preservar la apariencia auténtica de los registros de datos. Permite realizar el enmascaramiento de manera tal que otro valor de auténtico aspecto puede sustituirse por el valor existente. Hay varios tipos de datos de campo donde este enfoque proporciona óptimo beneficio en disfrazar el sub total de datos establecido en cuanto a si o no es un conjunto de datos enmascarado. Este método de sustitución debe ser aplicado para muchos de los campos que se encuentran en estructuras. En la mayoría de los casos los archivos de sustitución tendrán que ser bastante extensos teniendo que sustituir grandes conjuntos de datos así como la capacidad de aplicar conjuntos de
SISTEMAS OPERATIVOS /3
Métodos de Ocultación datos personalizados de sustitución debe ser un elemento clave de los criterios de evaluación para cualquier solución que enmascara los datos.
Arrastrando los pies Es una forma muy común de ocultación de datos. Es similar al método de sustitución pero se deriva la sustitución de la misma columna de datos que está siendo enmascarada. En términos muy simples, los datos se mezclan aleatoriamente dentro de la columna. Sin embargo, cualquier persona con conocimiento de los datos originales puede entonces aplicar un escenario de “Si” para el conjunto de datos y luego volver a armar una identidad real.
que requiere una autorización militar de “Secreto” o “Top Secret” probablemente sería más fácil asegurar que todos los testers fueron debidamente autorizados para ver la prueba.
La Salida o Cancelación A veces se adopta un enfoque muy simplista a enmascarar mediante la aplicación de un valor null a un campo particular. El enfoque de valor null sólo es útil para evitar la visibilidad del elemento de datos. En casi todos los casos disminuye el grado de integridad de datos, se mantiene en el conjunto de datos enmascarado. No es un valor realista y entonces fallará cualquier validación lógica de aplicaciones que se hayan aplicado en el software de front-end del sistema bajo prueba.
Número y fecha de la varianza El método numérico varianza es muy útil para la aplicación en enmascarados financieros y fechas, impulsada por campos de información. Efectivamente, esta manera de enmascarar aún puede dejar una gama significativa en un conjunto de datos financieros como la nómina. El mismo también se aplica a la información de fecha. Para conservar la integridad de los datos aplicando una variación numérica aleatoria a los campos.
Cifrado El cifrado es a menudo el enfoque más complejo para resolver problemas que enmascaran los datos. El algoritmo de cifrado a menudo requiere que se aplique una “clave” para ver los datos basados en los derechos de usuario. El método de enmascarar Cifrado de Datos requiere extenso diseño y pruebas para asegurar que el método es apto para el propósito, para su tipo de datos y aplicaciones. Incluso si la prueba es una aplicación
4/
SISTEMAS OPERATIVOS
Enmascaramiento hacia fuera Es otro método simplista pero muy eficaz de prevención de información sensible para ser visto. Realmente es una extensión del método anterior de anular, pero hay mayor énfasis en mantener los datos reales y no completamente enmascarado todos juntos. Esto se aplica comúnmente a los datos de tarjeta de crédito en los sistemas de producción. Este sistema no es muy eficaz para sistemas de prueba pero es muy útil para el escenario de facturación. También es conocido como un método de enmascaramiento de datos dinámicos.
Algoritmos Enmascaramiento de datos estáticos Se realiza la copia de oro de la base de datos. Los administradores de bases de datos cargan la copia de seguridad en un entorno separado, reducen el conjunto de datos a un subconjunto que contiene los datos necesarios para una determinada ronda de pruebas (una técnica llamada “subconjuntos”), solicitar datos, enmascarar las reglas mientras los datos están en éxtasis, aplicarán cambios de código necesarios de origen de datos control y transportan al ambiente deseado.
Enmascaramiento de datos on-the-Fly La misma técnica se aplica a “Enmascaramiento dinámico de datos”, pero un registro a la vez. Este tipo de enmascaramiento de datos es más útil para entornos que hacen despliegues continuos así como en cuanto a las aplicaciones fuertemente integradas. Las organizaciones que emplean continuo despliegue o entrega continua, en las cuales las prácticas no tienen el tiempo necesario para crear una copia de seguridad y cargarlo en la dorada copia de la base de datos. Por lo tanto, está continuamente enviando subconjuntos más pequeños (deltas) de datos de prueba enmascarados de la producción. En aplicaciones fuertemente integradas, los desarrolladores deben obtener los feeds de otros sistemas de producción en el inicio mismo del desarrollo y enmascaramiento de estas alimentaciones.
Condition-bases Esta técnica permite aplicar diferente enmascaramiento al mismo conjunto de datos dependiendo de las filas que coincidan con las condiciones.
Compoud Esta técnica asegura que el enmascaramiento de un conjunto de columnas relacionadas tenga una relación entre las columnas.
Key-based reversible Cuando un negocio necesita mandar a un tercero sus datos para analizarlos, esta técnica la enmascara usando una máscara que una vez regresado la información con esta puede regresarlos al estado original.
Algoritmos de Enmascaramiento Algunos datos de PII (Plataforma Integral de Información) siguen un formato y un patrón estricto. Como los valores respetan un conjunto de reglas que determinan su validez, pueden ser generados mediante un algoritmo. Ambas soluciones proporcionan funciones para ocultar elementos como números de tarjetas de crédito y números del Seguro Social. Existe otro conjunto de campos de PII que también respeta un formato estricto pero donde los valores permitidos son más flexibles. Un ejemplo son las direcciones de email, donde cada dirección tiene un nombre de usuario, un nombre de dominio y un símbolo ‘@’. Ambas soluciones brindan funciones para generar direcciones de email nuevas y válidas. Además, en ambas soluciones hay disponible un algoritmo para
SISTEMAS OPERATIVOS /5
Timers detectar el formato de los datos o reemplazar el valor con un valor nuevo del mismo formato.
Características 1. La información personal y critica de una base de datos es remplazada por valores realistas 2. Puede pasar datos de producción a desarrollo mediante el cambio a datos realistas 3. Permite cumplir con el mandato de leyes como PCI,DSS HIPAA 4. Los pasos para poder implementar data masking: • Find: en esta fase se identifican y catalogan los datos confidenciales o regulares de toda la empresa, para esto se realiza un análisis de negocio, seguridad. • Assess: en esta fase los desarrolladores o dbas en conjunto con las empresas identifican el mejor algoritmo de enmascaramiento para remplazar los datos sensibles originales. • Secure: se ejecuta el algoritmo de enmascaramiento en ensayos de enmascaramiento. Una vez completado el enmascaramiento el dba realiza pruebas en el ambiente. • Test: los usuarios de producción prueban los datos mediante procesos de aplicación para confirmar si se pueden dar a usuarios que no son de producción.
Protección de Timers En muchos casos, un programa necesita perder tiempo, esto es, esperar unos segundos
6/
SISTEMAS OPERATIVOS
sin hacer nada. Un sistema muy usado consiste en un bucle de espera, que tarde justo el tiempo que nos interesa. Sin embargo, este sistema es bastante imperfecto, pues si el programa funciona bien en un ordenador concreto, en otro que sea más rápido o más lento no lo hará. La segunda solución que ‘encontraron’ los programadores fue usar el timer del ordenador, un integrado que puede ser programado para que provoque interrupciones cada n milisegundos. Como ese chip es el mismo en todos los PCs, sin importar su velocidad, permite que los programas funcionen igual en todos.
Conviene señalar que los Timers de cualquier S.O. multitarea no son lo precisos que sería deseable. Esto se debe en primer lugar a que, aunque es especifique la temporización al milisegundo, será redondeado al ciclo superior del conmutador de tareas. Por otro lado, en un Sistema Operativo multitarea por prioridades, lo que puede ocurrir es que en el momento en que expire un Timer, haya otro proceso de más prioridad esperando a ejecutarse, en cuyo caso se producirá otro retardo. Sin embargo, existen maneras de minimizar estos efectos. Son esenciales para administrar el flujo de tiempo en el código del kernel. Se utilizan para demorar la ejecución de código para “después”. Entre sus beneficios de uso se encuentran: • Se realiza un setup inicial, especificando su expiración
Proceso • Se especifica una función a ejecutar en expiración • Se activan • No son cíclicos. Una vez expirados se destruyen • Son representados por una struct timer_ list • El kernel provee una familia de funciones para manejar los timers Protección de Timers hace referencia a las características de seguridad que controlan quien puede obtener acceso a los recursos de un sistema operativo. Las aplicaciones llaman a las funciones de control de acceso para establecer quién puede obtener acceso a los recursos específicos o controlar el acceso a los recursos proporcionados por la aplicación. Un sistema de protección deberá tener la flexibilidad suficiente para poder imponer una diversidad de políticas y mecanismos. Existen varios mecanismos que pueden usarse para asegurar los archivos, segmentos de memoria, CPU, y otros recursos administrados por el Sistema Operativo. Por ejemplo, el direccionamiento de memoria asegura que unos procesos puedan ejecutarse solo dentro de sus propios espacios de dirección. El timer asegura que los procesos no obtengan el control de la CPU en forma indefinida. La protección se refiere a los mecanismos para controlar el acceso de programas, procesos, o usuarios a los recursos definidos por un sistema de computación. Seguridad es la serie de problemas relativos a asegurar la integridad del sistema y sus datos. Hay importantes razones para proveer protección. La más obvia es la necesidad de prevenirse de violaciones intencionales de acceso por un usuario. Otras de importancia son, la
necesidad de asegurar que cada componente de un programa, use solo los recursos del sistema de acuerdo con las políticas fijadas para el uso de esos recursos. Un recurso desprotegido no puede defenderse contra el uso no autorizado o de un usuario incompetente. Los sistemas orientados a la protección proveen maneras de distinguir entre uso autorizado y desautorizado.
Estado de un Proceso Un proceso pasa por varios estados durante su ejecución. Los estados posibles para un proceso se muestran en la siguiente figura: Definición Nuevo: el proceso se acaba de crear, pero aún no ha sido admitido en el grupo de procesos ejecutables por el sistema operativo. Habitualmente en un sistema operativo multitarea como Windows, nada más que un proceso se crea, éste resulta admitido, pasando al estado listo. Sin embargo, esto no tiene por qué ser siempre así. Por ejemplo, en una situación de sobrecarga temporal del sistema, el SO puede decidir retardar la admisión de los procesos nuevos. Así se alivia la carga del sistema, ya que hasta que un proceso no es admitido, éste no compite por los recursos del sistema. Listo: el proceso está esperando ser asignado al procesador para su ejecución. Una CPU clásica (con un solo núcleo) solo se puede dedicar en cada momento a un proceso. Los procesos que están preparados para ejecutarse permanecen en estado listo hasta que se les concede la CPU. Entonces pasan al estado “En ejecución”.
SISTEMAS OPERATIVOS /7
Nodos y Arcos En Ejecución: el proceso tiene la CPU y ésta ejecuta sus instrucciones. En espera: el proceso está esperando a que ocurra algún suceso, como por ejemplo la terminación de una operación de E/S. Terminado: el proceso ha sido sacado del grupo de procesos ejecutables por el sistema operativo. Después de que un proceso es marcado como terminado se liberan los recursos utilizados por ese proceso, por ejemplo, la memoria.
Investigación, Recopilación, Diseño y Diagramación: T.S.U. Jesús J. Rivas Materia: Sistemas Operativos I Asesora: Ing. Deisy Mata / IUPSM - Maturín
En la figura anterior los nodos (nuevo, listo, etc.) representan los estados y los arcos, las acciones o eventos que llevan a un cambio de estado.