Clasificación de datos escalable para seguridad y privacidad





La clasificación de datos según el contenido es una tarea abierta. Los sistemas tradicionales de prevención de pérdida de datos (DLP) resuelven este problema tomando las huellas digitales de los datos relevantes y monitoreando los puntos finales de huellas digitales. Dada la gran cantidad de activos de datos en constante cambio en Facebook, este enfoque no solo no escala, sino que es ineficaz para determinar dónde están los datos. Este artículo trata sobre un sistema de un extremo a otro creado para descubrir tipos semánticos sensibles en Facebook a escala y hacer cumplir automáticamente el almacenamiento y el control de acceso.



El enfoque que se describe aquí es nuestro primer sistema de privacidad de extremo a extremo que intenta abordar este problema mediante la incorporación de señales de datos, aprendizaje automático y técnicas tradicionales de huellas digitales para mostrar y clasificar todos los datos en Facebook. El sistema descrito se opera en un entorno de producción, alcanzando una puntuación F2 promedio de 0.9+ para varias clases de privacidad mientras procesa una gran cantidad de recursos de datos en docenas de almacenamientos. Presentamos la traducción de la publicación de ArXiv de Facebook sobre clasificación de datos escalables para seguridad y privacidad basada en el aprendizaje automático.



Introducción



En la actualidad, las organizaciones recopilan y almacenan grandes cantidades de datos en una variedad de formatos y ubicaciones [1], luego los datos se consumen en muchos lugares, a veces se copian o almacenan en caché varias veces, con el resultado de que la información empresarial valiosa y confidencial se dispersa en muchos almacenes de datos corporativos. Cuando se requiere que una organización cumpla con ciertos requisitos legales o reglamentarios, por ejemplo, para cumplir con las regulaciones en procedimientos civiles, se hace necesario recopilar la ubicación de los datos relevantes. Cuando la declaración de privacidad establece que una organización debe enmascarar todos los números de seguro social (SSN) al compartir información personal con entidades no autorizadas, el primer paso natural es buscar todos los SSN en los almacenes de datos de toda la organización.En estas circunstancias, la clasificación de datos se vuelve crítica [1]. El sistema de clasificación permitirá a las organizaciones hacer cumplir automáticamente las políticas de privacidad y seguridad, como las políticas de control de acceso y la retención de datos. Facebook está presentando un sistema que construimos en Facebook que utiliza una variedad de señales de datos, una arquitectura de sistema escalable y aprendizaje automático para descubrir tipos de datos semánticos sensibles.Arquitectura de sistema escalable y aprendizaje automático para descubrir tipos de datos semánticos sensibles.Arquitectura de sistema escalable y aprendizaje automático para descubrir tipos de datos semánticos sensibles.



Encontrar y clasificar datos es encontrarlos y etiquetarlos para que pueda recuperar información relevante de manera rápida y eficiente cuando sea necesario. El proceso actual es de naturaleza más manual y consiste en examinar las leyes o reglamentos pertinentes, determinar qué tipos de información deben considerarse sensibles y cuáles son los diferentes niveles de sensibilidad, y luego en la política de clasificación y construcción de clases apropiada [1]. Después de los sistemas de prevención de pérdida de datos (DLP), se toman las huellas digitales de los datos y se monitorean los puntos finales en busca de huellas digitales. Cuando se trata de un almacén con muchos activos y petabytes de datos, este enfoque simplemente no se escala.



Nuestro objetivo es construir un sistema de clasificación de datos que se adapte a los datos de usuario tanto persistentes como volátiles, sin restricciones adicionales en el tipo o formato de datos. Este es un objetivo ambicioso y, naturalmente, plagado de dificultades. Cualquier registro de datos puede tener miles de caracteres.





Figura 1. Flujos de pronóstico en línea y fuera de línea



