Slide 1

Slide 1 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Anonimización de bases de datos con PostgreSQL @FerPeralesM

Slide 2

Slide 2 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 3

Slide 3 text

@FerPeralesM #nerdearla #nerdearla @FerPeralesM • Fer Perales • Guadalajara, Jalisco • Development Team Lead @ thoughtbot • Co-organizador de RailsBridge Mexican Chapter • Organizador y fundador de RubyMX • Sé leer y escribir ¡Hola! Illustration by instagram.com/@layered_space

Slide 4

Slide 4 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 5

Slide 5 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Algunas preguntas

Slide 6

Slide 6 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Levanta la mano si…

Slide 7

Slide 7 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Tienes acceso a datos de producción

Slide 8

Slide 8 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Te sentirías más cómodo *sin* tener acceso a datos de producción

Slide 9

Slide 9 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Te sientes cómodo con las medidas de seguridad de tu empresa

Slide 10

Slide 10 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Sin importar la respuesta, esta podría no ser la charla para ti

Slide 11

Slide 11 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Pero…

Slide 12

Slide 12 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Levanta la mano si…

Slide 13

Slide 13 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Has tenido una copia de datos de producción en tu computadora

Slide 14

Slide 14 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Alguien de tu organización te ha pedido una copia de los datos de producción

Slide 15

Slide 15 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Has otorgado una copia de los datos de producción a alguien en tu organización

Slide 16

Slide 16 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Te preocupa que copias de los datos de producción estén en manos de otras personas

Slide 17

Slide 17 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Si levantaste la mano al menos en una de estas preguntas, esta charla es para ti

Slide 18

Slide 18 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM LFPDPPP

Slide 19

Slide 19 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Ley Federal de Protección de Datos Personales en Posesión de los Particulares

Slide 20

Slide 20 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Un caso

Slide 21

Slide 21 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM eleconomista.com.mx/politica/INE-investiga-presunta-venta-de-datos-del-Padron-Electoral-20210719-0082.html

Slide 22

Slide 22 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ¿Cómo pasó?

Slide 23

Slide 23 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM expansion.mx/politica/2016/04/27/movimiento-ciudadano-admite-que-subieron-el-padron-electoral-a-amazon

Slide 24

Slide 24 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM eleconomista.com.mx/politica/TEPJFcon fi rmo-multa-a-Movimiento-Ciudadano-por-subir-padron-electoral-a-Amazon-20180919-0080.html

Slide 25

Slide 25 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ¿Estoy a salvo si mi app no es para el mercado mexicano?

Slide 26

Slide 26 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Bueno…

Slide 27

Slide 27 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Una de las cosas “chidas” de ser consultor es que trabajas con clientes de varios países

Slide 28

Slide 28 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM =
 Tienes que conocer y preocuparte por las legislaciones locales

Slide 29

Slide 29 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM 🇺🇸

Slide 30

Slide 30 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM HIPPA

Slide 31

Slide 31 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Health Insurance Portability and Accountability Act de 1996

Slide 32

Slide 32 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM PHI Protected Health Information

Slide 33

Slide 33 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ¿Qué cubre PHI?

Slide 34

Slide 34 text

@FerPeralesM #nerdearla #nerdearla @FerPeralesM ¿Qué cubre PHI? • Nombre • Dirección (cualquier dato más especí fi co que el estado) • Fechas (excepto años) relacionados a un individuo: fecha de nacimiento, fecha de admisión, etcétera • Número de teléfono • Número de fax • Correo electrónico • Número de seguro social

Slide 35

Slide 35 text

@FerPeralesM #nerdearla #nerdearla @FerPeralesM ¿Qué cubre PHI? • Número de registro médico • Número de bene fi ciario de seguro social • Número de cuenta • Número o certi fi cado de licencia de conducir • Números relacionados a vehículos como números de serie o placas • Identi fi cadores de dispositivos y números de serie • URLs

Slide 36

Slide 36 text

@FerPeralesM #nerdearla #nerdearla @FerPeralesM ¿Qué cubre PHI? • Direcciones IP • Identi fi cadores biométricos como huella digital o voz • Fotografías de rostro completo u otras características identi fi cables • Cualquier otra característica identi fi cable

