Escolar Documentos
Profissional Documentos
Cultura Documentos
Analise de Software
http://www.firewalls.com.br
O que é a Firewalls?
http://www.firewalls.com.br
Objetivos da Apresentaçao
http://www.firewalls.com.br
Conceitos de Segurança
CIDAL =
C onfidencialidade
I ntegridade
D isponibilidade
A utenticidade
L egalidade
http://www.firewalls.com.br
Ambiente Existente
Trabalhamos em um mundo real de sistemas mal
configurados:
* Bugs de Software
* Empregados Insatisfeitos
* Administradores de Sistemas Sobrecarregados
* Acomodação de necessidades empresariais
* Falta de educação em segurança
* B2B,B2C,B2E,C2C,X2X?
* Tempo disponivel para desenvolvimento
* Linguagens de 3 e 4 geraçoes
http://www.firewalls.com.br
Defense In-Depth
http://www.firewalls.com.br
Mundo IDEAL
Necessidades explícitas
ou implícitas
Requisitos
Gerenciais
Especificação dos
Definição dos Requisitos de Qualidade
requisitos de
qualidade
Produtos/Prod.
Desenvolvimento intermediários
de software
Valor medido
Medição
Nível de
Pontuação pontuação
Julgamento
Resultado
(aceitável ou inaceitável)
http://www.firewalls.com.br
"O" desenvolvedor
http://www.firewalls.com.br
Norma ISO 15.408 (CC)
http://www.firewalls.com.br
Norma ISO 15.408 (CC)
http://www.firewalls.com.br
Intrisicamente Seguras
http://www.firewalls.com.br
Hook de Funcoes
http://www.firewalls.com.br
Verificar retorno de erros
http://www.firewalls.com.br
Norma ISO 15.408 (CC)
● Niveis de garantia
– EAL1 – Testado Funcionalmente
http://www.firewalls.com.br
Recursos In-depth
http://www.firewalls.com.br
Falhas de Software
- Stack Overflow
- Heap Overflow
- Race Condition
- Format String
- Off-by-one
- Off-by-few
- Integer Overflow
- Double-free
http://www.firewalls.com.br
Stack Overflow
- Falha muito comum (provavelmente a mais comum entre todas e a
mais facil de ser explorada)
http://www.firewalls.com.br
Stack Overflow
http://www.firewalls.com.br
Heap Overflow
http://www.firewalls.com.br
Heap Overflow
#define BUFSIZE 16
}
http://www.firewalls.com.br
Integer Overflow
http://www.firewalls.com.br
Integer Overflow
http://www.firewalls.com.br
Race Condition
http://www.firewalls.com.br
Race Condition
http://www.firewalls.com.br
Format String
- Consiste em se explorar condiçoes em que uma funçao
tem o objetivo de ser utilizada para diversas
finalidades, recebendo nao apenas parametros
(variaveis/ponteiros) como tambem o formato como
estes devem ser impressos (se serao strings, hexa,
inteiros, etc).
http://www.firewalls.com.br
Format String
http://www.firewalls.com.br
Off-by-one
http://www.firewalls.com.br
Off-by-one
char matriz[10];
http://www.firewalls.com.br
Off-by-few
http://www.firewalls.com.br
Off-by-few
./alloc 4
./alloc 8
./alloc 12
./alloc 13
http://www.firewalls.com.br
Double-free
http://www.firewalls.com.br
Double-free
“
void free(void *ptr);
free() frees the memory space pointed to by ptr, which must have
been returned by a previous call to malloc(), calloc() or
realloc(). Otherwise, or if free(ptr) has already been called
before, undefined behaviour occurs.”
Exemplo: ./double
http://www.firewalls.com.br
Directory Traversal
http://www.firewalls.com.br
Directory Traversal
Exemplo ./directory
Arquivo 1: mostrar.txt
Arquivo 2: ../etc/shadow
http://www.firewalls.com.br
Dificuldades
http://www.firewalls.com.br
LEMBRETE
- INDEPENDE DO USUARIO
http://www.firewalls.com.br
Referências
● SCMorphism
http://www.bsdaemon.org
● SANS
http://www.sans.org
● Security Focus
http://www.securityfocus.com
● NFR Security
http://www.nfr.com
● ISS
http://www.iss.net
http://www.firewalls.com.br
Agradecimentos
- Comunicação
http://www.firewalls.com.br
FIM! Será mesmo?
DÚVIDAS ?
http://www.firewalls.com.br