• Nenhum resultado encontrado

FEUP 2012/ Skype. Algumas notas do funcionamento. Resumo

N/A
N/A
Protected

Academic year: 2021

Share "FEUP 2012/ Skype. Algumas notas do funcionamento. Resumo"

Copied!
12
0
0

Texto

(1)

Skype

Algumas notas do funcionamento….

Resumo

• Topologia da rede • Funcionamento do Skype ➢ Chamadas ➢ Pesquisa de utilizadores ➢ Travessia de NAT/Firewall ➢ Processo de Login/Sessões ➢ Transporte de dados • Ofuscação no Skype – código – rede • Problemas • Vantagens

(2)

Topologia da rede

• Overlay P2P

➢ Skype Login Server ➢ Super-nós

➢ Nós

➔podem ser promovidos a super nós(IP publico + Largura de banda + CPU ...)

• Super-nós agrupados em slots

➢ usualmente 9 a 10 nós por slot

• Slots agrupados por blocos

➢ 8 slots por bloco

Funcionamento do skype

• Startup

➢ (1) Liga-se a um Super Nó

➢ (2) Autentica-se no Skype Login Server

• Sinalização através de TCP

• Transporte de dados usando TCP/UDP

• Host cache (HC)

➢ Endereço IP/Porta dos super nós ➢ Refrescada periodicamente

(3)

Global Index Search

• Cache de pesquisas

➢ Nós

➢ Super Nós ??

• Pesquisa de um utilizador

➢ Cliente efetua query ao Super Nó (SN)

➔SN devolve localização do utilizador + chave pública ➔SN delega SNs onde cliente poderá obter resposta

Chamadas

• Peers com IP públicos

➢ chamada estabelecida diretamente via TCP

• Caso contrário

➢ Super Nó atua como media proxy

Conferência

➢ Super Nó atua como mixer

• Codecs

➢ GIPS wideband codec

➔largura de banda (3kbyte – 16kbyte) ➔suporta frequências entre 50 – 8000 Hz

(4)

Travessia de

NAT/Firewall

• Determina presença de NAT/Firewall na fase de login

• Travessia sobre NAT ??

➢ Simple Traversal of UDP through NATs (STUN) ➢ Traversal Using Relay NAT (TURN)

• Firewall

➢ Caso tráfego UDP bloqueado

➔TCP (HTTP/HTTPS)

Fase de Login – Trusted

data

• Dados embebidos no binário

➢13 Módulos RSA embebidos no binário

➔(2) 4096 bit, (9) 2048 bit, (3) 1536 bit

➢IP/Porta

➔servidor de login ➔super nós

• Segredo pré-partilhado entre servidor de login e cliente

(5)

Fase de Login - Autenticação

Sessões

• Após autenticação

➢chave pública distribuída para os super-nós (assinada pelo Skype Server)

• Inter-comunicação entre clientes Skype

➢Troca de chaves públicas

➢Autenticação assimétrica

➔challenge de 8 byte

(6)

Transporte de dados

• Start of Frame (SoF)

➢ Frame ID (2 byte) ➢ Payload Type (1 byte)

➔dados cifrados (enc), fragmento (frag), ACK/NACK, relay

...

• Operações

➢ comandos + lista de objetos (parâmetros)

Transporte de dados

• Lista de objetos

➢pode ser comprimida

• Objetos

➢ tipo

➔Número, porta, string, chave RSA ...

➢ identificador

(7)

Ofuscação

• Usada para dificultar

➢ análise estática ➢ análise dinâmica

➢ Técnicas

➢ Cifragem do código ➢ Anti-debugging

Code integrity checks, IDT hooking, IAT patching, Anti-SoftIce, mudanças estruturais...

➢ Código polimórfico/metamórfico

dummy code, substituição de instruções, ...

➔ Calculo dinâmico de endereços de “salto” (jmp's e ret's)

Cifragem no Skype

• Binário cifrado ➢ (De)cifragem XOR ➢ Hard coded keys • Unpacker

➢ Decifra secções de código ➢ Reescreve estrutura do binário

Import Address Table ➔ Apaga código já processado

