Você está na página 1de 6

Segurana Hoje

Produto: Um produto que protege a confidencialidade, integridade e disponibilidade das


informaes dos clientes
Vulnerabilidade de segurana: Um defeito em um produto que torna impossvel mesmo
com a utilizao adequada do produto - evitar que um invasor usurpe privilegio do usurio.

Corrigir vulnerabilidade de segurana e algo caro. Porque?


Custo de testar a configurao correo
Custo de publicar a correo das verses
Custo de escrever a documentao de suporte
Custo dos desenvolvedores de descobrir o cdigo vulnervel

Dilema Invasor (Hacker) x Defensor (Hacker).


1) O defensor deve defender todos os pontos o invasor pode escolher o ponto mais franco
2) O defensor pode se defender somente de ataques conhecidos, o invasor pode investigar
vulnerabilidade desconhecidas
3) O Defensor deve estar constantemente vigilante, o invasor pode atacar a qualquer
momento
4) O Defensor deve jogar de acordo com as regras o invasor pode jogar sujo
Os desenvolvedores devem construir softwares e solues que estejam em constante
monitoramento, mas os invasores esto sempre em vantagem um software inseguro ser
rapidamente derrotado pelos invasores.

Princpios da segurana de Software.


1)
2)
3)
4)
5)
6)

Aprende com os erros.


Minimize sua rea de ataque.
Utilize a defesa em profundidade
Utilize o menor privilgio
Empregue padres seguros
Lembre-se de que a compatibilidade com verses anteriores lhe dar dores
de cabea.
7) Assuma que sistema externos so inseguros.
8) Planeje-se para falhas
9) Em caso de falha, escape para um modo seguro.
10)No Misture cdigo e dados.
Modelos de ameaas.
1) Os softwares so projetados via Ad Hoc e a segurana frequentemente
uma vtima do caos.
2) Construa modelo de ameaas para seus aplicativos, fazendo uma anlise
baseada em segurana que ajuda as pessoas a determinar os riscos de
segurana em tempo projeto

3) Processo de modelagem das ameaas consiste:


1)
2)
3)
4)
5)
6)

Monte a equipe de modelagem das ameaas.


Decomponha o aplicativo
Determine as ameaas ao sistema.
Escolha como responder s ameaas.
Escolha tcnicas para atenuar as ameaas.
Escolha tecnologia adequadas

Como Responder s ameaas


1)
2)
3)
4)

No Fazer nada
Informar o usurio sobre a ameaa ou problema.
Remover o problema ou ameaa.
Corrigir o problema

Estouro do Buffer
Definio de estouro de buffer?
1) Em segurana computacional ou programao um transbordamento de
dados ou estouro de buffer
2) Buffer uma alocao feita em memria, no momento da criao de uma
varivel ou operao.
3) Uma anomalia onde um programa, ao escrever dados em um buffer,
ultrapassa os limites (tamanho) do buffer (armazenamento) e sobrescreve
a memria adjacente.
4) Esse um caso especial de violao de segurana de memria.
a. Limites do array .
Deve-se checar os limites para se evitar ou prevenir o
transbordamento de dados
b, x(10) = 12345678910 => 11 bytes, todavia a varivel cabe
apenas 10 Bytes.
5) Um buffer uma unidade de armazenamento temporrio em um
computador: uma seo de memria que armazena temporariamente at
que o processador processe e envie os dados para outro local.
6) O estouro de buffer um evento indesejvel que um programa ou
aplicativo gera. Esse evento ocorre quando um software tenta colocar
mais dados no buffer do que ele pode conter. Quando ocorrem os
estouros, o aplicativo pode falhar, os dados podem ser corrompidos e um
vrus pode ser executado.
7) Um estouro de buffer pode ocorrer devido m programao. Os
aplicativos possuem um cdigo fonte programado para utilizar os vrios
componentes de um computador, incluindo o buffer. Um aplicativo seguro
verifica se h excesso em cada caractere e abstm-se de aceitar mais
dados uma vez que o buffer esteja cheio. Se o programa no verifica cada
caractere, ele estar suscetvel a sofrer um estouro de buffer. Os
aplicativos mais antigos, com cdigo fonte desatualizado, so altamente
suscetveis a esta falha.
8) O estouro de Buffer tornou-se um dos mtodos de ataque preferidos para
desenvolvedores de vrus e cavalos de Troia
9) Um hacker ir procurar por aplicativos que possuem buffers no checados.
Aps encontrar um aplicativo disponvel, eles podero escrever um cdigo
que pode causar danos ao computador, alterando dados e removendo