Por lo tanto, debemos representarlo de manera efectiva utilizando un conjunto común de características, que luego se pueden combinar y mover fácilmente. Estas características no solo deben proporcionar una clasificación precisa, sino que también deben proporcionar flexibilidad y extensibilidad para agregar y descubrir fácilmente nuevos tipos de datos en el futuro. En segundo lugar, debe trabajar con mesas grandes e independientes. Los datos persistentes se pueden almacenar en tablas de muchos petabytes de tamaño. Esto puede provocar una disminución en la velocidad de escaneo. En tercer lugar, debemos cumplir con una estricta clasificación SLA para datos volátiles. Esto hace que el sistema sea altamente eficiente, rápido y preciso. Finalmente, necesitamos proporcionar una clasificación de datos de baja latencia para datos volátiles con el fin de realizar la clasificación en tiempo real, así como para casos de uso de Internet.



Este artículo describe cómo tratamos los problemas anteriores y presenta un sistema de clasificación rápido y escalable que clasifica elementos de datos de todos los tipos, formatos y fuentes basándose en un conjunto común de características. Hemos ampliado la arquitectura del sistema y hemos creado un modelo de aprendizaje automático personalizado para clasificar rápidamente los datos en línea y fuera de línea. Este artículo está organizado de la siguiente manera: La sección 2 presenta el diseño general del sistema. La sección 3 analiza las partes de un sistema de aprendizaje automático. Las secciones 4 y 5 describen el trabajo relacionado y describen la dirección futura del trabajo.



Arquitectura



Para tratar los problemas de datos y datos persistentes a escala de Facebook en línea, el sistema de clasificación tiene dos flujos separados, que analizaremos en detalle.



Datos persistentes



Inicialmente, el sistema necesita aprender sobre una variedad de activos de información de Facebook. Para cada almacén, se recopila información básica, como el centro de datos que contiene estos datos, el sistema con estos datos y los activos ubicados en un almacén de datos específico. Esto forma un catálogo de metadatos, lo que permite que el sistema recupere datos de manera eficiente sin sobrecargar a los clientes y los recursos utilizados por otros ingenieros.



Este catálogo de metadatos proporciona una fuente confiable para todos los activos escaneados y le permite rastrear el estado de varios activos. Esta información se utiliza para priorizar la programación según los datos recopilados y la información interna del sistema, como la hora del último escaneo exitoso del activo y el momento en que se creó, así como los requisitos de memoria y procesador anteriores para ese activo si se escaneó previamente. Luego, para cada recurso de datos (a medida que los recursos estén disponibles), se llama al trabajo de escaneo real del recurso.



Cada trabajo es un binario compilado que ejecuta una muestra de Bernoulli sobre los últimos datos disponibles para cada activo. El activo se divide en columnas independientes, donde el resultado de la clasificación de cada columna se procesa de forma independiente. Además, el sistema analiza los datos enriquecidos dentro de las columnas. Se escanean JSON, matrices, estructuras codificadas, URL, datos serializados en base 64 y más. Esto puede aumentar drásticamente el tiempo de ejecución del análisis, ya que una sola tabla puede contener miles de columnas anidadas en un blob json.



Para cada fila que se selecciona en el activo de datos, el sistema de clasificación extrae flotantes y objetos de texto del contenido y asocia cada objeto con la columna de la que se tomó. El resultado del paso de extracción de características es un mapa de todas las características para cada columna que se encuentra en el activo de datos.



¿Para qué sirven las señales?



El concepto de rasgos es clave. En lugar de rasgos flotantes y de texto, podemos pasar patrones de cadenas sin procesar que se obtienen directamente de cada recurso de datos. Además, los modelos de aprendizaje automático se pueden entrenar directamente en cada muestra, en lugar de cientos de cálculos de características que solo intentan aproximarse a la muestra. Hay varias razones para esto:



  1. : , , . , . , , .
  2. : . . , , .
  3. : , . .



Luego, las características se envían a un servicio de predicción donde usamos la clasificación basada en reglas y el aprendizaje automático para predecir las etiquetas de datos de cada columna. El servicio se basa tanto en clasificadores de reglas como en aprendizaje automático y selecciona el mejor pronóstico dado de cada objeto de pronóstico.