Slide 37

Slide 37 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Un caso

Slide 38

Slide 38 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM https://www.healthcareitnews.com/news/unencrypted-stolen-laptop-costs-lifespan-more-1-million

Slide 39

Slide 39 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM https://www.healthcareitnews.com/news/unencrypted-stolen-laptop-costs-lifespan-more-1-million

Slide 40

Slide 40 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Unencrypted

Slide 41

Slide 41 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Si el dispositivo contiene Información de Salud Protegida (PHI) y no puedes documentar que el dispositivo estaba cifrado, necesitas seguir los requerimientos de reporte de vulnerabilidad HIPAA

Slide 42

Slide 42 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Primera lección: no des copias de producción

Slide 43

Slide 43 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ¡Gracias!

Slide 44

Slide 44 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM …

Slide 45

Slide 45 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Y si…

Slide 46

Slide 46 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Pudieras dar sólo la información necesaria

Slide 47

Slide 47 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Anonimización

Slide 48

Slide 48 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 49

Slide 49 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM FerPerales/anon_app

Slide 50

Slide 50 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 51

Slide 51 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Instalar la extensión

Slide 52

Slide 52 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 53

Slide 53 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Habilitar la extensión en nuestra base de datos

Slide 54

Slide 54 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 55

Slide 55 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ¿Qué podemos hacer?

Slide 56

Slide 56 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Enmascaramiento estático*

Slide 57

Slide 57 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Enmascaramiento estático* *¡¡¡No uses este en producción!!!

Slide 58

Slide 58 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Aplicar reglas de enmascaramiento Reordenar una columna Agregar ruido a una columna

Slide 59

Slide 59 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ➡ Aplicar reglas de enmascaramiento Reordenar una columna Agregar ruido a una columna

Slide 60

Slide 60 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Conectarnos a nuestra base de datos

Slide 61

Slide 61 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 62

Slide 62 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Inicializar la extensión

Slide 63

Slide 63 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 64

Slide 64 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Definir algunas reglas

Slide 65

Slide 65 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 66

Slide 66 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM SECURITY LABEL

Slide 67

Slide 67 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 68

Slide 68 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 69

Slide 69 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 70

Slide 70 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 71

Slide 71 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Aplicar reglas de manera estática*

Slide 72

Slide 72 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM *NO USEN ESTE EN PRODUCCIÓN

Slide 73

Slide 73 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Resultado

Slide 74

Slide 74 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 75

Slide 75 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Aplicar reglas de enmascaramiento ➡ Reordenar una columna Agregar ruido a una columna

Slide 76

Slide 76 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Reordenar una columna

Slide 77

Slide 77 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 78

Slide 78 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 79

Slide 79 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Aplicar reglas de enmascaramiento Reordenar una columna ➡ Agregar ruido a una columna

Slide 80

Slide 80 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Agregar ruido a una columna

Slide 81

Slide 81 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 82

Slide 82 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Resultado

Slide 83

Slide 83 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 84

Slide 84 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Enmascaramiento dinámico

Slide 85

Slide 85 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 86

Slide 86 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Respaldos anonimizados

Slide 87

Slide 87 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 88

Slide 88 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Generalización de datos

Slide 89

Slide 89 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 90

Slide 90 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 91

Slide 91 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM

Slide 92

Slide 92 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM dalibo/postgresql_anonymizer

Slide 93

Slide 93 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Lecciones

Slide 94

Slide 94 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Primera lección: no des copias de producción

Slide 95

Slide 95 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Entender las razones por las cuales alguien necesita los datos de producción antes de decidir si otorgarlos o no

Slide 96

Slide 96 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Si está justificado otorgarlos, proveer sólo lo necesario sin arriesgar la información de los usuarios

Slide 97

Slide 97 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM Sin importar la herramienta, ten cuidado con los datos que tienes: una vez que dejan el servidor, son muy difíciles de proteger

Slide 98

Slide 98 text

#nerdearla @FerPeralesM #nerdearla @FerPeralesM ¿Preguntas?

Slide 99

Slide 99 text

@FerPeralesM #nerdearla #nerdearla @FerPeralesM ¡Gracias! @FerPeralesM me@ferperales.net