AWS re:Inforce 2022: saiba tudo o que rolou no evento sobre cibersegurança da AWS

Além do re:Invent, a AWS tem uma série de eventos ao longo do ano para levar ao público tendências e novidades sobre as suas soluções. Em julho, foi realizada a AWS re:Inforce 2022, o maior evento sobre cibersegurança da AWS. E claro, fomos conferir de pertinho a AWS re:Inforce 2022 e trazemos para você os destaques do evento nesse artigo! Além de mim, estavam no AWS re:Inforce 2022 um grupo do time de SecGov da Zup: Mas o que é o AWS re:Inforce 2022? O AWS re:Inforce 2022 é o principal evento da AWS focado em cibersegurança. Ele aborda os mais recentes avanços em soluções de segurança, conformidade, identidade e privacidade da AWS, incluindo práticas que podem ser implementadas sem burocracia, com soluções licenciadas e open source. Além disso, o AWS re:Inforce 2022 tem grande destaque para os palestrantes renomados no mercado de segurança da informação. Esse evento é anual na cidade de Boston, Massachusetts, nos Estados Unidos. A edição 2022 foi realizada nos dias 26 e 27 de julho. O AWS re:Inforce 2022 é indicado para líderes, profissionais de desenvolvimento e especialistas. As palestras são oferecidas para todos os níveis (básico, intermediário e avançado) e todos os tipos de profissionais, do iniciante ao especialista à C-level. O público técnico pode interagir diretamente com os expositores da AWS para conhecer as soluções e aplicativos inovadores em serviços, por exemplo: Tudo isso com a possibilidade de mão na massa, em salas equipadas com laboratórios que permitem essa interação com as ferramentas. Assista ao Keynote do AWS re:Inforce 2022 onde foi discutido as últimas inovações em segurança na nuvem da AWS e como promover uma cultura de segurança em seus negócios. Nesse keynote você vai ver especialistas, como: Além disso, outros vídeos podem ser encontrados no canal no YouTube da AWS para cobertura de seus eventos. Destaques do AWS re:Inforce 2022 A seguir, trago os meus destaques do AWS re:Inforce 2022. DevSecOps em template Como destaque do evento, vou citar a palestra Simplify DevSecOps with self-serve template (SEC391). O contexto é todo orientado para solução de uma aplicação a partir de práticas muito simples e de fácil implementação de IaC. O modelo é baseado na aplicação da segurança o mais cedo possível dentro de um projeto, ou seja, aquela prática que sempre ouvimos falar, mas que nunca conseguimos implementar: Security Shift Left (SSL). Ouvi nesse evento que o SSL foi deixado de lado e substituído por “Early Sec” ou Segurança o mais cedo possível. A dificuldade é justamente que a engenharia de desenvolvimento de sistemas quase nunca se preocupa com aspectos não funcionais dentro do catálogo de disciplinas. Desta forma, as organizações precisam se esforçar para criar uma “cultura sec” nos times de engenharia, engajados por programas de disseminação e capacitação. Um bom exemplo desse tipo de prática é o programa Security Champions (aqui na Zup temos esse programa e atualmente já formamos mais de 40 pessoas). A palestra reforçou a visão que tinha sobre o quanto é comum as grandes empresas de tecnologia se depararem com essa mesma dificuldade dentro dos times, ou seja, não estamos falando de um assunto isolado que dependa apenas de ‘boa vontade’. É um assunto estrutural. Percebi que a AWS apoia a construção desta estrutura em soluções para quem já adotou a plataforma cloud. Para os ainda indecisos, vale a pena buscar por esse conteúdo e analisar o quanto pode trazer de resultados no seu modelo DevSecOps. AWS Proton A solução da AWS Proton, oferece um serviço automatizado com provisionamento de código e implantação de aplicativos serverless, baseados em contêiner. David Killmon, SDE Sênior do AWS Proton, destacou a possibilidade do AWS Proton identificar todas as instâncias de serviço existentes que estão usando uma versão desatualizada e, com apenas um clique, o Admin pode fazer a atualização sem nenhum impacto no código. Outra facilidade é criar implantações integradas com pipelines CI/CD, um grande atrativo para reduzir o esforço do time de SRE e profissionais de arquitetura que gastam horas nessas atividades rotineiramente. O que o AWS Proton faz é provisionar automaticamente os recursos, configura o pipeline de CI/CD e implanta o código na infraestrutura definida. Os inputs iniciais são feitos pelo time de plataforma ou SRE, que seleciona um template de serviço que atenda o produto. Em outras palavras, o SRE só precisa selecionar um template padrão de ambiente que o AWS Proton cria um serviço que implanta e gerencia a aplicação em uma instância de serviço. Este serviço AWS Proton é uma instância do template de serviços que provisiona várias instâncias e um pipeline. Funciona assim: SRE Profissional de desenvolvimento O diagrama abaixo representa a visão do fluxo de trabalho do AWS Proton: Sinergia com o que fazemos na Zup De olho no DevSecOps, observei que a visão da AWS é bastante similar ao que venho criando dentro do time AppSec, ou seja, as diretrizes entorno do ciclo de desenvolvimento estabelecem um processo intenso de controle, monitoramento e gerenciamento, com uso de uma ou mais soluções ao longo da cadeia. Este é o meu entregável mais valioso, orquestrar de forma dinâmica as ferramentas de automação com a solução Reusable Workflow, tema para um próximo artigo. Sasi Nagireddy, Arquiteto de Solução AWS, mencionou que a segurança no pipeline se caracteriza como fundamental. Ressaltou que em seu ponto de vista, acaba sendo premissa a abordagem que inclui um padrão de verificação no momento do deploy. Recomendou o gerenciamento automático como um grande aliado para apoiar na decisão de liberação de aplicação em produção. E para isso, são muitas opções de soluções disponíveis no mercado para clientes que já utilizam AWS. E ouvir isso logo após assistir a demonstração do AWS Proton é como dar uma injeção de otimismo para quem está começando a trilhar essa trajetória e que precisa muito de informações que fazem sentido para multiplicar o conhecimento e engajar devs, TLs e afins. Proposta de Pipeline de Segurança Para fechar esse registro, essa palestra ilustrou muito bem o que isso representa e o nível
Security by Design: 10 princípios essenciais