Los clasificadores de reglas son heurísticas manuales que utilizan cálculos y coeficientes para normalizar un objeto en el rango de 0 a 100. Una vez que se genera dicha puntuación inicial para cada tipo de datos y nombre de columna asociado con esos datos, no se incluye en ninguna "lista de denegación". , el clasificador de reglas elige la puntuación normalizada más alta entre todos los tipos de datos.



Debido a la complejidad de la clasificación, el uso de heurística puramente manual da como resultado una baja precisión de clasificación, especialmente para datos no estructurados. Por este motivo, desarrollamos un sistema de aprendizaje automático para trabajar con la clasificación de datos no estructurados como el contenido generado por el usuario y la dirección. El aprendizaje automático nos permitió comenzar a alejarnos de la heurística manual y aplicar señales de datos adicionales (por ejemplo, nombres de columnas, orígenes de datos), mejorando significativamente la precisión de detección. Más adelante profundizaremos en nuestra arquitectura de aprendizaje automático.



El servicio de predicción almacena los resultados de cada columna junto con los metadatos sobre la hora y el estado del análisis. Los consumidores y los procesos posteriores que dependan de estos datos pueden leerlos del conjunto de datos publicados diariamente. Este conjunto agrega los resultados de todos estos trabajos de escaneo, o la API en tiempo real del catálogo de datos. Los pronósticos publicados son la base para la aplicación automática de políticas de privacidad y seguridad.



Finalmente, una vez que el servicio de predicción ha escrito todos los datos y se han guardado todas las predicciones, nuestra API de catálogo de datos puede devolver todas las predicciones de tipo de datos para un recurso en tiempo real. Cada día, el sistema publica un conjunto de datos que contiene todos los pronósticos más recientes para cada activo.



Datos volátiles



Aunque el proceso anterior está diseñado para activos persistentes, el tráfico no persistente también se considera parte de los datos de la organización y puede ser importante. Por esta razón, el sistema proporciona una API en línea para generar predicciones de clasificación en tiempo real para cualquier tráfico volátil. La predicción en tiempo real se usa ampliamente para clasificar el tráfico saliente, el tráfico entrante en modelos de aprendizaje automático y los datos de los anunciantes.



La API toma aquí dos argumentos principales: la clave de agrupación y los datos sin procesar que se van a predecir. El servicio realiza la misma recuperación de objetos descrita anteriormente y agrupa objetos para la misma clave. Estos síntomas también se admiten en la caché persistente para la conmutación por error. Para cada clave de agrupación, el servicio se asegura de haber visto suficientes muestras antes de llamar al servicio de predicción, siguiendo el proceso descrito anteriormente.



Mejoramiento



Usamos bibliotecas y técnicas de optimización de lectura de almacenamiento en caliente [2] para escanear algunos repositorios y asegurarnos de que no haya interrupciones por parte de otros usuarios que acceden al mismo repositorio.



Para tablas extremadamente grandes (más de 50 petabytes), a pesar de todas las optimizaciones y la eficiencia de la memoria, el sistema trabaja para escanear y calcular todo antes de que se agote la memoria. Después de todo, el escaneo se calcula completamente en la memoria y no se almacena durante el escaneo. Si las tablas grandes contienen miles de columnas con fragmentos de datos no estructurados, el trabajo puede fallar debido a recursos de memoria insuficientes al realizar predicciones para toda la tabla. Esto reducirá la cobertura. Para combatir esto, hemos optimizado el sistema para usar la velocidad de escaneo como un mediador sobre qué tan bien el sistema está manejando la carga actual. Usamos la velocidad como mecanismo predictivo para ver problemas de memoria y calcular mapas de características de manera proactiva.Sin embargo, utilizamos menos datos de lo habitual.



Señales de datos



