Ferramentas para Desenvolvedores
WandelGoltermann MA10
- O MA10 é um cartão full-length ISA para PC’s. Ele contem mútliplos transceptores E1 e possui as seguintes conexões externas:
1)Handset (socket RJ-11)
2)RX0 (120 Ohms e 75 Ohms)
3)RX1 (120 Ohms e 75 Ohms)
4)TX1 (120 Ohms e 75 Ohms
Cabeamento
- Como usaremos a BS11 em configuração simétrica de 120 Ohms, também usaremos as portas simétricas 120 Ohms do MA10
Software MA10
- São vários os pacotes de softwares disponíveis para o MA10:
1)Controle MA10
2)BERT
3)Monitorador Abis: O monitorador Abis permite o monitoramento do enlace Abis. Pode-se conectar duas portas RX ao enlace E1 e, logo, pode-se “pressentir” a comunicação bidirecional entre a BTS e a BSC
4)Simulador Abis: É um simulador completo para o lado da BSC do enlace Abis. Usando o simulador Abis e a BTS, pode-se emular a rede GSM. Nesse modo, o MA10 assume um papel ativo e, logo, precisa-se conectar o RX0 e o TX0 com a BTS.
Restrições
- Saídas/entradas de áudio com headset não são suportadas por qualquer um dos AbisSim. Apenas loop de eco é suportado em canais de tráfego. Isso significa que usar um telefone móvel conectado à BTS contriolada pelo MA10 pode apenas devolver o áudio de entrada do dispositivo móvel.
Tektronix K1103
- O testador de protocolos Tester K1103 foi desenvolvido para supervisão e análise de rede de protocolos CCS, GSM, CDMA, canais-d ISDN, X.25 e V5.x. Um máximo de quatro diferentes enlaces PCM (T1/S2M) ou V./x com um máximo de oito enlaces de sinalização (64Kbits/s, 56 Kbits/s, 16 Kbits/s) podem ser supervisionados simultaeamente.Infelizmente o manual de serviço não é público, logo, não pode-se divulgá-lo. Abaixo segue o Datasheet do Protocolo Tester K1103:
http://www2.tek.com/cmswpt/psdetails.lotr?ct=PS&lc=EN&ci=14411&cs=psu
Interface da Pinagem E1
- Monitor A:
Pin Purpose 9 RX+B 5 RX-B 6 RX+A 1 RX-A 2,3,4 GND
A = E-1-Linecard -> BTS B = BTS -> E-1-Linecard
Monitor C:
Pin Purpose 9 RX+D 5 RX-D 6 RX+C 1 RX-C 2,3,4 GND
2.3- Socket de telephone Telephone socket:
Pin Purpose 1 mic input (-) 2 hearer output (+) 3 hearer output (-) 4 mic input (+)
Packet Dump
PCAP e análise de protocolos
- PCAP é um formato de dados para pacotes capturados de protocolos de comunicação. Ele é usado por uma biblioteca chamada libpcac, que por sua vez é usada por vários projetos de analisadores de protocolos de rede como o tcpdump e wireshark. Em redes Ethernet/Internet, é possível capturar pacotes da sua placa de rede usando sockets RAW e métodos simples. Em protocolos GSM, como o A-bis, o método não é tão simples, pois eles não são tradicionalmente transportados pelo protocolo IP.
Registrando e observando uma comunicação A-bis
Registrando
- Método 1- opção osmo-nitb PCAP (obsoleta): O aplicativo osmo-nitb dentro do openbsc provê uma opção de linha de comando para criar automaticamente um arquivo PCAP. O lixo resultante é apenas um subconjunto do que é realmente transmitido sobre meio. Atualmente, apenas mensagens LAPD (Lind Access Protocol D-Channel) são logadas, o cabeçalho LPAD é omitido e apenas a informação TEI e SAPI são inválidas. Isso se deve ao fato do mISDN não prover o cabeçalho/quadro LAPD e o encapsulamento usado para wiretap/pcap. No futuro, pode haver um encapsulamento dedicado para o tráfego completo mISDN.
Para escrever o lixo do protocolo, simplesmente chama-se o osmo-nitb: ./ osmo-nitb –p networking.pcap Método 2: Usando misdn_log Esse é o método preferido caso esteja-se usando um driver de entrada entrada mISDN para OpenBSC com a BTS BS-11. Para capturar-se pacotes A-bis e salvá-los em um arquivo pcap, usa-se a ferramenta misdn_log (parte integrante do mISDNuser) da seguinte maneira: Misdn_log –c0 –w networking.pcap Método 3: Usando tcpdump Caso esteja-se usando uma BTS baseada em A-bis sobre IP, tal como a nanoBTS, pode-se usar uma ferramenta comum como o tcpdump ou wireshark para criar um arquivo tcap da seguinte maneira: Tcpdump –ni eth0 –s 0 –w networking.pcap
Observando
- O Wireshark já permite observação para vários protocolos usados (LAPD, RSL, GSM-A, GSM-SMS ...). O obervador para o protocolo LAPD necessita de algumas pequenas configurações. VSegue-se os passos: Edit -> Preferences -> Protocols -> LAPD e marca-se a caixa dizendo “Use GSM Sapi Values”. Logo após, o wireshark será capaz de mostrar muito do protocolo A-bis. Existem alguns erros no analisador de protocolo, algumas funções não disponíveis e a observação de OML está completamente ausente.
Alem disso, apenas as versões mais recentes do wireshark contém um observador para ip.access e A-bis over IP protocol. Recomenda-se atualizar a versão utilizada do wireshark para a mais recente.
MagicSIM
- Caso deseje-se usar o OpenBSC com autenticação criptografada, o número Ki, que é sigiloso, do SIM precisa ser conhecido. Extrair o número Ki de um cartão SIM comum não é possível, por meios legítimos. Contudo, é necessária alguma solução alternativa: Um cartão SIM com um algoritmo A3/A8 conhecido, onde possa-se programar o número Ki.
Magic SIM/ Super SIM 16-em-1
- Várias lojas em todo o mundo, aparentemente, tem vendido cartões de qualidade inferior chamados de 16-em-1. Eles são feitos para possibilitar o processo de clonagem baseado em COMP128v1, e permitir que o usuário agregue 16 identidades de cartões SIM em apenas um cartão. Eles incluem um aplicativo SIM Toolkit (STK) para realizar a troca das identidades ativas da interface de usuário do telefone.
Infelizmente, esses cartões vem sem nenhuma documentação, apenas com uma ferramenta baseada em Windows para programação. Por meio de engenharia reversa, pode-se obter algumas informações sobre como programar os cartões SIM 16-em-1. Abaixo seguem informações sobre como proceder com a programação neles. Observação: As informações seguintes partem do princípio que o leitor está familiarizado com cartões smart ISSO 7816-4, bem como a especificação GSM 11.11. Os rastros foram gerados utilizando http://svn.ploetzli.ch/cyberflex-shell/. Contudo, qualquer ferramenta que permita envio e recepção de APDUs irá funcionar.
DF.ADMIN
- DF.ADMIN é um diretório dedicado com o ID de arquivo 7f 4d. Ele contem EF’s com o IMSI, Ki e outros valores modificáveis do usuário.
Pode-se trocar para DF.ADMIN usando a sequência a0 a4 00 00 02 7f 4d.
(GSM, ISO 7816-4) > a0 a4 00 00 02 7f 4d 0000: 00 00 60 33 7f 4d 02 00 00 00 00 00 0a 91 08 18 ..`3.M.......... 0010: 06 00 83 8a 83 8a 00 ....... Normal execution (SW 9000)
Nome de operador EF.OPN
- EF.OPN é um arquivo orientado à gravação com o ID de arquivo 8f 0c e uma gravação de extensão de 0x12.
Gravações (Records) são enumeradas 0x02...0x11, sendo um para cada 16 identidades que podem ser armazenadas no cartão SIM. Pode-se selecionar e ler as gravações nesse arquivo usando o seguinte exemplo de sequencia APDU: (GSM, ISO 7816-4) > a0 a4 00 00 02 8f 0c 0000: 00 00 01 44 8f 0c 04 00 00 f0 44 01 02 01 12 ...D......D.... Normal execution (SW 9000)
(GSM, ISO 7816-4) > a0 b2 02 04 12 0000: 4f 70 65 72 61 74 6f 72 31 ff ff ff ff ff ff ff Operator1....... 0010: 09 01 .. Normal execution (SW 9000) Nesse exemplo, a gravação 0x02 (a primeira gravação) é chamada de “Operator 1”.
EF 8f 0d: Ki, IMSI, ICCID
- Este EF contem o Ki (chave A3/A8), o IMSI (International Mobile Subscriber Identity) e o ICCID (número serial do cartão). É um arquivo orientado à gravação com uma extensão de gravação de 0x4a bytes. Há uma gravação para cada identidade que o cartão suporte. Elas são enumeradas de 0x01 até 0x10.
A seguinte sequencia lê o conteúdo desse EF: (GSM, ISO 7816-4) > a0 a4 00 00 02 8f 0d 0000: 00 00 04 a0 8f 0d 04 00 00 f0 44 01 02 01 4a ..........D...J Normal execution (SW 9000)
(GSM, ISO 7816-4) > a0 b2 01 04 4a 0000: 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 """""""""""""""" 0010: 3f 00 2f e2 0a 44 44 44 44 44 44 44 44 44 44 7f ?./..DDDDDDDDDD. 0020: 20 6f 07 09 11 11 11 11 11 11 11 11 11 6f 30 18 o...........o0. 0030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 0040: ff ff ff ff ff ff ff ff ff ff .......... Normal execution (SW 9000) Neste Exemplo, os seguintes números foram adicionados apenas para propósito de ilustração:
1)22 = Ki, para ser usado para RUN GSM ALGORITHM (COMP128v1)
2)44 = ICCID, exportado pelo EF.ICCID
3)11 = IMSI, exportado pelo EF.IMSI
4)Ff = seletor PLMN, exportado pelo EF.PLMNsel
Como pode ser visto, cada um dos conteúdos dos arquivos (exceto o Ki) é prefixado com o nome do arquivo + caminho e extensão: DF DF EF EF LEN File content 3f 00 2f e2 0a 44 44 44 44 44 44 44 44 44 44 7f 20 6f 07 09 11 11 11 11 11 11 11 11 11 6f 30 18 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff É provável que seja possível gerar arquivos + conteúdos arbitrários, desde que o formato esteja correto.
Parametros SMS EF 8f 0e
- O conteúdo das gravações em EF 8f 0e é usado para gerar o EF.SMSP (Short Message Service PArameters). É um arquivo baseado em gravação com uma extensão de gravação de 32 bytes. Gravações são enumeradas de 0x01 até 0x10
Ler o arquivo se dá da seguinte maneira: (GSM, ISO 7816-4) > a0 a4 00 00 02 8f 0e 0000: 00 00 03 20 8f 0e 04 00 00 f0 44 01 02 01 32 ... ......D...2 Normal execution (SW 9000) (GSM, ISO 7816-4) > a0 b2 01 04 32 0000: 3f 00 7f 10 6f 42 01 28 ff ff ff ff ff ff ff ff ?...oB.(........ 0010: ff ff ff ff fd ff ff ff ff ff ff ff ff ff ff ff ................ 0020: ff 08 91 33 33 33 33 33 33 33 33 33 33 ff ff ff ...3333333333... 0030: ff ff .. Normal execution (SW 9000) O conteúdo é similar ao arquvio anterior, mas “mirado” em EF’s baseados em gravação:
1)3f 00 é o MF
2)7f 10 é o DF.telecom
3)6f 42 é o EF.SMSP
4)01 é o número de gravação
5)28 é a extensão da gravação
O leitor USB incluso
- Os cartões 16-em-1 incluem um pequeno leitor de chave USB SIM em um case plástico transparente. Esse leitor permite um design Phoenix, no qual um cristal de 3.759 Mhz é usado juntamente a dois inversores de um 74HC08, enquanto dois outros inversores e um transistor são usados para conectar a linha de dados a uma porta RS232. O esquema é muito similar ao a baixo:
O leitor incluso ao Sim card 16-em-1 tambem acomoda um conversor Prolific Pl-2303 USB to RS232. Ele irá aparecer como uma porta serial regular em qualquer sistema operacional. Há uma pequena chave do lado da chave, que seleciona entre duas freqüências de cristais:
1)3.759 Mhz, levando a uma baudrate de 9600 quando o interruptor está afastado do pulg USB (o interruptor deve estar mais próximo do SIM do que do plug USB)
2)7.2 Mhz, levando a uma baudrate de 19200 quando o interruptor está mais próximo do plug USB.
Para uma melhor compatibilidade com softwares existentes e cartões SIM lentos, selecionar a primeira opção. Pode-se usar duas ferramentas open source para usar o leitor