arquivos. Tambm podem ser coletadas informaes pessoais dos


computadores por meio do cdigo malicioso.
10) Aplicar as ltimas correes e definies de vrus para os aplicativos de
segurana vai proteger os usurios contra vulnerabilidades de estouro de
buffer. Verifique frequentemente os sites visitados com um software de
segurana para internet que procure por essas falhas. Os
desenvolvedores de aplicativos independentes devem rever todo o cdigo
que aceita solicitaes via HTTP de outros usurios. Isto garante que o
buffer seja adequadamente checado em todas as entradas relevantes.
Explorao baseada em pilha

Como Funciona?
1) A tcnica de explorao mais simples e comum, funciona alterando o
estado da pilha durante a execuo do programa para direcionar a
execuo para o cdigo malicioso contido no buffer estourado.
2) Um usurio com habilidades tcnicas pode explorar o estouro de buffer em
pilhas para manipular o programa de uma das seguintes maneiras:
a. Sobrescrever uma varivel local que est prxima do buffer na
memria da pilha para mudar o comportamento do programa de
modo a beneficiar o atacante.
b. Sobrescrever o endereo de retorno da pilha. Uma vez que a
funo retorna, a execuo ir continuar no endereo de retorno
especificado pelo atacante, geralmente um buffer preenchido por
entrada do usurio.
c. Sobrescrever um ponteiro de funo, ou tratador de exceo, que
posteriormente executado. (Linguagem C ou C++).

Explorao baseada em heap

Como Funciona?

Bem mais difcil de explorar, por causa da disciplina de acesso heap


(blocos no contguos, fragmentao interna).
Deve-se estourar o buffer armazenado na rea da heap em direo ao
endereo de retorno na pilha, para direcionar a execuo para o cdigo
malicioso que se encontra no buffer estourado
A memria na heap alocada dinamicamente pela aplicao em tempo
de execuo e contem tipicamente dados do programa. A explorao
se d corrompendo-se esses dados de modos especficos para fazer a
aplicao sobrescrever estruturas internas como listas encadeadas e
ponteiros.

Escolha de linguagem de programao.

A escolha da linguagem de programao pode ter um efeito profundo na


ocorrncia de estouros de buffer.

As linguagens mais populares esto C e sua derivativa C++, com uma ampla
gama de softwares sendo escritos nessas linguagens.

C e C++ no proveem proteo embutida contra acesso indevido ou


sobrescrita de qualquer parte da memria.

Uso de bibliotecas seguras

O problema de estouro de buffer comum em C e C++ porque elas expem


detalhes de baixo nvel de implementao dos buffers como contedos e tipos
de dados.

Estouros de buffer devem ser evitados para se manter um alto nvel de


correo no cdigo que executa o gerenciamento de buffer.

Evitando estouro do buffer.

Compreendendo a limitao da ferramenta que voc trabalha.

Protegendo suas variveis internas, criando variveis de armazenamento e


de atribuies.

Teste e validao completo

Controle de acesso.

O que so ACL lista de controle de acesso


o Tem como funo definir os mecanismos de controle de acesso
adequado para proteger os diversos recursos disponveis.

Por que as ACLs

o So a ltima barreira do seu aplicativo contra um possvel ataque, pois


tem evitar que o invasor acesso um recurso do seu aplicativo.
o Uma lista de controle de acesso (ACL), em relao a um sistema de
arquivos do computador, uma lista de permisses anexadas a um
objeto.
o Uma ACL especifica quais usurios ou processos do sistema tm
acesso a objetos, bem como as operaes que so permitidas em
determinados objetos.
o Cada entrada em uma ACL tpico especifica um assunto e uma
operao.
o ACL lida com dois conceitos principais:

Controle de Acesso de Objetos ou ACOs.

Acesso de requisio de objetos ou AROs.

o Essencialmente, ACL o que usado para decidir quando um ARO


quer ter acesso a um ACO.
o ACL geralmente implementado numa estrutura de rvore.
o Existe geralmente uma rvore de AROs e uma rvore de ACOs.
o Para organizar seus objetos em rvores, permisses podem ser
tratadas de forma granulada.
o Crie sua lista de Acesso de Requisio de Objetos (AROs) e Controle
de Acesso a Objetos (ACOs).
o Depois de criar seus ACOs e AROs, finalmente atribuir permisses
entre os dois
grupos e faa uma checagem das permisses ou validao do que foi
concedido.

Você também pode gostar