Anda di halaman 1dari 6

LISTA 1 - AUDITORIA

1) O primeiro passo para um ataque é a obtenção de informações sobre o sistema a


ser atacado.

(a) Cite duas formas de obtenção de informação utilizada por hackers


Engenharia social: usar as fraquezas humanas e sociais para conseguir informações;
Dumpster diving: procurar no lixo informações importantes;
Ataque físico: roubar equipamentos, disco rígidos, pen drives, etc.;
Packet sniffing: captura de informações através do fluxo de pacotes na rede.

(b) Cite ao menos três formas de prevenção que podem ser utilizadas para impedir a
obtenção de informações
Criar senhas fortes, usar antivírus e adotar políticas de segurança, como segurança no
acesso físico, conscientização de usuários e manter seus programas e aplicativos
atualizados.

2) Explica a técnica conhecida como Engenharia Social. Dê exemplos para a


prevenção de ataques relacionados a Engenharia Social.
É uma técnica que explora as fraquezas humanas e sociais que tem como objetivo enganar
e ludibriar pessoas, a fim de conseguir informações.
Exemplos de prevenção: adotar políticas de segurança como conscientização de
funcionários em uma empresa através de um guia de boas práticas, tomar cuidado com o
que se é jogado no lixo pois algo com informações valiosas pode simplesmente ser
descartado.

3) Qual a diferença entre hacker e cracker? Explique porque um script kiddie pode ser
um tipo de atacante muito perigoso.
H​ackers são indivíduos que possuem conhecimentos profundos na informática, e que
diferente dos crackers utilizam tal sabedoria de forma benéfica e de forma ética.
Já crackers também possuem conhecimentos na área de informática, porém os utiliza de
forma maléfica para, por exemplo, roubar bancos ou informações pessoais.
Um script kiddie éá considerado perigoso pela facilidade de se encontrar as ferramentas de
ataque na internet.

4) Cite e explique dois motivos que impulsionaram os estudos na área de segurança


da informação.
A segurança da informação possui influência cada vez maior no sucesso dos sistemas de
informação;
Ataques estão crescendo não somente em frequência mas também em severidade;
5) Descreva o funcionamento do handshake de três vias do protocolo TCP. Explique
como o ataque SYN Flooding usa as etapas do handshake para realizar um ataque de
negação de serviço.
Os três passos do handshake de três vias são:
1. O cliente envia um pacote com a flag SYN ativa;
2. O servidor responde com um pacote com as flags SYN + ACK e já reserva recursos;
3. O cliente responde com um pacote ACK.
No ataque de SYN Flooding, o atacante envia vários pacotes com a flag SYN, o servidor
responde e vai reservando recursos, porém o cliente não responde com o último ACK,
fazendo com que a vítima reserve vários recursos sem necessidade.

6) Quais são as duas formas usadas para causar ataques de negação de serviço?
Forneça exemplos.
Ataques por inundação: c​ onsumo de recursos essenciais para o funcionamento do serviço,
como memória, processamento, espaço em disco e banda passante.
Ataques por vulnerabilidade: ​Exploração de alguma vulnerabilidade existente na vítima.

7) Explique as diferenças entre um ataque de negação de serviço SYN Flooding e um


ataque de negação de serviço Smurf.
No Syn Flooding o atacante envia os pacotes para a vítima para afogá-la com tanta
informação, já no ataque de negação de serviço Smurf o atacante envia os pacotes para o
endereço IP broadcast da rede usando o IP da vítima, dessa maneira todos os hosts que
receberem esses pacotes irão responder para a vítima, ficando desabilitada para executar
suas funções por um determinado período de tempo.

8) Forneça e explique três meios de mitigar ataques de negação de serviço SYN


Flooding e Smurf. Quais desses meios podem ser implementados diretamente na
pilha de protocolos de rede do Sistema Operacional? Justifique.
SYN Flooding - Comparar as taxas de requisições de novas conexões e o número de
conexões em aberto; Aumentar o tamanho da fila de pedidos de conexão; SYN Cookie;
Diminuição do timeout do handshake de três vias;
Smurf - ​Configurar os computadores e roteadores para não responder solicitações IMCP em
broadcast; Configurar roteadores para não encaminhar pacotes direcionados ao endereço
de broadcast.
9) Construa um programa em C que contenha, no mínimo, dois pontos vulneráveis de
buffer overflow. Escreva um outro programa com soluções para ambos os pontos
vulneráveis.

void main()
{
char string1[50], string2[10];

gets(string1);
strcpy (string2,string1);
}
Correção:

void main()
{
char string1[50], string2[10];

fgets(string1);
strlcpy (string2,string1);
}

10) Quais são as possíveis consequências da ocorrência de um estouro de buffer?


O fornecimento de uma entrada aleatória e de tamanho maior que o suportado leva
tipicamente à falha de execução do programa;
Se a execução do programa falhou, ele não pode mais fornecer a função ou serviço para o
qual estava sendo executado;
Alguma forma de ataque de negação de serviço em um sistema.

11) Quais são os dois elementos fundamentais que devem ser identificados para
implementar um buffer overflow?
1- Identificar uma vulnerabilidade de buffer overflow em algum programa, seja
inspecionando o código fonte, monitorando a execução de programas à medida que eles
processam entradas de tamanho excessivo ou usando ferramentas automatizadas de
fuzzing.
2- Entender como esse buffer será armazenado na memória de processos e, portanto, o
potencial para corromper posições de memória adjacentes e alterar o fluxo de execução do
programa.

