SlideShare uma empresa Scribd logo
AULA 01
O objetivo deste curso é capacitar os treinandos em Codificação
Segura – Fundamentos, com habilidades e conhecimento em
Secure Programming - Foundation.
Objetivo do Curso
“A revolução começa com a informação e termina
com o resultado."
(Bernardo Morais)
Público-Alvo
 Todos que desejam ter conhecimento em Fundamentos de Programação
Segura
 Todos que tenham interesse no desenvolvimento de softwares seguros e
auditores que irão trabalhar com o Framework Secure Software.
Alcyon Junior
Gestor de Segurança da
Informação no
SEBRAE
Três graduações
Redes de
Computadores
Pós em Redes pela
Cisco | MBA em
Governança de TI |
Pós em
CyberSecurity
Mestrado em
Segurança
Cibernética
Autor de livros
sobre Segurança
Cibernética
EHF | ISO27002
| ITILF | CNAP |
CEH | MVM |
LPIC-1
Instrutor
credenciado
pela EXIN e
Líder da OWASP
BSB
#WHOAMI
Autor do capítulo 19
Configurações de segurança
DISCLAIMER
The information contained in this document may be privileged
and confidential and protected from disclosure. If the reader of
this document is not the intended recipient, or an employee
agent responsible for delivering this document to the
intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is
strictly prohibited.
MÓDULO
INTRODUÇÃO
Objetivos
Reconhecer a tensão entre as exigências do mercado e a segurança
Explicar o jargão de segurança e STRIDE
Descrever questões de segurança HTTP
Explicar o modelo de segurança do navegador
Hackers roubaram dados de mais de 2
milhões de clientes da T-Mobile
Dados capturados: nome, e-mail, código postal, número de telefone, e tipo
das contas (pré ou pós-pago).
detectado e contido na segunda-feira, dia 20
3% da base de 77 milhões de clientes foi afetada
hackers – parte de um “grupo internacional” – utilizaram uma API para
acessar o servidor de dados, que foi desativada rapidamente.
houve o comprometimento de um domínio interno de acesso restrito a
funcionários.
O domínio estava respondendo requisições vindas da internet com
informações confidenciais.
Faltava um sistema de controle de borda que validasse as comunicações
Causas do Software Inseguro
• Falta de tempo ou falta de dinheiro
• O cliente não solicitou
• Falta de conhecimento
• Más Intenções
• Ninguém vai querer invadir o meu software
O que é Segurança?
A Segurança pode ser definida como a proteção contra ameaças
Jargões de Segurança
Fraqueza Uma construção errada que pode prejudicar o sistema e reduzir a segurança.
Vulnerabilidade Uma fraqueza que pode ser explorada.
Explorar Abusar de uma vulnerabilidade específica, tirar proveito com más intenções de alguma falha
específica do sistema.
Ataque Uma tentativa de abusar do sistema, uma tentativa de acesso sem autorização a um sistema.
Ameaça Um potencial ataque.
Mitigar Uma medida para diminuir o impacto da ameaça.
Patch ou Remendo Uma medida para remover a vulnerabilidade de um sistema, corrigir uma falha de um sistema.
Risco Uma potencial perda de valor, usualmente expressada como a probabilidade do impacto de
perder onde se poderia ganhar.
Propriedades de Segurança
São propriedades de Segurança
Autenticação Verifica a identidade, se a pessoa ou algo é realmente quem alega ser.
Integridade a informação deve manter as características originais estabelecidas pelo
dono da informação.
Não repúdio impossibilidade de negar a autoria em relação a uma transação feita.
Confidencialidade o acesso deve ser realizado apenas por pessoas autorizadas.
Disponibilidade a informação deve estar sempre disponível a usuários autorizados.
Autorização verifica os privilégios, se a pessoa ou algo tem permissão para acessar
algum recurso ou informação.
STRIDE
S Spoofing
Forjamento de
Identidade
Fingir ser alguém ou
algo que você não é
Autenticação
A2-Broken Authentication
and Session Management;
A3-Cross-Site Scripting (XSS)
T Tampering
Adulteração de
Dados
Modificar dados
armazenados ou dados
em trânsito
Integridade
A1-Injection;
A3-Cross-Site Scripting (XSS);
A4- Insecure Direct Object
References;
A6- Sensitive Data Exposure
R Repudiation Rejeição
Negar que fez ou não
fez algo
Não Repúdio
AA2-Broken Authentication and
Session Management;
A10-Unvalidated Redirects and
Forwards
I
Information
Discosure
Divulgação de
Informações
Ver informações que
você não está
permitido a ver
Confidencialidade
A1-Injection;
A3- Cross-Site Scripting (XSS);
A4- Insecure Direct Object
References;
A6- Sensitive Data Exposure
D Denial of Service Recusa de Serviço
Negar um serviço,
deixar o sistema
indisponível.
Disponibilidade
A5-Security Misconfiguration;
A9- Using Components with
Known Vulnerabilities
E
Elevation of
Privilege
Elevação de
Privilégio
Fazer algo sem
permissão
Autorização
A2-Broken Authentication and
Session Management;
A7- Missing Function Level
Access Control;
A8- Cross-Site Request Forgery
(CSRF)
Superfície de Ataque e Zonas Confiáveis
Superfície de Ataque Zona de Confiança
Limite de Confiança
Defesa em Profundidade administra o risco, de modo que se uma camada de
defesa é inadequada, outra camada de defesa irá impedir a violação completa.
Falha Segura configura o tratamento de possíveis falhas do sistema que tratam
os possíveis erros que o software venha a ter.
Protocolo HTTP
O HTTP é um protocolo que consiste em requisição e resposta.
Possui dois métodos principais que são:
 GET: é destinado a operações de leitura
 POST: modifica o estado do aplicativo
