Escolar Documentos
Profissional Documentos
Cultura Documentos
JOÃO PESSOA – PB
2018
GILBERTO FERREIRA DE OLIVEIRA JUNIOR
JOÃO PESSOA - PB
2018
O48r Junior, Gilberto Ferreira de Oliveira.
A minha família que sempre me deram forças e ânimo para poder continuar, em meio ao
cansaço físico e mental de um dia estressante de trabalho.
A minha mãe Beth, esposa Jaqueline e minha filha Giovanna, amo vocês!
Muito obrigado!
RESUMO
A tecnologia VoIP vem ganhando mercado, tanto nas empresas de telefonia, quanto às empresas
de outros segmentos, e atualmente na área de segurança eletrônica focada na Portaria Virtual,
que é um serviço onde uma determinada empresa atua como uma portaria, eliminando o fator
humano no local, atendendo todas as ocorrências e ligações do condomínio à distância, no qual
a principal comunicação entre o prédio e a portaria é o VoIP, usando uma rede IP, essas ligações
ficam vulneráveis a ataques, grampos, rastreios e até chamadas gratuitas sem autorização.
Partindo desse problema, a fim de acrescentar segurança às chamadas VoIP, foi feita uma
revisão bibliográfica a partir de referências acadêmicas, artigos, revistas e a própria internet;
pesquisas sobre o VoIP, principais protocolos usados nessa tecnologia como o SIP, TCP, UDP,
RTP e suas funcionalidades, criptografia e implementação dos protocolos de segurança TLS e
SRTP; visando criar um roteiro de instalação e configuração. Usando a ferramenta de captura
de pacotes Wireshark, foi constatado que os protocolos de segurança em questão mantiveram a
autenticidade, integridade e confidencialidade das ligações feitas em um cenário de teste. Sendo
assim este trabalho visa mostrar a vulnerabilidade de uma ligação SIP no cenário de uma
Portaria Virtual sem nenhum tipo de segurança e ao mesmo tempo implementar a segurança
usando os protocolos TLS e SRTP a fim de tornar essa tecnologia mais confiável e segura.
Palavras-Chave: VoIP. Segurança. Portaria. Protocolo.
ABSTRACT
VoIP technology has been gaining market in both the telephone companies and companies in
other segments, and currently in the area of electronic security focused on the Virtual
Ordinance, which is a service in a company as a concierge, eliminating the human factor in the
local , taking care of all occurrences and remote condominium connections, there is no main
communication between the building and the concierge, using an IP network, chains of attacks,
staples, traces and roadways without authorization. Starting from this problem, a VoIP, was
taken from a bibliographical review of an academic starting point, articles, magazines and the
internet itself; research on VoIP, the main protocols used in technology such as SIP, TCP, UDP,
RTP and the ease, encryption and implementation of TLS and SRTP security protocols;
Creating an installation and configuration roadmap. Using a packet capture machine, the issue
of security in question was carried out in order to authenticity, and the confidentiality of the
connections made in a test scenario. Since this work shows a vulnerability of a SIP connection
in the scenario of a Virtual Gateway window without any kind of security and even time
implementing a structure using the TLS and SRTP protocols a way to make the technology
safer and safer.
Keywords: VoIP. Security. Concierge. Protocol.
LISTA DE ILUSTRAÇÕES
Figura 7- Adicionar IP 27
Figura 21 - Gravação. 37
Figura 24 - Idioma. 42
Figura 25 - Resumo da Instalação. 42
ura 23 -
LISTA DE ABREVIATURAS E SIGLAS
IP - Internet Protocol;
RSA - Rivest-Shamir-Adleman;
2 REFERENCIAL TEÓRICO 13
2.1 VOIP 13
2.5 PROTOCOLOS 15
2.5.1 SIP 15
2.5.2 TCP 17
2.5.3 UDP 17
2.5.4 RTP 18
2.6 CRIPTOGRAFIA 18
2.6.1 TLS 18
2.6.2 SRTP 20
3 DESENVOLVIMENTO 23
3.1 ASTERISK 23
3.2 ISSABEL 24
REFERÊNCIAS 40
1 INTRODUÇÃO
Nos últimos anos, a tecnologia VoIP (Voice over Internet Protocol) vem transformando o
mercado (NETO; GRAEML, 2010), tanto nas empresas de telefonia quanto as de outros
segmentos, até a usuário doméstico, e atualmente na área da segurança eletrônica, focada na
Portaria Virtual. O conceito de Portaria Virtual é encontrado quando uma determinada empresa
monitora em tempo real e integral, atuando como porteiro à distância, recebendo e realizando
ligações para qualquer morador ou áreas comuns do condomínio.
Partindo desse problema, como aumentar a segurança da comunicação VoIP entre a portaria
virtual e o condomínio, este trabalho tem o objetivo de implantar segurança nas ligações de um
servidor VoIP Asterisk, usando os Protocolos SRTP e TLS no cenário de uma portaria virtual.
11
Sendo de caráter exploratório onde foi preciso familiarizar com o tema e conhecer mais
sobre o VoIP e os protocolos de segurança, com apresentação de análises qualitativa mostrando
os efeitos do mecanismo de segurança e analises de pacotes. Serão estudados os protocolos,
ferramentas, softwares e tecnologias envolvidas.
2 REFERENCIAL TEÓRICO
A seguir será apresentado os serviços VoIP e Portaria Virtual, os Protocolos SIP, UDP,
TCP e RTP, e a criptografia usada junto aos Protocolos de segurança TLS e SRTP.
2.1 VOIP
VoIP (Voice Over Internet Protocol), é a tecnologia que permite a comunicação de voz
usando a mesma infraestrutura da rede IP, usando a técnica de transformação de sinais
analógicos em sinais digitais (BATES, 2002), tornando possível a realização de chamadas
telefônicas via internet. O VoIP utiliza o protocolo de aplicação SIP, padronizado pela Request
for Coments (RFC), os protocolos de transporte UDP e TCP, e o RTP utilizado para o transporte
da voz, que será definido nas próximas seções.
O serviço VoIP vem sendo bastante utilizado, não somente para operadoras de
telecomunicações, mas também em empresas de pequeno a grande porte de outros seguimentos,
visando a redução de custos nas ligações externas ou até mesmo internamente em aparelhos
distintos, podendo usar a mesma infraestrutura de rede existente.
A principal vantagem é o baixo custo que o condomínio teria com os porteiros, por serem
funcionários registrados, onde existe encargos sociais, férias, décimo terceiro, fardamentos,
horas extras, problemas com indisciplina, psicológicos, monetários entre vários outros quesitos
por se tratar de fator humano. Com a Implantação do serviço a economia fica em torno de
sessenta a setenta por cento a curto prazo (ROMERO, 2016).
2.5 PROTOCOLOS
2.5.1 SIP
O SIP usa um único endereço que interliga o usuário a todos os serviços e dispositivos
de comunicação registrados na rede, é o chamado AOR (address of register), para
complementar o SIP usa outro mecanismo chamado de URI (uniform resource identifier), onde
estabelece um esquema de mapeamentos para cada usuário registrado.
O protocolo SIP utiliza a sintaxe HTTP/1.1 nas codificações das mensagens utilizadas,
descrita na RFC 2068, e o conjunto de caracteres é o ISO 10646 com codificação UTF-8,
presente na RFC 2279, dos tipos pedido e resposta.
Para estabelecer uma conexão SIP destaca-se os seguintes métodos:
● Register – Registra o usuário.
● Invite – Convidar alguém para inicializar a sessão.
● ACK – Confirmação da inicialização da sessão.
● BYE – Termina a chamada.
● Cancel – Cancelar a transação.
● Options – Consulta de compatibilidades das capacidades do usuário.
● INFO – Usado para enviar e receber informações durante a sessão.
● UPDATE – Atualiza as informações de uma sessão (SINNREICH, 2006).
A figura 1 ilustra a troca de mensagens para uma conexão de uma sessão SIP.
Para dar início a uma sessão SIP, o cliente envia uma mensagem de “INVITE” com os
dados necessários no cabeçalho para iniciar a sessão, o “180 Ringing” é o momento em que o
ramal está tocando, se o outro usuário aceitar, o mesmo responde com uma mensagem “200
OK”, o “ACK” é a troca de confirmação da sessão, “Media Session” é o tráfego de voz durante
a ligação, o “BYE” é quando desliga a chamada, e pôr fim “200 OK” que é a confirmação do
fim da sessão. (DOMINGOS, ALMEIDA, 2014). Esse tráfego de voz utiliza-se alguns
protocolos da camada de transporte tipo o TCP, UDP e RTP que será conceituado a seguir.
2.5.2 TCP
2.5.3 UDP
O Protocolo UDP permite que o fluxo de voz seja contínuo, porém a organização dos
pacotes do transporte da voz precisa ser assegurada, onde este protocolo não consegue prover,
porém existem protocolos desenvolvido especialmente para trabalhar com o fluxo em tempo
real, como por exemplo o real-time protocol (RTP), que se destaca a seguir.
2.5.4 RTP
O RTP definido pela norma RFC 3550, é uma espécie de estrutura que serve para a
organização das informações enviadas através da camada de transporte. Antes dos dados serem
transportados ao seu destino, o RTP precisará estruturar o pacote de forma que, o receptor venha
conseguir organizar as informações, no intuito de reproduzi-las na sequência e tempo correto.
O RTP possui campos em seu cabeçalho onde o receptor consiga realizar a organização
dos dados recebidos independentemente do protocolo de transporte usado para o envio das
informações, sejam elas pedaços de dados de uma ligação VoIP, ou até trechos de um stream
de vídeo transmitido em tempo real via rede (KUROSE, 2010). Nas próximas sessões mostrará
a criptografia e os protocolos de segurança TLS e SRTP que é uma variante deste Protocolo.
2.6 CRIPTOGRAFIA
2.6.1 TLS
1
Asterisk é um software de código aberto e livre, completamente com todas as funcionalidades de uma PABX
convencional, usando tecnologia VoIP.
19
e a integridade das chamadas VoIP. O SIP faz de uso do TLS para cifrar as mensagens de
sinalização pela camada de transporte (ROSEMBERG et al., 2002).
O TLS Record Protocol e TLS Handshake, são as duas camadas que compõe o protocolo
TLS, onde a primeira tem responsabilidade garantir a segurança do mecanismo de transporte,
que por sua vez possui duas principais implementações:
2.6.2 SRTP
O SRTP é uma variante do RTP, que garante a proteção contra ataques de replicações as
sessões e permite a integridade, autenticidade e a confidencialidade dos dados (DANTUA,
2009). O áudio antes de ser enviado através do protocolo UDP, o SRTP adiciona o fluxo cifra
e chaves simétricas para garantir a integridade do áudio, entretanto, suas funcionalidades não
incluem gerir a criação das chaves da sessão, necessitando de outros protocolos, caso contrário,
será efetuada através de fluxo de sinalização onde estará protegido usando o TLS
(HOHNSTON, 2004).
Conforme a figura 2, o primeiro campo é usado para iniciar os dados autenticados das
mensagens e o segundo usado para o gerenciamento das chaves.
21
● Contador Rollover (ROC), conta quantas vezes o número de sequência RTP de 16-bits
chega a zero depois de ter passado o 65535;
● Identificador para o algoritmo de encriptação e autenticação de mensagens;
22
3 DESENVOLVIMENTO
Este capítulo mostra como foi instalado e configurado o Asterisk com a distribuição do
Issabel, e a análise feitos no cenário de testes, realizando as ligações com softphones instalados
no computador. Nas primeiras sessões inicia-se o conceito do Asterisk e a distribuição Issabel.
3.1 ASTERISK
Assim que lançado o Asterisk no mercado, uma das suas maiores dificuldades era sua
usabilidade, mediante sua complexidade, quando era tudo configurado em linhas de comando,
não existia uma interface gráfica. Na intenção de resolver o problema, a Digium em 2005 lançou
o Asterisk@HOME com uma interface gráfica utilizando o FreePBX como seu gerenciador
gráfico. A Digium lançou também o AsteriskNOW, após a venda do Asterisk@HOME para a
Trixbox. AsteriskNOW é distribuição Linux completa com o Asterisk e a GUI administrativa do
FreePBX, onde sua complexidade é definida pelo instalador, pelo gerenciamento de pacotes
YUM e pela GUI administrativa (SILVA, 2017).
24
Fonte: RNP.
3.2 ISSABEL
3CX, que lançou uma versão 5.0 totalmente modificada das interfaces anteriores, entretanto,
está se formando uma comunidade chamada Issabel, prometendo dar seguimento as
atualizações e suporte desta distribuição (SILVA, 2017).
O Issabel2 utilizado para o trabalho foi a versão 4.0, com o Asterisk 13, o processo foi
instalado em uma máquina virtual configurada no VirtualBox. Diferente de outros sistemas
PBX baseado no Asterisk, O Issabel possui uma interface gráfica no processo de instalação, e
a primeira tela mostrada do sistema é a escolha de qual forma irá iniciar a instalação, conforme
figura 5;
2
“Disponível em:” <http://www.issabel.org> “Acessado em:” 2018.
26
Por padrão o Issabel vem com a opção DHCP habilitado, se sua rede estiver um servidor
DHCP assim que logar com usuário root, o CLI do Issabel irá mostrar o IP que recebeu da sua
rede, mas recomenda definir o IP como estático, para não acontecer que o Issabel mude de IP e
os equipamentos que estão registrado a ele perca a conexão, para isso precisa realizar alguns
procedimentos, já logado digitar o comando “vi /etc/sysconfig/network-scripts/ifcfg-eth0” sem
as aspas;
BOOTPROTO=“static”
IPADDR=192.168.25.98
NETMASK=255.255.255.0
GATEWAY=192.168.25.1
27
Figura 7- Adicionar IP
Segundo passo é entrar no diretório criado, para criar uma chave digital para o servidor
Asterisk, este não é o “certificado” real, no entanto, será necessário para criá-lo. Para entrar: cd
/etc/asterisk/certificates, mostrado na figura 10;
3
“Disponível em:” <https://www.putty.org> “Acessado em:” 2018.
29
Já dentro do diretório precisa-se criar a chave digital, será necessário ter o openssl
instalado no servidor, caso não tenha, carregue-o. Se tiver dúvida basta digitar “openssl” antes
do comando. Para criar a chave no servidor digitar: “openssl genrsa -out key.pem 1024”,
uma chave privada RSA de 1024 bits, mostrado na figura 11;
Após a chave criada, o próximo passo é criar uma solicitação de certificado, digitando
o comando: “openssl req -new -key key.pem -out request.pem”, será preciso fornecer o
seguinte:
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/certificates/servidor.empresa.com.br.pem
tlsdontverifyserver=no
tlscipher=ALL
tlsclientmethod=tlsv1
Para a criação dos ramais, usaremos a interface web do Issabel, usando o IP configurado
no sistema e logando com o usuário de administrador, em seguida clique no menu “PBX” e
“PBX Configuration”, como mostra a figura 15;
33
Após clicar em “submit” e em “Apply Config” para aplicar as configurações, será criado
mais dois ramais o 1001 e 1002 para o cenário deste trabalho, seguindo esses mesmos
procedimentos. Para criar um ramal sem a segurança, não habilite a opção TLS, e deixar padrão
o campo que vem com o protocolo “UDP”, e a criptografia SRTP que por padrão está em “no”,
será feito das duas formas com o intuito de simular as ligações com e sem segurança.
Para simular esse cenário e realizar a captura dos pacotes das ligações, foram
configurados os três ramais 1000, 1001 e 1002 em três softphones no computador, a ferramenta
usada para a captura será o Wireshark.
O primeiro teste será realizado uma ligação feita entre o ramal 1000 para o ramal 1001, sem
a implementação dos protocolos de segurança TLS e SRTP, e fazer a captura desses pacotes
usando o Wireshark. Filtrando pelos pacotes SIP ou RTP, temos as seguintes informações como
mostra a figura 18;
4
“Disponível em:” <https://www.wireshark.org> “Acessado em:” 2018.
36
Com o uso do Wireshark tem uma visão mais detalhadas dos pacotes, sem a segurança
consegue-se ver na linha 43 da figura 18, o cliente envia uma mensagem com todas as
informações necessárias para o início da sessão o “INVITE”, na próxima linha o telefone está
tocando “180 Ringing”, e na linha 66, o usuário aceita o convite respondendo com o “200 OK”,
logo em seguida inicia-se o tráfego de protocolos RTP durante toda a ligação, na figura 19
mostra o momento em que o usuário desliga a chamada, é enviado o “200 OK” e o “BYE” com
a confirmação;
Figura 21 - Gravação.
O segundo teste será realizar a mesma chamada entre os ramais 1000 e 1001, usando
os protocolos de segurança e o Wireshark para a captura dos pacotes. No momento da ligação
a ferramenta não identifica o “INVITE”, pois, o SIP fez de uso do TLS para cifrar a
mensagem de sinalização pela camada de transporte como mostra a figura 22 a partir da linha
27;
4 CONSIDERAÇÕES FINAIS
O VoIP é uma tecnologia que vem se tornando uma excelente alternativa para a redução
de custos junto às operadoras de telefonia, com a flexibilidade de usar a mesma estrutura de
rede existente. Para a Portaria Virtual essa tecnologia é imprescindível, pois a empresa tende a
comunicar com um condomínio constantemente vinte e quatro horas por dia, porém essa
comunicação trafega sobre uma rede IPv4, consequentemente a vulnerabilidade de ameaças
estarão sempre presentes.
Os protocolos abordados neste trabalho, oferecem as características fundamentais para
a segurança da informação: autenticidade, integridade e confidencialidade dos dados, onde
aplicados a tecnologia VoIP temos a garantia de que a chamada e a voz estão bem protegidas,
como mostrado na análise e captura de pacotes usando a ferramenta Wireshark.
No entanto, pela complexidade de implementação dessa funcionalidade deve ser
avaliada, pelo fato de não oferecer a segurança fim a fim, exigindo a configuração em cada
componente na rede, onde requer profissionais capacitados para executar de forma adequada as
configurações.
Várias dificuldades foram encontradas para implantar a segurança às ligações, desde a
limitação de conteúdo abordado até o Asterisk, onde foram testadas diversas versões e
distribuições, incluindo o Freepbx e Elastix.
Outras limitações encontradas foram os equipamentos não terem suporte aos Protocolos
TLS e SRTP, dificultando o cenário de teste tendo que usar softphones para as configurações,
e o próprio software de monitoramento da Portaria Virtual não permite essa implementação.
Visto que os Protocolos TLS e SRTP mantiveram a segurança das ligações VoIP,
existem vários outros mecanismos de segurança a serem testados e implementados,
possibilitando o aumento do nível de segurança, pois as técnicas apresentadas ainda são
limitadas.
No que diz respeito a trabalhos futuros, eles poderiam explorar outros protocolos de
segurança e criptografia avançadas, e desenvolver um softphone que consiga integrar com
qualquer software de monitoramento de Portaria Virtual, que foi uma das limitações
encontradas.
40
REFERÊNCIAS
BILIEN, J. et al. Secure VoIP: call establishment and media protection. Royal Institute of
Technology (KTH), Stockolm, Sweden, 2003;
DANTUA, R., Fahmyb, S., Schulzrinnec, H. and Cangussud, J. Issues and challenges in
securing VoIP, Elsevier Ltd, 2009;
GUILLEN, E.P., CHACON, D.A., VoIP Networks Performance Analysis with Encryption
Systems, 2009;
HOHNSTON, A. B. SIP Understanding the Session Initiation Protocol, Artech House, INC,
2004;
ISSABEL. Version 4.0. [S.l.]: MOpen Source Community With Unique Skills, 2016.
Disponível em: <https://www.issabel.org>. Acesso em: 2018.
KIM, I.; KIM, K. Secure session management mechanism in voip servisse. In: Lecture Notes
in Computer Science – Frontiers of High Performance Computing and Networking
ISPA 2007 Workshops. [S.1]: Springer Berlin / Heidelberg, 2007. v. 4743, p. 96-104, 2007;
KUHN, D.R.; WALSH, T.J.; FRIES, S. Security Considerations for Voice Over IP
Systems, Recommendations of the National Institute of Standards and Technology,
2005;
PUTTY. Version 0.70. [S.l.]: Simon Tatham, 2017. Disponível em: <https://www.putty.org/>.
Acesso em: 29 nov. 2018
QUINTEN, V. M.; MEENT, R. V.; PRAS, A. Analysis of techniques for protection against
spam over internet telephony. In: Dependable and Adaptable Networks and Services.
[S.l.]: Springer Berlin / Heidelberg, 2007. v. 4606, p. 70-77, 2007;
ROSEMBERG, J. et al. RFC 3261 - SIP: session initiation protocol. [S.l.], 2002.
VERAS, R.; JUNIOR, M. F. S. Mecanismos de segurança para ambientes VoIP, III SRST
– Seminário de redes e Sistemas de Telecomunicações, Instituto Nacional de
Telecomunicações – INATEL, 2015;
Figura 24 - Idioma.
Nessa tela o sistema pede para escolher onde o Issabel será instalado, seleciona-se o
disco criado na VM do VirtualBox, e em “Finalizado” conforme a figura 27;
Próxima tela o sistema pede para escolher qual a versão do Asterisk quer que seja
instalado junto com o Issabel, para esse trabalho foi usada a versão mais recente, seleciona-se
“Issabel with Asterisk 13” e “Sangoma Wanpipe drivers”, depois em “Finalizado” conforme
figura 28;
Após configurar os itens que o sistema sinalizava, a interface permite que inicie o
processo de instalação, clique em “Iniciar Instalação” como mostra a figura 29;
Na próxima tela o sistema pede para criar sua senha de administrador, digita sua senha
raiz e a confirme, em seguida “Finalizado”, como mostra a figura 31;