`
Unstructured Supplementary
Service Data (USSD)
Aula 5: Vulnerabilidades
Porto Alegre, outubro de 2013
Data Communication Grouphttp://networks.inf.ufrgs.br/dcg/
Agenda
① Vulnerabilidades GSM
② Demonstração – SDR & AirProbe
③ Vulnerabilidades USSD
④ Escalabilidade e Desempenho
2Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Problemas com a segurança GSM
3Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Provê segurança somente na autenticação Tráfego de dados muitas vezes não é protegido Segurança depende da rede utilizada
Usuário não consegue visualizar se seu próprio tráfego está criptografado ou não
Não oferece proteção contra ataques a elementos da rede (ex: BS)
Difícil atualizar mecanismos de criptografia
ClienteAtacant
eServiço
Requisita senha do usuário
Tipos de Ataques em redes GSM
4Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Replay Consiste em interceptar mensagens válidas e reenviá-las no
futuro, podendo ser utilizado para roubo de informações ou ataques de negação de serviço
Provê a senha
Captura e armazena a senha
Requisita loginRequisita login
Requisita senha do usuário
Provê a senha do Cliente
Roubo de informações
ClienteAtacant
eServiço
Tipos de Ataques em redes GSM
5Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Replay Consiste em interceptar mensagens válidas e reenviá-las no
futuro, podendo ser utilizado para roubo de informações ou ataques de negação de serviço
Replay
Captura da requisição
Requisição
Resposta
Replay
Replay
Replay
Replay
Ataque de negação de serviço
Tipos de Ataques em redes GSM
6Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Replay Mensagens são protegidas somente pelo A5 Em alguns países, é comum o uso de A5/0 e A5/2 Atacante com um USRP e um software de varredura
pode capturar as mensagens trafegando em ambas as direções
Mais perigoso para serviços sem controle de sessão, como SMS
USSD é mais resistente ao uso de replay, devido ao uso de identificador de sessão
Ataques a redes GSM
7Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Spoofing Personificação de um usuário (MS) ou um equipamento
(BS) para envio de mensagens falsas Pode ser realizado através de clonagem de SIM
Usuário ASIM
Clonado
USSDServer
USSDGateway
AutenticaçãoUsuário B
RequisiçãoUsuário B
Ataques a redes GSM
8Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Spoofing É potencialmente perigoso em sistemas que não
possuem um protocolo de autenticação robusto acima do GSM
Aplicações USSD são vulneráveis caso escolham não prover uma autenticação utilizando uma API de criptografia do Sim Application ToolKit (STK)
Sim Application ToolKit (STK)
9Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
O STK é um padrão de GSM Conjunto de comandos
programados dentro do SIM Provê funções de criptografia Habilita o SIM a iniciar ações que
irão ser utilizadas por serviços de valor agregado (todos os serviços de uma rede GSM diferentes de chamadas de voz e fax)
Ataques a redes GSM
10Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Man-in-the-middle Potencialmente o ataque mais perigoso Tornou-se mais fácil com o surgimento do
OpenBTS e do USRP Pode-se configurar um transmissor com alta
potência em áreas de baixa cobertura, forçando os demais MS a acreditar que é uma BS genuína
BS define o nível de criptografia suportado na comunicação É possível configurar o uso de A5/0 (sem
criptografia)
Ataques a redes GSM
11Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Man-in-the-middle Exemplo
Ataques adicionais
12Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Espionagem Um intruso pode espionar o tráfego e as conexões
associadas a outros usuários. O equipamento necessário é um dispositivo MS modificado
Personificação de um usuário Intruso envia dados para a rede fingindo ser algum
usuário. Necessita um dispositivo MS modificado
Personificação de uma rede Intruso envia dados para um usuário fingindo ser uma
rede GSM. Equipamento necessário é uma BS modificada
Ataques adicionais
13Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Caching de Identidade Passando-se por uma BS modificada, o atacante engana o
usuário fazendo com que ele envie sua identificação de usuário
Supressão de criptografia entre usuário e falsa BS Passando-se por uma BS modificada, o atacante envia um
comando desativando o uso de criptografia na comunicação
Supressão de criptografia entre usuário e rede GSM Interferindo na comunicação entre um MS e uma BS
legítima, o atacante engana a BS e faz parecer que a criptografia entre ambos é incompatível
Agenda
① Vulnerabilidades GSM
② Demonstração – SDR & AirProbe
③ Vulnerabilidades USSD
④ Escalabilidade e Desempenho
14Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
O que é SDR ?
15
MixerAmplificad
or de IF
Demodulador
Amplificador de Áudio
Amplificador
Hardware
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
O que é SDR ?
16
MixerAmplificad
or de IF
Demodulador
Amplificador de Áudio
Amplificador
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
O que é SDR ?
17
Conversor A/DConversor D/A
Correção de Erros
Modulação
Operadores
Filtros
Software
EqualizadoresDemodulação
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
O que é SDR ?
18
Conversor A/DConversor D/A
Software
Correção de Erros
Modulação
Operadores
Filtros
EqualizadoresDemodulação
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
O que é SDR ?
19
Correção de Erros
Modulação
Operadores
Filtros
Equalizadores
Demodulação
Front End de Rádio
Software
Conversor A/DConversor D/A
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
GNU Radio?
É um SDR
Gratuito e Open Source
Muito utilizado na academia Disciplina de Comunicação de Dados Pesquisa
Integrado com o USRP
20Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
GNU Radio + USRP
Front End de RF (USRP)
Interface Gigabit Ethernet
Blocos de Processamento de Sinais em C++
21Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
USRP N210
22
Universal Software Radio
Peripheral (USRP)
Permite que computadores de propósito
geral sejam utilizados como plataformas
de hardware para SDR
Placa-mãe possui uma FPGA
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
USRP N210
23
Características
Conversores A/D de 14 bits e D/A de 16 bits
Amostragens de até 25 MHz
Suporte a MIMO
Compatibilidade para sincronismo via
osciladores externos
Pode ser utilizado em qualquer rede de
Rádio CognitivoUnstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
USRP N210
Funcionamento
24
Placa Filha de
Transmissão
A/DD/A
FPGA
A/DD/A
Placa Filha de
Transmissão
Placa Filha de
Recepção
A/DD/A
A/DD/A
Placa Filha de
Recepção
Giga Ethernet
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
USRP N210
Placas Filhas
25
Basic TX1 – 250MHz
Basic RX1 – 250MHz
RX/TX 900750 – 1050 MHz
RX/TX 24002.3 – 2.9 GHz
RX/TX 18001.5 – 2.1 GHz
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
USRP N210
Antenas
26
400 MHz – 1 GHz5-6 dBi
850 MHz – 6.5 GHz5-6 dBi
Tri-band144 MHz, 400 MHz e 1200 MHz
Omni
Quad-band824 – 960 MHz e 1710 – 1990 MHz
Omni - 3dBi
Dual Band2.4 - 2.48 GHz e 4.9 - 5.9 GHz
Omni – 3 dBi
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
USRP N210
Nosso periféricos
27
Cabo MIMO
RX/TX 50 MHz - 2.2 GHz
RX/TX 400 MHz – 4400 MHz
Loop Backcable kit
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
USRP N210
Interfaces de comunicação
Interface Giga Ethernet para
comunicação com o PC
Porta de expansão para operação MIMO
28
MIMO Giga Ethernet
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
Airprobe
Ferramenta para manipulação de sinais
GSM
Utiliza o GNU Radio como back-end
Pode ser utilizado com diferentes front-
ends de rádio
29Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Airprobe
É possível visualizar os pacotes
trocados entre celular e estação base
pelo canal de controle
Escutar as chamadas é complexo, mas
difícil
Tutorial em: https://srlabs.de/airprobe-how-to/
30Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Airprobe
31Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Guia de instalação em: http://www.rtl-sdr.com/rtl-sdr-tutorial-analyzing-gsm-with-airprobe-and-
wireshark/
Airprobe é um conjunto de
ferramentas:
gsm_receive_usrp.py : Recepção e
decodificação dos sinais
gsm_decode.py: Apenas decodifica um
fluxo de bits
Airprobe
32Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Sintonizar no canal certo é importante
Canal depende do ARFC da antena:
Para GSM 1800MHz ( 511< ARFCN < 886):
Uplink: 1710.2+0,2(ARFCN-512) MHz
Downlink: 1710.2+0,2(ARFCN-512)+95 MHz
Vamor criar nossa rede com ARFN = 869
Uplink: 1781.6 MHz e Downlink: 1876.6
Airprobe
33Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
SHOW TIME!
Agenda
① Vulnerabilidades GSM
② Demonstração – SDR & AirProbe
③ Vulnerabilidades USSD
④ Escalabilidade e Desempenho
34Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Vulnerabilidades em Gateways Públicos
35Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Acesso físico pode ser facilmente obtido por funcionários da operadora, equipe de manutenção, etc.
Através de acesso físico ao Gateway é possível: Interceptar mensagens USSD Realizar ataques de personificação contra
usuários
Operadora não pode garantir a confidencialidade da informação que trafega no Gateway
Vulnerabilidades em USSD
36Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
A segurança para uso de USSD depende da segurança oferecida pela operadora celular
Troca de mensagens USSD estão sujeitas aos mesmos ataques que o GSM Spoofing Man-in-the-Middle Captura de tráfego utilizando USRP
Vulnerabilidades em USSD
37Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Segurança adicional deve ser provida no Gateway e no servidor de aplicação
Uso de Gateway dedicado Localizado em ambiente seguro, com acesso
físico controlado Sem compartilhamento com aplicações
desconhecidas
Mecanismos de autenticação no nível de aplicação Através de informações como data de
nascimento, CPF, etc.
Ataques USSD a usuários
38Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Smartphones Android possuem uma falha na diferenciação entre um número de discagem e um código USSD Permite que códigos USSD sejam executados,
mesmo que de forma indesejada
Afeta maioria dos dispositivos Google Nexus, HTC One, HTC Sensation,
Samsung Galaxy, Motorola Driod, Sony Ericsson
Ataques USSD a usuários
39Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Códigos USSD indesejados podem ser executados a partir de: Websites malicioso QR Code
Códigos que podem ser utilizados para ataques: Mudar o PIN Code:
**05*1234545*1234*1234# Reset para configurações de fábrica:
*#7780#
Impacto de Ataques via USSD
40Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Usuários Perda de dados Dispositivo desconectado da rede até
adquirir um novo SIM Perda financeira adquirindo um novo SIM
Operadoras Perda no serviço Custo de atualizações
Agenda
① Vulnerabilidades GSM
② Demonstração – SDR & AirProbe
③ Vulnerabilidades USSD
④ Escalabilidade e Desempenho
41Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Desempenho do USSD
Estudo de caso de uma aplicação de Unified Mail
Service (UMS) sobre USSD. Artigo: Performance
Evaluation of GSM Signaling Protocols on
USSD
e.g., e-mail, voice mails e fax
Simulação do desempenho dos protocolos de
sinalização GSM
Tempo de setup de conexão
Tempos de resposta no uso do serviço
Análise de carga da rede42
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
Desempenho do USSD
Tempo de setup de conexão (Iniciado pelo MS)
43Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Desempenho do USSD
Tempos de resposta no uso do serviço (cenário)
Tempo de processamento do lado do serviço fixado em
200 milissegundos, assumindo delay apenas da rede
A rede envia 3 respostas de 90 bytes ao usuário
O usuário demora em torno de 10 segundos para
responder
Cada requisição enviada para a aplicação possui
apenas 1 byte (requisição mínima para não afetar o
delay total)
44Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Desempenho do USSD
Tempos de resposta no uso do serviço
45Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Primeira resposta (inclui tempo de setup)
Desempenho do USSD
Tempos de resposta no uso do serviço
46Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Respostas com o diálogo já estabelecido
Desempenho do USSD
Tempos de resposta no uso do serviço
47Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Tempo total de uso da aplicação UMS
Desempenho do USSD
Análise de carga da rede (cenário)
Uma operadora GSM alemã em 1997 em um
horário de pico possui a seguinte carga
48Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
No. of subscribers (MS) 3,000,000
No. of MSCs 30
No. of BSCs per MSC 2
No. of BTSs per BSC 120
Average no. of calls per MS and hour 0.8
Average no. of MO calls per MS and hour 0.47
Average no. of intra MSC calls per MS and hour 0.05
Average no. of MT calls per MS and hour 0.23
Average no. of location updates and registrations per MS and hour 0.63
Average no. of de-registrations and periodic registrations per MS and hour
0.38
Fraction of active MS during a busy hour 40 %
Desempenho do USSD
Análise de carga da rede
49Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Probabilidade de os canais de voz estarem ocupados
Desempenho do USSD
Análise de carga da rede
50Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Probabilidade de os canais de controle (SDCCH) estarem ocupados
Desempenho do USSD
Análise de carga da rede
51Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Probabilidade de rejeição de uma chamada USSD
`
Obrigado!Perguntas?
Cristiano Bonato [email protected]
Unstructured SupplementaryService Data (USSD)
Porto Alegre, outubro de 2013
http://networks.inf.ufrgs.br/dcg