O objetivo deste artigo é explicar, de uma forma simples e dinâmica, os principais conceitos de segurança da informação envolvendo seu aspecto defensivo e ofensivo. Além de expor cada um dos princípios, vamos explicar conceitos importantes como Security by Design, Stride e Dread, e entender mais a fundo sobre a importância da aplicação da segurança proativa. Vamos nessa? Criando segurança com inteligência Inicialmente, vamos apresentar duas facetas da segurança da informação que são fundamentais para essa leitura: a segurança defensiva e a ofensiva. Para explicar sobre esses dois métodos, utilizaremos uma analogia: quando uma casa é construída, a construtora tem o dever de fornecer o mapa descritivo da rede elétrica e hidráulica, que vai indicar os pontos de manutenção ou expansão inevitáveis no futuro, correto? Este é um documento essencial, porque permite que a pessoa proprietária do imóvel possa ter em mãos as informações necessárias para fazer um furo na parede, desentupir um cano ou, até mesmo, construir um novo andar na residência. Nesse sentido, entendemos que pensar em segurança proativa no design da arquitetura pode ser uma ferramenta poderosa no dia a dia e, por esse motivo, devemos considerar Security by Design como um forte aliado dos times na aplicação das melhores práticas de desenvolvimento seguro. O que é Security by Design? A aplicação do Security by Design corresponde a diversos benefícios como economia e eficiência para resolver e corrigir problemas, bem como possibilita sistemas mais seguros conforme as soluções de segurança se adaptam às mudanças no processo de desenvolvimento. Com isso em mente, a OWASP (Open Project Application Security Project) criou princípios norteadores do Security by Design (SbD), herdando conceitos STRIDE de identificação de riscos e ameaças e de DREAD para classificação das ameaças. Princípios do Security by Design Agora que você já teve uma boa introdução sobre o tema, vamos conhecer os princípios do Security by Design: 1. Minimizar superfícies de ataque Significa restringir as funções que um perfil pode acessar, em outras palavras, corresponde a identificação de vulnerabilidades e vetores de ataque no aspecto digital (sites, softwares, servidores e etc.) ou físico (dispositivos, armazenamento e etc.) que um agente mal intencionado poderia utilizar. Nesse sentido, as organizações devem elaborar meios e técnicas para reduzir essas superfícies, como: mecanismos de controle de acesso, restrições de perfil, protocolos de segurança para acesso remoto e outros. 2. Estabelecer Padrões de Segurança É atribuir padrões elevados de segurança em desenvolvimento. Por isso, a padronização é um importante fator para elaborar segurança de forma inteligente, pois ela possibilita que sejam criadas soluções mais eficientes, confiáveis e até econômicas. Dessa forma, adotar padrões mais rígidos de segurança garantem aplicações mais seguras e suscetíveis a melhorias contínuas. 3. Adotar o princípio do mínimo privilégio Aqui é o caso de fornecer acesso às pessoas usuárias apenas aos privilégios estritamente necessários. A ideia é receber autorização para dispor de privilégios somente para executar determinada atividade. Nesse caso, é importante dar atenção às permissões solicitadas para acessar um serviço, não compartilhar informações sensíveis e configurar protocolos de gestão de privacidade são exemplos de ações relacionadas a este princípio. 4. Defesa em profundidade Acrescentar camadas de segurança em todos os níveis de uma aplicação, ao invés de criar apenas camadas primárias de validação de inputs ou regras de negócio, por exemplo, garantem a aplicação da defesa em profundidade. Portanto, as squads devem implementar diversas camadas de segurança. 5. Falhar com segurança As falhas não devem comprometer a segurança ou expor informações críticas. Seguindo a ideia de falhar seguro e falhar rápido, as mensagens de falhas e erros devem ser apresentadas o mais cedo possível e evitar que isso ocorra em momentos cruciais, além de filtrar com cuidado as informações expostas em um log de erro, por exemplo. 6. Não confiar em serviços Sim, deve-se considerar serviços de terceiros como ameaças em potencial até uma validação profunda. Todo serviço terceirizado deve ser considerado inseguro como regra, uma vez que pode conter vetores de ataque ou mesmo propósitos maléficos em si, comprometendo a segurança da aplicação. Dessa forma, todo serviço deve ser validado conforme rígidos padrões de segurança. 7. Separar funções Refere-se ao nível de acesso e privilégios de users, que jamais devem quebrar os grupamentos definidos por devs, garantindo amplo controle de acessos e manutenção de privilégios. As funções devem executar ações específicas, evitando um aumento desnecessário da sua complexidade. 8. Evitar segurança por obscuridade Soluções fortes de segurança devem ser adotadas, afinal ocultar falhas de segurança não é uma tratativa aceitável. Em outras palavras, a segurança deve ser facilmente identificada e interpretada por users, evitando uma complexidade muito maior do que a necessária. 9. Mantenha segurança simples Arquiteturas muito complexas podem deixar as aplicações muito mais suscetíveis a erros. Seguindo raciocínio semelhante aos princípios 7 e 8, quanto maior é a complexidade de um sistema, mais detalhes e falhas de segurança poderão passar despercebidos, ou seja, complexidade excessiva resulta em uma aplicação muito menos segura. 10. Manutenção e correção segura de problemas A gestão de vulnerabilidades deve ser aplicada como forma de identificar e mapear as vulnerabilidades, bem como seus riscos e formas de mitigação. Além disso, adotar estratégias de melhoria contínua são excelentes práticas para um desenvolvimento mais seguro. Segurança defensiva x ofensiva Agora vamos imaginar que a construtora não entregou esse mapa descritivo da rede elétrica e hidráulica, qual seria o impacto se houvesse a necessidade de realizar alguma manutenção ou expansão no local? Pois é, um problemão, não é?! Podemos então imaginar que o mapa descritivo da rede elétrica e hidráulica seja uma forma preventiva de evitar um risco para a pessoa que irá morar na residência, já que acarreta uma enorme perda financeira quebrar paredes para descobrir que um cano de água ou um condutor elétrico está no caminho. Desta forma, então, voltando ao que entendemos por entregar uma segurança defensiva, ela se aplicaria ao documento de mapa descritivo da rede elétrica e hidráulica. A construtora entrega um ‘scan’ da casa e assegura que existem pontos de manutenção, registros de água, caixa
Inteligência Computacional: estratégias para o Ensino Personalizado