El sistema de clasificación es tan bueno como las señales de los datos. Aquí veremos todas las señales utilizadas por el sistema de clasificación.



  • Basado en contenido: por supuesto, la primera y más importante señal es el contenido. Se toma una muestra de Bernoulli para cada activo de datos que escaneamos y presentamos la extracción por contenido de datos. Muchos signos provienen del contenido. Es posible cualquier número de flotadores, que representan cálculos de cuántas veces se ha visto un tipo particular de patrón. Por ejemplo, podríamos tener signos en la boca para la cantidad de correos electrónicos que se ven en una muestra o indicadores de cuántos emoticonos se vieron en una muestra. Estos cálculos de funciones se pueden normalizar y agregar en diferentes escaneos.
  • : , , . — . , , . , .
  • : , . . , .
  • — , , . , , , , . , . , .




Un componente importante es una metodología rigurosa para medir métricas. Las principales métricas de la iteración de mejora de la clasificación son la precisión y la recuperación de cada etiqueta, siendo la puntuación F2 la más importante.



El cálculo de estas métricas requiere una metodología independiente para etiquetar los activos de datos que es independiente del sistema en sí, pero que se puede utilizar para comparar directamente con él. A continuación, describimos cómo recopilamos la verdad básica de Facebook y la usamos para entrenar nuestro sistema de clasificación.



Recolectando datos confiables



Acumulamos datos confiables de cada fuente enumerada a continuación en su propia tabla. Cada tabla es responsable de agregar los valores observados más recientes de esa fuente en particular. Cada fuente tiene un control de calidad de datos para garantizar que los valores observados para cada fuente sean de alta calidad y contengan las etiquetas de tipo de datos más recientes.



  • Configuraciones de la plataforma de registro: ciertos campos en las tablas de la colmena están llenos de datos que pertenecen a un determinado tipo. El uso y la difusión de estos datos sirven como una fuente confiable de datos confiables.
  • : , , . , , .
  • , .
  • : Facebook . , , , . .
  • : , , , , . , .
  • : , . , , GPS.
  • : , , . .


Combinamos todas las principales fuentes de datos válidos en un corpus con todos estos datos. El mayor problema con la validez es asegurarse de que sea representativo del almacén de datos. De lo contrario, los motores de clasificación pueden sobreajustarse. En la lucha contra esto, todas las fuentes anteriores se utilizan para proporcionar equilibrio al entrenar modelos o calcular métricas. Además, los especialistas en marketing humano seleccionan uniformemente diferentes columnas en la tienda y etiquetan los datos de manera adecuada para mantener la recopilación de valores válidos sin sesgo.



Integración continua



Para garantizar una rápida iteración y mejora, es importante medir siempre el rendimiento del sistema en tiempo real. Podemos medir cada mejora en la clasificación en comparación con el sistema actual, de modo que tácticamente podamos orientar los datos para obtener más mejoras. Aquí vemos cómo el sistema completa un ciclo de retroalimentación impulsado por datos válidos.



Cuando el sistema de programación encuentra un activo que está etiquetado desde una fuente confiable, programamos dos tareas. El primero utiliza nuestro escáner de fabricación y, por tanto, nuestras capacidades de fabricación. La segunda tarea utiliza el escáner de compilación más reciente con los últimos signos. Cada tarea escribe su salida en su propia tabla, marcando versiones junto con los resultados de la clasificación.



Así es como comparamos los resultados de la clasificación del candidato a lanzamiento y el modelo de producción en tiempo real.



Si bien los conjuntos de datos comparan las características de RC y PROD, se registran muchas variaciones del motor de clasificación de ML del servicio de predicción. Modelo de aprendizaje automático construido más reciente, modelo actual en producción y cualquier modelo experimental. El mismo enfoque nos permite "cortar" diferentes versiones del modelo (independiente de nuestros clasificadores de reglas) y comparar métricas en tiempo real. Es muy fácil saber cuándo un experimento de aprendizaje automático está listo para entrar en producción.