O padrão HTTP não e claro em certos aspectos. Isso pode levar a equívocos. Este problema é
chamado de Poluição de Parâmetro ou HPP - HTTP Parameter Pollution. São falhas no processo de
validação da entrada de dados
Protocolo HTTP
Código 404 – recurso não encontrado
Código 401 – janela de login
Código 403 – acesso proibido
Código 302 – redireciona a página para a URL especificada no cabeçalho
“Location”
Código 200 – tudo ok
As solicitações AJAX funcionam como uma solicitação assíncrona dentro do navegador, usa
o XMLHttpRequest para se comunicar com os scripts do lado do servidor. Enviam o
seguinte cabeçalho:
X-Request-With: XmlHttpRequest
GET
http://localhost/insecure/public/Login.jsp?login=admin&pass
admin HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 Gecko/20100101 Firfox/14.0.1
Accept:
text/html,application/xhtml+xml,application/xml;q0.9,*/*;q0
.8
Accept-Language: en-us,en;q0.5
Proxy-Connection: keep-alive
Referer: http://localhost/insecure/public/Login.jsp
Cookie: JSESSIONID=73A4496C2B6C846B5E8D8C9DDDBD9D24
GET é mais rápido, envia somente texto, anexada à própria URL, tem
uma limitação de 255 caracteres
Solicitação GET
Cabeçalho de Resposta HTTP
Content-Type
X-Content-Type-Options
Content-disposition
Location
WWW-Authenticate
Set-Cookie
Cache-control
Ataque de
Divisão de
Resposta
HTTP
CRLF é um caractere de
avanço de linha. Uma
CRLF dupla irá incluir uma
linha em branco e pode
permitir um ataque de
injeção de cabeçalho
HTTP
Ataque de
Injeção de
Cabeçalho
HTTP
Técnica maliciosa que
redireciona para
sequestrar a sessão e
roubar a informação ou
ainda injetar códigos no
computador da vítima.
SOP – Política de Mesma Origem
Política de Mesma Origem ou Same Origin Policy - SOP
• Descreve sob quais condições scripts e programas em sites
podem acessar o conteúdo em outros sites.
• Os detalhes desta política diferem por navegadores e até por
versão dos navegadores.
Revisão
Jargões e Princípios de Segurança
STRIDE
Superfícies de Ataque e Zonas de Ataque
Defesa em Profundidade e Falhar Seguro
GET e POST
HTTP e Códigos de Status
Cabeçalho HTTP
Ataques no Cabeçalho de Resposta HTTP
Política de Mesma Origem
Exercícios
A que se refere a letra ‘S’ do acrônimo STRIDE ?
A. Divulgação de Informações
B. Segurança da Informação
C. Forjamento de Identidade
D. Recusa de Serviço

Mais conteúdo relacionado

Mais procurados

Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18BGA Cyber Security
 
iOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptxiOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptxdeepikakumari643428
 
Siber Saldırılar i̇çin Erken Uyarı Sistemi
Siber Saldırılar i̇çin Erken Uyarı SistemiSiber Saldırılar i̇çin Erken Uyarı Sistemi
Siber Saldırılar i̇çin Erken Uyarı SistemiBGA Cyber Security
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Moataz Kamel
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1BGA Cyber Security
 
Red Team Operasyonu ve İzlenen Bir Sisteme Sızmak
Red Team Operasyonu ve İzlenen Bir Sisteme SızmakRed Team Operasyonu ve İzlenen Bir Sisteme Sızmak
Red Team Operasyonu ve İzlenen Bir Sisteme SızmakBGA Cyber Security
 
Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamMohammed Adam
 
Kaynak Kod Analiz Süreci
Kaynak Kod Analiz SüreciKaynak Kod Analiz Süreci
Kaynak Kod Analiz SüreciPRISMA CSI
 
Vulnerability Management Program
Vulnerability Management ProgramVulnerability Management Program
Vulnerability Management ProgramDennis Chaupis
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15BGA Cyber Security
 
Zafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriZafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriEPICROUTERS
 
OWASP API Security Top 10 - API World
OWASP API Security Top 10 - API WorldOWASP API Security Top 10 - API World
OWASP API Security Top 10 - API World42Crunch
 
Sızma Testine Giriş - Fuat Ulugay
Sızma Testine Giriş  - Fuat UlugaySızma Testine Giriş  - Fuat Ulugay
Sızma Testine Giriş - Fuat UlugayFuat Ulugay, CISSP
 
DevSecOps: Colocando segurança na esteira
DevSecOps: Colocando segurança na esteiraDevSecOps: Colocando segurança na esteira
DevSecOps: Colocando segurança na esteiraDiego Gabriel Cardoso
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıBGA Cyber Security
 

Mais procurados (20)

Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
 
iOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptxiOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptx
 
Siber Saldırılar i̇çin Erken Uyarı Sistemi
Siber Saldırılar i̇çin Erken Uyarı SistemiSiber Saldırılar i̇çin Erken Uyarı Sistemi
Siber Saldırılar i̇çin Erken Uyarı Sistemi
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1
 
Red Team Operasyonu ve İzlenen Bir Sisteme Sızmak
Red Team Operasyonu ve İzlenen Bir Sisteme SızmakRed Team Operasyonu ve İzlenen Bir Sisteme Sızmak
Red Team Operasyonu ve İzlenen Bir Sisteme Sızmak
 
Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed Adam
 
Bsides SP 2022 - EPSS - Final.pptx
Bsides SP 2022 - EPSS - Final.pptxBsides SP 2022 - EPSS - Final.pptx
Bsides SP 2022 - EPSS - Final.pptx
 
Kaynak Kod Analiz Süreci
Kaynak Kod Analiz SüreciKaynak Kod Analiz Süreci
Kaynak Kod Analiz Süreci
 
Vulnerability Management Program
Vulnerability Management ProgramVulnerability Management Program
Vulnerability Management Program
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
 
Zafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriZafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleri
 
OWASP API Security Top 10 - API World
OWASP API Security Top 10 - API WorldOWASP API Security Top 10 - API World
OWASP API Security Top 10 - API World
 
Secure Code Review 101
Secure Code Review 101Secure Code Review 101
Secure Code Review 101
 
Sızma Testine Giriş - Fuat Ulugay
Sızma Testine Giriş  - Fuat UlugaySızma Testine Giriş  - Fuat Ulugay
Sızma Testine Giriş - Fuat Ulugay
 
DevSecOps: Colocando segurança na esteira
DevSecOps: Colocando segurança na esteiraDevSecOps: Colocando segurança na esteira
DevSecOps: Colocando segurança na esteira
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
 
Iso 27002-2013
Iso 27002-2013Iso 27002-2013
Iso 27002-2013
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 

Semelhante a Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon Junior

OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...Clavis Segurança da Informação
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemAlcyon Ferreira de Souza Junior, MSc
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Alcyon Ferreira de Souza Junior, MSc
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de DadosFelipe Plattek
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebMatheus Fidelis
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webIgor Carneiro
 

Semelhante a Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon Junior (20)

Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
Treinamento ajax 05
Treinamento ajax   05Treinamento ajax   05
Treinamento ajax 05
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
Java security
Java securityJava security
Java security
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações web
 
Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
 
PHP Seguro em 2013
PHP Seguro em 2013PHP Seguro em 2013
PHP Seguro em 2013
 
Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 

Mais de Alcyon Ferreira de Souza Junior, MSc

Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareAlcyon Ferreira de Souza Junior, MSc
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...Alcyon Ferreira de Souza Junior, MSc
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018Alcyon Ferreira de Souza Junior, MSc
 
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...Alcyon Ferreira de Souza Junior, MSc
 
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...Alcyon Ferreira de Souza Junior, MSc
 

Mais de Alcyon Ferreira de Souza Junior, MSc (20)

Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
 
Dica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização SeguraDica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização Segura
 
Mapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de softwareMapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de software
 
A nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridosA nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridos
 
Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018
 
7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec 7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
 
Red Teaming and Alternative Analysis
Red Teaming and Alternative AnalysisRed Teaming and Alternative Analysis
Red Teaming and Alternative Analysis
 
PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014
 
Segurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday IIISegurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday III
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
 
Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016
 
7 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 20177 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 2017
 
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
 
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
 
Pentest com BackTrack - Campus Party Brasil 2013
Pentest com BackTrack - Campus Party Brasil 2013Pentest com BackTrack - Campus Party Brasil 2013
Pentest com BackTrack - Campus Party Brasil 2013
 

Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon Junior

  • 2. O objetivo deste curso é capacitar os treinandos em Codificação Segura – Fundamentos, com habilidades e conhecimento em Secure Programming - Foundation. Objetivo do Curso “A revolução começa com a informação e termina com o resultado." (Bernardo Morais) Público-Alvo  Todos que desejam ter conhecimento em Fundamentos de Programação Segura  Todos que tenham interesse no desenvolvimento de softwares seguros e auditores que irão trabalhar com o Framework Secure Software.
  • 3. Alcyon Junior Gestor de Segurança da Informação no SEBRAE Três graduações Redes de Computadores Pós em Redes pela Cisco | MBA em Governança de TI | Pós em CyberSecurity Mestrado em Segurança Cibernética Autor de livros sobre Segurança Cibernética EHF | ISO27002 | ITILF | CNAP | CEH | MVM | LPIC-1 Instrutor credenciado pela EXIN e Líder da OWASP BSB #WHOAMI
  • 4. Autor do capítulo 19 Configurações de segurança
  • 5.
  • 6. DISCLAIMER The information contained in this document may be privileged and confidential and protected from disclosure. If the reader of this document is not the intended recipient, or an employee agent responsible for delivering this document to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.
  • 8. Objetivos Reconhecer a tensão entre as exigências do mercado e a segurança Explicar o jargão de segurança e STRIDE Descrever questões de segurança HTTP Explicar o modelo de segurança do navegador
  • 9. Hackers roubaram dados de mais de 2 milhões de clientes da T-Mobile Dados capturados: nome, e-mail, código postal, número de telefone, e tipo das contas (pré ou pós-pago). detectado e contido na segunda-feira, dia 20 3% da base de 77 milhões de clientes foi afetada hackers – parte de um “grupo internacional” – utilizaram uma API para acessar o servidor de dados, que foi desativada rapidamente. houve o comprometimento de um domínio interno de acesso restrito a funcionários. O domínio estava respondendo requisições vindas da internet com informações confidenciais. Faltava um sistema de controle de borda que validasse as comunicações
  • 10. Causas do Software Inseguro • Falta de tempo ou falta de dinheiro • O cliente não solicitou • Falta de conhecimento • Más Intenções • Ninguém vai querer invadir o meu software
  • 11. O que é Segurança? A Segurança pode ser definida como a proteção contra ameaças Jargões de Segurança Fraqueza Uma construção errada que pode prejudicar o sistema e reduzir a segurança. Vulnerabilidade Uma fraqueza que pode ser explorada. Explorar Abusar de uma vulnerabilidade específica, tirar proveito com más intenções de alguma falha específica do sistema. Ataque Uma tentativa de abusar do sistema, uma tentativa de acesso sem autorização a um sistema. Ameaça Um potencial ataque. Mitigar Uma medida para diminuir o impacto da ameaça. Patch ou Remendo Uma medida para remover a vulnerabilidade de um sistema, corrigir uma falha de um sistema. Risco Uma potencial perda de valor, usualmente expressada como a probabilidade do impacto de perder onde se poderia ganhar.
  • 12. Propriedades de Segurança São propriedades de Segurança Autenticação Verifica a identidade, se a pessoa ou algo é realmente quem alega ser. Integridade a informação deve manter as características originais estabelecidas pelo dono da informação. Não repúdio impossibilidade de negar a autoria em relação a uma transação feita. Confidencialidade o acesso deve ser realizado apenas por pessoas autorizadas. Disponibilidade a informação deve estar sempre disponível a usuários autorizados. Autorização verifica os privilégios, se a pessoa ou algo tem permissão para acessar algum recurso ou informação.
  • 13. STRIDE S Spoofing Forjamento de Identidade Fingir ser alguém ou algo que você não é Autenticação A2-Broken Authentication and Session Management; A3-Cross-Site Scripting (XSS) T Tampering Adulteração de Dados Modificar dados armazenados ou dados em trânsito Integridade A1-Injection; A3-Cross-Site Scripting (XSS); A4- Insecure Direct Object References; A6- Sensitive Data Exposure R Repudiation Rejeição Negar que fez ou não fez algo Não Repúdio AA2-Broken Authentication and Session Management; A10-Unvalidated Redirects and Forwards I Information Discosure Divulgação de Informações Ver informações que você não está permitido a ver Confidencialidade A1-Injection; A3- Cross-Site Scripting (XSS); A4- Insecure Direct Object References; A6- Sensitive Data Exposure D Denial of Service Recusa de Serviço Negar um serviço, deixar o sistema indisponível. Disponibilidade A5-Security Misconfiguration; A9- Using Components with Known Vulnerabilities E Elevation of Privilege Elevação de Privilégio Fazer algo sem permissão Autorização A2-Broken Authentication and Session Management; A7- Missing Function Level Access Control; A8- Cross-Site Request Forgery (CSRF)
  • 14. Superfície de Ataque e Zonas Confiáveis Superfície de Ataque Zona de Confiança Limite de Confiança Defesa em Profundidade administra o risco, de modo que se uma camada de defesa é inadequada, outra camada de defesa irá impedir a violação completa. Falha Segura configura o tratamento de possíveis falhas do sistema que tratam os possíveis erros que o software venha a ter.
  • 15. Protocolo HTTP O HTTP é um protocolo que consiste em requisição e resposta. Possui dois métodos principais que são:  GET: é destinado a operações de leitura  POST: modifica o estado do aplicativo O padrão HTTP não e claro em certos aspectos. Isso pode levar a equívocos. Este problema é chamado de Poluição de Parâmetro ou HPP - HTTP Parameter Pollution. São falhas no processo de validação da entrada de dados
  • 16. Protocolo HTTP Código 404 – recurso não encontrado Código 401 – janela de login Código 403 – acesso proibido Código 302 – redireciona a página para a URL especificada no cabeçalho “Location” Código 200 – tudo ok As solicitações AJAX funcionam como uma solicitação assíncrona dentro do navegador, usa o XMLHttpRequest para se comunicar com os scripts do lado do servidor. Enviam o seguinte cabeçalho: X-Request-With: XmlHttpRequest
  • 17. GET http://localhost/insecure/public/Login.jsp?login=admin&pass admin HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 Gecko/20100101 Firfox/14.0.1 Accept: text/html,application/xhtml+xml,application/xml;q0.9,*/*;q0 .8 Accept-Language: en-us,en;q0.5 Proxy-Connection: keep-alive Referer: http://localhost/insecure/public/Login.jsp Cookie: JSESSIONID=73A4496C2B6C846B5E8D8C9DDDBD9D24 GET é mais rápido, envia somente texto, anexada à própria URL, tem uma limitação de 255 caracteres Solicitação GET
  • 18. Cabeçalho de Resposta HTTP Content-Type X-Content-Type-Options Content-disposition Location WWW-Authenticate Set-Cookie Cache-control Ataque de Divisão de Resposta HTTP CRLF é um caractere de avanço de linha. Uma CRLF dupla irá incluir uma linha em branco e pode permitir um ataque de injeção de cabeçalho HTTP Ataque de Injeção de Cabeçalho HTTP Técnica maliciosa que redireciona para sequestrar a sessão e roubar a informação ou ainda injetar códigos no computador da vítima.
  • 19. SOP – Política de Mesma Origem Política de Mesma Origem ou Same Origin Policy - SOP • Descreve sob quais condições scripts e programas em sites podem acessar o conteúdo em outros sites. • Os detalhes desta política diferem por navegadores e até por versão dos navegadores.
  • 20. Revisão Jargões e Princípios de Segurança STRIDE Superfícies de Ataque e Zonas de Ataque Defesa em Profundidade e Falhar Seguro GET e POST HTTP e Códigos de Status Cabeçalho HTTP Ataques no Cabeçalho de Resposta HTTP Política de Mesma Origem
  • 21. Exercícios A que se refere a letra ‘S’ do acrônimo STRIDE ? A. Divulgação de Informações B. Segurança da Informação C. Forjamento de Identidade D. Recusa de Serviço

