industry 4.0 y big data. ¿quién está accediendo a tus datos? - librecon 2016

49
Industry 4.0 y Big Data ¿Quién está accediendo a tus datos? Pinceladas para una mirada más cercana Iñaki Garitano

Upload: librecon

Post on 15-Apr-2017

98 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Industry 4.0 y Big Data¿Quién está accediendo a tus datos?

– Pinceladas para una mirada más cercana –

Iñaki Garitano

Presentación

• Iñaki Garitano

• Grupo Telematika de Mondragon Unibertsitatea

• Nos dedicamos• Seguridad informática

• Sobre todo relacionado con el mundo industrial

• Análisis de datos

Iñaki Garitano - Librecon2016 222/11/2016

Presentación

• Grupo Telematika – participantes en este trabajo

Iñaki Garitano - Librecon2016 322/11/2016

Iñaki Arenaza@iarenaza

Urko Zurutuza@urkovain

Aitor Osa

Larrabe

Oier Saizar

Ugarte

Varios estudiantes del

grado de Informática

Índice

1. Un poco de color• Introducción, desde Industry 4.0 a Big Data

2. Pasando el rodillo• Apache Hadoop y Transparent Data Encryption

3. Aplicando gotelé• Apache Ranger, HDFS

4. Últimas pinceladas• CP-ABE

Iñaki Garitano - Librecon2016 422/11/2016

Índice

1. Un poco de color• Introducción, desde Industry 4.0 a Big Data

2. Pasando el rodillo• Apache Hadoop y Transparent Data Encryption

3. Aplicando gotelé• Apache Ranger, HDFS

4. Últimas pinceladas• CP-ABE

Iñaki Garitano - Librecon2016 522/11/2016

Industry 4.0– Un poco de color –

• Simplificando

22/11/2016 Iñaki Garitano - Librecon2016 6

Adquisición

de datos

Almacenamiento

Procesamiento

Generación

de valor

Extracción de

conocimiento

Sensores

PLCs

Equipos de adquisición

Infraestructuras

Cloud

Tecnologías Big Data

Industry 4.0– Un poco de color –

• Simplificando

22/11/2016 Iñaki Garitano - Librecon2016 7

Philip Zimmermann – Creador de Pretty Good Privacy –

– Un poco de color –

“La criptografía actual es lo suficientemente segura como para unos cuantos años. El vector de ataque

no está en las comunicaciones, sino en los dispositivos finales.”

Fuente: CPU Magazine

Iñaki Garitano - Librecon2016 822/11/2016

Adi Shamir – Co-inventor del algoritmos RSA –

– Un poco de color –

“Cryptography is typically bypassed, not penetrated”

• Ideas principales• Descifrar las comunicaciones no es interesante

• Se “inyecta” malware en los dispositivos para abrir puertas traseras

Fuente: https://en.wikipedia.org/wiki/File:Adi_Shamir_at_TU_Darmstadt_(2013).jpg

Iñaki Garitano - Librecon2016 922/11/2016

Industry 4.0– Un poco de color –

• Simplificando

22/11/2016 Iñaki Garitano - Librecon2016 10

Cloud providers– Un poco de color –

• Por decir algunos…• Amazon

• Google

• Microsoft

• Rackspace

• DigitalOcean

• OVH

• …

22/11/2016 Iñaki Garitano - Librecon2016 11

Source: https://en.wikipedia.org/wiki/Category:Cloud_computing_providers

nos facilitan la implementación de

nuestra soluciónnos ofrecen

entre otras cosas

herramientas

propietarias las

cualesnos atan a una

única solución cloud

En el caso de este trabajo…– Un poco de color –

• Se está utilizando • una nube privada y

• tecnologías Open Source como• Apache Flume

• Apache Hadoop

• Apache Hbase

• Apache Hive

• Apache Kafka

• Apache Pig

• Apache Spark

• Apache Sqoop

• Apache Storm

• …

22/11/2016 Iñaki Garitano - Librecon2016 12

Apache License, Version 2.0

Apache License, Version 2.0– Un poco de color –

• Entre otras cosas permite• La distribución de código modificado bajo otra licencia

• El uso, modificación, distribución y venta de software bajo esta licencia para usos personales o comerciales

• Es compatible con la licencia GPLv3• El resultado se distribuirá con licencia GPLv3

• Respecto a la licencia MIT• Se tienen que listar todas las modificaciones realizadas

• Restricciones a la hora de nombrar un nuevo “producto”

22/11/2016 Iñaki Garitano - Librecon2016 13

Arquitectura Big Data– Un poco de color –

