Tag: Amazon Web Service

Como abordar a modelagem de ameaças

[vc_row][vc_column][vc_column_text]Neste post, eu vou fornecer algumas dicas sobre como integrar a modelagem de ameaças ao ciclo de vida de desenvolvimento de aplicações da sua organização. Existem muitas orientações excelentes sobre como executar as partes processuais da modelagem de ameaças, e abordarei brevemente quais são elas e suas metodologias. No entanto, o principal objetivo deste post é ampliar a orientação existente com algumas dicas adicionais sobre como lidar com as pessoas e os componentes do processo em sua abordagem de modelagem de ameaças, o que, na minha experiência, ajuda muito a melhorar os resultados de segurança, a propriedade da segurança, a velocidade de entrada no mercado e a felicidade geral de todos os envolvidos. Além disso, fornecerei algumas orientações específicas para quando você estiver usando a Amazon Web Services (AWS).

Vamos começar com uma introdução sobre modelagem de ameaças.

Por que usar a modelagem de ameaças

Sistemas de TI são complexos, e vão se tornando cada vez mais complexos, assim como sua capacidade; oferecendo mais valor comercial e maior satisfação e engajamento do cliente. Isso significa que as decisões de design de TI precisam levar em conta um número cada vez maior de casos de uso e precisam ser pensadas de forma a mitigar possíveis ameaças à segurança que podem levar a resultados impactantes nos negócios, incluindo acesso não autorizado a dados, negação de serviço e uso indevido de recursos.

Essa complexidade e o número distinto de casos de uso normalmente tornam ineficaz o uso de abordagens não estruturadas para encontrar e mitigar ameaças. Em vez disso, você precisa de uma abordagem sistemática para enumerar as potenciais ameaças aos workloads, elaborar mitigações e priorizar essas mitigações para garantir que os recursos limitados de sua organização tenham o máximo impacto na melhoria da postura geral de segurança do workload. A modelagem de ameaças foi projetada para fornecer essa abordagem sistemática, com o objetivo de encontrar e resolver problemas no início do processo de design, quando as mitigações têm um custo relativamente baixo em comparação com o ciclo de vida mais avançado.

O AWS Well-Architected Framework destaca a modelagem de ameaças como uma prática recomendada específica, dentro do Pilar de segurança, na área de fundamentos de segurança, sob a pergunta SEC 1: como operar de forma segura seu workload?:

“Identificar e priorizar riscos usando um modelo de ameaça: use um modelo de ameaça para identificar e manter um registro atualizado de possíveis ameaças. Priorize essas ameaças e adapte seus controles de segurança para prevenir, detectar e responder. Revise e mantenha isso no contexto do cenário de segurança em evolução.”

A modelagem de ameaças é mais eficaz quando feita no nível do workload (ou em uma funcionalidade do workload), a fim de garantir que todo o contexto esteja disponível para avaliação. O AWS Well-Architected define um workload como:

“Um conjunto de componentes que, juntos, agregam valor comercial. Um workload geralmente é o nível de detalhe sobre o qual os líderes de negócios e tecnologia se comunicam. Exemplos de workloads são sites de marketing, sites de comércio eletrônico, backends para aplicações móveis, plataformas analíticas, etc. Os workloads variam em níveis de complexidade arquitetônica, de sites estáticos a arquiteturas com vários armazenamentos de dados e muitos componentes.”

As principais etapas da modelagem de ameaças

Na minha experiência, todas as abordagens de modelagem de ameaças são semelhantes; em um alto nível, elas seguem estas etapas de uma forma geral:

  1. Identificação de ativos, atores, pontos de entrada, componentes, casos de uso e níveis de confiança e inclusão deles em um diagrama de design.
  2. Identificação de uma lista de ameaças.
  3. Identificação de mitigações por ameaça, que pode incluir implementações de controle de segurança.
  4. Criação e análise de uma matriz de risco para determinar se a ameaça foi adequadamente mitigada.

Para se aprofundar nas práticas gerais associadas a essas etapas, sugiro a leitura do whitepaper SAFECode Tactical Threat Modeling e a Open Web Application Security Project (OWASP) Threat Modeling Cheat Sheet. Esses guias são ótimos recursos para você considerar ao adotar uma abordagem específica. Eles também fazem referência a uma série de ferramentas e metodologias que são úteis para acelerar o processo de modelagem de ameaças, incluindo a criação de diagramas de modelo de ameaça com o projeto Threat Dragon do OWASP e a determinação de possíveis ameaças com o OWASP Top 10, OWASP Application Security Verification Standard (ASVS) e STRIDE. Você pode optar por adotar alguma combinação deles ou criar o seu próprio.

Quando fazer a modelagem de ameaças

A modelagem de ameaças é uma atividade realizada no desenho do projeto. É comum que durante a fase de desenho do projeto, você vá além da criação de um diagrama de arquitetura, e que possivelmente também estará construindo um ambiente de Desenvolvimento e/ou Testes. Essas atividades são realizadas para trazer informações que vão ajudar a desenvolver seu projeto do ambiente de Produção. Como a modelagem de ameaças é uma atividade no momento do desenho do projeto, ela ocorre antes da revisão do código, da análise de código (estática ou dinâmica) e do teste de penetração; tudo isso ocorre posteriormente no ciclo de vida da segurança.

Sempre considere ameaças potenciais ao projetar seu workload, desde as fases iniciais, que normalmente ocorrem quando as pessoas ainda estão escrevendo na lousa/quadro-branco (seja físico ou virtual). A modelagem de ameaças deve ser executada durante a fase de desenho de um projeto para um determinado recurso de workload ou alteração do mesmo, pois essas alterações podem introduzir novas ameaças que exigem que você atualize seu modelo de ameaça.

Dicas de modelagem de ameaças

Em última análise, a modelagem de ameaças requer reflexão, brainstorming, colaboração e comunicação. O objetivo é preencher a lacuna entre desenvolvimento de aplicações, operações, negócios e segurança. Não há atalho para o sucesso. No entanto, observei alguns fatores que têm impacto significativo na adoção e no sucesso da modelagem de ameaças, e é o que abordarei nas seções a seguir.

  1. Monte a equipe certa