Já imaginou como será a educação no futuro? Entre inúmeras possibilidades, aparece o conceito de ensino personalizado relacionado à aplicação de estratégias de inteligência computacional. Saiba como funciona essa nova forma de ensinar e aprender neste artigo! Contexto sobre educação Segundo a UNESCO, educação é o processo de facilitar o aprendizado ou a aquisição de conhecimentos, habilidades, valores, crenças e hábitos, sendo a chave para o desenvolvimento de indivíduos, famílias, comunidades e sociedades. Logo, percebe-se que a educação atua como um método e uma ferramenta de apoio para as pessoas aprenderem e construírem conhecimentos que podem ser transformadores para as suas vidas. O direito à educação é reconhecido pelas Nações Unidas e pela Constituição Federal do Brasil, porém estatísticas mostram que aproximadamente 40% da população com 25 anos ou mais, no Brasil, não concluiu a educação básica, impactando em várias questões sociais. A qualidade e o acesso à educação podem ser afetados por diversos fatores e não vamos entrar nesse mérito. Aqui, discutiremos como o processo de ensino personalizado pode ser utilizado em conjunto com estratégias computacionais para agregar valor e qualidade na aquisição de conhecimentos por estudantes. Ensino formal Pois bem, existem vários tipos de processos de ensino e o mais tradicional é o ensino formal, aquele utilizado em boa parte das escolas onde uma série de conteúdos são previamente estruturados e repassados por pessoas formadoras para um grupo de estudantes (em alguns casos, são muitos estudantes ?). A educação formal é orientada a verificar se um grupo de estudantes aprendeu aquilo que foi previamente planejado, mas pode pecar quando o assunto é a individualidade. Se três estudantes de uma turma de 50 pessoas sentem um bloqueio em algum assunto, esse acompanhamento e detecção prévia por pessoas formadoras tende a ser bem custoso. Você já deve conhecer a máxima “cada indivíduo aprende de uma maneira ideal diferente”… e, mesmo que você não concorde, possivelmente compreende que cada pessoa aprende no seu ritmo, local, tempo ou jeito particular. E visando atacar a esta lacuna do acompanhamento individual é que surge o ensino personalizado. Neste artigo, vamos conversar sobre o que é o ensino personalizado e como estratégias de inteligência computacional podem ser utilizadas para apoiar a inserção, condução e refino desta prática de ensino. Ensino personalizado O ensino personalizado é um estilo educacional que leva em consideração as características individuais de estudantes para oferecer um aprendizado de alto nível. Busca-se adotar métodos de aprendizagem com base no universo em que os estudantes estão inseridos, onde a aquisição do conhecimento seja feita de forma criativa, estimulante e cativante. Benefícios Na educação personalizada, as abordagens e conteúdos instrucionais podem variar de acordo com as necessidades de cada estudante. Além disso, podem ser disponibilizadas atividades de aprendizagem que são significativas e relevantes para cada pessoa de maneira formativa, impulsionadas por seus interesses e dificuldades. Neste tipo de abordagem, pode-se coletar alguns benefícios claros, como: Um estudo da Rand.org demonstrou uma melhoria significativa de 83% nas disciplinas de matemática e leitura após a aplicação de técnicas de Ensino Personalizado. Desafios Mas, nem tudo são flores, a implantação do ensino personalizado nas escolas é uma ação muito custosa em diferentes dimensões, ainda mais em cenários onde uma pessoa formadora é responsável por turmas muito grandes, podendo impactar diretamente na sua aceitação e execução com qualidade. Assim, alguns pontos desafiadores do ensino personalizado são: Como combater esses pontos negativos e tornar o ensino personalizado uma técnica mais acessível para as escolas ainda é uma área de estudo aberta, mas o uso da computação como ferramenta para apoiar estas práticas vêm obtendo bons resultados. Ambientes virtuais de aprendizagem Ambientes de aprendizagem podem ser definidos como espaços físicos ou não, que possibilitam a aprendizagem significativa, permitindo que conteúdos sejam ensinados e aprendidos. Desta forma, pode-se perceber alguns ambientes de aprendizagem presentes em nosso dia a dia, por exemplo: Ambientes físicos normalmente exigem custos a nível de uma infraestrutura local, que podem exigir cadeiras, quadros, projetores, ar-condicionados e a presença de estudantes e pessoas formadoras no local. Daí surge como sugestão os Ambientes Virtuais de Aprendizagem (AVA). Os AVAs proporcionam a criação de espaços colaborativos para a execução de cursos e treinamentos. Eles possibilitam que estudantes, pessoas formadoras e tutoras atuem de forma distribuída no processo de ensino-aprendizagem. Normalmente basta um dispositivo com acesso à internet para possibilitar a aquisição de conhecimentos de forma virtual, quebrando barreiras geográficas e, por vezes, gerando uma popularização do acesso à informação. Os AVAs conseguem entregar alguns recursos para estudantes, por exemplo: Porém, estes ambientes também apresentam algumas limitações, sendo muitas delas causadas por aspectos colaborativos que são prejudicados nessa abordagem onde as pessoas formadoras não estão tão próximas dos estudantes. Frente aos nossos levantamentos, as limitações mais comuns são: Poxa, mas os AVAs pareciam ser ambientes promissores para termos a aplicação de um ensino personalizado, correto? Pois neles temos a geração de cenários de ensino e avaliações que podem ser facilmente personalizadas para os estudantes. Mas como combater essas limitações e tirar proveito dos AVAs para o ensino personalizado? Talvez a resposta esteja nos dados… Dados e educação A grande vantagem prática dos AVAs em relação aos ambientes físicos no tocante ao ensino personalizado é a facilidade de se coletar e analisar dados de estudantes, pessoas formadoras e atividades. Uma análise dos dados coletados por AVAs pode ser um ótimo começo para lidar com as limitações discutidas e facilitar a implantação do ensino personalizado. Para isso, vamos precisar de dados educacionais. Esse tipo de dado abrange um conjunto de informações gerados por estudantes, pessoas formadoras, instituições e plataformas frente a diferentes dimensões da educação, como por exemplo: Esses dados possibilitam o fomento da área de mineração de dados educacionais, constituindo um campo de pesquisa focado na aplicação e aprendizagem de máquina para a geração de informações a partir de ambientes educacionais, por exemplo, o entendimento de desistência de cursos e interesse em conteúdos. Então como unimos mineração de dados educacionais em AVAs? Talvez uma boa resposta seja com o uso de
Como construir uma plataforma de MLOps inicial