22/11/2016 Iñaki Garitano - Librecon2016 14

¿Cómo añado/incluyo seguridad?– Un poco de color –

22/11/2016 Iñaki Garitano - Librecon2016 15

Source: Cloud Security Alliance

¿Cómo añado/incluyo seguridad?– Un poco de color –

22/11/2016 Iñaki Garitano - Librecon2016 16

Source: Cloud Security Alliance

TDE

Apache Hadoop

Apache Ranger

Seguridad para el ecosistema Apache Hadoop– Un poco de color –

• Opciones1. Activar mecanismos de seguridad de cada componente

• Transparent Data Encryption (TDE)

• Kerberos

• TLS entre nodos

• …

2. Añadir componentes específicos para la seguridad• Apache Ranger

• Apache Knox

• Apache Sentry

• RecordService

• …

22/11/2016 Iñaki Garitano - Librecon2016 17

Distribuciones– Un poco de color –

• Existen varias distribuciones las cuales impulsan distintas soluciones de seguridad

• Cloudera• Apache Sentry

• RecordService

• Hortonworks• Apache Ranger

• Apache Knox

• MapR

• …

22/11/2016 Iñaki Garitano - Librecon2016 18

Índice

1. Un poco de color• Introducción, desde Industry 4.0 a Big Data

2. Pasando el rodillo• Apache Hadoop y Transparent Data Encryption

3. Aplicando gotelé• Apache Ranger, HDFS

4. Últimas pinceladas• CP-ABE

Iñaki Garitano - Librecon2016 1922/11/2016

Apache Hadoop – Seguridad – Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 20

• Apache Hadoop puede • Trabajar en “modo seguro”

• Por defecto no está configurado en “modo seguro”

• “modo seguro” implica

• Autenticación mediante Kerberos tanto los usuarios, como los servicios y acceso web

• Confidencialidad de los datos mediante cifrado durante la transmisión (TLS)

• Emplear ACLs para controlar el acceso a los servicios

• Utilizar Transparent Data Encryption (TDE)

• Aislar la ejecución para los contenedores de YARN

• …

Apache Hadoop – TDE – Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 21

• Transparent Data Encryption• Características:

• Permite almacenar los datos cifrados en disco

• Transparente para el usuario y las aplicaciones

• HDFS no tiene acceso a los datos descifrados

• At-rest encryption (mientras los datos se almacenan en el disco)

• In-transit encryption (mientras los datos se envían por la red)

Apache Hadoop – TDE – Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 22

• Transparent Data Encryption• Funcionamiento:

• encryption zone

• Directorio donde todo lo que se escribe se cifra y todo lo que se lee se descifra

• Cada encryption zone dispone de una clave

• encryption zone key

• Cada archivo dentro de un encryption zone dispone de una clave

• data encryption key (DEK)

• HDFS solo utiliza las claves de cifrado de los datos, cifrados

• encrypted data encryption key (EDEK)

• Las claves se gestionan a través de Hadoop Key Management Server (KMS)

Apache Hadoop – TDE – Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 23

EZ

Encryption Zone

EZK

Encryption Zone Key

DEK

Data Encryption Key

EDEK

Encrypted DEK

IV

Initialization Vector

Apache Hadoop – TDE – Ejemplo– Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 24

• Como usuario “normal” creamos una nueva clave• hduser@Librecon2016:~$ sudo -u user /usr/local/hadoop/bin/hadoop key create

librecon2016key

• librecon2016key has been successfully created with options Options{cipher='AES/CTR/NoPadding', bitLength=128, description='null', attributes=null}.