A modelagem de ameaças é um “esporte de equipe”, porque requer o conhecimento e o conjunto de habilidades de uma equipe diversificada, onde todas as sugestões podem ser vistas como iguais em valor. Para todas os tipos de personas listadas nesta seção, a mentalidade sugerida é começar pelas expectativas de seus clientes finais e trabalhar de trás para frente. Pense no que seus clientes esperam desse workload ou de algum recurso do mesmo, tanto em termos de suas propriedades de segurança quanto em manter um equilíbrio entre funcionalidade e usabilidade.

Eu recomendo que as seguintes perspectivas sejam abordadas pela equipe, observando que um único indivíduo pode apresentar mais de uma dessas perspectivas:

persona de negócios: primeiro, para manter uma base sólida, você vai querer alguém que represente os resultados comerciais do workload ou do recurso que faz parte do processo da modelagem de ameaças. Essa pessoa deve ter um entendimento profundo dos requisitos funcionais e não-funcionais do workload, e seu trabalho é garantir que esses requisitos não sejam afetados indevidamente por nenhuma mitigação proposta para lidar com ameaças. Ou seja, se um controle de segurança proposto (ou seja, mitigação) tornar um requisito de aplicação inutilizável ou excessivamente degradada, será necessário mais trabalho para alcançar o equilíbrio certo entre segurança e funcionalidade.

persona do desenvolvedor: é alguém que entende o projeto atual proposto para os recursos do workload e teve o maior envolvimento nas decisões sobre o projeto até o momento. Essa pessoa esteve envolvida em sessões de brainstorming, ou whiteboarding do projeto que culminaram neste momento, quando normalmente está pensando em ameaças ao projeto e possíveis mitigações a serem incluídas. Nos casos em que você não está desenvolvendo sua própria aplicação interna (por exemplo, aplicações COTS), você traria o proprietário da aplicação interna.

persona do adversário: Em seguida, você precisa de alguém para desempenhar o papel do adversário. O objetivo dessa persona é colocar-se no lugar de um invasor e revisar criticamente o projeto do workload, afim de procurar maneiras de tirar proveito de uma falha de design no mesmo para atingir um objetivo específico (por exemplo, compartilhamento não autorizado de dados). Os “ataques” que essa pessoa realiza são um exercício mental, não uma exploração prática real através de códigos. Se a sua organização tiver a equipe chamada Red Team, ela pode ser uma ótima opção para essa função; caso contrário, você pode querer que um ou mais membros de sua equipe de operações de segurança ou engenharia desempenhem essa função. Outra alternativa é trazer um terceiro especializado nessa área.

persona defensora: você precisará de alguém para desempenhar o papel de defensor. O objetivo dessa persona é ver os possíveis “ataques” projetados pela persona adversária como ameaças potenciais e criar controles de segurança que atenuem as ameaças. Essa persona também avalia se as possíveis mitigações são razoavelmente gerenciáveis em termos de suporte operacional contínuo, monitoramento e resposta a incidentes.

persona AppSec SME: A persona especialista no assunto (Subject Matter Expert – SME) de Application Security (AppSec) deve estar mais familiarizada com o processo de modelagem de ameaças e os métodos de moderação de discussões, e deve ter um profundo conhecimento e experiência em segurança de TI. A moderação da discussão é crucial para o processo geral do exercício, a fim de garantir que os objetivos gerais do processo sejam mantidos no caminho certo e que o equilíbrio adequado entre segurança e entrega do resultado do cliente seja mantido. Em última análise, é essa pessoa que endossa o modelo de ameaça e aconselha o escopo das ações, além do exercício de modelagem de ameaças e também o escopo do teste de penetração.

  1. Tenha uma abordagem consistente

Na seção anterior, listei algumas das abordagens populares de modelagem de ameaças. Sua seleção não é tão importante quanto usá-la de forma consistente em todas as equipes.

Ao usar uma abordagem e um formato consistente, as equipes podem se mover mais rapidamente e estimar o esforço com mais precisão. Os indivíduos podem aprender com exemplos, observando modelos de ameaças desenvolvidos por outros membros da equipe ou até outras equipes, evitando ter de começar do zero.

Quando sua equipe estima o esforço e o tempo necessários para criar um modelo de ameaça, a experiência e o tempo gasto com modelos de ameaças anteriores podem ser usados para fornecer estimativas mais precisas dos cronogramas de entrega.

Além da consistência na abordagem e no formato, ter consistência na granularidade e relevância das ameaças que estão sendo modeladas é fundamental. Mais adiante neste post, descrevo uma recomendação para criar um catálogo de ameaças para reutilização em toda a sua organização.

Por fim, e mais importante, essa abordagem permite escalabilidade: se um determinado recurso do workload que está passando por um exercício de modelagem de ameaças estiver usando componentes que tenham um modelo de ameaça existente, o modelo de ameaça (ou controles de segurança individuais) desses componentes poderão ser reutilizados. Com essa abordagem, você pode efetivamente depender do modelo de ameaça existente de um componente e desenvolver esse modelo, eliminando o retrabalho.

  1. Alinhe-se à metodologia de entrega de software

Suas equipes de desenvolvimento de aplicações já têm um fluxo de trabalho e um estilo de entrega específicos. Atualmente, a entrega no estilo da Metodologia Ágil é a mais popular. A abordagem adotada para modelagem de ameaças deve se integrar bem com sua metodologia de entrega e ferramentas.

Assim como em qualquer outro resultado de entrega, capture as histórias de usuários relacionadas à modelagem de ameaças como parte do sprintepic ou backlog do recurso do workload.

  1. Use ferramentas de fluxo de trabalho existentes

Suas equipes de desenvolvimento de aplicações já estão usando um conjunto de ferramentas para dar suporte à metodologia de entrega. Isso normalmente inclui ferramentas de colaboração para documentação (por exemplo, uma wiki de equipe) e uma ferramenta de rastreamento de problemas para rastrear erros durante o ciclo de vida de desenvolvimento de software. Procure usar essas mesmas ferramentas como parte de seu fluxo de trabalho de análise de segurança e modelagem de ameaças.