A adoção de Machine Learning Operations (MLOps), termo que vem sendo usado para descrever técnicas e boas práticas de sistemas de machine learning em produção, vem crescendo muito nos últimos anos. Existem muitas novidades e pesquisas em destaque, mas outros dados são preocupantes: quase 90% dos projetos de machine learning falharam e algumas empresas nunca implantaram um modelo como esse em produção. Dito isso, resolvi escrever um post para ajudar empresas com pouca maturidade a implementar MLOps inicial. Vale ressaltar que trataremos MLOps como um paradigma que combina um conjunto técnico e processos, por meio de um guia para uma arquitetura mínima, simples, segura e escalável. Princípios de MLOps Por ser um termo de uma cultura recente, o MLOps carrega princípios, sendo eles práticas e processos básicos que foram estabelecidos por grandes empresas de tecnologia e que são usados amplamente em Big Techs (por exemplo, Google, Apple, Facebook, etc.) e empresas com forte maturidade em MLOps. Por que digo Big Techs? Porque são as mais avançadas em MLOps na indústria atualmente (você vai conferir nas referências alguns artigos sobre isso), as primeiras a explorar e falhar nessa disciplina. Na maior parte deste artigo, você vai conhecer ferramentas e práticas aplicadas por essas empresas, que influenciam a maioria das soluções. Vamos lá? Tecnologias O primeiro princípio que veremos sobre a área de MLOps é composto por três outras disciplinas de tecnologia já conhecidas: Você pode observar que o MLOps é uma interseção entre disciplinas presentes em tecnologia. Começamos com a engenharia de dados, que coleta os dados de diversas fontes, passando pela limpeza; ingestão; e o resultado, muitas vezes, é um repositório, Data Lake, com todos os dados necessários para a solução do problema e prontos para construir um modelo de machine learning. Em sequência, o aprendizado de máquina é o núcleo central onde os dados limpos e no formato esperado são usados para treinar algoritmos em tarefas específicas. Por fim, a etapa de DevOps, a parte interessada em operar o modelo criado em ambiente de produção e que possui uma camada de automação funcionando como uma esteira de testes unitários até o deploy. DevOps não é o suficiente O segundo princípio que gostaria de listar é que DevOps isn’t enough (DevOps não é o suficiente). É importante explicar a diferença entre DevOps e MLOps. Muita gente se pergunta: mas eles não são a mesma coisa? Eles não estão resolvendo o mesmo problema? A resposta é NÃO! O DevOps surgiu no auge do desenvolvimento de software para resolver o problema de implantar sistemas em produção que pessoas engenheiras de software e de infraestrutura sofriam. Essa cultura nasceu para unir esses dois papéis que andavam distantes, a pessoa engenheira de software escrevia a aplicação e passava para a pessoa de infra subir em produção. O que ocorria era que esses sistemas demoravam muito para irem para a produção, por conta da falta de alinhamento entre as partes, e recorrentemente o código escrito por profissionais de engenharia de software voltavam centenas de vezes até estar no padrão ideal. O termo DevOps surgiu visando resolver esse problema. Então, qual é a grande diferença entre DevOps e MLOps? Quando estamos construindo um modelo de aprendizado de máquina, temos uma parte adicional que são os dados. DevOps foi um conceito para automatizar e evitar falhas de novos releases, além de melhorar a frequência de implantação em relação apenas ao CODE (um exemplo de CODE está relacionada com a imagem abaixo). Você percebeu a diferença? O DevOps não visa lidar com dados, sejam eles internos ou externos aos scripts de código. Já em um ambiente de produção, nós temos uma dupla preocupação: código e dados. Em DevOps Em MLOps Então, o conceito de MLOps nasceu para resolver a forma como código e dados se relacionam, claro, herdando algumas boas práticas de DevOps (como automação, CI/CD, monitoramento de testes unitários etc.), mas com uma parte adicional que são os dados. Em MLOps, temos o foco em fornecer sistemas baseados em dados de ML confiáveis e escaláveis, além de outras particularidades que nasceram nos MLOps que trataremos a seguir. Sem mais delongas, vamos pular para a arquitetura de ML. Arquitetura de MLOps Muito semelhante à arquitetura de software, que visa entregar sistemas em produção de forma escalável, mas aplicada para suportar sistemas de machine learning, não posso falar sobre arquitetura de ML sem citar um artigo popular feito pela equipe de engenharia do Google: MLOps: entrega contínua e pipelines de automação em aprendizado de máquina. O artigo apresenta a arquitetura MLOps em três níveis diferentes. Inspirado por este artigo, fiz esta arquitetura baseada no mesmo, com ressalvas em partes da arquitetura, levando em conta minha experiência de trabalho sobre Arquiteturas de ML. Também fiz um diagrama para mostrar visualmente e facilmente a arquitetura, incluindo os 5 blocos fundamentais de toda arquitetura de ML, garantindo confiabilidade mínima, escalabilidade e lançamentos rápidos. Estes blocos são compostos por: A seguir, vamos nos aprofundar nesses 5 blocos. Vamos lá? Ingestão de dados Disse anteriormente que a parte que muda o DevOps para se adaptar ao MLOps são os dados, um ingrediente fundamental no aprendizado de máquina. Em um cenário real, temos Big Data como realidade, a quantidade e diversidade de dados que temos hoje no mundo é estrondosa e possibilita o avanço de modelos de machine learning mais sofisticados, permitindo solucionar problemas mais amplos com essa variedade de dados. Essas informações chegam de várias fontes diferentes (tempo real, em processos de batch, banco de dados, etc.). É algo específico, principalmente, da empresa e do negócio. Que tipo de dados você tem em suas mãos? Fontes como bancos de dados, arquivos CSV, dados de aplicativos, etc. O ponto é como e onde você pode manter todos estes dados à disposição para serem criados novos produtos e serviços, não só nessa camada, mas em todas as outras da arquitetura presentes em serviços dos principais provedores de cloud (por exemplo, AWS, Google Cloud e Microsoft Azure). Por estar fora do ambiente cloud, MLOps tem uma
Dos robôs alienígenas ao deep learning: o que é um modelo transformer?

