Você está na página 1de 3

TRABALHO PARA A APS

Neste trabalho, vocês irão simular uma situação típica de redes, onde ocorre um problema que exige
uma investigação detalhada. Em nosso caso, vocês irão investigar uma transação usando o
protocolo SSL/TLS, com atenção voltada aos SSL records enviados sobre uma conexão TCP. Vocês
farão isso analisando o tráfego de SSL records enviados entre seu computador e um servidor que use
criptografia para o tráfego (HTTPS), explorando os vários tipos de SSL records bem como os
campos nas mensagens SSL.

Capturando pacotes em uma sessão SSL:


O primeiro passo é capturar os pacotes em uma sessão SSL. Para fazer isso, você deverá iniciar o
processo de captura no WireShark, acessar um site que use SSL/TLS (por exemplo, seu site de e-
commerce favorito) e iniciar o processo de acessar o site. Basta carregar o site inicial ou a parte de
login. Vá então para o Wireshark e encerre a captura. Depois de capturar os pacotes com o
Wireshark, salve a captura. Assim, você poderá continuar a análise em um momento posterior. Você
deverá configurar o filtro para que sejam demonstrados somente os quadros Ethernet que contêm
SSL/TLS records enviados a partir de e para o seu computador. (Um SSL record é a mesma coisa
que uma mensagem SSL/TLS). Você deverá obter algo semelhante a tela abaixo:
Antes de responder às questões, você deve indicar qual site você usou para fazer a exercício
proposto, o endereço IP de sua estação, o endereço IP do site, em que momento você iniciou a
captura e em que momento você encerrou a mesma. O exercício é individual, e o prazo de entrega é
até a última semana antes das avaliações acadêmicas (mas quem entregar antes, agradeço
penhoradamente). A entrega será pelo Google Classroom e junto com a parte escrita, deverá ser
enviado o arquivo com as capturas de pacotes feitas para o trabalho, para fins de verificação.

Visualizando o tráfego capturado:


A tela principal do seu Wireshark deverá mostrar somente os quadros Ethernet que contenham SSL
records. É importante ter em mente que um quadro Ethernet pode conter um ou mais SSL records.
(Isto é muito diferente do HTTP, para o qual cada quadro contém uma mensagem HTTP completa
ou uma parte de uma mensagem HTTP). Note também, que um SSL record pode não
completamente caber em um quadro Ethernet, e neste caso múltiplos quadros serão necessários para
“carregar/transportar” o record. Responda as questões a seguir:

1. Para cada um dos 8 primeiros quadros Ethernet, especifique a origem do quadro (cliente ou
servidor), determine o número dos SSL records que estão inclusos no quadro, e liste os tipos dos
SSL records que estão incluídos no quadro. Desenhe um diagrama para a conexão entre o cliente e o
servidor, com uma linha para cada SSL record trafegado.
2. Cada SSL record começa com os mesmos três campos (com valores possivelmente diferentes).
Um destes campos é “content type” e tem tamanho de um byte. Liste todos os três campos e seus
tamanhos.

ClientHello Record:
3. Expanda o ClientHello record. (Se o seu tráfego contém múltiplos ClientHello records, expanda o
quadro que contenha o primeiro ClientHello record). Qual é o valor do content type?
4. O ClientHello record contém um “nonce” (também conhecido como “challenge” – desafio)? Em
caso positivo, qual é o valor do “challenge” em notação hexadecimal?
5. O ClientHello record alerta sobre as “cipher suites” que ele suporta? Em caso positivo, na
primeira suite, qual é o algoritmo de chave pública, o algoritmo de chaves simétricas, e o algoritmo
de Hash?

ServerHello Record:
6. Localize o ServerHello SSL record. Este record especifica a cipher suite escolhida? Quais são os
algoritmos da cipher suite escolhida?
7. Este record contém um nonce? Em caso positivo, qual o tamanho dele? Qual é o propósito de
nonces enviados pelo cliente e servidor em uma conexão SSL?
8. Este record contém uma session ID? Qual o propósito de uma session ID?
9. Este record contém um certificado, ou o certificado é incluído em um record separado? O
certificado cabe dentro de um único quadro Ethernet?

Client Key Exchange Record:


10. Localize o “client key exchange record”. Este record contém um “pre-master secret”? Para o
que este secret é usado? O secret é criptografado? Em caso positivo, como? Qual o tamanho do
secret criptografado?

Change Cipher Spec Record (enviada pelo cliente) and Encrypted Handshake Record:
11. Qual o propósito do “Change Cipher Spec record”? Quantos bytes tem este record no tráfego
capturado pelo seu computador?
12. No handshake record criptografado, o que está sendo criptografado? Como?
13. O servidor também envia uma “change cipher record” e um handshake record criptografado
para o cliente? Quais são as diferenças destes records comparados àqueles enviados pelo cliente?

Application Data:
14. Como os dados da aplicação estão sendo criptografados? Um MAC está incluído nos records
que contêm dados da aplicação? O Wireshark consegue diferenciar os dados da aplicação
criptografados e o MAC?
15. Comente e explique alguma coisa a mais que chamou sua atenção neste tráfego capturado.

Você também pode gostar