24
Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information Experience Solutions Team

Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Embed Size (px)

Citation preview

Page 1: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros

Yuri DiogenesSenior Technical WriterServer and Cloud Division – Information Experience Solutions Team

Page 2: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Yuri, você é Dev? Quem é você?

MBA pela FGV, atualmente cursando o Mestrado em CyberSecurity e Inteligência Forense pela UTICA College nos Estados Unidos. Atualmente trabalha como Escritor Senior do time de Windows Server and Cloud Division, onde escreve sobre soluções de computação na nuvem usando o Windows Server 2012. Antes de ingressar neste time, Yuri também trabalhou na Microsoft com: escritor sênior do time de Segurança do Windows e Engenheiro Sênior de Segurança de Escalação do time de Forefront Edge na Microsoft Texas.

Não, eu não sou Dev, mas já fiz algo nessa área.... (último projeto foi o NetWiz)http://blogs.technet.com/b/yuridiogenes/archive/2009/08/18/network-monitor-wizard-now-at-codeplex.aspx

Page 3: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Agenda

Preparando para desenvolver de forma segura

Recapitulando o escopo atual de segurança

Vantagens e Oportunidades da plataforma Windows 8Ferramentas para auxiliar no desenvolvimento seguro

Page 4: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Recapitulando o escopo atual de segurança

Page 5: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Recapitulando o escopo de segurança

APPSNuvem Privada Nuvem Pública

On-Premise Online

DISPOSITIVOS

Proteção e gerenciamento contra ameaças

Proteção aos dados sensíveisAcesso Seguro aos Recursos

Page 6: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Onde estão as ameaças?

Page 7: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Preparando para desenvolver de forma segura

Page 8: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Se você pensou em SDL, acertou...

Page 9: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Espere, eu sou Dev...segurança é para infra....• Não diga isso nem brincando.... • Ao adotar um modelo como SDL o primeiro passo é o treinamento básico de segurança para toda a equipe de desenvolvimento• O projeto já nasce com “segurança embutida” pois a validação ocorre em cada fase

Page 10: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Literatura Recomendada

Page 11: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Vantagens e Oportunidades da Plataforma Windows 8

Page 12: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Você disse oportunidades?

Page 13: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Mas nada disso seria interessante para o consumidor se não fosse seguro...

Page 14: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Alinhando Oportunidade com Segurança•Desenvolva suas aplicações com base em um framework de segurança (já ouviu falar de SDL?)•Valide suas aplicações com ferramentas de segurança•BinScope Binary Analyzer

Valida o uso correto de algumas funções desegurança recomendada via SDL, como: SafeSEH Exception Handling Protection, AllowPartiallyTrustedCallersAttribute e outras.

Attack Surface Analyzer Tira um “retrato” do sistema antes da aplicação ser instalada e depois compara com o estado após a instalação.

Windows Store

Page 15: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Windows 8 e Visual Studio 2012•Windows 8 com Vistual Studio 2012 fornecem um conjunto de APIs, controle e ferramentas para minimizar vulnerabilidades de aplicações e mitigar problemas comuns de segurança• Como padrão você não precisa fazer NADA...isso NADA para usar algumas características de segurança que antes precisavam ser ativadas, como:• /GS (Buffer Security Check) – detecta buffer overrun• /DYNAMICBASE – para uso de ASLR (Address Space Layout Randomization)•DEP (Data Execution Prevention)- quando implementado em nível de software previne código malicioso de tirar vantagem de “exception-handling”• SEHOP (Structured Exception Handling Overwrite Protection) – bloqueia exploits que usam técnicas SEH (Structured Exception Handler)

Page 16: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Hardening de Aplicações•Através da declaração de App Capabilities é possível limitar o escopo de ação da aplicação.

Page 17: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Chega de achar que precisa de tudo...•Se sua aplicação precisa acessar só alguns arquivos então não tem sentido requisitar acesso total a uma pasta e ainda com FULL CONTROL....•FileOpenPicker class

Page 18: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Não confie em conteúdo remoto/externo...•Páginas remotas que sua aplicação precisa (porventura) interagir e que usam iFrame adicionam uma camada de risco•Quando a entrada da sua aplicação vier de um conteúdo externo, faça a verificação (sanitization) para remover conteúdo executável

Converte o script em conteúdo HTML estático

Converte o script em texto

Page 19: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Não confie em conteúdo remoto/externo...parte 2•Se sua aplicação aceita entrada ou dados vindo da Web, não deixe que este conteúdo faça acesso ao WinRT (Windows Runtime)....sim, como padrão o Windows 8 permite que o conteúdo da sua app acesse o runtime.•Coloque o conteúdo recebido em sandbox iframe

Page 20: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Confie na nuvem, mas valide antes•Autentique o acesso a serviços da nuvem•Sua aplicação pode usar GetAppReceiptAsync para validar a app obtida de um serviço de nuvem (App Store)•A validação ocorre via checagem de certificado usando a URL abaixo

•Outros métodos de autenticação incluem:•Shared certificate stores (Windows Store apps)

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465029.aspx

•Web authentication broker http://code.msdn.microsoft.com/windowsapps/Web-Authentication-d0485122

Aqui vai ser o CertificateID do recipiente

Page 21: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Que mais?

• Isso foi só uma visão geral, próximo passo é ler o paper:

http://msdn.microsoft.com/en-us/library/windows/apps/hh849625.aspx

Page 22: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Comece pelo mais simples...

Page 23: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information

Contato

@yuridiogenes

Blog em inglês: http://blogs.technet.com/yuridiogenes

Blog em PT-BR:http://yuridiogenes.wordpress.com

Page 24: Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes Senior Technical Writer Server and Cloud Division – Information