Se você está ouvindo falar pela primeira vez em “modelo transformer” no contexto da computação pode estar se perguntando: será que tem alguma relação com o filme? ? Pois bem, vamos lá… segundo a wikipédia, os transformers dos filmes são robôs alienígenas fictícios de uma franquia popular da Hasbro, capazes de transformar seus corpos em objetos inócuos como veículos. Sendo assim, posso dizer que não é exatamente sobre isso que iremos tratar nesta postagem, mas se pudesse destacar uma característica em comum entre o modelo transformer que iremos apresentar aqui e os robozões dos filmes é que ambos são bem poderosos. Só que no caso dos modelos, eles não são fictícios e podem ser úteis para várias atividades inteligentes no seu dia a dia. Texto alternativo: Neste artigo, vamos conversar um pouco sobre o que é um modelo transformer no contexto de deep learning, destacando características, aplicações, estratégias de uso e finalizando com uma implementação de um exemplo prático de uso. O que é um transformer? Os conceitos para o entendimento do que é e de como funciona um modelo transformer possivelmente exigirão algumas leituras complementares que irei deixar ao longo do texto. Por isso, aqui quero apresentar uma introdução deste entendimento, desde uma contextualização até uma abordagem prática com uma implementação de uma pesquisa semântica em Python. De forma direta, definiria um transformer como um modelo de deep learning dotado de mecanismos de autoatenção. Esses mecanismos possibilitam a aprendizagem de contextos (por exemplo, linguístico para o Processamento de Linguagem Natural – PLN), mesmo em elementos que possuem dados distantes, como ocorre em dados sequenciais, possibilitando uma análise semântica de palavras em uma frase. Vamos puxar um pouco do cenário histórico para explicar o motivo do uso do transformer ser tão legal. Redes neurais Antes da popularização do uso de estratégias de implementação com o modelo transformer, as pessoas precisavam treinar redes neurais com grandes conjuntos de dados rotulados. Esses processos de treinamento normalmente eram demorados e caros em investimento e capacidade de processamento. As camadas de autoatenção do transformer eliminam a necessidade de rótulos para a identificação de padrões, o que abre um leque para várias possibilidades de treinamento de novos dados e de maximizar a performance para a execução dos modelos. Redes neurais clássicas não foram projetadas para um bom desempenho em acompanhar dados sequenciais e mapear cada entrada em uma saída. Isso pode até funcionar bem para atividades de classificação de imagens, mas falha em dados sequenciais, como em textos. Dessa forma, um modelo que visa o processamento de textos deve levar em consideração como as palavras vêm em sequência e se relacionam umas com as outras. O significado das palavras pode mudar dependendo de outras palavras que vêm antes e/ou depois delas na frase. As redes neurais recorrentes (RNN) eram a solução para estes cenários de processamento de linguagem natural (PLN). Quando fornecida com uma sequência de palavras, uma RNN é capaz de processar a primeira palavra e realimenta o resultado na camada que processa a próxima palavra. Isso permite que ele acompanhe a frase inteira em vez de processar cada palavra separadamente. Porém, essa abordagem é lenta, não consegue lidar com sequências longas de textos e captura apenas as relações entre uma palavra e aquelas que vieram antes dela, não as que vêm depois. Um avanço da RNN foram as redes de memória de longo prazo (LSTM), capazes de resolver o problema dos gradientes de fuga até certo ponto e de lidar com sequências maiores de texto. Porém, eram ainda mais lentas para treinar do que as RNNs. Uma solução O modelo transformer foi apresentado em 2017 no artigo “Attention is All You Need”, fazendo contribuições claras para o cenário de PLN e abrindo importantes possibilidades de seu uso em outros contextos. O transformer possibilita o processamento de sequências inteiras em paralelo, possibilitando escalar a velocidade e a capacidade de modelos sequenciais. Além disso, eles introduziram o conceito de “mecanismos de autoatenção”, que possibilitam rastrear as relações entre palavras em sequências de textos muito longos nas direções direta e reversa. Como um modelo transformer presta atenção? Como ocorre na maioria das redes neurais, os modelos transformers atuam basicamente como grandes blocos que processam e transformam dados em atividades de encoder (codificação) e decoder (decodificação). Mas, em especial, o transformer consegue codificar dados sequenciais, como textos, de forma posicional, marcando os elementos e fornecendo um contexto. As unidades de atenção seguem estas marcações calculando como cada elemento se relaciona com os demais. As consultas de atenção podem ocorrer de forma paralela, permitindo que computadores possam analisar padrões que antes só eram detectados por seres humanos. A camada de autoatenção diz para o modelo quais elementos ele deve prestar atenção a detalhes frente ao contexto de análise específico. Na prática Um exemplo deste processo pode ser ilustrado em uma atividade de tradução. Nesse caso, um transformer recebe um corpus linguístico de frases em inglês e suas respectivas traduções em português. O encoder recebe e processa uma palavra(string) de entrada completa. O decoder, no entanto, recebe uma versão mascarada da string de saída, uma palavra por vez, e tenta estabelecer os mapeamentos entre o vetor de atenção codificado e o resultado esperado. O encoder tenta prever a próxima palavra e faz correções com base na diferença entre sua saída e o resultado esperado. Esse feedback permite que o transformer modifique os parâmetros do encoder e do decoder, criando gradualmente os mapeamentos corretos entre os idiomas de entrada e saída, gerando um mecanismo de tradução eficiente. Quanto mais dados e parâmetros de treinamento o transformer tiver, mais capacidade ele ganhará para manter a coerência e a consistência em longas sequências de texto. A figura a seguir ilustra este processo: Onde modelos transformers podem ser utilizados? Nos últimos anos, o modelo transformer se tornou um dos principais destaques da área de deep learning. Para quem já assistiu a algum filme dos Transformers (aquele dos robôs alienígenas), sabe que o Bumblebee é um robô que não consegue falar e se
A importância do PCI-DSS para o mercado de pagamentos

O que é o PCI-DSS? É de comer ou de passar no cabelo? Como surgiu? Essas dúvidas e a importância desse padrão no mercado de pagamentos serão pontos esclarecidos neste artigo, venha com a gente! A origem do PCI-DSS Antes de falar do PCI-DSS, vamos falar sobre como surgiu esse conceito! De acordo com o site oficial do PCI-DSS, o PCI Security Standards Council (PCI SSC), trata-se de um fórum global que tem por objetivo reunir as empresas que atuam no mercado de pagamentos. O objetivo é claro: desenvolver e adotar os melhores padrões e recursos de segurança para gerar, de forma globalizada, pagamentos seguros. Ou seja, o PCI-SSC tem como finalidade a criação de uma base sólida de controles para aumentar a segurança em todo o ciclo de uso dos cartões. A criação do fórum teve início em 2006, fundado inicialmente pelas empresas American Express, Discover, JCB International, Mastercard e Visa Inc. A partir disso, ficou estabelecido o Payment Card Industry Data Security Standard (PCI-DSS) ou, em sua tradução, Padrão de Segurança de Dados da Indústria de Cartões de Pagamento (PCI-DSS), buscando estabelecer padrões de segurança que devem ser adotados pelas empresas que armazenam, processam ou transmitem dados de cartões. É importante mencionar que o PCI-DSS está sob coordenação do PCI-SSC, então não é regulado sob legislações federais ou estaduais, e sim regulado pela própria indústria de pagamentos. Curiosidade: nos estados americanos de Nevada, Minnesota e Washington, os padrões de segurança foram incorporados a sua legislação, tornando-os obrigatórios. A quem se aplica o PCI-DSS? É comigo? O PCI-DSS é aplicável a todas as instituições que processam, armazenam ou transmitem informações de cartão de crédito. Partindo desse princípio, quais informações seriam essas? Considerando o que é abordado no site oficial do PCI-DSS, as informações de cartão de crédito podem ir desde o nome do titular do cartão até aos dados de rastreamento completo do cartão de crédito, por exemplo. Abaixo, temos a definição completa dessas informações que podem ser tratadas por essas instituições: Ou seja, nas operações da sua empresa, caso você utilize algum dos dados acima, sim, o PCI-DSS é com você! É extremamente necessário que você implemente e mantenha os controles que são requisitos do PCI-DSS. Além disso, as empresas que operam os dados de cartão de crédito devem certificar sua conformidade com os requisitos anualmente. Mas o que é certificação PCI-DSS? Quando falamos em certificação PCI-DSS, o produto ou o entregável em questão, são dois relatórios que garantem a conformidade da sua empresa com o padrão de segurança estabelecido pelo framework, sendo um deles o AOC (Attestation of Compliance, ou Atestado de conformidade, em português) e o outro é o ROC (Report on Compliance ou Relatório de conformidade). O primeiro é um relatório mais sucinto, atestando a avaliação independente do QSA (Qualified Security Assessor, ou Assessor de Segurança Qualificado, em português) na certificação da empresa, enquanto o segundo é um complemento do primeiro, dando os detalhes na avaliação do QSA sobre os controles avaliados. A partir da emissão desses dois relatórios, é garantido que sua empresa está em conformidade com os doze requisitos abordados pelo framework, que, por sua vez, têm validade de um ano – considerando que a certificação é anual. Mesmo terceirizando operações de transmissão, processamento e/ou armazenamento dos dados de cartão de crédito, ainda sim é de responsabilidade da empresa acompanhar a conformidade com o PCI de terceiros com envolvimento no processo, garantindo que os requisitos aplicáveis estejam aderentes ao exigido nos padrões PCI. Vamos exemplificar abaixo! Como funciona na prática A empresa A possui base de dados de cartão de crédito e realiza operações de pagamento de clientes, mas não possui data center próprio e utiliza data center e infraestrutura da empresa B. Dessa maneira, os controles de segurança e acesso físico ao data center (Requisito 9 – PCI-DSS), serão executados pela empresa B, mas a empresa A precisa garantir que os controles da empresa B são eficazes. Neste cenário, a empresa A pode garantir isso de duas maneiras: Mas por quê o PCI-DSS? Quais os principais objetivos do PCI-DSS? Já deu para perceber pelos tópicos acima, que o principal objetivo do PCI-DSS é garantir maior segurança nas transações de cartão de crédito, isto é, no processamento, transmissão e armazenamento, protegendo os dados de titulares e de seus cartões, evitando casos de fraude e apropriação indevida dos dados. O PCI-DSS, visando atingir esse padrão de segurança, estabeleceu seis objetivos e doze requisitos que orientam as instituições sobre quais medidas devem ser instituídas em seus negócios e operações para garantir que a segurança nas transações seja eficaz. Objetivos e requisitos O que eu ganho com isso? Você deve estar se perguntando: afinal, quais os benefícios da adoção do PCI-DSS no mercado de pagamentos? Confira abaixo alguns deles: Maior confiança Um levantamento da empresa ClearSale mostra que o e-commerce brasileiro sofreu quase 785 mil tentativas de fraudes apenas no primeiro trimestre de 2022, um aumento de 23,6% em relação ao mesmo período de 2021. As tentativas de fraudes representaram cerca de 2% do total de pedidos no varejo digital. Provavelmente, você não faria uma transação ou faria um negócio sabendo que existe um risco maior de ter seu cartão de crédito clonado ou roubado. Dessa forma, proporcionar uma experiência de compra segura e conquistar a confiança de clientes é fundamental, ou seja, estar PCI-compliant pode afetar seu número de clientes, transações e consequentemente aumentar seu faturamento. Maior redução de riscos Ter os controles listados pelo PCI-DSS é uma ótima maneira de tratar e reduzir riscos específicos de transações de cartões, como Criptografia e Tokenização dos dados de cartão; e riscos de segurança da informação mais abrangentes, por exemplo: Políticas e Treinamentos de Segurança, seja diminuindo a probabilidade e/ou impacto do risco. Maior padronização Seguir o padrão PCI-DSS garante que os controles da organização tenham um nível mínimo de qualidade e de segurança, além da padronização como boa prática do setor. Além disso, o PCI-SSC e empresas associadas contribuem ativamente para atualizações nos requisitos e
O que é engenharia social dentro da segurança da informação?