Todas las noches, los RC calculados para ese día se envían a la canalización de entrenamiento de ML, donde el modelo se entrena con los RC más recientes y evalúa su rendimiento frente a un conjunto de datos válido.



Cada mañana, el modelo completa el entrenamiento y se publica automáticamente como experimental. Se incluye automáticamente en la lista experimental.



Algunos resultados



Más de 100 tipos diferentes de datos están marcados con alta precisión. Los tipos bien estructurados, como correos electrónicos y números de teléfono, se clasifican con una puntuación f2 superior a 0,95. Los tipos de datos sueltos, como el contenido personalizado y el nombre, también funcionan muy bien, con puntuaciones F2 superiores a 0,85.



Una gran cantidad de columnas separadas de datos persistentes y volátiles se clasifican diariamente en todas las tiendas. Más de 500 terabytes se escanean diariamente en más de 10 almacenes de datos. La mayoría de estos repositorios tienen una cobertura superior al 98%.



La clasificación se ha vuelto muy eficiente con el tiempo, ya que los trabajos de clasificación en un flujo sin conexión persistente toman un promedio de 35 segundos desde el escaneo de un activo hasta el cálculo de las predicciones para cada columna.





Figura: 2. Un diagrama que describe el flujo continuo de integración para comprender cómo se generan y envían los objetos RC al modelo.





Figura 3. Diagrama de alto nivel de un componente de aprendizaje automático.



Componente del sistema de aprendizaje automático



En la sección anterior, profundizamos en la arquitectura de todo el sistema, destacando la escala, la optimización y los flujos de datos fuera de línea y en línea. En esta sección, analizaremos el servicio de pronóstico y describiremos el sistema de aprendizaje automático que impulsa el servicio de pronóstico.



Con más de 100 tipos de datos y algo de contenido no estructurado, como datos de publicación y contenido generado por el usuario, el uso de heurística puramente manual da como resultado una precisión de clasificación subparamétrica, especialmente para datos no estructurados. Por esta razón, también desarrollamos un sistema de aprendizaje automático para lidiar con las complejidades de los datos no estructurados. El uso del aprendizaje automático le permite comenzar a alejarse de la heurística manual y trabajar con características y señales de datos adicionales (por ejemplo, nombres de columnas, orígenes de datos) para mejorar la precisión.



El modelo implementado estudia las representaciones vectoriales [3] sobre objetos densos y dispersos por separado. Luego se combinan para formar un vector que pasa por una serie de pasos de normalización por lotes [4] y de no linealidad para producir el resultado final. El resultado final es un número de punto flotante entre [0-1] para cada etiqueta, que indica la probabilidad de que el ejemplo sea del tipo de sensibilidad dado. El uso de PyTorch para el modelo nos permitió movernos más rápido, lo que permitió a los desarrolladores fuera del equipo realizar y probar cambios rápidamente.



Al diseñar la arquitectura, era importante modelar objetos dispersos (por ejemplo, texto) y densos (por ejemplo, numéricos) por separado debido a su diferencia interna. También fue importante para la arquitectura final realizar un barrido de parámetros para encontrar el valor óptimo para la velocidad de aprendizaje, el tamaño del paquete y otros hiperparámetros. La selección del optimizador también fue un hiperparámetro importante. Descubrimos que el popular optimizador de Adam a menudo conduce a un sobreajuste, mientras que el modelo SGDmas estable. Hubo matices adicionales que tuvimos que incluir directamente en el modelo. Por ejemplo, reglas estáticas que aseguran que el modelo haga una predicción determinista cuando una característica tiene un cierto valor. Estas reglas estáticas las definen nuestros clientes. Descubrimos que incluirlos directamente en el modelo resultó en una arquitectura más robusta y autónoma, en lugar de implementar un paso de posprocesamiento para manejar estos casos extremos especiales. También tenga en cuenta que estas reglas se desactivan durante el entrenamiento para no interferir con el proceso de entrenamiento de descenso de gradientes.



Problemas



