2. It´s-a me Bertuzzi
• Thiago Bertuzzi é desenvolvedor .net há 16 anos participando
de projetos Desktop, Services, Web e Mobile utilizando
Xamarin.
• É Microsoft MVP em Developer Technologies
• É Head of Techology / Arquiteto na NESS
• Contribui para comunidade Xamarin ,.net,segurança e
Arquitetura escrevendo artigos, compartilhando códigos,
palestrando e criando pacotes Nuget.
3. Open Web Application Security Project (OWASP)
• É uma comunidade online que cria e disponibiliza de forma gratuita
artigos, metodologias, documentação, ferramentas e tecnologias no
campo da segurança de aplicações web
• OWASP ASVS
• ASVS: Architecture
5. OWASP Application Security Verification Standard
(ASVS)
• Versão 4.0.3 (5.0 foi anunciada)
• Cria um padrão de segurança de
aplicativo confiável
• 3 Níveis de Segurança
6. ASVS Level 1 e OWASP top 10
O mínimo de segurança que seu aplicativo deve ter :
• Injeção
• Quebra de Autenticação,
• Exposição de Dados Sensíveis
• XML External Entity (XXE)
• Controle de Acesso Quebrado
• Falha de Segurança em Componentes
• Cross-Site Scripting (XSS)
• Deserialização Insegura
• Uso de Componentes com Vulnerabilidades Conhecidas
• Redirecionamento e Encaminhamento Não Confiável
7. ASVS Level 2
A aplicação deve ser capaz:
• Se defender de ataques externos
• Manter a integridade das regras de negocio em funcionamento
• Principalmente garantir a integridade e proteção de informações
Sensíveis.
8. ASVS Level 3
• Destina-se a Aplicações:
• Alto risco de segurança
• Aplicações de nível Critico : Militares, governamentais , acessos a
dados de nível critico de infraestrutura.
9. ASVS no SDLC (Security development life
cycle)
• Arquitetura Segura
• Utilizar patterns e controles conhecidos e documentados
• Checklist
• Lista de funcionalidades da aplicação
• Garante um código seguro
• Testes de Unidade e Testes de integração
• Vários requerimentos do ASVS podem ser testados ou obtidos com testes
• Testes de Penetração
10. Authentication Architecture
• Utiliza patterns de segurança
• Aplica frameworks/métodos de autenticação de mercado e testados
• Prefere uma a varias formas de autenticação
• Autenticação segura para componentes de backend e serviços de
terceiros
• Logs e monitoramento
11. Acces Control Architecture
• Quem pode acessar o que e quais dados
• Único mecanismo bem testado para autenticação (diversos
mecanismos criam complexidades desnecessárias e abrem brechas de
segurança)
• Verificação de controles acontece só no Cliente ou no Server
também?
12. Input and Output Architecture
• Validação do que é Enviado
• Validação do que é retornado (dados sensíveis sem criptografia ou
devido cuidado)
13. Cryptographic Architecture
• Os dados estão devidamente criptografados?
• O que você armazena do lado do Client? (Cookies, secrets e etc)
• Os dados do lado do servidor estão protegidos? (keyvaults e etc)
• Considere se algum invasor pode roubar uma chave ou algum
“secret”
15. Data Protection And Privacy Architecture
• Dados devem ser classificados :
• Publico
• Interno
• Confidencial
Aplique controles próprios para cada tipo de informação
18. Business Logic Architecture
• Autenticação
• Controle de Acesso
• Gerenciamento de Sessão (expirar e etc)
• Regras de negocio com tratamentos e validações.
19. Secure File Upload Architecture
• Quais arquivos podem ser enviados?
• Validação de Tipos de Arquivo
• Validação de Arquivos Maliciosos
• Arquivos que podem ser baixados
20. Configuration Architecture
• Build and Deployment
• Monitorar vulnerabilidades
• Variáveis de Ambientes para projetos separados
• Fontes assinadas