12) Quais tipos de linguagem de programação são vulneráveis a estouros de


capacidade de buffer?
Linguagens de programação que não efetuam checagem de limite ou alteração dinâmica do
tamanho do buffer.

13) Existem sistemas totalmente seguros? Explique.


Não, pois um sistema que está seguro hoje pode não estar amanhã, pois as ameaças
também estão sempre evoluindo.

14) O que é um servidor Web? Quais são as características de um servidor Web?


Servidor web é um software (ou um hardware dedicado a rodar dito software) cuja função
primária é armazenar, processar e entregar páginas web para clientes.

15) Suponha que você foi contratado para administrar um servidor Web. Cite e
explique medidas que você adotaria para evitar ataques de negação de serviço e de
buffer overflow.
Utilizaria syn cookies, faria controle de strings longos.
16) O que são shellcodes no contexto de ataques buffer overflow? Como os
shellcodes podem ser usados para ganhar acesso a um computador remoto?
Shellcode é um código de máquina que implementa a funcionalidade desejada pelo
atacante.

17) Comente sobre a relação entre a privacidade no mundo digital e o serviço


conhecido como Wikileaks.

18) O que é um SQL Injection? Forneça dois exemplos de SQL Injection e mostre
como eles poderiam ser mitigados.
SQL Injection ​se aproveita de falhas em sistemas que interagem com banco de dados através
de comandos SQL - onde o atacante consegue inserir uma instrução SQL personalizadas e
indevidas dentro de uma consulta através da entradas de dados de uma aplicação, como
formulários ou URL de uma aplicação.

19) Suponha que você é um White Hat contratado para descobrir que tipo de
informação pode ser encontrada no servidor Web da empresa. Mostre os passos e as
ferramentas utilizadas para a obtenção de informação de um sistema computacional.

20) Explique porque as motivações de um ataque de negação de serviço costumam


ser diferentes das motivações de outros tipos de ataque.
Diferente dos outros tipos de ataque, o DOS não visa roubar ou modificar informações da
vítima, apenas deixar o serviço indisponível para usuários legítimos.

21) Seja ta o intervalo de tempo entre cada segmento TCP SYN enviado pelo atacante,
tp o tempo necessário para que a vítima processe um pedido de conexão TCP e envie
uma resposta, e tm o tempo em que um determinado recurso de memória fica alocado
para uma conexão TCP. Explique o que aconteceria com o atacante e a vítima (alvo)
em cada um desses casos:

a) ta < tp < tm;


O atacante teria sucesso pois a vítima processa os pedidos do atacante muito mais devagar
do que ele os manda, além de deixar os recursos alocados por muito mais tempo.

b) tp <= ta < tm;


Mesmo a vítima conseguindo processar todos os pedidos do atacante, o tempo que ele
deixa a memória alocada ainda é maior do que a frequência de pedidos do atacante, iria
demorar mais do que na situação da questão a) mas provavelmente iria acontecer uma
negação de serviço.

c) ta >= tm.
A memória fica alocada por um tempo menor do que a frequência de pedidos do atacante,
então não irá acontecer uma negação de serviço.

22) O que é um ataque de negação de serviço de reflexão? Forneça exemplos de


ataques recentes desse tipo.
No ataque de serviço de reflexão, o atacante envia algum tipo de requisição para algum
outro host que será chamado de refletor, só que com o endereço de origem alterado para
ser o endereço da vítima - assim, o refletor manda uma resposta para a vítima.

23) Como um vírus se propaga? E um worm? Existem outras formas de propagação


de códigos maliciosos (malwares)?
Um vírus ​infecta o sistema, faz cópias de si e tenta se espalhar para outros computadores e
dispositivos de informática e as contaminações ocorrem por ação do usuário, como por
exemplo, baixar um arquivo contaminado da internet ou colocar um pen drive com arquivo
contaminado na máquina.
Já worms se replicam e enviam cópias de um computador para o outro através de conexões de
rede sem necessidade de interação com o usuário.

24) Explique porque a compressão do arquivo executável pode dificultar a detecção


de um vírus
Uma das formas de identificar se um arquivo está infectado por um vírus é checar se ele
está com o tamanho dele está normal, pois se estiver maior pode ser que o código de um
vírus tenha adentrado tal arquivo, logo a compressão iria dificultar isso pois ela diminui o
tamanho de armazenamento normal de um programa.

25) Forneça exemplos de carga útil que um código malicioso pode transportar.
Deixar o PC lento, causar vulnerabilidade para que ele seja acessado por hackers
remotamente, capturar informações como o que é digitado no teclado,

26) Em sua opinião, qual é a principal forma de mitigação de softwares malicioso?


Justifique a sua resposta.
A conscientização de usuários, pois mesmo possuindo os melhores softwares de proteção
se o usuário clicar em qualquer lugar sem nenhum tipo de filtro o computador será
infectado.

27) Considere os seguintes fragmentos de código:

a)

b)
Que tipo de malware são esses? Justifique a sua resposta.
a) Um malware com uma bomba lógica.
b) Backdoor

28) Suponha que você encontrou um cartão USB na sala de aula. Quais ameaças esse
cartão poderia representar ao seu computador? Quais medidas você poderia adotar
para mitigar essas ameaças?
Esse cartão poderia possuir arquivos infectados que colocariam em risco a segurança do
meu computador. Para mitigar essas ameaças, eu teria um antivírus atualizado, para mitigar
a situação, eu destruiria o cartão USB com uma marreta.