La recopilación de datos fiables y de alta calidad fue uno de los retos. El modelo necesita validez para cada clase para que pueda aprender asociaciones entre objetos y etiquetas. En la sección anterior, discutimos los métodos de recopilación de datos para medir el sistema y los modelos de entrenamiento. El análisis ha demostrado que las clases de datos como los números de tarjetas de crédito y cuentas bancarias no son muy comunes en nuestro almacenamiento. Esto dificulta la recopilación de grandes cantidades de datos fiables para entrenar modelos. Para abordar este problema, hemos desarrollado procesos para obtener datos sintéticos válidos para estas clases. Generamos dichos datos para tipos confidenciales, incluidos SSN , números de tarjetas de crédito e IBAN.-números para los que el modelo no pudo predecir antes. Este enfoque permite que los tipos de datos confidenciales se manejen sin el riesgo de privacidad asociado con ocultar datos confidenciales reales.



Aparte de los problemas de validez de los datos, hay problemas de arquitectura abierta en los que estamos trabajando, como aislar los cambios y detenernos antes.... El aislamiento de los cambios es importante para que cuando se realicen varios cambios en diferentes partes de la red, el impacto se aísle de clases específicas y no tenga un impacto amplio en el rendimiento general de la previsión. Mejorar los criterios de detención temprana también es fundamental para que podamos detener el entrenamiento en un punto estable para todas las clases, en lugar de en un punto en el que algunas clases se vuelven a capacitar y otras no.



Importancia del signo



Cuando se introduce una nueva característica en el modelo, queremos saber su impacto general en el modelo. También queremos asegurarnos de que las predicciones sean interpretables por humanos para que podamos comprender exactamente qué características se utilizan para cada tipo de datos. Para ello, hemos desarrollado e introducido clase por clase.la importancia de las características para el modelo PyTorch. Tenga en cuenta que esto difiere de la importancia general de un rasgo, que generalmente se mantiene porque no nos dice qué rasgos son importantes para una clase en particular. Medimos la importancia de un objeto calculando el aumento en el error de pronóstico después de reorganizar el objeto. Una característica es "importante" cuando la permutación de valores aumenta el error del modelo, porque en este caso, el modelo se basó en la característica en el pronóstico. Una característica es "sin importancia" cuando la mezcla de sus valores no modifica el error del modelo, ya que en este caso el modelo lo ignoró [5].



La importancia de la característica para cada clase nos permite hacer que el modelo sea interpretable para que podamos ver a qué está prestando atención el modelo al predecir la etiqueta. Por ejemplo, cuando analizamos ADDR, nos aseguramos de que un rasgo relacionado con la dirección, como AddressLinesCount , ocupe un lugar destacado en la tabla de importancia del rasgo para cada clase para que nuestra intuición humana coincida bien con lo que ha aprendido el modelo.



Evaluación



Es importante definir una métrica común para el éxito. Elegimos F2 : equilibrio entre recuerdo y precisión (el sesgo de recuerdo es ligeramente mayor). La retroalimentación es más importante en un caso de uso de privacidad que la precisión, porque es imperativo para el equipo no filtrar ningún dato sensible (mientras se asegura una precisión razonable). Las estimaciones reales del rendimiento F2 de nuestro modelo están más allá del alcance de este artículo. Sin embargo, con un ajuste cuidadoso, podemos lograr una puntuación F2 alta (0,9+) para las clases sensibles más importantes.



Trabajo relacionado



Hay muchos algoritmos para la clasificación automática de documentos no estructurados que utilizan varios métodos, como la coincidencia de patrones, la búsqueda de similitud de documentos y varios métodos de aprendizaje automático (bayesiano, árboles de decisión, k vecinos más cercanos y muchos otros) [6]. Cualquiera de estos se puede utilizar como parte de la clasificación. Sin embargo, el problema es la escalabilidad. El enfoque de clasificación en este artículo está sesgado hacia la flexibilidad y el rendimiento. Esto nos permite admitir nuevas clases en el futuro y mantener baja la latencia.