A engenharia social pode ser definida como qualquer ato que influencie uma pessoa a tomar uma ação que pode ou não ser de seu interesse. Ela é uma das formas mais comuns e efetivas que hackers utilizam para conseguir acesso a sistemas internos de empresas. Vamos falar mais sobre engenharia social no contexto da segurança de informação e ainda conferir recomendações para não cair em um golpe? Confira o artigo! Fator humano na engenharia social Na engenharia social, os alvos são as pessoas e não necessariamente a tecnologia envolvida, o que torna esse tipo de ataque muito mais difícil de detectar e de criar proteções. Geralmente, as grandes empresas têm processos de segurança bem definidos e investem muito em controles técnicos, mas esquecem do fator humano. Phishing De acordo com o relatório Data Breach Investigations Report 2022, da Verizon, 82% de todas as violações de dados envolveram de alguma forma engenharia social, sendo que 60% destas são feitas através de phishing. Ainda no mesmo relatório, 2,9% das pessoas clicaram em links dos e-mails de phishing, o que parece um número pequeno, mas é mais do que suficiente para uma campanha maliciosa ser bem sucedida. Grupos especializados em ransomware como LAPSUS$, Conti, LockBit, REvil, etc., já perceberam que roubar credenciais válidas por meio de ataques de phishing e usá-las para acessar uma rede é mais fácil, menos arriscado e mais eficiente do que explorar vulnerabilidades existentes nos sistemas. Uma prova de que nenhuma empresa está totalmente protegida contra a engenharia social é o ataque que uma das maiores empresas de treinamentos e certificações de cibersegurança do mundo, a SANS, sofreu em 2020. Tudo começou com um phishing que uma única pessoa clicou e instalou um complemento malicioso do Office 365. Isso resultou em 513 e-mails contendo dados sigilosos da empresa sendo encaminhados para um e-mail externo que atacantes controlavam. Já vimos ataques no mundo real onde pessoas criminosas fazem um ataque de Subdomain Takeover em algum subdomínio da empresa, hospedam nele uma página de login idêntica a que é utilizada para acessar serviços internos e mandam esse link para alguém por e-mail, LinkedIn ou alguma outra rede social usando alguma técnica de engenharia social para convencer a vítima a clicar. Quando ela vê que o link realmente pertence à empresa, isso lhe passa uma confiança para inserir suas credenciais. Outros golpes Apesar de ser mais comum, o phishing é apenas uma das formas de engenharia social. Outros ataques mais sofisticados estão sendo utilizados por pessoas cibercriminosas que criam perfis falsos no GitHub e começam a contribuir de verdade com códigos em softwares open-source. Depois de algum tempo contribuindo com a comunidade, elas já têm a confiança das pessoas mantenedoras e seus pull requests são aprovados com mais facilidade. Quando isso acontece, elas inserem um código malicioso no meio de um pull request que é aprovado e isso dá a elas uma backdoor em todos os computadores que estiverem rodando a versão maliciosa do programa. Pode parecer mentira, mas esse tipo de ataque é bem comum! De acordo com uma pesquisa realizada pelo GitHub, cerca de 17% das vulnerabilidades de software em bases de código open-source foram inseridas com propósito malicioso. Recomendações de segurança Para reduzir o impacto e a probabilidade de sucesso de ataques de engenharia social, as empresas devem: Educação Educar as pessoas sobre o risco de phishing e as características desses ataques é essencial para que elas saibam identificar fraudes. Um ótimo exemplo aqui na Zup é o programa Security Champions, que dissemina informações por meio de treinamentos. Proteger e-mails Implementar o software de proteção de e-mail para “sandbox” e validar e-mails de entrada, bem como limpar os links nos quais pessoas podem clicar. Checar ferramentas Ter cuidado ao implantar ferramentas da Web de terceiros. Investigue seus protocolos de segurança para determinar se eles são abrangentes o suficiente para minimizar os riscos. O ideal é oferecer uma lista de programas e ferramentas já checados pelo time de segurança para as pessoas. Autenticação Implementar a autenticação multifator (MFA), que requer vários métodos de identificação: algo que você conhece, algo que você tem e algo que você é. Portanto, é uma das melhores maneiras de impedir que pessoas não autorizadas acessem dados confidenciais e se movam lateralmente dentro da rede. Isso deve ser uma prática padrão para todas as organizações. Controles de acesso Aplicar controles de acesso baseados em risco para definir e contar com políticas de acesso com base no comportamento da pessoa usuária. Por meio de uma combinação de análise, aprendizado de máquina, perfis de users e aplicação de políticas, as decisões de acesso podem ser tomadas em tempo real, para facilitar o acesso de baixo risco, intensificar a autenticação quando o risco é maior ou bloquear totalmente o acesso. Os controles de acesso baseados em risco são frequentemente usados em combinação com a MFA. Red Team Aproveitando, essa é uma boa oportunidade de você ouvir o episódio “O que o Red Team quer que você saiba” do nosso podcast. Chega de senha anotada em papel ou em outros locais sem segurança! Ouça agora mesmo e anote mais dicas de segurança: Segurança na Zup Aqui na Zup, nós lançamos periodicamente campanhas de phishing além de treinamentos de segurança para todas as pessoas colaboradoras. Em pouco tempo, já percebemos a redução no número de pessoas que clicam nos links a cada nova campanha. Um esforço contínuo para manter em alerta toda a empresa e criar novos hábitos de segurança da informação. Esse assunto rende, não é mesmo? Conte nos comentários a sua opinião ou experiência na área!
Tudo o que você precisa saber sobre computação em nuvem