Notas do Editor

  1. Page 1
  2. Page 2
  3. Objetivos Reconhecer a tensão entre as exigências do mercado e a segurança. Explicar o jargão de segurança e STRIDE. Descrever questões de segurança HTTP; Explicar o modelo de segurança do navegador.
  4. Especificação 1.1.1 Reconhecer a tensão entre as demandas do mercado e segurança. Discutir as causas do software inseguro: Falta de tempo ou falta de dinheiro O cliente não solicitou Falta de conhecimento Más Intenções Ninguém vai querer invadir o meu software Ver a sessão 1.1.1 do Workbook
  5. 1.2.1 Explicar jargões de segurança. - Segurança é uma proteção contra ataques. - Ataque é uma tentativa de acesso sem autorização. Risco é a probabilidade de perder. Ameaça é um potencial ataque. Mitigar é realizar uma medida para diminuir o impacto de uma ameaça Explorar é realizar algo para tirar proveito com más intenções de alguma falha do sistema Remendo é uma medida para corrigir uma falha do sistema Vulnerabilidade é uma fraqueza que pode ser realmente abusada Fraqueza é uma construção errônea que pode reduzir a segurança. Para fazer um software seguro, precisamos identificar quais ameaças existem e como nos proteger contra estas ameaças. É praticamente impossível criar uma lista completa de todas as ameaças de um sistema. Porém, muitas ameaças são conhecidas e podemos conhecer meios de nos proteger.
  6. 1.2.1 Explicar jargões de segurança. - Segurança é uma proteção contra ataques. - Ataque é uma tentativa de acesso sem autorização. Risco é a probabilidade de perder. Ameaça é um potencial ataque. Mitigar é realizar uma medida para diminuir o impacto de uma ameaça Explorar é realizar algo para tirar proveito com más intenções de alguma falha do sistema Remendo é uma medida para corrigir uma falha do sistema Vulnerabilidade é uma fraqueza que pode ser realmente abusada Fraqueza é uma construção errônea que pode reduzir a segurança. Para fazer um software seguro, precisamos identificar quais ameaças existem e como nos proteger contra estas ameaças. É praticamente impossível criar uma lista completa de todas as ameaças de um sistema. Porém, muitas ameaças são conhecidas e podemos conhecer meios de nos proteger.
  7. 1.2.1 Explicar o STRIDE. Explicação dos Termos S Spoofing ou Forjamento de Identidade Fingir ser outra pessoa ou outra coisa T Tampering ou Adulteração de Dados Modificar os dados armazenados ou dados em trânsito R Repudiation ou Rejeição Negar que você fez ou não fez algo. I Information Disclosure ou Divulgação de Informações Ver informações que você não está permitido a ver. D Denial-of-Service ou Recusa de Serviço Deixar o sistema indisponível. E Elevation of Privilege ou Elevação de Privilégios. Fazer algo sem permissão. Discutir sobre o acrônimo STRIDE. Ver a sessão 1.1.3 do workbook.
  8. Uma das condições para o sucesso das explorações de segurança dos atacantes é o acesso à partes vulneráveis de um sistema. As partes do sistema que o atacante tem acesso é chamado de superfície de ataque. Diferentes usuários má intencionados podem ter acesso a diferentes partes da superfície de ataque. Por exemplo: um auxiliar de limpeza pode ter acesso físico ao servidor enquanto que o hacker pode acessar via internet. Para determinar a superfície de ataque, podemos dividir o sistema entre duas zonas de confiança, em que cada zona representa um degrau de confiança. As zonas confiáveis são onde exitem maior grau de confiança, probabilidade mínima de falhas de acesso do inimigo. Os limites de confiança são os defensores das zonas confiáveis. Existem diversas ferramentas que evitam que sejam realizados ataques nos limites de confiança. O HTTP
  9. O GET é destinado à operações de leitura, são incluídos no caminho da solicitação, há uma limitação de 255 caracteres, apenas texto. O POST irá alterar o estado da aplicação, são incluídos no corpo da solicitação, não há limitação de comprimento de mensagem. O GET E POST são os principais métodos de comunicação HTTP. Também existem outros métodos. As solicitações AJAX funcionam como uma solicitação assíncrona dentro do navegador, usa o XMLHttpRequest para se comunicar com os scripts do lado do servidor. É gerado um código JavaScript que executa neste navegador Os códigos comunicam como o servidor executou a operação. São alguns dos códigos de status do HTTP: 200: ocorreu tudo bem. 404: recurso não foi encontrado. 403: acesso proibido. 302: irá redirecionar o navegador a URL que está no cabeçalho de localização 401: irá exibir uma janela de login para autenticar no servidor web
  10. O GET é destinado à operações de leitura, são incluídos no caminho da solicitação, há uma limitação de 255 caracteres, apenas texto. O POST irá alterar o estado da aplicação, são incluídos no corpo da solicitação, não há limitação de comprimento de mensagem. O GET E POST são os principais métodos de comunicação HTTP. Também existem outros métodos. As solicitações AJAX funcionam como uma solicitação assíncrona dentro do navegador, usa o XMLHttpRequest para se comunicar com os scripts do lado do servidor. É gerado um código JavaScript que executa neste navegador Os códigos comunicam como o servidor executou a operação. São alguns dos códigos de status do HTTP: 200: ocorreu tudo bem. 404: recurso não foi encontrado. 403: acesso proibido. 302: irá redirecionar o navegador a URL que está no cabeçalho de localização 401: irá exibir uma janela de login para autenticar no servidor web
  11. Especificações 1.3.1 Descrever as questões de segurança do HTTP 1.3.2 Explicar o Modelo de Segurança do Browser Discutir as requisições POST e GET com exemplos. Ver o exemplo do Workbook. Discutir o que aconteceria e se as pessoas estão cientes do limite de confiança entre o navegador e o servidor. A política de mesma origem SOP descreve em quais condições os scripts e programas em sites podem acessar conteúdo em outros sites.
  12. Análise do Cabeçalho de Resposta CRLF Ataque de Divisão de Resposta HTTP Política de Mesma Origem
  13. Política de Mesma Origem
  14. Termos de Segurança Segurança Ataque Explorar Mitigar Risco Ameaça STRIDE Forjamento de Identidade Recusa de Serviço Divulgar Informações Adulteração de Dados Superfícies de Ataque Limites de Confiança Zonas Confiáveis GET e POST Características do GET Características do POST HTTP e Códigos de Status Método HTTP Cabeçalho Status 200, 404, 403, 401 e 301
  15. Gabarito – letra C