También hay un montón de trabajo de toma de huellas digitales. Por ejemplo, los autores en [7] describieron una solución que se centra en el problema de detectar fugas de datos confidenciales. El supuesto principal es que es posible que una huella dactilar de datos coincida con un conjunto de datos sensibles conocidos. Los autores en [8] describen un problema de fuga de privacidad similar, pero su solución se basa en una arquitectura específica de Android y se clasifica solo cuando las acciones del usuario dieron como resultado el envío de información personal o cuando los datos del usuario se filtran en la aplicación subyacente. La situación aquí es ligeramente diferente, ya que los datos del usuario también pueden estar muy desestructurados. Por tanto, necesitamos una técnica más sofisticada que la de realizar impresiones.



Finalmente, para lidiar con la falta de datos para algunos tipos de datos sensibles, introdujimos datos sintéticos. Existe una gran cantidad de literatura sobre el aumento de datos, por ejemplo, los autores en [9] investigaron el papel de la inyección de ruido durante el aprendizaje y observaron resultados positivos en el aprendizaje supervisado. Nuestro enfoque de la privacidad es diferente porque introducir datos ruidosos puede ser contraproducente y, en cambio, nos centramos en datos sintéticos de alta calidad.



Conclusión



En este artículo, hemos presentado un sistema que puede clasificar un dato. Esto nos permite crear sistemas para garantizar el cumplimiento de las políticas de privacidad y seguridad. Hemos demostrado que la infraestructura escalable, la integración continua, el aprendizaje automático y la fidelidad de datos de alta calidad son claves para el éxito de muchas de nuestras iniciativas de privacidad.



Hay muchas áreas para el trabajo futuro. Puede incluir proporcionar soporte para datos no esquemáticos (archivos), clasificar no solo el tipo de datos sino también el nivel de sensibilidad y usar el aprendizaje auto-supervisado directamente durante el entrenamiento mediante la generación de ejemplos sintéticos precisos. Lo que, a su vez, ayudará al modelo a reducir las pérdidas en la mayor cantidad. El trabajo futuro también puede centrarse en el flujo de trabajo de investigación, donde vamos más allá de la detección y proporcionamos análisis de la causa raíz de varias violaciones de privacidad. Esto ayudará en casos como el análisis de sensibilidad (es decir, si la sensibilidad de la privacidad del tipo de datos es alta (por ejemplo, la IP del usuario) o baja (por ejemplo, la IP interna de Facebook)).



Bibliografía
  1. David Ben-David, Tamar Domany, and Abigail Tarem. Enterprise data classification using semantic web technolo- gies. In Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, and Birte Glimm, editors, The Semantic Web – ISWC 2010, pages 66–81, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
  2. Subramanian Muralidhar, Wyatt Lloyd, Sabyasachi Roy, Cory Hill, Ernest Lin, Weiwen Liu, Satadru Pan, Shiva Shankar, Viswanath Sivakumar, Linpeng Tang, and Sanjeev Kumar. f4: Facebook’s warm BLOB storage system. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pages 383–398, Broomfield, CO, October 2014. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 26, pages 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Francis Bach and David Blei, editors, Proceedings of the 32nd International Conference on Machine Learning, volume 37 of Proceedings of Machine Learning Research, pages 448–456, Lille, France, 07–09 Jul 2015. PMLR.
  5. Leo Breiman. Random forests. Mach. Learn., 45(1):5–32, October 2001.
  6. Thair Nu Phyu. Survey of classification techniques in data mining.
  7. X. Shu, D. Yao, and E. Bertino. Privacy-preserving detection of sensitive data exposure. IEEE Transactions on Information Forensics and Security, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, and Xiaoyang Wang. Appintent: Analyzing sensitive data transmission in android for privacy leakage detection. pages 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, and Quoc V. Le. Unsupervised data augmentation.


imagen


, Level Up , - SkillFactory:





E







All Articles