(8)

Anti-debugging

• Single Step/ Breakpoints

INT1 (trace flag), INT3 (opcode 0xCC) • Code integrity checks

detetam modificações do código (checksum) ➢ fáceis de contornar (interceptar valor calculado) • Skype com mais de 300 checksumers

polimórficos ( != operadores, dummy code ...)checksumer aleatório

➢ teste final baseado numa assinatura RSA

Anti-debugging

• Anti-Softice

Detecção do driver

• Medições temporais • Contra-medidas

destrói contexto de execução caso detecte debuggingregistos alterados

(9)

Ofuscação de endereços

• Alteração aleatório do fluxo de execução

induzindo condições falsas (determinadas/indeterminadas)

If (sin(a) == 42) { dummy_code(); } go_on() ...dificulta depuração

Ofuscação da rede

• Ofuscação de padrões de tráfego

tráfego em períodos de inatividade, relaying, pings ... • (De)Cifragem do tráfego

➢ RC4

• Dois modos de ofuscação ➢ UDP

(10)

Skype - UDP

• Cálculo da Chave RC4

➢ CRC de SRC IP, DST IP e Frame ID ➢ Skype obfuscation layer IV

➢ Seed do RC4 gerada pelo Skype (função muito ofuscada)

• IP público do peer ??

➢ Peer NACK

Skype - TCP

• Pacote TCP de inicialização

➢ primeiros 4 byte = seed

➢ 10 byte seguintes = string de inicialização cifrada

(11)

Primitivas criptográficas

• Sessão cifrada com AES-256 em modo ICM

➢ Counter = salt1: salt2: packet_index(48bit):block(16bit) ➢ CRC do buffer cifrado

➢ salt's gerados pelos clientes (64 bit)

• Random()

➢ são usados 64 bit mais significativos da hash ➢ efetua um conjunto de syscall's

➢ SHA1 (bits reunidos das syscalls + salt)

Problemas no Skype

• Relay não autenticado

• Facilita “covert channels” (encapotados)

• Falta de transparência

• Incompatível com monitorização de tráfego

• Confia em qualquer sistema que fale Skype

(12)

Vantagens no Skype

• Travessia de NAT/Firewall

• Qualidade das chamadas

➢ Voz ➢ Privacidade

• Arquitetura de rede

➢ descentralização ➢ escalabilidade ➢ robustez

Referências

Philippe Biondi, Fabrice Desclaux, “Skype Silver Needle”, BlackHat Europe, 2006

Salman A. Baset, Henning Schulzrinne, “An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol”, 2004

Tom Berson, “Skype Security Evaluation”, 2005

Saika Guha, Neil Daswani, Ravi Jain, “An Experimental Study of the Skype Peer-to-Peer VoIP System”, 2006

Referências

Documentos relacionados

Essa caracterização constituiu nas medidas de diâmetro na altura do peito (DAP), altura total, dimensão da copa (em dois sentidos ortogonais), posição sociológica (inferior, média

Observando agora a pseudo-seção de fase do modo TM, observamos que para a porção situada abaixo da bacia não se obteve um bom ajuste quando comparado com os dados originais de fase

O presente estudo visa realizar um levantamento extensivo das espécies de foraminíferos bentônicos vivos que habitam a área da plataforma continental da Bacia de

Guyton e Esbérard (1992) afirmam ainda que os núcleos vestibulares superiores e medial recebam informações provenientes principalmente dos canais semicirculares,

A utilização adequada do produto não implica na necessidade da utilização de equipamentos de proteção individual, no entanto em caso de exposição excessiva

A determinação dos custos da qualidade no caso da produção de mudas permite: avaliar os programas de qualidade por intermédio de quantificações físicas e monetárias; levantar

• Link que você pode copiar e colar para enviar pelo Whats ou e-mail (essa opção também aparece em “Compartilhar convite”).. • Compartilhar convite: mostra alguns recursos

A condução do experimento aconteceu em casa de vegetação, sem sistema de irrigação, no Centro Universitário da Fundação Assis Gurgacz, em Cascavel – PR.