Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes...

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

Transcript of Tirando proveito das ferramentas da Microsoft para desenvolver aplicativos seguros Yuri Diogenes...

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.