Há poucos anos, se começava a falar sobre a relevância do uso da Computação em Nuvem, do inglês Cloud Computing, sendo que sua aplicabilidade está cada vez mais presente em nosso cotidiano profissional, assim como na nossa vida pessoal. Sim, provavelmente você já utilizou a computação em nuvem no seu dia a dia e por ser uma experiência tão transparente talvez nem tenha percebido. Um bom exemplo disso seria quando assistimos filmes ou séries na Netflix, ou algum outro provedor de entretenimento via streaming. Quando utilizamos aplicativos on-line da Google, como o Google Docs, Google Spreadsheet ou Google Presentation, estamos acessando uma suíte de produtividade totalmente na nuvem, o mesmo acontece quando armazenamos nossas fotos no Google Fotos. Visto que cada vez mais encontramos serviços que funcionam a partir de uma simples conexão com a internet, neste artigo iremos entender um pouco mais sobre os principais conceitos de computação em nuvem, que vem revolucionando a forma como as pessoas e empresas consomem a tecnologia. A importância da computação em nuvem Na última década, houve um grande aumento no número de pessoas usuárias de computadores e dispositivos móveis, de forma que a viabilização de acesso às plataformas e o armazenamento dos dados se tornou uma preocupação para todo mundo, visto que nem todas as empresas poderiam arcar com altos custos de infraestrutura de TI interna, a Computação em Nuvem viabiliza uma solução com menor custo, melhor eficiência e com manutenção reduzida. Dessa forma, a alternativa provê acesso à tecnologias que anteriormente estavam fora do alcance de muitas empresas. Esta nova realidade funciona como um facilitador para acompanhar avanços tecnológicos impulsionadas pela, cada vez mais frequente, transformação digital. Graças a este avanço tecnológico, parte das empresas conseguem acesso a uma infraestrutura escalável de forma extremamente rápida e a um custo relativamente competitivo, diferente do que ocorria antigamente, onde para poder alavancar seus negócios, seria necessário investir muito mais tempo e dinheiro ao prover infraestrutura, seja ela software ou hardware. Além disso, ao utilizarmos um servidor interno, assumimos a responsabilidade sobre qualquer falha técnica, diferente do que acontece na nuvem, pois o provedor de serviços assume a responsabilidade para este tipo de complicação. A origem do conceito Temos um grande debate em mãos, quem deve receber o crédito por inventar o conceito de Computação em Nuvem? Para entendermos um pouco sua origem, precisamos voltar à década de 1960, onde Cloud Computing começa a ganhar forma com a discussão do uso compartilhado do computador, de forma simultânea, por mais de uma pessoa, iniciada por John McCarthy, chamado por ele de “Utility Computing”. Anos mais tarde, na década de 1990, especialistas construíram estratégias para o uso da tecnologia para otimizar o uso de recursos que tinham à disposição. Porém muitos acreditam que seu primeiro uso, em um contexto moderno, ocorreu apenas em 2006. Nesse ano, o então CEO do Google, Eric Schmidt, apresentou o termo em uma conferência, onde enfatizou que achava que as pessoas não entendiam a grandiosidade da oportunidade em se utilizar os serviços de dados e a arquitetura em servidores em “nuvem”. No ano seguinte, o termo Cloud Computing ganhou força, quando outros grandes players como Microsoft, IBM e Amazon também divulgaram seus esforços em sua adoção, evidenciando que grandes empresas acreditavam no potencial que a nuvem poderia trazer. Sam Johnston, diretor da Equinix, relatou que a computação em nuvem se popularizou por descrever algo muito importante, sendo desta forma um identificador comum para várias tendências que vinham sendo observadas na época, tais como a consumerização e a comoditização da TI, por exemplo. Ainda hoje não fica claro quem cunhou o termo, há relatos de que no final dos anos 1990 foi utilizado pela primeira vez pelo professor de sistemas de informação Ramnath Chellappa em uma palestra acadêmica, porém, para Johnston, existiram muitas tentativas de apropriação indébita do termo, bem como para as várias reivindicações de sua invenção. Benefícios da computação em nuvem Já citei alguns benefícios anteriormente, mas vale separar um tópico somente com as principais vantagens da computação em nuvem. São elas: Custo Ao falar dos benefícios, penso que nada mais justo do que começar com o que tange uma grande dor: o custo. Muitas organizações apontam o custo como o principal motivo da adoção de serviços em nuvem. Não poderia ser diferente, visto que nos oferece a liberdade de uso conforme a necessidade do momento, pagando apenas pelo que usarmos. Ainda falando em custos, a Computação em Nuvem quebra uma preocupação com: os gastos elevados na aquisição de hardware e software; tempo; e esforço na criação e configuração de data centers locais. Além dos racks de servidores, temos de zelar pela sua constante necessidade de refrigeração e eletricidade, com elaborados planos de restabelecimento da energia, através do acionamento de geradores, com o uso de nobreaks trabalhando no intervalo entre queda e acionamento. Não podemos nos esquecer de especialistas de TI com máxima dedicação para o gerenciamento da infraestrutura para manter o seu bom funcionamento. Confiabilidade De alta confiabilidade, além de reduzir os custos, a computação em nuvem nos facilita o backup de dados, assim como espelhar em diversos sites redundantes na rede, de forma que auxilia a recuperação com agilidade de desastres, mantendo a continuidade dos negócios. Produtividade Ao reduzirmos o escopo de trabalho exigido na configuração de data centers locais, ganhamos produtividade do time técnico, pois remove a necessidade da execução de muitas tarefas, de forma que o possamos investir este tempo em atingir as metas de negócio da empresa. Velocidade Como os serviços disponibilizados na nuvem são fornecidos por autosserviço e sob demanda, temos maior velocidade ao provisionar recursos de computação em poucos minutos, através de alguns cliques de mouse. É um grande facilitador, sem contar que nos alivia do planejamento altamente preciso de capacidade a médio e longo prazo. Desempenho Temos grandes empresas disponibilizando serviços de computação em nuvem, não preciso nem falar que elas prezam pelo alto desempenho. Seus seguros datacenters são atualizados frequentemente com a mais recente geração de hardware, mantendo-os sempre rápidos
7 dicas para uma palestra de tecnologia que o público goste