• KMSClientProvider[http://localhost:16000/kms/v1/] has been updated.

• hduser@Librecon2016:~$ hadoop key list -metadata

• Listing keys for KeyProvider: KMSClientProvider[http://localhost:16000/kms/v1/]

• librecon2016key : cipher: AES/CTR/NoPadding, length: 128, description: null, created: Mon Nov 21 21:19:07 CET 2016, version: 1, attributes: [key.acl.name=librecon2016key]

22/11/2016 Iñaki Garitano - Librecon2016 25

• Como super-usuario creamos una carpeta para el usuario “normal”• hduser@Librecon2016:~$ hadoop fs -mkdir /user/user

• hduser@Librecon2016:~$ hadoop fs -chown user:user /user/user

• Como usuario “normal” creamos dos carpetas: (1) EncryptionZone y (2) NoEncryptionZone

• hduser@Librecon2016:~$ sudo -u user /usr/local/hadoop/bin/hadoop fs -mkdir -p /user/user/EncryptionZone

• hduser@Librecon2016:~$ sudo -u user /usr/local/hadoop/bin/hadoop fs -mkdir -p /user/user/NoEncryptionZone

Apache Hadoop – TDE – Ejemplo– Pasando el rodillo –

Apache Hadoop – TDE – Ejemplo– Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 26

• Como super-usuario creamos una nueva zona de cifrado• hduser@Librecon2016:~$ hdfs crypto -createZone -keyName librecon2016key -path

/user/user/EncryptionZone

• Added encryption zone /user/user/EncryptionZone

• hduser@Librecon2016:~$ hdfs crypto -listZones

• /user/user/EncryptionZone librecon2016key

Apache Hadoop – TDE – Ejemplo– Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 27

• Como usuario “normal” creamos un archivo “file.txt” y lo copiamos a las dos carpetas: (1) EncryptionZone y (2) NoEncryptionZone

• hduser@Librecon2016:~$ echo "TDE test @Librecon2016" > file.txt

• hduser@Librecon2016:~$ sudo -u user /usr/local/hadoop/bin/hadoop fs -put file.txt /user/user/EncryptionZone

• hduser@Librecon2016:~$ sudo -u user /usr/local/hadoop/bin/hadoop fs -put file.txt /user/user/NoEncryptionZone

Apache Hadoop – TDE – Ejemplo– Pasando el rodillo –

22/11/2016 Iñaki Garitano - Librecon2016 28

• Tanto como usuario “normal” como super-usuario comprobamos si podemos leer el archivo

• hduser@Librecon2016:~$ sudo -u user /usr/local/hadoop/bin/hadoop fs -cat /user/user/EncryptionZone/file.txt

• TDE test @Librecon2016

• hduser@Librecon2016:~$ hadoop fs -cat /.reserved/raw/user/user/EncryptionZone/file.txt

• 39A�,�M@�j��>@

• hduser@Librecon2016:~$ hadoop fs -cat /.reserved/raw/user/user/NoEncryptionZone/file.txt

• TDE test @Librecon2016

Índice

1. Un poco de color• Introducción, desde Industry 4.0 a Big Data

2. Pasando el rodillo• Apache Hadoop y Transparent Data Encryption

3. Aplicando gotelé• Apache Ranger, HDFS

4. Últimas pinceladas• CP-ABE

Iñaki Garitano - Librecon2016 2922/11/2016

Apache Ranger– Aplicando gotelé –

• Framework que permite centralizar la administración de la seguridad mediante el uso de un interfaz centralizada o un API REST

• Ofrece autorización de grano fino mediante diferentes métodos de autorización

22/11/2016 Iñaki Garitano - Librecon2016 30

Apache Ranger – Arquitectura– Aplicando gotelé –

22/11/2016 Iñaki Garitano - Librecon2016 31

• Apache Ranger• Se compone de:

• Key Management Server

• Policy Server

• Audit Server

• Diversos agentes para cada uno de los componentes

• Ofrece:• Un portal de administración

• Un API Rest

• Permite• Generar logs en

• Log4j

• Base de datos

Apache Ranger – Ejemplo– Aplicando gotelé –

• Vamos a ver con un ejemplo sencillo como podemos utilizar Apache Ranger

• Arrancamos Ranger• hduser@Librecon2016:~$ sudo mkdir -p /var/run/ranger

• hduser@Librecon2016:~$ sudo chown ranger:ranger /var/run/ranger/

• hduser@Librecon2016:~$ sudo su ranger

• ranger@Librecon2016:/home/hduser$ ranger-admin start

• ranger@Librecon2016:/home/hduser$ exit

• Creamos la carpeta de usuario de “librecon”• hduser@Librecon2016:~$ hadoop fs -mkdir /user/librecon

22/11/2016 Iñaki Garitano - Librecon2016 32

Apache Ranger – Ejemplo– Aplicando gotelé –

• Un paseo por la interfaz gráfica• Miramos la interfaz de Apache Hadoop

22/11/2016 Iñaki Garitano - Librecon2016 33

Nos fijamos en los permisos, propietario y grupo de la carpeta

Apache Ranger – Ejemplo– Aplicando gotelé –

• Un paseo por la interfaz gráfica• Miramos la interfaz de Apache Hadoop

22/11/2016 Iñaki Garitano - Librecon2016 34

Vemos que de momento la carpeta /user/librecon está vacia

Apache Ranger – Ejemplo– Aplicando gotelé –

• Un paseo por la interfaz gráfica• Pasamos a mirar Apache Ranger

22/11/2016 Iñaki Garitano - Librecon2016 35

Apache Ranger – Ejemplo– Aplicando gotelé –

• Un paseo por la interfaz gráfica• Pasamos a mirar Apache Ranger – los servicios

22/11/2016 Iñaki Garitano - Librecon2016 36

Apache Ranger – Ejemplo– Aplicando gotelé –

• Un paseo por la interfaz gráfica• Pasamos a mirar Apache Ranger – usuarios

22/11/2016 Iñaki Garitano - Librecon2016 37

De momento no existe ningún usuario “librecon”

Apache Ranger – Ejemplo– Aplicando gotelé –

• Desde la interfaz gráfica• Creamos un nuevo usuario “librecon”

22/11/2016 Iñaki Garitano - Librecon2016 38

Apache Ranger – Ejemplo– Aplicando gotelé –

• Desde la interfaz gráfica• Creamos un nuevo usuario “librecon”

22/11/2016 Iñaki Garitano - Librecon2016 39

Apache Ranger – Ejemplo– Aplicando gotelé –

• Desde la interfaz gráfica• Observamos la políticas de Hadoop

22/11/2016 Iñaki Garitano - Librecon2016 40

Apache Ranger – Ejemplo– Aplicando gotelé –

• Creamos un archivo y lo intentamos copiar sobre Hadoop mediante el usuario librecon

• librecon@Librecon2016:~$ echo "ranger test @librecon2016" > test.txt

• librecon@Librecon2016:~$ cat test.txt

• ranger test @ librecon2016

• librecon@Librecon2016:~$ hadoop fs -put test.txt

• put: Permission denied: user=librecon, access=WRITE, inode="/user/librecon/test.txt._COPYING_":hduser:supergroup:drwxr-xr-x

22/11/2016 Iñaki Garitano - Librecon2016 41

Apache Ranger – Ejemplo– Aplicando gotelé –

• Desde la interfaz gráfica• Creamos una política para el usuario “librecon”

22/11/2016 Iñaki Garitano - Librecon2016 42

Apache Ranger – Ejemplo– Aplicando gotelé –

• Lo intentamos copiar otra vez sobre Hadoop mediante el usuario “librecon”

• librecon@Librecon2016:~$ hadoop fs -put test.txt

• Comprobamos los permisos y que lo podemos leer• librecon@Librecon2016:~$ hadoop fs -ls test.txt

• -rw-r--r-- 1 librecon supergroup 27 2016-11-21 15:32 test.txt

• librecon@Librecon2016:~$ hadoop fs -cat test.txt

• ranger test @librecon2016

22/11/2016 Iñaki Garitano - Librecon2016 43

Apache Ranger – Ejemplo– Aplicando gotelé –

• Desde la interfaz gráfica de Apache Hadoop• Comprobamos la existencia del archivo

22/11/2016 Iñaki Garitano - Librecon2016 44

Nos fijamos en los permisos, propietario y grupo del archivo

Índice

1. Un poco de color• Introducción, desde Industry 4.0 a Big Data

2. Pasando el rodillo• Apache Hadoop y Transparent Data Encryption

3. Aplicando gotelé• Apache Ranger, HDFS

4. Últimas pinceladas• CP-ABE

Iñaki Garitano - Librecon2016 4522/11/2016

CP-ABE– Últimas pinceladas –

Ciphertext-Policy Attribute-Based Encryption

• Trabajo realizado por John Bethencourt (Carnegie Mellon University), AmitSahai (UCLA) y Brent Waters (SRI International)

• Es un sistema de control de acceso cifrado donde las claves privadas de los usuarios se especifican en base a atributos

• Así mismo, los usuarios capaces de descifrar se especifican en base a atributos

• Este sistema es capaz de aguantar ataques de conspiración, collusion, donde un atacante obtenga más de una clave privada

22/11/2016 Iñaki Garitano - Librecon2016 46

CP-ABE & Apache Ranger– Últimas pinceladas –

• Actualmente, estamos diseñando y modificando Apache Ranger con el fin de utilizar CP-ABE como sistema de control de acceso

• El sistema permitirá definir atributos

• A los usuarios se les podrá asignar uno o varios atributos

Partes donde se está actuando

22/11/2016 Iñaki Garitano - Librecon2016 47

CP-ABE – Bibliografía – Últimas pinceladas –

• Para más información:• http://ieeexplore.ieee.org/document/4223236/

• Software disponible en:• http://hms.isi.jhu.edu/acsc/cpabe/

22/11/2016 Iñaki Garitano - Librecon2016 48

Eskerrik asko

Iñaki Garitano

Mondragon Unibertsitatea

[email protected]

22/11/2016 Iñaki Garitano - Librecon2016 49