As ferramentas de fluxo de trabalho existentes podem oferecer um único local para fornecer e visualizar feedbacks, atribuir ações e visualizar o status geral dos resultados de modelagem de ameaças do recurso no workload. Fazer parte do fluxo de trabalho reduz o atrito de concluir o projeto e permite que a modelagem de ameaças se torne tão comum quanto testes de unidade, testes de controle de qualidade ou outras etapas típicas do fluxo de trabalho.

Ao usar ferramentas típicas de fluxo de trabalho, os membros da equipe que trabalham na criação e revisão do modelo de ameaça podem trabalhar de forma assíncrona. Por exemplo, quando o revisor do modelo de ameaça adiciona um feedback, o autor é notificado e pode responder ao feedback quando tiver tempo, sem ter de reservar um horário específico para uma reunião. Além disso, isso permite que o AppSec SME trabalhe de forma mais eficaz em várias revisões de modelos de ameaças nas quais possa estar envolvido.

Ter uma abordagem e linguagem consistentes, conforme descrito anteriormente, é um pré-requisito importante para viabilizar esse processo assíncrono, para que cada participante possa ler e entender o modelo de ameaça sem ter que reaprender a interpretação correta a cada vez.

  1. Divida a workload em partes menores

É aconselhável decompor (dividir) o workload em recursos e realizar o exercício de modelagem de ameaças no nível do recurso, em vez de criar um único modelo de ameaça para um workload inteiro. Essa abordagem tem vários benefícios principais:

  1. Ter partes menores de trabalho permite um acompanhamento mais granular do progresso, o que se alinha bem com as equipes de desenvolvimento que estão seguindo a entrega no estilo Ágil, além de oferecer aos líderes uma visão constante do progresso.
  2. Essa abordagem tende a criar modelos de ameaças mais detalhados, o que resulta na identificação de mais descobertas.
  3. A decomposição também abre a oportunidade para que o modelo de ameaça seja reutilizado como uma dependência para outros recursos do workload que usam os mesmos componentes.
  4. Ao considerar as mitigações de ameaças para cada componente, no nível geral do workload, isso significa que uma única ameaça pode ter várias mitigações, resultando em uma resiliência aprimorada contra essas ameaças.
  5. Problemas com um único modelo de ameaça, por exemplo uma ameaça crítica que ainda não foi mitigada, não se tornam impeditivos de lançamento para todo o workload, mas apenas para o recurso individual.

A questão então é: até que ponto você deve decompor o workload?

Como regra geral, para criar um modelo de ameaça o seguinte contexto é necessário, no mínimo:

  • Um ativo. Por exemplo, credenciais, registros de clientes e assim por diante.
  • Um ponto de entrada. Por exemplo, implantação da API REST do Amazon API Gateway.
  • Dois componentes. Por exemplo, um navegador da web e uma API REST do API Gateway; ou API Gateway e uma função do AWS Lambda.

Criar um modelo de ameaça para um determinado serviço da AWS (por exemplo, o API Gateway) isoladamente não atenderia totalmente a esses critérios, visto que o serviço é um componente único, não há movimentação dos dados de um componente para outro. Além disso, o contexto de todos os casos de uso possíveis do serviço em um workload não é conhecido, portanto, você não pode obter de forma abrangente as ameaças e mitigações. A AWS executa a modelagem de ameaças dos vários recursos que compõem um determinado serviço da AWS. Portanto, para seu recurso de workload que utiliza um determinado serviço da AWS, você não precisaria fazer modelagem de ameaça do serviço em si, mas sim considerar as várias opções de configuração de serviços da AWS e as mitigações específicas do seu próprio workload ao mitigar as ameaças identificadas. Eu me aprofundo nisso na seção “Identifique e avalie mitigações”, onde falo sobre o conceito de controles de segurança de baseline.

  1. Distribua a responsabilidade

Ter uma pessoa ou departamento central responsável pela criação de modelos de ameaças não funciona a longo prazo. Essas entidades centrais tornam-se gargalos e só podem aumentar a escala verticalmente com um número adicional de funcionários. Além disso, a responsabilidade centralizada não capacita aqueles que estão realmente projetando e implementando seus recursos do workload.

Em vez disso, o que se expande bem é a responsabilidade distribuída da criação do modelo de ameaça pela equipe responsável por projetar e implementar cada recurso do workload. A responsabilidade distribuída dimensiona e impulsiona a mudança de comportamento, porque agora as equipes de aplicações estão no controle e, o mais importante, estão levando o que aprenderam sobre segurança do processo de modelagem de ameaça para o novo lançamento de recursos. Ou seja, estão constantemente melhorando a segurança dos seus workloads e recursos.

Isso cria a oportunidade para o SME (ou equipe) de AppSec desempenhar efetivamente a função de moderador e consultor de segurança para todas as várias equipes de aplicações em sua organização. O AppSec SME estará em posição de impulsionar a consistência, a adoção e a comunicação, além de definir e elevar o nível de segurança entre as equipes.

  1. Identifique pontos de entrada

Quando você procura identificar pontos de entrada para serviços da AWS que são componentes dentro do seu modelo geral de ameaças, é importante entender que, dependendo do tipo de serviço da AWS, os pontos de entrada podem variar de acordo com a arquitetura do recurso do workload incluído no escopo do modelo de ameaça.

Por exemplo, com o Amazon Simple Storage Service (Amazon S3), os tipos possíveis de pontos de entrada para um bucket do S3 são limitados ao que é exposto por meio da API do Amazon S3, e o serviço não oferece o recurso para você, como cliente, para criar tipos adicionais de pontos de entrada. Neste exemplo do Amazon S3, como cliente, você faz escolhas sobre como esses tipos existentes de endpoints são expostos, incluindo se o bucket é privado ou publicamente acessível.

No outro extremo do espectro, o Amazon Elastic Compute Cloud (Amazon EC2) permite que os clientes criem tipos adicionais de pontos de entrada para instâncias do EC2 (por exemplo, a API da sua aplicação), além dos tipos de ponto de entrada fornecidos pela API do Amazon EC2 e os nativos do sistema operacional em execução na instância do EC2 (por exemplo, SSH ou RDP).