Quem nunca sentiu aquele frio na barriga ao pensar em se apresentar em público? Você deve se perguntar como driblar esse frio na barriga por vontade própria e começar a entender como fazer uma palestra de tecnologia em eventos que temos por aí no mundão. Por isso, resolvi criar este artigo para dar aquele empurrãozinho para você brilhar nos palcos na vida compartilhando seus conhecimentos. Eu sei, com certeza, que você manja muito e poderia ensinar para muitas outras pessoas! 1 Ensine e aprenda Nem sempre fui desse pensamento, mas desde que comecei a participar de eventos de tecnologia aprendi que quanto mais a gente ensina, mais a gente aprende! E, acredite, pode parecer meio doido, mas a ideia é excelente e pode ajudar muito a aprendermos cada vez mais. Levando essa ideia em prática, submeti muitas palestras, levei muitos nãos e recebi muitos sins também. Todas as respostas positivas me levaram a desafios cada vez mais entusiasmantes e a sempre aprender algo novo. Por isso, apoio muito todas as pessoas que têm vontade de palestrar seus conteúdos, indiferente de nível técnico ou do tipo do assunto, seja mais soft do que hard skill, só vamos! Será que devo palestrar mesmo? Para essa dúvida, sempre lembro dessa frase, que levo comigo como lema de vida, que é do nosso querido patrono da educação no Brasil, Paulo Freire: “Não existe saber mais ou saber menos: há saberes diferentes”. Em outras palavras, todo mundo tem algo a aprender, assim como tem algo a ensinar. Então não pense que aquilo que você sabe não seja relevante, é relevante, sim, e vai ajudar alguma pessoa que está ali assistindo seu conteúdo! Assim como sempre teremos algo a aprender, não é porque estamos ali palestrando e compartilhando um conteúdo que, no final, quando aparecer uma pergunta ou outra, não possa surgir algo que a gente possa aprender ou pelo menos já deixar aquela questão mapeada para que possamos aprender também. 2 Qual conteúdo submeter Pense no tema que tenha relação com o evento, a comunidade ou a trilha que você pretende submeter. Vou deixar alguns exemplos para você ter uma ideia: Comunidade Em caso de comunidade, vou usar o Angular SP como exemplo. Pense em algo que você tenha atuado com esse framework ou em algo que você aprendeu com ele e que realmente foi muito bacana. Mande algo nesse sentido, como um case de sucesso ou até mesmo dicas de como usar essa prática que você descobriu e afins. Evento Já em evento, o exemplo é o WordCamp, que é um evento voltado para pessoas que usam ou que são do universo do WordPress. Acredito que, neste caso, seja o mesmo da comunidade, sendo assim, pense em cases de sucesso que o uso do WordPress foi essencial ou até frameworks que ajudam as pessoas que usam a plataforma. Trilhas Em caso de trilhas, vou usar o The Developer’s Conference (TDC), que é uma conferência de tecnologia e tem várias trilhas de diversos temas. Neste caso, pense em algo que você queira compartilhar e veja qual trilha dá match. Por exemplo, se você quer compartilhar algo mais soft skill sobre como melhorar sua carreira ou como ser um profissional melhor, pense na trilha de Carreira e Mentoria; caso você queira falar algo mais voltado ao mundo Agile, pense na trilha de Ágil e Metodologias; se quer compartilhar boas práticas em desenvolvimento, pense na trilha de Design de Código e XP e assim por diante. 3 Pontos principais da palestra Acredito que uma palestra deve ser quase um pitch. Para quem não sabe, pitch é uma apresentação curta, que o pessoal de startup costuma fazer para pessoas investidoras-anjo, com cerca de 3 a 5 minutos para: Parece um tempo muito curto, mas, acredite, existem modalidades que são bem menores, como o elevator pitch que é praticamente um minuto! Por outro lado, em palestras, o tempo costuma ser de 30 minutos até 1 hora, ou seja, não precisa se preocupar com pouco tempo, mas também vale seguir aquela ideia de “contar uma história”, que é basicamente ter um enredo e criar uma narrativa para explicar esse conteúdo. O que é storytelling? Aproveitando que estamos falando sobre essa habilidade, vou explicar um pouco sobre o storytelling, que é um método para contar uma história. Este termo vem da palavra inglesa storyteller, que é a pessoa que conta histórias. O termo pode ser “novo”, mas não é de hoje que o ser humano usa esse formato para passar conteúdos. A ideia principal desse método é passar de forma clara uma história, usando texto ou algum recurso audiovisual, tendo em mente que você pode usar muitas ferramentas de narrativas para ajudar. Por exemplo, você deve definir se a história será contada em primeira ou terceira pessoa, estudar como seu conteúdo sairá do ponto A até o ponto B de forma orgânica e fluida, levando assim, quem está escutando ou lendo sua história junto com o desenrolar do enredo. O público precisa se envolver com você nessa jornada. Em algum momento da vida, você já contou uma história ou já ouviu alguém contar, certo? Inspire-se nesses momentos! Pontos essenciais para sua palestra Agora, abra o bloco de notas e preste atenção, trouxe os principais pontos que você pode criar e treinar para arrasar na talk. Seguindo a ideia do storytelling, vamos ao começo: Apresentação Você pode se apresentar, citar sua experiência com o tema que está abordando, trazendo uma conexão entre você e sua palestra. Assim o público sentirá mais confiança, o que transmitirá mais credibilidade para a sua apresentação. Problema Comece contando o problema! Sim, é isso mesmo que você leu. Vamos pensar que todo mundo quer resolver algum problema e que o que você vai compartilhar, de certa forma, vai ajudar a solucionar o impasse de alguém. Então bora contar qual o problema que você enfrentou. Reflexões Conte sobre suas reflexões que te levaram a solução. Neste ponto, vale falar sobre conversas que você teve, alinhamentos, insights, literatura