SlideShare uma empresa Scribd logo
1 de 20
Secure Coding with OWASP
& SSDLC
Thiago Bertuzzi
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.
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
OWASP Web Security Testing Guide (WSTG)
• Security testing guide
• Developers
• Security testes
• Cria funcionalidades baseadas em Testes
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
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
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.
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.
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
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
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?
Input and Output Architecture
• Validação do que é Enviado
• Validação do que é retornado (dados sensíveis sem criptografia ou
devido cuidado)
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”
Auditing Architecture
• Erros
• Logs de informações
• Auditoria
• Proteção de Logs Sensíveis
Data Protection And Privacy Architecture
• Dados devem ser classificados :
• Publico
• Interno
• Confidencial
Aplique controles próprios para cada tipo de informação
Communications Architecture
• Proteja/Criptografe dados que são transmitidos
• Não exponha dados compartilhados entre micro serviços, Apis ou
containers
Malicious Software Architecture
• Repositório GIT
• Secrets em Commits
• Bagunça em Branch
Business Logic Architecture
• Autenticação
• Controle de Acesso
• Gerenciamento de Sessão (expirar e etc)
• Regras de negocio com tratamentos e validações.
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
Configuration Architecture
• Build and Deployment
• Monitorar vulnerabilidades
• Variáveis de Ambientes para projetos separados
• Fontes assinadas

Mais conteúdo relacionado

Semelhante a Segurança de Aplicações com OWASP e ASVS

Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Renato Groff
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0Renato Groff
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...Dan El Pierre Rezende
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosThiago Pereira
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...Walter Coan
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...
Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...
Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...Anchises Moraes
 
Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...
Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...
Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...SegInfo
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsAlan Carlos
 
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Jaqueline Ramos
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Governança de Ambientes Heterogêneos - Single Sign-On para Servidores
Governança de Ambientes Heterogêneos - Single Sign-On para ServidoresGovernança de Ambientes Heterogêneos - Single Sign-On para Servidores
Governança de Ambientes Heterogêneos - Single Sign-On para ServidoresVirtù Tecnológica
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 

Semelhante a Segurança de Aplicações com OWASP e ASVS (20)

Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
Boas práticas de segurança no acesso a dados em aplicações Web - DBA BRASIL 4.0
 
Segurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWSSegurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWS
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud Computing
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...
Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...
Segurança em IoT é possível ! Dicas de desenvolvimento seguro de dispositivo...
 
Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...
Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...
Utilizando padroes abertos para coleta de informacoes e assessment em ativos ...
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOps
 
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Governança de Ambientes Heterogêneos - Single Sign-On para Servidores
Governança de Ambientes Heterogêneos - Single Sign-On para ServidoresGovernança de Ambientes Heterogêneos - Single Sign-On para Servidores
Governança de Ambientes Heterogêneos - Single Sign-On para Servidores
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?
 

Mais de Thiago Bertuzzi

Cobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeCobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeThiago Bertuzzi
 
Domain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaDomain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaThiago Bertuzzi
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesThiago Bertuzzi
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsThiago Bertuzzi
 
Xamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vidaXamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vidaThiago Bertuzzi
 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Thiago Bertuzzi
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealThiago Bertuzzi
 
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekPlugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekThiago Bertuzzi
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...Thiago Bertuzzi
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazerThiago Bertuzzi
 
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 Novidades de Xamarin e Visual Studio for Mac no .Net Conf Novidades de Xamarin e Visual Studio for Mac no .Net Conf
Novidades de Xamarin e Visual Studio for Mac no .Net ConfThiago Bertuzzi
 
Persistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.FormsPersistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.FormsThiago Bertuzzi
 
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Thiago Bertuzzi
 
Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms Thiago Bertuzzi
 
Armazenando Dados com Xamarin
Armazenando Dados com XamarinArmazenando Dados com Xamarin
Armazenando Dados com XamarinThiago Bertuzzi
 
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisXamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisThiago Bertuzzi
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Thiago Bertuzzi
 
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Thiago Bertuzzi
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacThiago Bertuzzi
 

Mais de Thiago Bertuzzi (20)

Cobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeCobertura de Código: Testes de Unidade
Cobertura de Código: Testes de Unidade
 
Domain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaDomain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da Caixa
 
Código Seguro
Código SeguroCódigo Seguro
Código Seguro
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidades
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.Forms
 
Xamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vidaXamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vida
 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso Real
 
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekPlugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer
 
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 Novidades de Xamarin e Visual Studio for Mac no .Net Conf Novidades de Xamarin e Visual Studio for Mac no .Net Conf
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 
Persistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.FormsPersistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.Forms
 
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
 
Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms 
 
Armazenando Dados com Xamarin
Armazenando Dados com XamarinArmazenando Dados com Xamarin
Armazenando Dados com Xamarin
 
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisXamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
 
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
 

Segurança de Aplicações com OWASP e ASVS

  • 1. Secure Coding with OWASP & SSDLC Thiago Bertuzzi
  • 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
  • 4. OWASP Web Security Testing Guide (WSTG) • Security testing guide • Developers • Security testes • Cria funcionalidades baseadas em Testes
  • 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”
  • 14. Auditing Architecture • Erros • Logs de informações • Auditoria • Proteção de Logs Sensíveis
  • 15. Data Protection And Privacy Architecture • Dados devem ser classificados : • Publico • Interno • Confidencial Aplique controles próprios para cada tipo de informação
  • 16. Communications Architecture • Proteja/Criptografe dados que são transmitidos • Não exponha dados compartilhados entre micro serviços, Apis ou containers
  • 17. Malicious Software Architecture • Repositório GIT • Secrets em Commits • Bagunça em Branch
  • 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