Portanto, verifique se você está aplicando os pontos de entrada específicos ao recurso do workload, além dos endpoints nativos para serviços da AWS, como parte do seu modelo de ameaça.

  1. Crie ameaças

Seu objetivo aqui é tentar encontrar respostas para a pergunta “O que pode dar errado?” Não há nenhuma lista canônica que exiba todas as ameaças possíveis, porque a determinar ameaças depende do contexto do recurso do workload que está sendo avaliado e dos tipos de ameaças que são exclusivas de um determinado setor, área geográfica e assim por diante.

Criar ameaças requer brainstorming. O exercício de brainstorming pode ser facilitado usando um processo mnemônico, como STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, e Elevation of Privilege), ou examinando listas de ameaças como a OWASP Top 10 ou HiTrust Threat Catalog para que as ideias fluam.

Por meio desse processo, é recomendável que você desenvolva e contribua para um catálogo de ameaças que seja contextual para sua organização e que acelere o processo de brainstorming daqui para frente, além de gerar consistência na granularidade das ameaças que você modela.

  1. Identifique e avalie as mitigações

Aqui, seu objetivo é identificar as mitigações (controles de segurança) dentro do projeto do workload e avaliar se as ameaças foram tratadas adequadamente. Lembre-se de que normalmente existem várias camadas de controles e várias responsabilidades em jogo.

Para suas próprias aplicações e códigos internos, seria interessante revisar as mitigações que foram inclusas em seu design, entre elas a validação de entrada, a autenticação, o tratamento de sessão e o tratamento de limites.

Considere todos os outros componentes do seu workload (por exemplo, software como serviço (SaaS), infraestrutura que suporta suas aplicações COTS ou componentes hospedados em seus datacenters on-premises) e determine os controles de segurança que fazem parte do projeto do workload.

Isso significa que, para as partes dos serviços da AWS que você está usando e que são de responsabilidade da AWS (Segurança da nuvem), os controles de segurança são gerenciados pela AWS, juntamente com a identificação e mitigação de ameaças. A distribuição de responsabilidade entre a AWS (Segurança da nuvem) e você (Segurança na nuvem) depende de qual serviço da AWS você usa. Abaixo, forneço exemplos de infraestruturaencapsulados e serviços abstratos da AWS, afim de mostrar como sua responsabilidade pela identificação e mitigação de ameaças pode variar:

  • Amazon EC2 é um bom exemplo de um serviço de infraestrutura, onde você pode acessar um servidor virtual na nuvem, escolher o sistema operacional e controlar o serviço e todos os aspectos executados nele. Portanto, você seria responsável por mitigar as ameaças identificadas.
  • Amazon Relational Database Service (Amazon RDS) é um exemplo representativo de um serviço encapsulado, onde não há nenhum sistema operacional exposto para você e, em vez disso, a AWS expõe o mecanismo de banco de dados selecionado para você (por exemplo, MySQL). A AWS é responsável pela segurança do sistema operacional neste exemplo, e você não precisa criar mitigações. No entanto, o mecanismo de banco de dados e todos os aspectos acima dele estão sob seu controle, portanto, você precisaria considerar mitigações para essas áreas. Aqui, a AWS está assumindo uma parcela maior da responsabilidade em comparação com os serviços de infraestrutura.
  • Amazon S3, o AWS Key Management Service (AWS KMS) e o Amazon DynamoDB são exemplos de um serviço abstrato em que a AWS expõe todo o ambiente de gerenciamento e acesso aos dados a você por meio da API de serviço. Novamente, aqui não há sistemas operacionais, mecanismos de banco de dados ou plataformas expostos; isso é uma responsabilidade da AWS. No entanto, as ações da API e as políticas associadas estão sob seu controle, assim como todos os aspectos acima do nível da API e, portanto, você deve considerar mitigações para isso. Para esse tipo de serviço, a AWS assume uma parcela maior de responsabilidade em comparação com os tipos de serviço encapsulado e de infraestrutura.

Embora esses exemplos não abranjam todos os tipos de serviços da AWS que possam estar em seu workload, eles demonstram como suas responsabilidades de segurança e conformidade sob o Modelo de Responsabilidade Compartilhada variam nesse contexto. Compreender o equilíbrio de responsabilidades entre a AWS e você para os tipos de serviços da AWS em seu workload ajuda você a definir o escopo do exercício de modelagem de ameaças para as mitigações que estão sob seu controle, que normalmente são uma combinação de opções de configuração de serviço da AWS e suas próprias mitigações específicas do workload. Para a parte da responsabilidade da AWS, você descobrirá que os serviços da AWS estão dentro do escopo de muitos programas de conformidade, e os relatórios de auditoria estão disponíveis para download pelos clientes da AWS (sem custo) no AWS Artifact.

Independentemente de quais serviços da AWS você está usando, sempre há um elemento de responsabilidade do cliente, e isso deve ser incluído no seu modelo de ameaça do workload.

Especificamente, para mitigações de controle de segurança para os próprios serviços da AWS, você deve considerar controles de segurança entre domínios, incluindo os seguintes: Identity and Access Management (autenticação/autorização), proteção de dados (em repouso, em trânsito), segurança de infraestrutura, logs e monitoramento. Cada um dos serviços da AWS tem um capítulo de segurança dedicado na documentação, que fornece orientações sobre os controles de segurança a serem considerados como mitigações. Ao capturar esses controles de segurança e mitigações em seu modelo de ameaça, você deve procurar incluir referências ao código real, às políticas do IAM e aos templates do AWS CloudFormation localizados no repositório de infraestrutura como código do workload e assim por diante. Isso ajuda o revisor ou aprovador do seu modelo de ameaça a obter uma visão inequívoca da mitigação pretendida.

Como no caso da identificação de ameaças, não há uma lista canônica enumerando todos os controles de segurança possíveis. Por meio do processo descrito aqui, você deve desenvolver conscientemente controles de segurança de baseline que se alinham aos objetivos de controle da sua organização e, sempre que possível, implementar esses controles de segurança de baseline como controles no nível da plataforma, incluindo configurações de nível de serviço da AWS (por exemplo, criptografia em repouso) ou guardrails (por exemplo, por meio de Service Control Policies). Ao fazer isso, você pode impulsionar a consistência e a escala, de modo que esses controles de segurança de baseline implementados sejam automaticamente herdados e aplicados para outros recursos do workload que você projeta e implanta.

