Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sobre segurança de dados, LGPD, APIs e Nuvens

Sobre segurança de dados, LGPD, APIs e Nuvens

Reflexão sobre como a LGPD afeta as arquiteturas de referência e cria um novo ecossistema de tecnologia.

Thiago Ribeiro

July 02, 2019
Tweet

More Decks by Thiago Ribeiro

Other Decks in Technology

Transcript

  1. AGENDA • Por que falar disso? • No caminho das

    requisições • Dando um jeitinho • Quebrando o padrão • Perguntas BREAKING THE LAW: DESIGN DE APIs 2
  2. BREAKING THE LAW: DESIGN DE APIs 3 SOBRE Head of

    Application & Offensive Security C6 (hacker das antiga / impostor (ver síndrome) / caipira) Carreira - Segurança (appsec, infra-estrutura, arquitetura segura, crypto, risco, iam) - Arquiteto soluções - Sysadm (linux / bsd) - Software Engineering (go, python, nodejs, javascript, perl, php) Passagens - Itaú / Oi / Webforce / Cineclick / Unifatea
  3. BREAKING THE LAW: DESIGN DE APIs 4 POR QUE FALAR

    DISSO? Não podemos alegar ignorância perante as leis Ser baixo custo é pensar nos detalhes desde a concepção A experiência depende diretamente da estrutura de dados Lei e reguladores Redução custos em nuvem Serviços otimizados
  4. BREAKING THE LAW: DESIGN DE APIs 5 POR QUE FALAR

    DISSO? Ameaças & Fraudes Internas Governança Dados Menos é mais. Pensar em privacidade na concepção ajuda na proteção dos dados e garante confidencialidade. É um trabalho penoso manter o inventário de dados. Quebrá-lo é muito fácil
  5. BREAKING THE LAW: DESIGN DE APIs 6 POR QUE FALAR

    DISSO? Enquanto o ponteiro do relógio gira Clientes Colaboradores Tempo de armazenamento de dados MÍNIMO 10 ANOS MÍNIMO 07 ANOS
  6. BREAKING THE LAW: DESIGN DE APIs 7 NO CAMINHO DAS

    REQUISIÇÕES SERVIDOR Consentido? DB Escopo jurídico Escopo Segurança Informação
  7. BREAKING THE LAW: DESIGN DE APIs 8 NO CAMINHO DAS

    REQUISIÇÕES: PRÁTICA CDN BALANCER API GATEWAY APP BALANCER SERVER WEB SERVER LOG COLLECTOR LOG PROCESSOR DATA LAKE APP POST /auth/login {“login”: [email protected], “password”: “*****”}
  8. BREAKING THE LAW: DESIGN DE APIs 9 + CAMADAS +

    PESSOAS + RISCO + CONTROLES + CUSTO + DADOS + BITS + CUSTO PARA PROCESSAR + CUSTO PARA GERIR Ops x Sec + CUSTO PARA ARMAZENAR Dado x Requisição x Performance x Armazenamento NO CAMINHO DAS REQUISIÇÕES: PERSPECTIVAS
  9. BREAKING THE LAW: DESIGN DE APIs 10 NO MEIO DO

    CAMINHO DAS REQUISIÇÕES Surprise motherf*cker Onde estão seus dados pessoais? LGPD ago/2020
  10. BREAKING THE LAW: DESIGN DE APIs 11 CDN BALANCER API

    GATEWAY APP BALANCER SERVER WEB SERVER LOG COLLECTOR LOG PROCESSOR DATA LAKE APP GET /customer/00000011100 NO CAMINHO DAS REQUISIÇÕES cpf
  11. BREAKING THE LAW: DESIGN DE APIs 12 Onde estão seus

    dados pessoais? CDN BALANCER API GATEWAY APP BALANCER SERVER WEB SERVER LOG COLLECTOR LOG PROCESSOR DATA LAKE APP CDN logs Trail logs API GW logs Trail logs Trail/OS logs Webserver logs Audit logs Em repouso Não desejado Desejado NO CAMINHO DAS REQUISIÇÕES
  12. BREAKING THE LAW: DESIGN DE APIs 13 CDN BALANCER API

    GATEWAY APP BALANCER SERVER WEB SERVER LOG COLLECTOR LOG PROCESSOR DATA LAKE APP GET /customer DANDO UM JEITINHO HEADER: CPF=00000011100 LOG LEVEL: INFO
  13. BREAKING THE LAW: DESIGN DE APIs 14 WEB SERVER LOGS

    PLATAFORMA LOGS PLATAFORMA MÉTRICAS DATA LAKE DANDO UM JEITINHO LOG PANEL (Graylog) Developer HAPPY ENDINGS! CENÁRIO DO MUNDO REAL: TROUBLESHOOTING DE DESENVOLVEDOR
  14. BREAKING THE LAW: DESIGN DE APIs 15 CDN BALANCER API

    GATEWAY APP BALANCER SERVER WEB SERVER LOG COLLECTOR LOG PROCESSOR DATA LAKE APP GET /customer DANDO UM JEITINHO #SQN HEADER: CPF=00000011100 LOG LEVEL: DEBUG
  15. BREAKING THE LAW: DESIGN DE APIs 16 WEB SERVER LOGS

    PLATAFORMA LOGS PLATAFORMA MÉTRICAS DATA LAKE DANDO UM JEITINHO #SQN LOG PANEL (Graylog) Developer OHH F*CK!!!! CPF CPF CPF CPF
  16. BREAKING THE LAW: DESIGN DE APIs 17 QUEBRANDO O PADRÃO

    REST (URI) GET POST PUT/PATCH DELETE Roy Fielding 2000 HTTP 1.1 Loved by Sofware Architects and Developers /client/00000011100 {} /client {“cpf”: “00000011100”, “name”: “john”} /client/00000011100 {“name”: “johnny”} /delete/00000011100 {} Dados pessoais expostos em URIs
  17. BREAKING THE LAW: DESIGN DE APIs 18 QUEBRANDO O PADRÃO

    REST (URI) GET POST PUT/PATCH DELETE /client/ULID {} /client {“cpf”: “00000011100”, “name”: “john”} /client/ULID {“name”: “johnny”} /delete/ULID {} ALMOST HAPPY ENDINGS! ULID: 01DE612CC8YHX2YFZX9DXQWY2G
  18. BREAKING THE LAW: DESIGN DE APIs 19 QUEBRANDO O PADRÃO

    OHH F*CK!!!! ULID = 01DE612CC8YHX2YFZX9DXQWY2G 01DE612CC8YHX2YFZX9DXQWY2G = CPF = 00000011100 CPF = 00000011100 = John Handcap “dado pessoal: informação relacionada a pessoa natural identificada ou identificável”...
  19. BREAKING THE LAW: DESIGN DE APIs 20 QUEBRANDO O PADRÃO

    REST (URI) POST POST PUT/PATCH POST /client/info {“cpf”: ”00000011100”} /client/new {“cpf”: “00000011100”, “name”: “john”} /client {“cpf”: “00000011100”, “name”: “johnny”} /client/delete HAPPY ENDINGS! {“cpf”: ”00000011100”} OHH F*CK!!!! SEC GUYS DEV GUYS
  20. BREAKING THE LAW: DESIGN DE APIs 21 QUEBRANDO O PADRÃO

    #HIGH#COST REST (URI) GET POST PUT/PATCH DELETE /client/HASH {} /client {“cpf”: “00000011100”, “name”: “john”} /client/HASH {“name”: “johnny”} /delete/HASH {} HASH = CRYPTO( 00000011100 + SECRET ) HAPPY ENDINGS! Rotacionado por periodicidade e por usuário: pode ser fornecido por serviço de gestão de hashes e ser entregue via Diffie Hellman.