Completando 20 anos nesta semana, Bill Gates enviou um e-mail famoso para todos os funcionários da Microsoft anunciando a criação da Trustworthy Computing (TwC). A iniciativa pretendia colocar a segurança do cliente e, consequentemente, a confiança do cliente em primeiro plano para todos os funcionários da Microsoft. O memorando de Gates convocou as equipes a fornecer produtos que sejam “tão disponíveis, confiáveis e seguros quanto os serviços padrão, como eletricidade, serviços de água e telefonia”.
Proteger os clientes é essencial para a missão da Microsoft. Com mais de 8.500 especialistas em segurança em 77 países, equipes vermelhas e azuis dedicadas, centros de operações de segurança 24 horas por dia, 7 dias por semana e milhares de parceiros em todo o setor, continuamos aprendendo e evoluindo para atender ao cenário global de ameaças em constante mudança.
Em 2003, consolidamos nosso processo de atualização de segurança no primeiro Patch Tuesday para fornecer mais previsibilidade e transparência aos clientes. Em 2008, publicamos o Security Development Lifecycle para descrever a abordagem da Microsoft às considerações de segurança e privacidade em todas as fases do processo de desenvolvimento.
É claro que a iniciativa Trustworthy Computing não estaria onde está hoje sem a incrível colaboração da indústria e da comunidade. Em 2005, a Microsoft realizou sua primeira conferência de segurança “Blue Hat”, onde convidamos pesquisadores de segurança externos para falar diretamente com os executivos e engenheiros da Microsoft sobre os produtos que eles estavam pesquisando.
Hoje, o Microsoft Security Response Center (MSRC) trabalha com milhares de pesquisadores e profissionais de segurança internos e externos para solucionar rapidamente vulnerabilidades de segurança em produtos lançados. Nos últimos 20 anos, o MSRC fez a triagem de mais de 70.000 casos de vulnerabilidade de segurança em potencial compartilhados por milhares de pesquisadores externos e parceiros do setor por meio da Divulgação Coordenada de Vulnerabilidades (CVD). Desde então, emitimos mais de 7.600 CVEs para ajudar a manter os clientes seguros.
Começando em 2011 com o primeiro Blue Hat Award, recompensamos essas parcerias vitais com a comunidade global de pesquisa de segurança em mais de 60 países com mais de US$ 40 milhões, por meio do Microsoft Bug Bounty Program.
A jornada de segurança que começou com o TwC envolveu milhares de pessoas na Microsoft e no setor. Para comemorar 20 anos desse compromisso, parceria e aprendizado em segurança do cliente, estamos compartilhando os pensamentos e histórias de alguns desses funcionários, parceiros do setor, especialistas e colaboradores que ajudaram a tornar essa jornada possível.
*Por Aanchal Gupta, VP do Microsoft Security Response Center
A gênese da computação confiável
Em 2001, um pequeno número de “pessoas de segurança” começou a se afastar dos “produtos de segurança” para pensar mais em “recursos de segurança”. Muitos pensam nesse conceito como sendo basicamente a oferta de produtos, como antimalware e firewalls. Mas esta não é a visão completa. Formamos uma equipe chamada Secure Windows Initiative (SWI) e trabalhamos em estreita colaboração com equipes de desenvolvimento individuais para infundir mais reflexão sobre a proteção de seus recursos.
Funcionou bem, mas simplesmente não era escalável.
David LeBlanc e eu conversamos sobre coisas que descobrimos trabalhando com várias equipes. Percebemos que sempre nos perguntavam as mesmas perguntas de segurança no nível do código. Então, decidimos escrever um livro sobre o assunto para cobrir o básico, para que pudéssemos nos concentrar nas coisas difíceis.
Esse livro é o Writing Secure Code.
Durante 2001, algumas vulnerabilidades atingiram os produtos da Microsoft: CodeRed e Nimda. Esses dois “worms” levaram alguns clientes a repensar o uso dos Serviços de Informações da Internet. Muitos dos aprendizados desse episódio foram para o nosso livro e o tornaram melhor. Os “worms” também fizeram com que a equipe do compilador C++ começasse a pensar em como poderiam adicionar mais defesas ao código compilado automaticamente. A Microsoft Research começou a trabalhar em ferramentas de análise para encontrar bugs de segurança. Eu podia sentir uma mudança na empresa.
Em outubro, a equipe de segurança .NET me pediu para examinar alguns bugs de segurança encontrados. Por conta da relevância das descobertas, decidimos pausar o desenvolvimento, equipar todos com o mais recente treinamento de segurança e procurar mais bugs de segurança. Uma parte do meu trabalho era treinar a equipe de engenharia e fazer a triagem de bugs à medida que eles surgiam. Corrigimos bugs e adicionamos defesas extras ao .NET e ao ASP.NET. Esse evento ficou conhecido como “.NET Security Stand Down”.
No final do Stand Down, ouvi dizer que Craig Mundie (que se reportava a Bill) estava trabalhando em “algo” para levar a empresa a uma direção mais focada na segurança. Na época, isso era tudo que eu sabia.
Em dezembro de 2001, o Writing Secure Code finalmente chegou, e me pediram para apresentar em uma reunião de duas horas com Bill Gates para explicar as nuances das vulnerabilidades de segurança. No final da reunião, dei a ele uma cópia de Writing Secure Code. Na segunda-feira seguinte, ele me mandou um e-mail para dizer que tinha lido o livro e adorado. Alguns dias depois, Craig Mundie compartilhou o que estava pensando. Ele queria que a empresa se concentrasse em Segurança, Privacidade, Confiabilidade e Práticas de Negócios. Estes se tornaram os quatro pilares do Trustworthy Computing. Bill ficou impressionado e tudo isso levou ao agora famoso memorando BillG Trustworthy Computing de janeiro de 2002.
*Por Michael Howard, Consultor Sênior de Segurança Cibernética
A evolução do Ciclo de Vida de Desenvolvimento de Segurança
O Security Development Lifecycle (SDL) tem cerca de 20 anos e evoluiu significativamente desde o início com o Windows. Quando começamos a implantar o SDL em todos os produtos, muitas vezes recebemos críticas das equipes de que ele era muito centrado no Windows. Assim, o primeiro passo foi tornar o SDL aplicável a todas as equipes – mantendo a meta de design de um SDL, mas entendendo que os requisitos variam de acordo com os recursos e os tipos de produto. Compartilhamos nossas experiências e tornamos o SDL público, seguido pelo lançamento de ferramentas que desenvolvemos, incluindo Threat Modeling Tool, Attack Surface Analyzer (ASA) e DevSkim (estes dois últimos foram publicados no GitHub como projetos Open Source).
À medida que a Microsoft começou a adotar metodologias de desenvolvimento ágil e construir seus negócios em nuvem, o SDL precisou evoluir para abraçar esse novo ambiente e paradigma. Isso significou grandes mudanças nos principais fundamentos do SDL, como a barra de bugs, nossa abordagem à modelagem de ameaças e como as ferramentas são integradas aos ambientes de engenharia. Ele também apresentou novos desafios para manter o princípio SDL único, ao mesmo tempo em que percebeu que os ambientes de nuvem são muito diferentes do software local que tradicionalmente enviamos aos clientes.
Adotamos novas tecnologias, como IoT, e fizemos outras adaptações ao SDL para lidar com sistemas operacionais não Windows, como Linux e macOS. Uma grande mudança foi a adoção do Open Source pela Microsoft, que estendeu a necessidade de cobertura SDL para muitos ambientes de desenvolvimento, linguagens e plataformas diferentes. Mais recentemente, incorporamos novos conteúdos SDL para cobrir o desenvolvimento de soluções de Inteligência Artificial e Machine Learning, que trazem todo um novo conjunto de vetores de ataque.
O SDL evoluiu e se adaptou nos últimos 20 anos, mas continua sendo, como sempre, um SDL.
*Por Mark Cartwright, Gerente de Programa do Grupo de Segurança
Protegendo o Windows
Comecei minha carreira na Microsoft como Pen Tester no Windows durante um dos primeiros lançamentos para implementar totalmente o SDL. Eu tenho muito orgulho dessa experiência. Todos os dias parecia que eu estava na linha de frente da segurança. Tínhamos um grupo incrível de pessoas, de Pen Testers Superstar a Desenvolvedores Superstar, todos trabalhando juntos para implementar um processo de segurança para um dos maiores produtos de segurança do mundo. Foi uma época vibrante e uma das primeiras vezes que vi uma equipe verdadeiramente interdisciplinar de engenheiros de segurança, desenvolvedores e gerentes de produto trabalhando juntos em direção a um objetivo comum. Isso deixou uma impressão duradoura e poderosa em mim pessoalmente e na cultura de segurança do Windows.
Para mim, a principal lição aprendida com o Trustworthy Computing é que uma boa segurança é um subproduto de uma boa engenharia. Na minha visão ingênua antes dessa experiência, presumi que a melhor maneira de obter segurança em um produto é continuar contratando engenheiros de segurança até que a segurança melhore. Na realidade, essa abordagem não é possível. Nunca haverá escala suficiente com engenheiros de segurança e, simplesmente, uma boa segurança requer conhecimentos de engenharia que Pen Tester sozinho não pode alcançar.
*Por David Weston, Diretor de Parceiros de Segurança e Enterprise
Uma indústria em constante mudança
A indústria de segurança é incrível porque nunca para de mudar. O que é ainda mais surpreendente para mim é que as filosofias centrais da iniciativa Trustworthy Computing continuaram sendo verdadeiras – mesmo durante 20 anos de mudanças drásticas.
Os compiladores são um ótimo exemplo disso.
Nos primeiros dias da iniciativa Trustworthy Computing, a Microsoft e o setor de segurança em geral exploraram recursos inovadores para proteger contra vulnerabilidades, incluindo StackGuard, ProPolice e o sinalizador /GS no Microsoft Visual Studio. À medida que os ataques evoluíram, os princípios orientadores do Trustworthy Computing levaram a Microsoft a evoluir continuamente também os blocos de construção fundamentais do software seguro: Proteção de Execução de Dados (DEP), Randomização de Layout de Espaço de Endereço (ASLR), Tecnologia de Aplicação de Fluxo de Controle (CET) para defender contra Programação Orientada a Retorno (ROP) e proteções de execução especulativa, só para citar alguns.
Apenas compilando software com alguns switches, os desenvolvedores comuns podem se proteger contra classes inteiras de exploits. Matt Miller dá uma visão fascinante desta história em sua palestra durante o Blue Hat Israel.
Em um nível mais alto, uma das coisas que fiquei mais feliz em ver mudar é a evolução do absolutismo de segurança.
Em 2001, havia muita energia por trás das “10 Leis Imutáveis de Segurança”, incluindo várias variantes de “Se um invasor pode executar um programa em seu computador, ele não é mais seu computador”.
O mundo real, ao que parece, não é tão preto ou branco. O cenário evoluiu, dando a entender que não é o fim do jogo até que os defensores digam que é.
Temos um setor rico que inova continuamente em registro, auditoria, análise forense, resposta a incidentes e evoluímos nossas estratégias para incluir os conceitos Assume Breach, Defesa em Profundidade, “Impose Cost” e muito mais. Por exemplo: à medida que os tempos de execução dinâmicos atingiram a maioridade (PowerShell, Python, C#), aqueles que evoluíram durante a era da Computação Confiável tornaram-se exemplos verdadeiramente excelentes de software que ativamente inclina o campo a favor dos defensores.
Embora você não consiga impedir todos os ataques, certamente pode fazer com que os invasores se arrependam de usar certas ferramentas e se arrependam de chegar aos seus sistemas. Para uma ótima visão geral da jornada do PowerShell, confira o guia Defending Against PowerShell Attacks—PowerShell Team.
Quando lançamos o esforço do Trustworthy Computing, nunca poderíamos imaginar a complexidade dos ataques que o setor enfrentaria em 2022, nem a incrível capacidade de defesa das Blue Teams contra eles. Mas ao refinar e melhorar constantemente a segurança à medida que as ameaças evoluem, o mundo está muito mais seguro hoje do que há 20 anos.
*Por Lee Holmes, Arquiteto Principal de Segurança, Segurança do Azure
Nasce a Nuvem
A iniciativa Trustworthy Computing e o SDL que ela criou reconheceram que a segurança é um pilar fundamental para conquistar e manter a confiança do cliente – portanto, deve ser infundida em todo o desenvolvimento de produtos da Microsoft.
Desde que foi criado, no entanto, o software evoluiu de pacotes físicos que a Microsoft oferece para os clientes instalarem, configurarem e protegerem, para agora incluir serviços em nuvem que a Microsoft implanta e opera em nome dos clientes. A responsabilidade da Microsoft para com os clientes agora inclui não apenas desenvolver software seguro, mas também operá-lo de maneira segura.
Nossa responsabilidade também se estende a garantir que os serviços e as práticas operacionais atendam às promessas de privacidade do cliente e aos regulamentos de privacidade do governo.
O Microsoft Azure aproveitou a estrutura SDL e os princípios do Trustworthy Computing desde o início para incorporar esses aspectos adicionais de segurança e privacidade de software. Ter essa base em vigor significava que, em vez de começar do zero, poderíamos aprimorar e estender as ferramentas e os processos que já existiam para o novo software. Ferramentas e processos como Threat Modeling e análise estática e dinâmica foram incrivelmente úteis em todos os cenários de nuvem, como multilocação hostil e DevOps.
À medida que criamos, validamos e refinamos soluções, nós e outras equipes de serviço de nuvem da Microsoft contribuímos com o SDL e as ferramentas, incluindo a publicação de muitos deles para uso de nossos clientes. Não é um eufemismo dizer que a segurança e a privacidade do Microsoft Azure remontam diretamente ao lançamento da iniciativa TWC há 20 anos.
A nuvem está mudando constantemente com a adição de novas arquiteturas de aplicativos, modelos de programação, controles de segurança e tecnologias como computação confidencial. Ferramentas de análise estática, como o CodeQL, fornecem melhores detecções e verificações de pipeline de CI/CD, como o CredScan, que ajudam a evitar formas totalmente novas de vulnerabilidades específicas dos serviços.
Ao mesmo tempo, o cenário de ameaças continua a ficar mais sofisticado. O software que não segue necessariamente os processos SDL é agora uma parte crítica da cadeia de suprimentos de todas as empresas.
Assim como o SDL hoje é muito mais sofisticado e abrange muito mais aspectos do ciclo de vida do software do que há 20 anos, a Microsoft continuará investindo no SDL para lidar com o ciclo de vida do software e as ameaças de amanhã.
*Por Mark Russinovich, Chief Technology Officer e Technical Fellow, Microsoft Azure
Uma comunidade de pesquisadores incrível
A introdução da iniciativa Trustworthy Computing coincidiu com minhas primeiras incursões sérias na pesquisa de segurança do Windows. Por esse motivo, ela definiu como vejo os problemas e desafios da segurança da informação, não apenas no Windows, mas em todo o setor. Muitas coisas que considero garantidas, como práticas de desenvolvimento focadas em segurança ou atualizações automáticas, receberam um novo impulso a partir das expectativas estabelecidas há 20 anos.
O fato de eu ainda ser um pesquisador de segurança do Windows depois de todo esse tempo pode dar a impressão de que a iniciativa TwC falhou, mas acho que é uma caracterização injusta. Os desafios da segurança da informação não têm sido estáticos porque a indústria de computação não tem sido estática. Poucos imaginariam o quão difundida a computação seria em nossas vidas, e cada endpoint conectado pode representar um risco de segurança adicional.
Para cada melhoria de segurança que um produto faz, geralmente há um aumento correspondente na complexidade do sistema que adiciona uma superfície de ataque adicional. Encontrar bugs exploráveis é definitivamente muito mais difícil do que há 20 anos, e ainda há mais lugares para procurar. Nenhuma iniciativa provavelmente será capaz de remover todos os bugs de segurança de um produto, pelo menos não em algo de complexidade como o Windows.
Eu sinto que o legado duradouro da iniciativa TwC não é que ela trouxe uma utopia de segurança máxima, relatórios deixam claro que ainda não chegamos lá. Em vez disso, trouxe a segurança para a frente, permitindo-lhe tornar-se um cidadão de primeira classe na indústria que define o século XXI.
*Por James Forshaw, primeiro vencedor da recompensa de mitigação do Blue Hat
O que aprendi sobre Threat Intelligence com Trustworthy Computing
Passei 10 anos na Microsoft em Trustworthy Computing (TwC). Lembro-me de estar na reunião com Bill Gates, onde conversamos sobre a necessidade de um memorando sobre segurança. Desde a suspensão da segurança do Windows, ao XP SP2, à criação do Security Development Lifecycle e sua aplicação em todos os produtos, ao encontro com pesquisadores de segurança em todo o mundo e ao aprendizado de seu brilhantismo e paixão, a iniciativa Trustworthy Computing moldou todo a minha carreira. Um aspecto da segurança que me acompanha até hoje é sobre os ataques que ocorrem. Gastar tempo encontrando e corrigindo bugs de segurança leva ao mundo das explorações e aos invasores por trás delas. Hoje administro o Microsoft Threat Intelligence Center (MSTIC) e nosso foco é descobrir ataques de atores em todo o mundo e o que podemos fazer para proteger os clientes deles.
Uma coisa que aprendi do meu tempo em TwC foi o quão importante é a comunidade. Nenhuma empresa ou organização pode fazer isso sozinha. Isso é certamente verdade na inteligência de ameaças. Muitas vezes parece que ouvimos falar de ataques como uma indústria que levam a entender que os defendemos sozinhos. No entanto, quando os defensores trabalham juntos, algo incrível acontece. Contribuímos com nossa compreensão de um ataque de nossos respectivos pontos de vista e a imagem de repente fica mais clara. Pesquisadores contribuem com novas técnicas de ataque para o MITRE ATT&CK construindo nosso entendimento coletivo. Eles publicam detecções na forma de regras Sigma e Yara, tornando o conhecimento executável. Os analistas podem criar notebooks Jupyter para que suas análises especializadas possam ser repetidas por outros defensores. Uma abordagem baseada na comunidade pode acelerar todos os defensores.
Embora grande parte do meu trabalho na TwC tenha se concentrado na Microsoft e na engenharia de nossos produtos e serviços, os ataques de hoje realmente colocam os clientes e colegas defensores no centro. A defesa é uma missão global e estou animado e esperançoso com a oportunidade de trabalhar nos problemas mais desafiadores de hoje com os defensores do mundo.
*Por John Lambert, Distinguished Engineer, Microsoft Threat Intelligence Center
Saiba mais!
Para saber mais sobre as soluções de segurança da Microsoft, visite nosso site. Marque o Blog se Segurança para acompanhar nossa cobertura especializada em questões de segurança. Além disso, siga-nos em @MSFTSecurity para obter as últimas notícias e atualizações sobre segurança cibernética.