Quando você cria os controles de segurança de baseline, é importante observar que o contexto de um determinado recurso do workload não é conhecido. Portanto, é aconselhável considerar esses controles como um baseline negociável da qual você pode se desviar, desde que, ao executar o exercício de modelagem de ameaças do workload, você descubra que a ameaça relacionada ao controle do baseline que foi projetado para mitigar não é aplicável, ou que há outras mitigações ou controles de compensação que mitigam adequadamente a ameaça. Controles de compensação e fatores de mitigação podem incluir: classificação reduzida de ativos de dados, acesso não humano ou dados efêmeros.

Para saber mais sobre como começar a pensar nos controles de segurança básicos como parte de sua governança geral de segurança na nuvem, veja o post no blog How to think about cloud security governance (Como pensar sobre governança de segurança na nuvem).

  1. Decida quando é suficiente

Não há uma resposta perfeita para essa pergunta. No entanto, é importante ter uma perspectiva baseada em riscos sobre o processo de modelagem de ameaças para a criação de uma abordagem equilibrada, para que a probabilidade e o impacto de um risco sejam considerados adequadamente. A ênfase excessiva em “vamos construir e lançar” pode levar a custos e atrasos significativos posteriormente. Por outro lado, a ênfase excessiva em “vamos mitigar todas as ameaças possíveis” pode levar ao lançamento atrasado (ou cancelado) do recurso do workload, e você pode perder clientes. Na recomendação que fiz anteriormente na seção “Montar a equipe certa”, a seleção de personas é deliberada para garantir que haja uma tensão natural entre o lançamento do recurso e a mitigação de ameaças. Abrace essa tensão saudável.

  1. Não deixe que a paralisia impeça você antes de começar

Anteriormente, na seção “Divida o workload em partes menores”, eu recomendei a redefinição de seus modelos de ameaças para um recurso do workload. Você pode estar pensando consigo mesmo: “Já enviamos <X número> de recursos, como fazemos a modelagem de ameaça neles?” Essa é uma pergunta completamente sensata.

Minha opinião é que, em vez de voltar aos recursos do modelo de ameaça que já estão ativos, você deve tentar modelar ameaças em quaisquer novos recursos nos quais você está trabalhando no momento e melhorar as propriedades de segurança do código que você enviará a seguir, fazendo isso com todos os recursos seguintes. Durante esse processo, você, sua equipe e sua organização aprenderão não apenas sobre modelagem de ameaças, mas também sobre como se comunicar efetivamente uns com os outros. Faça ajustes, itere, melhore. Em algum momento no futuro, quando estiver fornecendo rotineiramente modelos de ameaças de alta qualidade, consistentes e reutilizáveis para seus novos recursos, você poderá começar a colocar atividades para executar a modelagem de ameaças para recursos existentes em sua lista de pendências.[/vc_column_text][us_separator size=”small” show_line=”1″][vc_column_text]Por: Darran Boyd – Arquiteto-chefe de soluções de segurança da AWS
Revisor: Bruno Lopes – Senior Solutions Architect no time da AWS LATAM[/vc_column_text][/vc_column][/vc_row]

Tags:, , , , , , , ,

Como as certificações AWS se mostram um investimento de retorno garantido para sua carreira

[vc_row][vc_column][vc_column_text]

As dificuldades do mercado

Que o mercado de trabalho tem se tornado cada vez mais competitivo e exigente não é novidade, mas, além disso, o mercado também anseia por profissionais ainda mais capacitados e atualizados em suas áreas de atuação.

Devido à transformação digital dos últimos anos, a procura das empresas por profissionais especializados nos setores de tecnologia também cresceu, principalmente no que diz respeito a Computação na Nuvem, algo que se mostra indispensável para a sobrevivência das organizações. Mas é difícil se manter atualizado em um setor que evolui com tanta velocidade.

A importância das certificações para sua carreira

Para se garantir no mercado de trabalho e conquistar mais autoridade na carreira que escolher, você pode investir em certificações que permitem contato direto com a área de atuação e estejam de acordo com as últimas atualizações requeridas.

Na AWS você encontra um ambiente dinâmico, que forma profissionais proativos com treinamentos e certificações que permitem uma rápida imersão no tema escolhido. Com as certificações que vão do nível básico ao especializado, você pode aperfeiçoar seus conhecimentos técnicos, ou, até mesmo, se inserir em um novo tema da área de tecnologia, ganhando economia de tempo durante sua jornada com treinamentos online que oferecem variados períodos de duração.

Pronto para o próximo passo?

Agora que você conhece a exigências do mercado e a melhor opção para se manter atualizado, é hora de se destacar, ampliar seus horizontes e construir o próximo nível da sua carreira, com autonomia e proatividade. Confira as diversas opções e escolha o seu treinamento AWS.[/vc_column_text][us_separator size=”small” show_line=”1″][vc_column_text]Por: AWS Training and Certification[/vc_column_text][/vc_column][/vc_row]

Tags:, , , , , , , , , ,

Aumente o engajamento online com conteúdo esportivo personalizado

[vc_row][vc_column][vc_column_text]Na Pulselive, criamos experiências imperdíveis para fãs de esportes; seja o site oficial da Copa do Mundo de Críquete ou as aplicações iOS e Android da Premier League inglesa.

Um dos principais pontos que nossos clientes avaliam é o engajamento dos fãs com o conteúdo digital, como vídeos. Mas até recentemente, os vídeos exibidos para cada fã eram baseados em uma lista daqueles publicados mais recentemente, não era personalizada.

As organizações esportivas estão buscando entender quem são seus fãs e o que eles desejam. A riqueza dos dados de comportamento digital que podem ser coletados para cada fã conta uma história de como eles são únicos e se engajam com os conteúdos. Com base no aumento dos dados disponíveis e na crescente presença de machine learning (ML), nossos clientes solicitaram que a Pulselive fornecesse recomendações personalizadas de conteúdo.

Nesta postagem, compartilhamos a experiência de adicionar o Amazon Personalize à nossa plataforma como novo mecanismo de recomendação e o modo pelo qual aumentamos o consumo de vídeo em 20%.

Implementação do Amazon Personalize

Antes que pudéssemos começar, a Pulselive tinha dois desafios principais: não tínhamos nenhum cientista de dados na equipe e precisávamos de uma solução que pudesse ser compreendida por nossos engenheiros com pouca experiência em ML e que ainda produzisse resultados mensuráveis. Consideramos o uso de empresas externas para ajudar (alto custo), usando ferramentas como o Amazon SageMaker (ainda uma considerável curva de aprendizado) ou o Amazon Personalize.

Por fim, escolhemos usar o Amazon Personalize por vários motivos:

  1. Barreira de entrada era baixa, técnica e financeiramente.
  2. Poderíamos realizar rapidamente um teste A/B para demonstrar o valor de um mecanismo de recomendação.
  3. Poderíamos criar uma prova de conceito (PoC) simples com o mínimo de interrupção no site existente.
  4. Estávamos mais preocupados com o impacto e a melhoria dos resultados do que com uma compreensão clara do que estava acontecendo por trás das cortinas do Amazon Personalize.

Como qualquer outro negócio, não podíamos arcar com um impacto negativo em nossas operações diárias, mas ainda precisávamos da confiança de que a solução funcionaria em nosso ambiente. Portanto, iniciamos com o teste A/B de uma PoC que poderíamos preparar e rodar em questão de dias.

Trabalhando com a equipe do Amazon Prototyping, reduzimos uma gama de opções para nossa primeira integração a uma que exigiria alterações mínimas no site e poderia ser facilmente validada com um teste A/B. Depois de examinar todos os locais em que o usuário recebe uma lista de vídeos, decidimos que reclassificar a lista de vídeos para assistir em seguida seria o mais rápido para implementar conteúdo personalizado. Para esse protótipo, usamos uma função AWS Lambda e o Amazon API Gateway para prover uma nova API que interceptaria a requisição de mais vídeos e os reclassificaria usando a API GetPersonalizedRanking do Amazon Personalize.

Para ser considerado bem-sucedido, o experimento precisaria demonstrar melhorias estatisticamente significativas no total de visualizações dos vídeos ou na porcentagem de conclusão. Para tal, precisaríamos testar em um período de tempo longo o suficiente para garantir que cobríssemos dias com vários eventos esportivos e dias mais tranquilos sem partidas. Esperávamos eliminar qualquer comportamento que dependesse da hora do dia ou de uma partida ter sido disputada recentemente por meio de testes com diferentes padrões de uso. Definimos um período de 2 semanas para coletar os dados iniciais. Todos os usuários fariam parte do experimento e seriam designados aleatoriamente para o grupo de controle ou para o grupo de teste. Para manter o experimento o mais simples possível, todos os vídeos fariam parte do experimento. O diagrama a seguir ilustra a arquitetura da nossa solução.

 

Para começar, precisávamos construir uma solução no Amazon Personalize que nos fornecesse o ponto de partida do experimento. O Amazon Personalize requer um conjunto de dados de interações usuário-item para então definir uma solução e criar uma campanha de recomendação de vídeos aos usuários. Atendemos a esses requisitos criando um arquivo CSV contendo um registro de data/hora, ID de usuário e ID de vídeo para cada visualização do vídeo ocorrida durante várias semanas de uso. O upload do histórico de interações para o Amazon Personalize foi um processo simples e pudemos então testar imediatamente as recomendações no Console de Gerenciamento da AWS. Para treinar o modelo, usamos um conjunto de dados de 30.000 interações recentes.

Para comparar as métricas do total de vídeos visualizados e a porcentagem de conclusão de vídeo, criamos uma segunda API para registrar todas as interações de vídeo no Amazon DynamoDB. Essa segunda API resolveu o problema de informar ao Amazon Personalize as novas interações por meio da API PutEvents, o que ajudou a manter o modelo de ML atualizado.

Rastreamos todas as visualizações de vídeo e os prompts que geraram visualizações para todos os usuários no experimento. Os prompts de vídeo incluíam links diretos (por exemplo, de mídias sociais), links de outra parte do site e links de uma lista de vídeos. Cada vez que um usuário visualizava uma página de vídeo, era apresentada a lista atual de vídeos ou a nova lista reclassificada, dependendo se eles estavam no grupo de controle ou teste. Iniciamos nosso experimento com 5% do total de usuários no grupo de teste. Quando nossa abordagem não mostrou problemas (nenhuma queda óbvia no consumo de vídeo ou aumento nos erros de API), aumentamos para 50%, com os usuários restantes atuando como o grupo de controle e começamos a coletar dados.

Aprendendo com nosso experimento

Após duas semanas de testes A/B, extraímos os KPIs coletados do DynamoDB e comparamos as duas variantes que testamos em vários KPIs. Optamos por usar alguns KPIs simples para este experimento inicial, mas os KPIs para outras organizações podem variar.

Nosso primeiro KPI foi o número de visualizações de vídeo por usuário por sessão. Nossa hipótese inicial era que não veríamos mudanças significativas, uma vez que estávamos apenas reclassificando uma lista de vídeos; no entanto, medimos um aumento nas visualizações por usuário em 20%. O gráfico a seguir sumariza as visualizações de vídeo para cada grupo.

Além de medir a contagem total de visualizações, queríamos ter certeza de que os usuários estavam assistindo aos vídeos na íntegra. Rastreamos isso enviando um evento para cada 25% do vídeo que um usuário visualizou. Para cada vídeo, descobrimos que a porcentagem média de conclusão não mudou muito com base no fato do vídeo ter sido recomendado pelo Amazon Personalize ou pela visualização da lista original. Em combinação com o número de vídeos visualizados, concluímos que o tempo geral de visualização aumentou para cada usuário quando apresentado a uma lista personalizada de vídeos recomendados.

Também rastreamos a posição de cada vídeo na seção “vídeos recomendados” para os usuários e qual item eles selecionaram. Isso nos permitiu comparar a classificação de uma lista personalizada com uma lista ordenada por data de publicação. Descobrimos que não houve muita diferença entre as duas variantes, o que sugeriu que os usuários provavelmente selecionariam um vídeo visível na tela em vez de rolar para ver a lista inteira.

Depois de analisarmos os resultados do experimento, apresentamos ao cliente a recomendação de habilitar o Amazon Personalize como o método padrão de classificação de vídeos no futuro.

Lições aprendidas

Aprendemos as seguintes lições em nossa jornada, as quais podem ajudá-lo na implementação de sua própria solução:

  1. Reúna um histórico de dados de interações usuário-item; usamos cerca de 30.000 interações.
  2. Concentre-se em dados históricos recentes. Embora a primeira intenção possa ser obter o máximo de dados históricos possível, as interações recentes são mais valiosas do que as mais antigas. Se você tiver um conjunto de dados muito grande de interações históricas, pode-se filtrar as interações mais antigas para reduzir o tamanho do conjunto de dados e o tempo de treinamento.
  3. Certifique-se de fornecer a todos os usuários um ID consistente e exclusivo, usando uma solução de SSO ou gerando IDs de sessão.
  4. Encontre um lugar em seu site ou aplicação onde você possa executar um teste A/B, reclassificar uma lista existente ou exibir uma lista de itens recomendados.
  5. Atualize sua API para invocar o Amazon Personalize e obter a nova lista de itens.
  6. Realize u, teste A/B e aumente gradualmente a porcentagem de usuários no experimento.
  7. Instrumente e faça medições para que você possa entender o resultado de seu experimento.

Conclusão e etapas futuras

Ficamos entusiasmados com nossa primeira incursão no mundo do ML com o Amazon Personalize. Descobrimos que todo o processo de integração de um modelo treinado no fluxo de trabalho era incrivelmente simples; e gastamos muito mais tempo nos certificando de que tínhamos os KPIs e a captura de dados certos para provar a utilidade do experimento do que implementando o Amazon Personalize.

No futuro, desenvolveremos os seguintes aprimoramentos:

  1. Integrar o Amazon Personalize em todo o nosso fluxo de trabalho com muito mais frequência, oferecendo às equipes de desenvolvimento a oportunidade de usar o Amazon Personalize em todos os lugares que fornecem uma lista de conteúdo.
  2. Expandir os casos de uso além da reclassificação para incluir itens recomendados. Isso nos permitirá apresentar itens mais antigos que provavelmente serão mais populares com cada usuário.
  3. Experimentar com que frequência o modelo deve ser retreinado. Inserir novas interações no modelo em tempo real é uma ótima maneira de manter tudo atualizado, mas os modelos ainda precisam de reciclagem diária para serem mais eficazes.
  4. Explorar opções de como podemos usar o Amazon Personalize com todos os clientes para ajudar a melhorar o engajamento dos fãs recomendando todas as formas de conteúdo relevantes.
  5. Usar filtros de recomendação para expandir o intervalo de parâmetros disponíveis para cada solicitação. Em breve, teremos como alvo opções adicionais como filtros para incluir vídeos dos jogadores favoritos.

[/vc_column_text][us_separator size=”small” show_line=”1″][vc_column_text]Por: Mark Wood, Diretor de Soluções de Produtos da Pulselive –  AWS[/vc_column_text][/vc_column][/vc_row]

Tags:, , , , , ,

O que é Big Data?

[vc_row][vc_column][vc_column_text]Big data é um termo usado para descrever o grande volume de dados que as empresas recebem em seu dia a dia.  Sendo assim, os dados podem ser analisados para gerar insights levando decisões e estratégias de negócios para as organizações.

Referente ao volume total de dados, não importa necessariamente a sua quantidade, mas sim o que as empresas fazem com eles.

Resumindo, Big Data é um conjunto de dados complexos e extensos, com maior variedade que chegam em volumes crescentes e velocidade cada vez maior. Porém podem e devem ser usados para resolver problemas da corporação que você não iria conseguir sozinho. Sendo conhecido também pelos 3V’s:

Volume: A quantidade de dados importa. Com o big data, você terá que processar grandes volumes de dados não estruturados de baixa densidade. Podem ser dados de valor desconhecido, como feeds de dados do Twitter, fluxos de cliques em uma página web ou em um aplicativo para dispositivos móveis, ou ainda um equipamento habilitado para sensores. Para algumas empresas, isso pode utilizar dezenas de terabytes de dados. Para outras, podem ser centenas de petabytes.

Velocidade: Velocidade é a taxa mais rápida na qual os dados são recebidos e talvez administrados. Normalmente, a velocidade mais alta dos dados é transmitida diretamente para a memória, em vez de ser gravada no disco. Alguns produtos inteligentes habilitados para internet operam em tempo real ou quase em tempo real e exigem avaliação e ação em tempo real.

Variedade: Variedade refere-se aos vários tipos de dados disponíveis. Tipos de dados tradicionais foram estruturados e se adequam perfeitamente a um banco de dados relacional. Com o aumento de big data, os dados vêm em novos tipos de dados não estruturados. Tipos de dados não estruturados e semiestruturados, como texto, áudio e vídeo, exigem um pré-processamento adicional para obter significado e dar suporte a metadados.

História do Big data

O big data não é um conceito considerado antigo, porem a origens de grandes dados armazenados datam à alguma décadas atrás (1960 e 1970), onde o mundo dos dados se iniciava.

Por volta de 2005, os usuários do Facebook, YouTube e outros serviços online foram crescendo e com isso os dados gerados por eles. Com isso no mesmo ano foi criado o Hadoop, uma estrutura para armazenar e analisar grandes dados. Durante esse período o NoSQL começou a ganhar popularidade.

Apesar da sua evolução o Big Data ainda está no começo da sua utilidade. Com a nuvem oferecendo uma escalabilidade elástica e expandindo ainda mais suas possibilidades. Os bancos de dados grafos estão se tornando cada vez mais importantes, pela sua capacidade de exibir grandes quantidade de dados de uma forma que a análise se torne ainda mais rápida e abrangente.

Como o Big Data possui muitas informações podemos a partir delas obter respostas mais completas, significando para empresas mais confiança nos dados.[/vc_column_text][us_separator size=”small” show_line=”1″][vc_column_text]Escrito por Mayara Pimentel –  com revisão final de Raphael Silva.[/vc_column_text][/vc_column][/vc_row]

Tags:, , , , , , , , , , , , , , , , ,

Arquitetura de data mesh com AWS Lake Formation e AWS Glue

[vc_row][vc_column][vc_column_text]Organizações de todos os tamanhos reconheceram que os dados são um dos principais facilitadores para aumentar e sustentar a inovação e gerar valor para seus clientes e unidades de negócios. Elas estão modernizando avidamente as plataformas de dados tradicionais com tecnologias nativas da nuvem que são altamente escaláveis, ricas em recursos e econômicas. À medida que você procura tomar decisões de negócios guiadas por dados, você pode ser ágil e produtivo ao adotar uma mentalidade que fornece produtos de dados a partir de equipes especializadas, ao invés de por meio de uma plataforma de gerenciamento de dados centralizada que fornece análises generalizadas.

Neste post, será descrita uma abordagem para implementar uma arquitetura de data mesh usando serviços nativos da AWS, incluindo o AWS Lake Formation e o AWS Glue. Essa abordagem permite que as linhas de negócios (LOBs) e as unidades organizacionais operem de forma autônoma, possuindo seus produtos de dados de ponta a ponta, ao mesmo tempo em que fornece descoberta de dados centralizada, governança e auditoria para a organização em geral, para garantir a privacidade e a conformidade dos dados.

Benefícios de um modelo de data mesh

Um modelo centralizado destina-se a simplificar a equipe e o treinamento através da centralização de dados e conhecimento técnico em um único local, reduzir o débito técnico gerenciando uma única plataforma de dados e reduzir os custos operacionais. Os grupos de plataformas de dados, muitas vezes parte da TI central, são divididos em equipes com base nas funções técnicas da plataforma que eles suportam. Por exemplo, uma equipe pode ser proprietária das tecnologias de ingestão usadas para coletar dados de várias fontes de dados gerenciadas por outras equipes e LOBs. Uma equipe diferente pode possuir pipelines de dados, escrever e depurar, extrair, transformar e carregar código (ETL) e orquestrar execuções de trabalho, ao mesmo tempo em que valida e corrige problemas de qualidade de dados e garante que o processamento de dados atenda aos SLAs de negócios. No entanto, o gerenciamento de dados por meio de uma plataforma de dados central pode criar desafios de dimensionamento, propriedade e responsabilidade, porque as equipes centrais podem não entender as necessidades específicas de um domínio de dados, seja devido a tipos e armazenamento de dados, segurança, requisitos de catálogo de dados ou tecnologias específicas necessárias para o processamento de dados.[/vc_column_text][us_separator size=”small” show_line=”1″][vc_column_text]Autores: Nivas Shankar, Roy Hasson, Zach Mitchell e Ian Meyers da AWS. Traduzido por Daniel Bento – Sr. Analytics Solutions Architect na AWS.[/vc_column_text][/vc_column][/vc_row]

Tags:, , , , , , , , , ,

6 Parceiros da Fast Lane que você precisa conhecer

Nós te proporcionamos a melhor experiência para o seu caminho na nuvem, e por isso oferecemos o melhor material e especialistas para você, buscando as melhores soluções e estratégias para o seu aprendizado.

Vamos apresentar para você 6 dos nossos principais parceiros que oferecem as melhores soluções do mercado, tudo isso com conhecimento de ponta que oferecemos.

  1. NetApp

Oferecemos portfólio completo de treinamentos oficiais NetApp para o Brasil. Todos os nossos instrutores são especialistas certificados pela NetApp com ampla experiência prática.

  1. Microsoft

Disponibilizamos uma gama de treinamento da Microsoft, desde cursos básicos até cursos especializados de alto nível. Todos os nossos instrutores são especialistas certificados pela Microsoft, com ampla experiência prática em suas áreas de especialização.

  1. IBM

Como IBM Education Delivery e IBM Sales Partner da Arrow, nós oferecemos todos os cursos de treinamento autorizados da IBM em todo o mundo.

  1. Google Cloud

Como Parceiro de Treinamento Autorizado de Google Cloud, disponibilizamos para você a possibilidade de adquirir as habilidades necessárias para desenvolver e operar infraestruturas e aplicativos no Google Cloud.

  1. Cisco

Como um parceiro Cisco Platinum Learning vencedora de vários prêmios, proporcionamos diversos treinamentos desde cursos de nível básico a cursos especializados de alto nível. Todos os nossos instrutores são Cisco Certified Expert com ampla experiência prática em suas áreas de especialização.

  1. AWS

Parceiro de Treinamentos Autorizado da AWS (ATP) na América Latina, concedemos um currículo completo para a certificação. Aceleramos sua adoção da nuvem AWS por meio de serviços e soluções com qualidade de ensino.

Quer conhecer mais para começar o seu treinamento? Então comece com que é especialista no assunto.

Tags:, , , , , , , , , , , , , , , ,

AWS Certified Cloud Practitioner em português

[vc_row][vc_column][vc_column_text]Inicialmente, a Amazon Web Services anunciou a disponibilidade de novos idiomas para o exame AWS Certified Cloud Practitioner.

Mas agora, para tornar essas certificações mais acessíveis, a medida foi expandida e agora também inclui os exames AWS Certified Solutions Architect – Associate e AWS Certified Developer – Associate.

Esses exames de certificação agora estão disponíveis em idiomas como:

Inglês, indonésio, japonês, coreano, chinês simplificado, francês (França), alemão, italiano, português (Brasil) e espanhol para a América Latina.

Esta opção estará disponível graças à Pearson Vue, que é referência mundial na realização e obtenção de múltiplas certificações de tecnologia.

Obter a certificação da AWS ajudará você a impulsionar sua carreira e a Fast Lane, como um provedor de treinamento autorizado na América Latina, oferece um plano completo de treinamento e certificação da AWS.

Você espera? Fale conosco e mostre sua capacidade de inovação.[/vc_column_text][/vc_column][/vc_row]

Tags:, , , , , , , , , , , , ,