Universidade do Minho Escola de Engenharia Joana Isabel Ferreira Leite da Cunha Correia UM | 2011 Joana Isabel Ferreira Leite da Cunha Correia Seguraça e Qualidade de Serviço em Redes VoIP Segurança e Qualidade de Serviço em Redes VoIP Dezembro de 2011 Universidade do Minho Escola de Engenharia Joana Isabel Ferreira Leite da Cunha Ferreira Segurança e Qualidade de Serviço em Redes VoIP Dissertação de Mestrado Integrado em Engenharia de Comunicações Trabalho efectuado sob a orientação do Professor Doutor Henrique Manuel Dinis Santos Dezembro de 2011 Declaração Nome Joana Isabel Ferreira Leite da Cunha Correia Endereço electrónico [email protected] Título da Dissertação Segurança e Qualidade de Serviço em Redes VoIP Orientador Prof. Doutor Henrique Manuel Dinis Santos Ano de Conclusão 2011 Designação do Mestrado Mestrado Integrado em Engenharia de Comunicações É AUTORIZADA A REPRODUÇÃO INTEGRAL DESTA TESE APENAS PARA EFEITOS DE INVESTIGAÇÃO, MEDIANTE DECLARAÇÃO ESCRITA DO INTERESSADO, QUE A TAL SE COMPROMETE; Universidade do Minho, 21/12/2011 Assinatura:___________________________________________________________________ Agradecimentos Gostava de agradecer aos meus mentores, os meus pais, que ao longo da minha vida estiveram ao meu lado a apoiar-me nos bons e maus momentos, sem nunca deixarem de acreditar em mim. Ao Professor Henrique Santos, que me acompanhou ao longo da minha vida académica, sendo um tutor exemplar, como todos os professores devem ser. O meu especial agradecimento ao Pedro por me apoiar e por me ter ajudado nos momentos mais difíceis e à Isa pela paciência que tem tido comigo. Por último, quero agradecer a todos aqueles que conheci ao longo do meu percurso académico e que me enriqueceram tanto ao nível académico como a nível pessoal. iii iv Resumo O mundo assistiu a uma revolução na telefonia com o aparecimento do VoIP, adoptado pelas organizações, que viram nesta tecnologia a oportunidade de minimizar os custos nas comunicações internas e externas. Apesar das vantagens que o VoIP apresenta, este também tem desvantagens relativas à segurança, apresentando maiores riscos comparativamente com a telefonia tradicional. O VoIP, embora seja uma tecnologia recente, tem implementado mecanismos que garantem a segurança mas que podem interferir com a qualidade das chamadas, sendo por isso, importante efectuar uma análise aos custos e benefícios de cada um, avaliando o modo em como estes interferem com a qualidade. Este projecto pretende criar um modelo de gestão que relacione qualidade e segurança, recorrendo a mecanismos de cifra, implementados em plataformas open-source. Esta clarificação será realizada através da criação de níveis de segurança e de níveis de desempenho da qualidade, de modo a obter uma relação entre os dois níveis. v vi Abstract The world witnessed a revolution in telephony with the arising of VoIP, widely adopted by organizations, they have seen in this technology the opportunity to minimize costs in internal and external communications. Despite the advantages that VoIP presents, it also has drawbacks regarding to safety, representing higher risks compared to traditional telephony. Although VoIP is a new technology, it has implemented mechanisms to ensure security but may interfere with the quality of the calls, being necessary to perform an analysis of the costs and benefits of each, evaluating in which way they interfere with the calls. This project seeks to create a management model relating quality and safety, using encryption mechanisms implemented in open-source platforms. This clarification will be accomplished through the creation of levels of safety and quality levels, in order to obtain a relationship between the two levels. vii viii Índice 1 Introdução ............................................................................................................................. 1 1.1 Objectivos ................................................................................................................. 2 1.2 Metodologia .............................................................................................................. 3 1.3 Estrutura da dissertação ............................................................................................ 3 2 Voice over IP ........................................................................................................................ 4 2.1 Fundamentos de VoIP ............................................................................................... 5 2.1.1 Codificação ........................................................................................................ 5 2.1.2 Protocolos da camada de transporte .................................................................. 7 2.1.3 Protocolos real-time .......................................................................................... 8 2.2 Cenários gerais do VoIP ........................................................................................... 9 2.2.1 Ponto-a-Ponto .................................................................................................... 9 2.2.2 Gateway ........................................................................................................... 10 2.2.3 Híbrido ............................................................................................................. 10 2.3 Protocolos em tempo-real ....................................................................................... 11 2.3.1 Real-time protocolo / Real-time Control Protocol .......................................... 11 2.3.2 Inter-Asterisk eXchange .................................................................................. 12 2.4 Protocolos de sinalização ........................................................................................ 14 2.4.1 H.323 ............................................................................................................... 15 2.4.2 Session Iniciation Protocol .............................................................................. 15 2.4.3 Inter-Asterisk eXchange .................................................................................. 17 2.5 Mecanismos de segurança....................................................................................... 19 2.5.1 HTTP Digest Authentication ........................................................................... 19 ix 2.5.2 TLS/DTLS ....................................................................................................... 20 2.5.3 ZRTP ............................................................................................................... 21 2.5.4 SRTP................................................................................................................ 21 2.5.5 IPSec ................................................................................................................ 22 3 Qualidade de Serviço e Segurança ..................................................................................... 23 3.1 Factores que caracterizam a QoS ............................................................................ 23 3.1.1 Atraso............................................................................................................... 24 3.1.2 Jitter ................................................................................................................. 26 3.1.3 Pacotes Perdidos .............................................................................................. 28 3.1.4 Largura de Banda............................................................................................. 28 3.2 Modelos de Medição de QoS .................................................................................. 29 3.3 Riscos de segurança na utilização do VoIP ............................................................ 31 3.3.1 Ameaças Sociais .............................................................................................. 32 3.3.2 Intercepções ..................................................................................................... 34 3.3.3 Recolha e modificação..................................................................................... 36 3.3.4 Negação de Serviço ......................................................................................... 38 3.3.4 Subconjunto de riscos resolvidos no VoIP ...................................................... 38 3.4 Relação entre QoS e segurança no VoIP ................................................................ 40 4 Política de utilização da cifra no VoIP ............................................................................... 41 4.1 4.1.1 Descrição da experiência ................................................................................. 42 4.1.2 Análise dos resultados ..................................................................................... 45 4.2 x Experiência da medição da QoS nos cenários de segurança................................... 42 Processo de avaliação de risco ................................................................................ 48 4.2.1 Descrição do processo ..................................................................................... 48 4.2.2 Análise dos resultados ..................................................................................... 51 4.3 Criação das Politicas de Segurança......................................................................... 54 4.3.1 Níveis de Segurança ........................................................................................ 54 4.3.2 Níveis de QoS .................................................................................................. 59 4.3.3 Critérios de decisão ......................................................................................... 65 5 Conclusões ......................................................................................................................... 69 5.1 Sintese do trabalho realizado .................................................................................. 69 5.2 Trabalho futuro ....................................................................................................... 70 xi xii Lista de figuras Figura 1 - Efeitos dos codecs sobre a qualidade ...................................................................... 6 Figura 2 - Transacção SIP de estabelecimento de sessão através de dois proxies ................. 17 Figura 3 - Transacção IAX2 de establecimento de sessão ..................................................... 19 Figura 4 - Efeito do jitter numa chamada .............................................................................. 27 Figura 5 - Fluxo de um ataque por deturpação de identidade ................................................ 33 Figura 6 - Fluxo de um ataque de contacto não desejado ...................................................... 34 Figura 7 - Fluxo de uma ameaça de intercepção .................................................................... 35 Figura 8 - Fluxo de um ataque de redireccionamento de chamada ........................................ 37 Figura 9 - Cenário LAN ......................................................................................................... 43 Figura 10 - Cenário WAN ...................................................................................................... 43 Figura 11 - Stack dos mecanismos de segurança do VoIP ..................................................... 47 Figura 12 - Relação entre ameaças, recursos e mecanismos de segurança ............................ 55 Figura 13 - Cenário correspondente a um nível médio bom de segurança ............................ 57 Figura 14 - Cenário correspondente a um nível médio muito bom de segurança .................. 58 Figura 15 - Cenário correspondente a um nível alto de segurança ........................................ 59 Figura 16 - Atraso num cenário LAN .................................................................................... 60 Figura 17 - Jitter num cenário LAN....................................................................................... 61 Figura 18 - Pacotes Perdidos no cenário LAN ....................................................................... 62 Figura 19 - Algoritmo de transição entre cenários ................................................................. 67 xiii xiv Lista de Tabelas Tabela 1 - Caracteristicas dos Codecs ...................................................................................... 6 Tabela 2- Descrição dos elementos do IAX2 ......................................................................... 13 Tabela 3 - Descrição das Mensagens IAX2 ........................................................................... 14 Tabela 4 - Identificação das ameaças e cifra associada.......................................................... 39 Tabela 5 - Configuração da experiência ................................................................................. 45 Tabela 6 - Sobrecarga da largura de banda e número de chamadas suportadas ..................... 47 Tabela 7 - Impacto da ameaça e probabilidade da ocorrência de um incidente ..................... 50 Tabela 8 - Definição dos valores de impacto e probabilidade ............................................... 51 Tabela 9 - Risco de segurança de cada recurso ...................................................................... 52 Tabela 10 - Risco de segurança médio de cada ameaça ......................................................... 53 Tabela 11 - Relação dos controlos de segurança com os recursos ......................................... 56 Tabela 12 - Calculo dos valores do desempenho na QoS ...................................................... 62 Tabela 13 - Valores do Desempenho da QoS e da Sobrecarga .............................................. 63 Tabela 14 - Caracterização dos mecanismos de segurança .................................................... 64 Tabela 15 - Relação entre segurança e QoS ........................................................................... 65 xv xvi Acrónimo CPU Central Processing Unit DOS Denial of Service DTLS Datagram TransportLayer Security GSM Global System For Mobiel Communications HTTP Hypertext Transfer Protocol IAX2 Inter-Asterisk eXchange ID Identity Document IP Internet Protocol kbps kilobits por Segundo LAN Local Area Network MitM Man in the Middle MOS Mean Opinion Score PCM Pulse Code Modulation PSTN Public Switched Telephone Network QoS Quality of Service RTP Real-Time Protocol SIP Session Initiation Protocol SPIT Spam over Internet Telephony SRTP Secure Real-Time Protocol TLS TransportLayer Security VoIP Voice over IP WAN Wide Area Network xvii xviii Capítulo 1 Introdução A massificação da Internet permitiu a integração de dados/áudio/vídeo, o que levou à formação de serviços avançados como o da telefonia IP. O aparecimento da telefonia IP, ou Voice over IP (VoIP), possibilitou estabelecer chamadas através de uma rede de pacotes. O facto de usar a Internet diminuiu o custo das chamadas, o que é uma grande vantagem para as organizações que, de imediato, começaram a adoptar o VoIP. Apesar do seu sucesso para substituir a telefonia tradicional, também conhecida por Public Switched Telephone Network (PSTN), o VoIP necessita de garantir a qualidade e a segurança da chamada. A telefonia tradicional tem uma imagem de confiança criada ao longo dos anos que o VoIP terá de igualar e/ ou superar. O transporte de áudio na rede convencional de telefones é efectuado através de uma rede de comutação de circuitos. Os recursos necessários para obter os mínimos de qualidade de uma chamada são reservados durante o seu estabelecimento e libertados no final. No caso da rede IP, uma rede de comutação de pacotes, não existe uma reserva de recursos, assim sendo, a rede só por si não é capaz de diferenciar os tipos de tráfego e, consequentemente, não é capaz de oferecer garantias para a qualidade de serviço (QoS) [Goode, 2002]. Para que o VoIP seja aceite pela comunidade terá de garantir que os pacotes de voz não se percam, não se atrasem e não tenham variações no tempo de chegada ao receptor. Por utilizar circuitos dedicados, a rede tradicional de telefonia garante um nível de segurança aceitável pelos utilizadores. No caso do VoIP, os pacotes de voz circulam por redes vulneráveis e susceptíveis a ameaças (por exemplo, a Internet), sendo necessários mecanismos que permitam 1 garantir a integridade, confidencialidade e disponibilidade das sessões de VoIP durante todo o percurso dos pacotes de voz. Em contrapartida, estes mecanismos apesar de aumentarem a sensação de segurança dos utilizadores têm um custo associado, a degradação da qualidade da chamada, tal como aumentar o atraso, devido a mecanismos de cifra [Jianyong & Cunying, 2009]. Num ambiente corporativo, o serviço de telefonia é essencial para o desenvolvimento do negócio das organizações, sendo indispensável para as mesmas que o VoIP seja seguro, por exemplo, que impeça terceiros de obter acesso a informação confidencial da organização e que seja garantida a qualidade de áudio da chamada. É então necessário afiançar que o sistema de telefonia nas organizações seja seguro e que os controlos de segurança utilizados não degradem a qualidade de voz da chamada. 1.1 Objectivos Tal como referido na secção anterior, o VoIP é uma tecnologia recente com problemas ao nível da segurança, no entanto, as soluções de segurança utilizadas pelas organizações podem comprometer a qualidade da chamada. É assim importante encontrar uma relação entre a segurança e a qualidade de serviço, em que o utilizador obtenha a segurança adequada e que, ao mesmo tempo, consiga manter uma conversação sem degradação. Desejavelmente, esse balanceamento será plasmado numa política de segurança e qualidade. Para encontrar esta relação é preciso estudar como funcionam as soluções de segurança para VoIP e identificar métodos e métricas para quantificar a qualidade de serviço ao nível da sessão. Através da experimentação pretende-se correlacionar para diferentes níveis de segurança os seus efeitos na degradação da qualidade, caracterizando o tráfego para cada um dos níveis. Pretende-se, no fim deste trabalho, que sejam identificadas as técnicas de segurança inerentes ao VoIP, como funcionam e quais os efeitos que têm sobre a qualidade, obtendo no final indicadores de segurança/qualidade de serviço para um sistema VoIP, para que as organizações tenham um ponto de referência no qual possam basear as suas decisões. 2 1.2 Metodologia Para atingir os objectivos desta dissertação, o trabalho foi divido em três componentes. A primeira etapa encontra-se direccionada para uma componente mais teórica onde serão investigadas a segurança e a qualidade de serviço no VoIP. Serão estudadas as tecnologias envolvidas, como protocolos, ferramentas e metodologias, recorrendo a pesquisas bibliográficas, de forma a adquirir conhecimentos que servirão como base da componente prática. A segunda componente é a de experimentação, recorrendo aos conhecimentos adquiridos, serão efectuados vários testes práticos para quantificar os efeitos de degradação para diferentes níveis de segurança. Os níveis de segurança serão simulados em vários cenários criados em ambiente laboratorial, com o intuito de gerar tráfego para análise e comparar com a informação recolhida através de uma amostra padrão gerada através de tráfego sem recorrer a mecanismos de segurança. O tráfego será analisado empiricamente na terceira componente, onde se pretende encontrar a relação entre as soluções de segurança usadas, individualmente e em conjunto, com a qualidade de áudio de uma ou várias sessões, de modo a elaborar um modelo que possa ser utilizado noutros sistemas VoIP. 1.3 Estrutura da dissertação Esta dissertação encontra-se dividida em cinco partes: a primeira parte deste documento é uma breve introdução ao trabalho que se propôs, à metodologia utilizada e objectivos; na segunda parte são introduzidos os conceitos gerais do VoIP, realçando a importância da qualidade e da segurança no VoIP; na terceira parte são apresentados os pontos essenciais para a medição da qualidade e da avaliação da análise dos riscos de segurança; na quarta parte é apresentado todo o processo de análise realizado para a definição dos níveis de segurança e dos níveis de desempenho da qualidade, assim como a análise da relação entre eles; e na quinta parte são feitas as conclusões do trabalho realizado, bem como a sugestão para trabalhos futuros. 3 Capítulo 2 Voice over IP O VoIP é um serviço de telefonia que recorre à infra-estrutura da rede IP para efectuar uma chamada. As suas características podem variar, desde a tradicional chamada envolvendo dois intervenientes, até às chamadas com vários intervenientes (conferências). O uso das redes IP possibilitou a integração deste serviço complexo, usando a infra-estrutura existente. Como todas as tecnologias, o VoIP tem as suas vantagens e desvantagens, a eficiência e a redução de custos foram as grandes vantagens que levaram à expansão do VoIP. Porém, apesar destas oportunidades, os riscos de segurança associados a esta tecnologia existem e não podem ser ultrapassados recorrendo aos mecanismos existentes para a rede IP [Walsh & Kuhn, 2005]. Outro problema com que o VoIP se depara é a qualidade de serviço, que pode ser agravada com a utilização de mecanismos de segurança, que podem dar origem à degradação da qualidade do serviço, tornando o diálogo imperceptível ou, até mesmo, interrompendo a sessão [Guillen & Chacon, 2009]. A PSTN tem mecanismos que garantem a qualidade do serviço e a segurança das chamadas, alocando os recursos de cada sessão durante o seu estabelecimento através de circuitos dedicados, isolando o áudio de cada sessão e impedindo interferências externas. Contudo, o VoIP utiliza uma rede partilhada que não possui qualquer mecanismo de reserva de recursos, os pacotes são transmitidos através da rede por caminhos "imprevisíveis" e inseguros, o que torna difícil garantir a qualidade. Neste capítulo pretende-se ter uma ideia geral de como funciona o VoIP, analisando o comportamento da rede IP face a este e quais os mecanismos que utiliza para ultrapassar os 4 problemas da transmissão de voz em tempo real, compreender como funciona a codificação do sinal analógico e o modo de funcionamento dos vários protocolos utilizados. 2.1 Fundamentos de VoIP Com a massificação da Internet surgiu a oportunidade de evolução da telefonia, integrando dados/áudio/vídeo numa só rede IP. No entanto, para que esta integração seja bem-sucedida, é necessário compreender o funcionamento VoIP desde a captação do áudio até ao seu transporte, analisando as limitações que a rede IP impõe. Nesta secção será abordada a codificação de áudio e a análise dos protocolos de encaminhamento e transporte em tempo real. 2.1.1 Codificação A codificação tem como objectivo amostrar o sinal analógico captado e transformar as amostras em códigos binários, que posteriormente são agregados em pacotes e transmitidos na rede. Este processo é realizado através de codecs, que são algoritmos usados para codificar o sinal analógico para sinal digital. Os codecs variam consoante a qualidade do áudio, a largura de banda que ocupam e os recursos que necessitam para processamento das amostras de áudio. O número de amostras recolhidas faz variar a largura de banda necessária para a transmissão, sendo importante encontrar um equilíbrio, de forma a aumentar a eficiência. Contudo, o número de amostras não é o único factor que influência a qualidade, sendo que, existem codecs, como o G.729, capazes de obter uma boa qualidade com um menor número de amostras às custas do processamento da máquina. No mercado existem vários codecs com diferentes características. Um dos mais utilizados é o Pulse-Code Modulation (PCM), também conhecido por G.711, que funciona através da amostragem da amplitude do sinal analógico. A frequência com que essa amostragem é feita é de 8 kHz, o que equivale a fazer 8000 amostragens por segundo. Cada uma destas amostras é codificada através de um código binário de 8 bits, o que faz com que o G.711 ocupe uma largura de banda de 64 kb/s. A Tabela 1 e a Figura 1 ilustram as características dos codecs e a respectiva análise de qualidade, que é feita com base na opinião de utilizadores. 5 Tabela 1 - Caracteristicas dos Codecs Codec Bit rate (kb/s) Sampling rate (kHz) G.711 64 8 G.729 8 8 G.726 16 / 24 / 32 / 40 8 G.728 16 8 GSM 13 8 O codec G.711 foi de todos o que alcançou a melhor qualidade. No entanto, este necessita de uma largura de banda de 64 kb/s. O GSM obteve uma pior avaliação, contudo, este só necessita de 13 kb/s. O codec G.729 obteve uma boa avaliação utilizando 8 kb/s mas, no entanto, este só obtém estes bons resultados à custa de capacidade de processamento. Figura 1 - Efeitos dos codecs sobre a qualidade1 1 6 Imagem adaptada de [Goode, 2002] 2.1.2 Protocolos da camada de transporte O VoIP é composto por dois tipos de fluxos, o de sinalização e o de áudio. Cada um destes fluxos tem diferentes características. O fluxo de áudio tem de ter em conta as características do discurso humano, para que este seja perceptível é essencial que seja contínuo e sem atrasos. O fluxo de sinalização tem como única característica a fiabilidade, garantindo que as mensagens cheguem ao seu destino. É portanto necessário analisar os protocolos da camada de transporte, de forma a encontrar aquele que mais se adequa às necessidades do VoIP. A transmissão de áudio em tempo real necessita de obter uma taxa de recepção contínua, porém a rede IP é imprevisível nas questões de tempo, sendo que os pacotes podem ter diferentes velocidades e, em casos de congestionamentos de rede, estes podem ser perdidos, chegarem atrasados ou com erros. A retransmissão é a solução utilizada no transporte de dados que garante a qualidade, retransmitindo os pacotes com problemas, no entanto isto implica a introdução de atrasos e de outros efeitos indesejados o que, no caso do VoIP, pode interromper o fluxo contínuo. Além disso, se o número de pacotes com problemas aumentar, a largura de banda disponível diminui, originando congestionamentos que podem levar ao descarte de pacotes e introduzindo maior degradação. Consequentemente, os buffers usados na recepção acabam por ficar vazios, levando a uma interrupção do fluxo de voz da chamada que, em casos mais críticos, pode originar a interrupção da chamada. A transmissão do fluxo de sinalização tem como único requisito garantir que as mensagens cheguem ao seu destino. Neste tipo de fluxo a retransmissão é uma solução que, apesar de haver a possibilidade de gerar atrasos, estes não têm um impacto significativo. O Transmission Control Protocol (TCP) tem um cabeçalho (header) de 20 bytes e foi desenhado para oferecer uma transmissão fidedigna entre dois pontos. Como a camada IP não oferece garantias que os pacotes cheguem com sucesso ao seu destino, cabe ao TCP garantir que através da retransmissão isso aconteça. O User Datagram Protocol (UDP) tem um cabeçalho de 8 bytes e, ao contrário do TCP, não garante a entrega das mensagens com sucesso, não fazendo controlo do fluxo de chegada, controlo de erros nem utiliza a retransmissão [Tanenbaum, 2002]. O TCP pode garantir o maior número de pacotes transmitidos com sucesso, no entanto, é maior a 7 probabilidade de interrupção do fluxo contínuo de áudio, ao contrário do UDP e, como o TCP tem um cabeçalho superior ao do UDP que em conjunto com a retransmissão, gera um aumento de dados em circulação, criando um aumento da largura de banda utilizada. Por outro lado, o UDP por não ter um controlo de congestionamento pode originar um aumento de perda de pacotes, quebrando a continuidade do fluxo mas esta pode ser reposta, através de codecs, caso as perdas não sejam elevadas. Conclui-se que a velocidade de transmissão não é mais importante que os problemas que possam ocorrer durante a transmissão. É por essa razão que o UDP é o protocolo utilizado para a transmissão do fluxo de voz, por ser um protocolo que por não ter mecanismos de recuperação de perda de pacotes nem de verificação de erros é o mais rápido e portanto aconselhável para as comunicações em tempo real [Austerberry, 2005]. O fluxo de sinalização, por não ter requisitos associados à continuidade, poderá ser transportado através do TCP. 2.1.3 Protocolos real-time O UDP permite que o fluxo de voz seja contínuo, no entanto existem outros aspectos do transporte de voz que têm de ser assegurados, nomeadamente a organização dos pacotes recebidos, que não são resolvidos pelo UDP, mas sim por protocolos desenhados especialmente para fluxos em tempo-real, como, por exemplo, Real-Time Protocol (RTP) e Inter-Asterisk eXchange (IAX22). Para que o receptor receba o áudio com a mesma taxa a que foi gerado ou para exibir os pacotes na sua ordem original, é necessário utilizar mecanismos que permitam controlar a recepção de pacotes. Para tal, foram criados protocolos que controlam a taxa de envio para que o receptor tenha o mínimo de problemas na recepção. O tempo de recepção não deve ser considerado para a reprodução dos pacotes de voz recebidos, mas sim o tempo em que foi amostrado o sinal, daí que os protocolos projectados para fluxos em tempo-real necessitem de marcar os pacotes transmitidos, apresentando o timestamp e o valor que indica a sequência a que o áudio foi gerado. Em caso de perda de pacotes, o receptor tem como melhor opção exibir um 8 valor aproximado do conteúdo que deveria ter recebido, pois a retransmissão do pacote perdido levaria mais tempo do que o necessário [Tanenbaum, 2002]. 2.2 Cenários gerais do VoIP O VoIP define três tipos de cenários conforme a tecnologia e a rede que contém, assim como a relação que estabelecem entre si. Consideram-se os seguintes cenários: Ponto-a-Ponto – este cenário, puramente VoIP, é composto só por componentes com interfaces IP e capazes de se conectar à rede IP; Gateway – este cenário é composto por duas redes distintas capazes de comunicar entre si, apesar de utilizarem tecnologias diferentes (VoIP e PSTN); Hibrida – neste cenário duas redes PSTN encontram-se interligadas através de uma rede IP. 2.2.1 Ponto-a-Ponto O cenário VoIP ponto-a-ponto é composto por dois tipos de componentes: terminais e gateways de gestão. Neste cenário poderia não existir o gateway de gestão, sendo só composto por terminais IP, porém, para um serviço de telefonia mais sofisticado é fundamental incluir o gateway para gerir o estado dos terminais e das sessões a decorrer. O gateway de gestão tem como funções controlar os acessos, gerir a largura de banda e encaminhar as chamadas consoante privilégios, limitações de recursos e estados dos terminais. Neste cenário o gateway é responsável por controlar a QoS através da gestão da largura de banda, para isso, é capaz de limitar o número de sessões a decorrer em simultâneo e restringe as chamadas consoante os recursos disponíveis na rede. O gateway baseia as suas escolhas de encaminhamento conforme a disponibilidade e os recursos da rede, optimizando a QoS. Os terminais são agentes com interface IP que permitem ao utilizador efectuar uma chamada. Podem ser de vários tipos: telefones IP, softphones2 e os telefones analógicos ligados a adaptadores que convertem o sinal de voz em pacotes IP, também conhecidos como ATAs. No 2 Software que utiliza o microfone e as colunas do computador para simular um telefone convencional. 9 caso de existir gateway de gestão, os terminais devem-se registar para poderem iniciar sessões entre si. 2.2.2 Gateway Este cenário é o mais comum de todos os cenários VoIP, é composto por diferentes redes de serviço telefónico interligadas entre si recorrendo a gateways, que são fundamentais para a conversão da sinalização e o repasse do áudio entre as diferentes redes. Nesta arquitectura que encontramos em várias organizações, tem implementado VoIP na rede interna, usufruindo da infra-estrutura IP existente, interligado com o exterior através de uma ligação para PSTN. Para implementar este cenário é necessário recorrer a dois tipos de gateways: Gateway de voz – Este componente é responsável por repassar o áudio entre as diferentes redes, tendo que: codificar/descodificar o codec de áudio usado por cada rede3, agregar e encapsular o áudio em pacotes IP. Este processo é um processo transparente para os terminais que vêem o gateway como mais um terminal. Existem dois tipos de gateway de voz: de acesso, que interliga em igual número de linhas digitais e analógicas, tipicamente encontram-se localizados na linha de assinante; e de trunking, que agrupa várias linhas analógicas numa só linha digital; Gateway de sinalização – Este componente converte as mensagens de sinalização de uma rede para a outra. Tem como principais funções traduzir mensagens e tons entre diferentes tecnologias e controlar os sinais de média da linha, requisitando tons ou notificando eventos. 2.2.3 Híbrido Este cenário é a conjugação dos cenários anteriores num só. É usado em várias organizações com filiais dispersas em diferentes áreas geográficas, com vista à interligação dessas mesmas filiais. Neste cenário, o VoIP tem a função de ligar duas ou mais PSTN, recorrendo a gateways. A sua grande vantagem é a redução no custo das chamadas internacionais. 3 Esta operação também é denominada de transcoding. 10 2.3 Protocolos em tempo-real As características do discurso humano necessitam de um fluxo de áudio contínuo. Para tal, é necessário recorrer ao uso de protocolos em tempo-real que visam minimizar os efeitos da rede. Estes protocolos, para além de ordenarem as mensagens recebidas conforme a ordem temporal pela qual foram geradas, também oferecem meios para controlar a qualidade de serviço da transmissão. Nesta secção serão abordadas várias características dos dois principais protocolos em tempo-real. 2.3.1 Real-time protocol / Real-time Control Protocol O RTP é um protocolo que tem como função auxiliar o transporte do fluxo de áudio em tempo-real. As amostras de áudio codificado são encapsuladas em pacotes RTP que é transportado através do UDP [Tanenbaum, 2002]. Assim sendo, o áudio vai sendo transportado via RTP/UDP/IP que no final terá um cabeçalho de 40 bytes em que 12 são do RTP, 8 do UPD e 20 do IP. Os parâmetros mais importantes do cabeçalho do RTP são [Schulzrinne, 2003]: (i) sequence number, que tem como objectivo numerar os pacotes para quando estes ao chegar ao seu destino sejam detectados os pacotes perdidos, ou que se encontrem fora de ordem; (ii) após ser feita a amostragem do primeiro byte de áudio a ser incluído no pacote RTP, é criado o timestamp, que reflecte o relógio na altura a que foi feita a amostragem. Este é o parâmetro que permite que as amostras de áudio sejam exibidas no seu destino, na ordem temporal correcta e à mesma taxa em que os pacotes foram gerados. O RTCP é o protocolo que, associado ao RTP é capaz de monitorizar a entrega e a QoS de um fluxo de áudio do VoIP. Porém, não faz parte das suas funções garantir a sua QoS [Tanenbaum, 2002]. O seu funcionamento é baseado na transmissão periódica de pacotes de controlo para todos intervenientes na sessão RTP. O RTCP tem como funções principais [Schulzrinne, 2003]: (i) fornecer informação sobre a qualidade da transmissão do fluxo de áudio, isto é, realiza o controlo de fluxo e congestionamento; e (ii) transportar informações de controlo da sessão, como o caso da identificação dos participantes que é utilizado para a apresentação no interface do utilizador. O RTCP utiliza os seguintes parâmetros para monitorizar a QoS: (i) o faction lost, que representa o número de pacotes RTP perdidos desde do envio da última mensagem; (ii) o interarrival jitter, que representa a estimativa da variação estatística do tempo 11 de chegada entre os pacotes RTP; e (iii) o Delay Since Last SR, sendo este o valor que representa o atraso entre recepção da última mensagem e o envio desta. 2.3.2 Inter-Asterisk eXchange O Inter-Asterisk Exchange (IAX2) é um protocolo desenhado para optimizar o transporte de fluxo de voz em tempo-real, conjugando a sinalização e a transmissão de média de uma chamada num só protocolo. Por esta razão, o IAX2 tem dois tipos de mensagens com diferentes características de transporte. As mini frames são as mensagens utilizadas pelo IAX2 para o transporte do fluxo de média, estas têm 4 bytes de cabeçalho, ao contrário do RTP que utiliza 12 bytes de cabeçalho. Outra diferença entre o RTP e o IAX2 é que o IAX2, para o transporte de mensagens de monitorização da QoS do fluxo de áudio, utiliza as mensagens destacadas para a sinalização, ao contrário do RTP que usa o RTCP para esse efeito. Isto faz com que comparando o IAX2 e o RTP, usando um codec de 8 kbps e com agregação em pacotes de 20 byte em 20 ms, o IAX2 sobrecarrega 20% e o RTP 60% da largura de banda com cabeçalhos segundo os estudos feitos por Spencer [Spencer, 2010]. O IAX2 utiliza as mensagens mini frame para o transporte de média sobre UDP. O transporte destas mensagens é não fiável, contudo, o receptor é capaz de controlar o QoS através das mensagens full frame, que contêm elementos de informação definidos pelo próprio protocolo. A Tabela 2 indica os vários elementos utilizados neste controlo. 12 Tabela 2- Descrição dos elementos do IAX24 Nome Information Element RR JITTER RR LOSS RR PKTS Descrição Indica o valor do jitter recebido. Guarda informação sobre a perda de informação para uma sessão, incluindo a percentagem da perda e o número de frames perdidas. Indica o número total de frames recebidas no contexto de uma sessão Indica o valor esperado do atraso da frame em milissegundos, RR DELAY também conhecido por timeout delay. Caso a frame ultrapasse este tempo é descartada. RR DROPPED Indica o número de frames que foram descartadas no contexto da sessão RR OOO Indica o número de frames recebidas fora de ordem no contexto da sessão. As seguintes mensagens (Tabela 3) full frame têm como função monitorizar a rede. São obrigatórias em todas as sessões e têm como objectivo fornecer informação do estado da sessão e dos seus intervenientes, sendo que esta particularidade é uma das características que tornam este protocolo único, pois é capaz, entre outras coisas, de verificar se os intervenientes se encontram online. 4 Esta tabela é adaptada do [Boucadair, 2009] 13 Tabela 3 - Descrição das Mensagens IAX25 IAX2 Message Name Pedido/Resposta Information Elements incluído Descrição Mensagem com um propósito muito similar ao PING, Pedido Não POKE contudo, só é enviada para um peer quando não existe uma sessão estabelecida. Esta mensagem é utilizada para testar a ligação entre os Pedido PING Não dois peers. Por defeito é enviada a cada 20 s e aguarda por uma resposta PONG. Resposta PONG RRJITTER, RRPKTS, RRDELAY e/ ou RRDROPPED Resposta à mensagem PING onde envia informações sobre o estado da rede. Para avaliar o lag entre os Pedido LAGRQ Não dois peers é enviada esta mensagem para comparação com o timestamp da resposta. Depois desta mensagem pelo jitter buffer, o peer remoto Resposta LAGRP Não deve responder ao pedido LAGRQ para se calcular o lag entre os dois peers. 2.4 Protocolos de sinalização O VoIP, em consonância com a telefonia antiga, implementou protocolos de sinalização. Estes têm como funções estabelecer, manter e terminar as sessões de voz. É através destes 5 Esta tabela é adaptada do [Boucadair, 2009] 14 protocolos que se definem as características da sessão, desde a definição dos intervenientes da sessão, dos codecs que são suportados e os mecanismos de segurança que serão utilizados. Os protocolos definem, não só as mensagens e os parâmetros de configuração da sessão, como as várias entidades que auxiliam o VoIP. Nesta secção serão abordados os três principais protocolos de sinalização: a recomendação H.323, SIP e IAX2. 2.4.1 H.323 A recomendação H.323 faz parte de um conjunto de recomendações definidas pelo ITU [H.323, 1998] com o objectivo de especificar a sinalização para a transmissão de conteúdos de média através de uma rede de pacotes, ou seja, o propósito para que foi criada não foi exclusivamente o VoIP, porém, foi este o primeiro protocolo a ser utilizado para a sinalização. Devido à extensão e complexidade da recomendação, o H.323 não foi bem aceite pela comunidade, sendo que foi abandonado assim que um protocolo mais simples apareceu. 2.4.2 Session Iniciation Protocol O SIP é um protocolo de sinalização que funciona na camada de aplicação. Foi desenvolvido pelo IETF com o objectivo de criar um protocolo de sinalização simples de implementar. O SIP tem como principal objectivo criar, manter e terminar uma sessão de qualquer tipo de média entre um ou vários participantes. Este foi idealizado à semelhança do HTTP e são ambos baseados no modelo pedido/resposta, com uma estrutura baseada em texto, codificam as suas mensagens de forma semelhante e o endereçamento é feito de forma semelhante à web e ao email, onde o uso do Uniform Resource Locator (URL) permite encaminhar as mensagens ao seu destino [Gonzalo, 2002]. O SIP define as entidades segundo duas categorias: user agent (UA) e servidores. Estão incluídos na categoria UA todos os terminais que permitem ao cliente efectuar uma chamada, como, por exemplo, softphone ou telefones IP. Todos têm em comum o facto de terem uma interface IP com o qual se conectam à rede. Os servidores encontram-se divididos conforme as suas funções: (i) proxy server, que medeia os pedidos em nome do UA, contactando outro proxy server até conseguir estabelecer contacto com o outro interveniente; (ii) forking server que medeia também pedidos dos UA, contactando outros servidores. Se este contacto for efectuado paralelamente, este contactará vários servidores ao mesmo tempo, caso o faça sequencialmente, 15 contactará um servidor de cada vez até encontrar um disponível; (iii) registrar é o servidor responsável por aceitar registos dos UA e usualmente encontra-se associado ao proxy server e ao redirect server; (iv) location server que, apesar de não ser uma entidade oficial do SIP, é bastante importante para o protocolo, este guarda as possíveis localizações do UA e retorna essa localização sempre que lhe é pedido; e (v) redirect server que fornece informações sobre uma localização alternativa do UA [Gonzalo, 2002]. A Figura 2 ilustra a típica transacção SIP. Nesta consegue-se perceber o modelo pedido/resposta, onde para cada acção de um dos UA existe uma resposta de outro UA. Neste caso, a Alice inicia uma sessão enviando a mensagem de pedido INVITE ao seu proxy server, que analisa e reencaminha para o proxy server do receptor que em seguida faz chegar a mensagem recebida a Bob. A mensagem INVITE inclui as características da sessão, listando todas as opções suportadas pelo terminal da Alice, para que o terminal de Bob seleccione aquelas que são compatíveis com as suas características. O proxy server do Bob responde com a mensagem 100 Trying indicando que recebeu a mensagem e que se encontra a processar a mensagem de INVITE. Após a sua recepção, o terminal alerta o Bob que a Alice lhe enviou um convite para iniciar uma sessão através de um sinal sonoro para que Bob possa tomar a decisão de atender ou não. Em simultâneo, envia a mensagem 180 Ringing que o terminal da Alice processa como um sinal sonoro que indica à Alice que Bob recebeu a mensagem e que foi alertado. Quando Bob decide atender a chamada o terminal envia a mensagem 200 OK que responde à mensagem INVITE, mencionando quais as características da sessão que irá utilizar. Alice confirma a recepção desta última mensagem com um ACK que dá início à criação de um canal de média entre os intervenientes, dando início à transmissão de voz [Rosenberg, 2002]. 16 Figura 2 - Transacção SIP de estabelecimento de sessão através de dois proxies [Rosenberg, 2002] 2.4.3 Inter-Asterisk eXchange Desde do aparecimento do VoIP que vários esforços têm sido feitos para a desenvolvimento dos seus protocolos, o mais popular, e amplamente aceite pela comunidade, é o SIP mas recentemente surgiu um novo protocolo que tem ganho o seu espaço, em especial junto da comunidade open-source [Abbasi, 2005]. O IAX2 foi desenvolvido no contexto do projecto Asterisk para garantir as comunicações entre dois servidores Asterisk. Posteriormente, deu-se o início da criação de um standard que actualmente é um draft do IETF. Com este passo deu-se o início do alastramento do protocolo para além do seu projecto inicial, sendo que é possível encontrar equipamentos e VoIP providers que suportam o IAX2. O IAX2 é um protocolo que, como o SIP, tem as funções de estabelecer, manter e terminar uma sessão. Contudo, o IAX2 não separa o fluxo de sinalização do fluxo de média e define as suas transacções segundo o modelo pedido/reposta, a codificação, a estrutura baseada em texto 17 das mensagens e utiliza um método de endereçamento semelhante ao SIP. Porém, a ideia de criar um novo protocolo surgiu da necessidade de ultrapassar alguns problemas do SIP, nomeadamente configurações de firewalls e optimização da largura de banda, que são simplificados pelo simples facto do IAX2 não ser só um protocolo de sinalização, como também de transporte de média [Boucadair, 2009]. Embora existam semelhanças entre o IAX2 e o SIP, a principal diferença é no desempenho. Em estudos comparativos entre SIP e IAX2, onde foram analisados os pacotes perdidos, atrasados e fora de ordem através de um modelo de análise baseado em opiniões (MOS) e concluiu-se que o IAX2 obtém uma melhoria de 25% em comparação com o SIP [Abbasi, 2005]. O IAX2 utiliza frames para o transporte de mensagens de sinalização e para o transporte do fluxo de média. Para tal define 3 tipos de frames consoante as características dos dados que transportam. São então definidas as full, as mini e as meta frames. As full frame têm como funções gerir o estabelecimento, terminação e controlo de sessões e controlo da rede. Estas frames são transmitidas de forma fiável, recorrendo à utilização do envio de mensagens de ACK que acusam a recepção das frames, isto é, a mensagem de ACK indica que a frame foi recebida e/ ou processada pelo receptor, caso contrário, o emissor assume que ocorreu um problema e retransmite a frame. A full frame transporta mensagens que contêm information elements (IE), estes são objectos que transportam a informação necessária para a gestão das sessões. Encontram-se definidos vários IE mas existe a possibilidade de criar novas, consoante as necessidades de quem implementa o protocolo. A Figura 3 ilustra uma típica transacção do IAX2 para estabelecer uma sessão entre dois intervenientes. Nesta, A envia a mensagem NEW, que contém a informação sobre a sessão e B responde com a mensagem ACCEPT, indicando que aceita o início do processo de estabelecimento da sessão. A responde com um ACK, de modo a confirmar a recepção da mensagem ACCEPT. B envia ring tones via mini frames e a mensagem RINGRING, para indicar que a chamada será atendida e que é confirmada por um ACK por A. Quando B atende, a chamada envia a mensagem ANSWER que é reconhecida por A com um ACK e dá-se início ao envio das mini frames transportando o fluxo de áudio [Boucadair, 2009]. 18 Figura 3 - Transacção IAX2 de establecimento de sessão [Boucadair, 2009] 2.5 Mecanismos de segurança As vantagens associadas ao uso do VoIP são reconhecidas e transportaram esta tecnologia para o êxito. No entanto, este também tem as suas desvantagens que estão relacionadas com a segurança. Alcançar a segurança entre dois pontos é um grande desafio que não pode ser resolvido através dos mecanismos utilizados para o transporte de dados. Nesta secção serão analisados os protocolos de segurança que são utilizados para garantir a confidencialidade e a integridade do fluxo de sinalização e de média. 2.5.1 HTTP Digest Authentication O HTTP Digest Authentication é um mecanismo de segurança utilizado pelo HTTP e adoptado pelo SIP para proporcionar autenticação de mensagens e protecção contra ataques por replicação. Este é um método simples, usado por um servidor ou por um UA para desafiar outro UA a identificar-se através do seu username e password. Para evitar que as credenciais, ou seja, a password do UA, sejam transmitidas através da rede de forma visível sendo passível de ser capturada por terceiros, o SIP pode conjugar o HTTP Digest Authentication com o algoritmo Message Digest 5 (MD5) hash. Pode ser usado um MD5 19 hash único, denominado de nonce para que não possa ser replicado em outros pedidos de autenticação por um intruso. O HTTP Digest Authentication é um método simples que pode ser usado pelo SIP para autenticação das suas entidades, contudo, não é capaz de garantir a confidencialidade e a integridade [Rosenberg, 2002]. Embora seja simples, é um método que não é recomendado por ser um mecanismo fraco de protecção [Kuhn & Walsh, 2005]. 2.5.2 TLS/DTLS O protocolo Transport Layer Security (TLS) é baseado no protocolo Secure Sockets Layer (SSL) que é usado para garantir a segurança de Web Sites. O SIP utiliza o TLS para cifrar as mensagens de sinalização ao nível da camada de transporte por forma a garantir a confidencialidade e a integridade [Rosenberg, 2002]. O protocolo TLS é composto por duas camadas: a TLS Transport e a TLS Handshake. A primeira é utilizada para garantir que o mecanismo de transporte é fiável e privado, isto é, as mensagens enviadas por esta camada são cifradas para não serem interceptadas por terceiros. A TLS Handshake é utilizada para negociar o algoritmo que será utilizado para estabelecer a conexão TLS Transport e oferecer um método de autenticação [Sinnreich & Johnston, 2006]. Neste processo, o servidor envia o seu certificado ao cliente, que verifica a sua autenticidade, isto no caso de só o servidor se autenticar perante o cliente, que é a situação mais usual. Porém, é possível haver uma autenticação mútua, nesta situação, após o servidor se autenticar, requer ao cliente que se autentique. Após o processo de autenticação, o cliente gera uma chave e partilha com o servidor e, no fim do processo, é gerada uma chave que ambos partilham e que será usada para cifrar o trafego do TLS Transport [Shen, 2010]. Este processo só pode ser utilizado entre entidades próximas, não estabelecendo a segurança em todo o percurso. Isto faz com que seja preciso recriar todo processo para cada entidade por onde as mensagens têm de passar. O grande entrave do TLS é o de funcionar sobre TCP para proporcionar um transporte viável. O protocolo Datagram TLS (DTLS) adapta o TLS para funcionar sobre UDP, este partilha as mesmas vantangens do TLS, garantindo confidencialidade, cifrando o fluxo entre elementos e autenticação através de certificados [Shen, 2010]. Segundo estudo de Eun-Chul Cha, 20 o DTLS obtém melhor rendimento que o TLS, apresentando menor atraso, porém em caso de congestionamento o DTLS obtém piores resultado por não ter controlo de congestionamento, demorando a recuperar [Cha & Choi, 2007]. 2.5.3 ZRTP O ZRTP é um protocolo que utiliza as extensões do cabeçalho do RTP para gerir as chaves utilizando o algoritmo Diffie-Hellman (DH), com o objectivo de fornecer um acordo mais seguro para a troca de chaves para SRTP, que não necessita de recorrer aos protocolos de sinalização. Este protocolo funciona através do reaproveitamento de chaves secretas partilhadas em sessões anteriores, ou seja, após a primeira negociação da chave, esta fica guardada em cache, o que elimina a necessidade de recorrer a certificados para autenticação e previne ataques Man-in-themiddle (MitM) [Sinnreich & Johnston, 2006]. Apesar de ser um mecanismo seguro, este é susceptível a ataques Diffie-Hellman MitM. Para prevenir este ataque é essencial garantir que a mensagem não foi alterada no decorrer do processo, assim sendo, o ZRTP utiliza um hash para garantir a integridade do acordo DH [Johnston, 2004]. O facto de utilizar os cabeçalhos do RTP faz do ZRTP uma boa escolha para efectuar o acordo de chaves, pois apesar de existirem vários protocolos de sinalização, estes na sua maioria utilizam o RTP para transmitir o fluxo de média [Johnston, 2004]. 2.5.4 SRTP O secure RTP (SRTP) é uma extensão do RTP que permite garantir a confidencialidade, a autenticidade a integridade e garante protecção contra ataques de replicação para as sessões RTP [Dantua, 2009]. O fluxo de áudio do RTP, antes de ser transmitido via UDP, passa pelo SRTP que adiciona processos de cifra e de integridade ao fluxo. Para isso, o SRTP usa chaves simétricas e cifras, contudo, não está incluído nas suas funcionalidades gerir o processo de criação das chaves da sessão, necessitando de outros protocolos como o ZRTP. Caso contrário, a troca será efectuada através do fluxo de sinalização, podendo este estar protegido (recorrendo ao TLS) ou não [Johnston, 2004]. Para além de garantir a segurança do fluxo de áudio do RTP, o SRTP também é utilizado para o fluxo do RTCP. 21 O SRTP utiliza a cifra Advanced Encryption Standard (AES) podendo escolher chaves com 128 ou 256 bit de tamanho, obrigando a uma maior capacidade de processamento [Sinnreich & Johnston, 2006]. Nem toda a informação é cifrada, os cabeçalhos do RTP contêm informação importante para a sincronização do fluxo, o que obriga a que estes cabeçalhos não sejam cifrados [Dantua, 2009]. O SRTP produz uma chave, master key, que é utilizada por ambos intervenientes da sessão,esta é usada para proteger o fluxo da sessão nas duas direcções [Sinnreich & Johnston, 2006]. A grande desvantagem do SRTP é de necessitar de um protocolo extra para gerar, distribuir e gerir as chaves. A autenticação é um processo facultativo que pode recorrer a um hash de autenticação ou a um HMAC, contudo, o uso desta funcionalidade acresce 32 a 80 bits ao cabeçalho do pacote SRTP [Sinnreich & Johnston, 2006]. 2.5.5 IPSec O Internet Protocol Security (IPSec) tem como objectivo oferecer um mecanismo de cifra interoperável e de qualidade que funciona ao nível da camada IP. O IPSec oferece integridade, autenticação e protecção contra ataques por replicação recorrendo a dois protocolos: Encapsulat Security Payload (ESP) e Authentication Header (AH). Este protocolo opera em dois modos: túnel e transporte. No modo transporte os dados transportados nos pacotes IP são cifrados, sendo que os cabeçalhos do IP e IPSec ficam de fora do processo. No caso do modo túnel, quer os dados, quer o cabeçalho IP, são cifrados e incluídos num novo pacote IP em que os endereços IP são referentes aos nós de rede, sendo que o novo cabeçalho IP e o cabeçalho do pacote IPSec são transportados à vista, porém o intruso nunca terá acesso ao endereço da origem e de destino do pacote [Kuhn & Walsh, 2005]. 22 Capítulo 3 Qualidade de Serviço e Segurança A qualidade de serviço e a segurança são factores críticos para o bom funcionamento da telefonia e do qual depende o seu sucesso. A PSTN tem meios que asseguram a QoS e a segurança, isto porque recorre a circuitos dedicados, reservados no início da chamada para garantir a QoS. Os circuitos reservados não são partilhados por várias ligações, daí que um intruso para ter sucesso necessita de ter acesso aos recursos físicos. Por outro lado, a telefonia IP é um meio partilhado por várias chamadas e outros serviços, isto faz com que a QoS seja afectada, para além de que simplifica os ataques. A QoS no VoIP tem como objectivo garantir que os pacotes de áudio cheguem ao seu destino com o mínimo de erros, sem perdas elevadas e pela sua ordem temporal. Porém, devido às características da rede IP, esta torna-se uma tarefa difícil de concretizar. A segurança garante que terceiros não interfiram, escutem a chamada ou indisponibilizem o sistema de telefonia. Esta requer a utilização de métodos que protejam o VoIP contra ameaças mas que degradam a qualidade da ligação [Jianyong & Cunying, 2009].. Neste capítulo pretende-se analisar a relação entre a qualidade e a segurança, percebendo quais são, e como se medem, os factores que caracterizam a QoS, como estes se interligam com a segurança e compreender quais as ameaças a que o VoIP se encontra sujeito. 3.1 Factores que caracterizam a QoS A qualidade de serviço tem como objectivo oferecer diferentes prioridades conforme os diferentes fluxos de média. Cada fluxo tem as suas características que é preciso respeitar para 23 garantir o bom funcionamento do serviço. No caso da telefonia é necessário garantir que fluxo seja contínuo. Existem vários factores que podem interferir com a QoS da telefonia e estes variam conforme a rede (PSTN ou IP). A QoS na rede IP pode ser bastante imprevisível, o facto de ocorrer uma multiplexação de tráfego faz com que o fluxo de voz partilhe os recursos com outros tipos de fluxo com requisitos de qualidade diferentes. A partilha da infra-estrutura com vários fluxos pode gerar congestionamentos e, consequentemente, dar origem a atrasos e/ ou descarte de pacotes de VoIP, interrompendo o fluxo contínuo. Para provisionar o fluxo contínuo que o serviço de voz necessita é importante controlar as variações de tempo entre pacotes, controlar atrasos e perdas dos mesmos. Se ocorrerem variações no decorrer do tempo, o discurso torna-se imperceptível; o atraso interrompe a continuidade da conversação e, se este for elevado, leva a interrupção da chamada; a perda de pacotes leva a perdas de informação do sinal original, complexando o seu processo de reconstrução; a largura de banda é um factor que tem evoluído nos últimos tempos, no entanto, esta limita a capacidade de chamadas que se podem efectuar. Assim sendo, a qualidade de serviço tem de garantir que o tráfego é contínuo e constante para satisfazer o cliente. Na rede IP os quatro principais factores de QoS para o VoIP são: Atraso; Jitter; Perda de pacotes; Largura de banda. 3.1.1 Atraso O atraso é calculado através do período de tempo em que o sinal demora a percorrer o caminho entre a fonte e o ponto de destino, num só sentido da chamada, mais precisamente, é o tempo em que demora o emissor a capturar a fala até a mensagem ser ouvida pelo receptor. O atraso degrada a transmissão que pode desagradar o utilizador. Em estudos realizados pela ITU, na recomendação G.114 [G.114, 2003] determinaram, através de experimentação, a reacção dos utilizadores face aos valores de atrasos obtidos. Os atrasos registados podem ser utilizados como padrão: 24 0 – 150 ms - neste intervalo de tempo a qualidade de voz é aceitável; 150 – 400 ms - é aceitável, inclusivé para chamadas internacionais, contudo, o administrador deverá estar sobre alerta; Superior a 400 ms - atrasos superiores a este valor não são aceitáveis, sendo a chamada interrompida. O atraso é contabilizado através da soma de todos os atrasos gerados pelas várias fontes no decorrer da chamada, assim como mostra a fórmula (1). Atraso = Atraso fonte + Atraso rede + Atraso receptor6 Estes atrasos podem dividir-se em dois tipos: atraso fixo e atraso variável, o primeiro é referente a atrasos relacionados com o processamento de sinal, são o caso do Atraso fonte e do Atraso receptor, o segundo encontra-se relacionado com os atrasos devido à propagação do sinal na rede, onde se inclui o Atraso rede. No Atraso fonte podemos incluir os seguintes atrasos: Atraso com o processamento do codec - tempo que demora a criar blocos de amostras do sinal; Atraso com o algoritmo - tempo que demora a comprimir as amostras baseado nas características humanas; Atraso com o empacotamento - tempo para preencher um pacote com valores de amostras do sinal; Atraso com a serialização - tempo para transmitir os pacotes via rede. Pode-se considerar o Atraso rede dividido em dois factores: Atraso com a transmissão - este atraso é ditado pelo tempo que demora a transmitir e a propagar os pacotes pela rede. Atraso em filas de espera - o tempo de espera nas filas de espera dos vários equipamentos de rede. No Atraso receptor são incluídos todos os atrasos relacionados com a recepção do sinal de voz: 6 Formula retirada de [Guillen & Chacon, 2009] 25 Atraso de eliminação de jitter - tempo que demora a armazenar pacotes num buffer de forma a serem exibidos na ordem e tempo correcto; Atraso de processamento - tempo que demora a processar os pacotes de voz recebidos para serem exibidos. Para além dos atrasos mencionados, considera-se também como atraso, o tempo gasto no processamento da cifra. Este atraso varia consoante vários factores, tal como a complexidade do algoritmo utilizado e a capacidade de processamento do CPU. O atraso é uma das causas da degradação da conversação, este pode levar à interrupção da chamada ao ponto de não ser possível dar continuidade à sessão. Uma das ameaças mais conhecidas do VoIP é herdada da rede IP, denial of service (DoS), pode originar atrasos suficientemente elevados para interromper o fluxo. 3.1.2 O Atraso Jitter rede varia para cada pacote consoante a rota escolhida, isto é, o caminho que cada pacote assume pode diferir criando variações no tempo que demora a propagar, criando atrasos variáveis ao longo da chamada, a que se dá o nome de jitter. O jitter é a variação estatística dos atrasos de entrega dos pacotes que ocorrem durante a recepção, esta variação é um factor importante relativamente à degradação da QoS. Os seus efeitos, quando acentuados, tornam a conversa imperceptível, isto porque se os pacotes sofrerem atrasos variáveis de entrega irá quebrar a continuidade do tráfego em diferentes pontos da sessão, o que leva o receptor a sentir as interferências do jitter. Considera-se a fórmula do cálculo do jitter, a fórmula que se encontra descrita no RFC 3550, “RTP: A Transport Protocol for Real-Time Applications” [Schulzrinne, 2003], que é calculado da seguinte forma: Onde é o jitter do pacote, os dois pacotes. 26 o jitter do pacote anterior e o atraso entre Os efeitos do jitter podem ser sentidos pelo receptor através da quebra de palavras, gerando intervalos de silêncio, bem como a supressão de espaços de silêncio entre palavras, o que leva à sua unificação. Estes efeitos fazem com que a conversa perca o sentido e deixe de ser perceptível pelo receptor. A Figura 4 ilustra as consequências deste efeito numa conversação entre a fonte Alice e o destino Bob, a Alice cumprimenta o Bob “Olá Bob”, no entanto o Bob recebe a mensagem “O lábo b”. Durante o percurso do fluxo de voz, a mensagem da Alice foi alterada pelos efeitos do jitter, criando inconsistências o que faz com que o Bob receba uma mensagem imperceptível. Figura 4 - Efeito do jitter numa chamada O buffer jitter permite minimizar os efeitos do jitter, este permite armazenar os pacotes recebidos para serem exibidos pela ordem temporal correcta, eliminando a supressão e a introdução de silêncio. Contudo, se os pacotes recebidos excederem o valor da capacidade do buffer este irá descartar o excedente e, consequentemente, originar degradação. O tamanho da capacidade do buffer terá de ser aceitável, pois se este for reduzido ocorrerá descarte de pacotes e se for elevado levará a um aumento do atraso. 27 3.1.3 Pacotes Perdidos Na infra-estrutura da rede IP os vários fluxos são transmitidos de forma indiferenciada, o que pode produzir congestionamentos e, consequentemente, ocorrer o descarte de pacotes de forma indiscriminada, inclusivé pacotes de voz. A perda de pacotes para certos serviços, nomeadamente, o e-mail não é critico, pois podem ser retransmitidos. No caso do VoIP, a retransmissão cria aumento da largura de banda e não garante que o pacote retransmitido chegue a tempo de ser exibido. No entanto, a perda de um pacote não é crítico, sendo que os pacotes de voz são pequenos contendo entre 12,5 a 62,5 ms [Walsh & Kuhn, 2005] de áudio, a perda desta quantidade de áudio é insignificante no conjunto da chamada. Esta perda pode ser compensada através de codecs, capazes de fazer a correlação entre o pacote recebido e o pacote que irá receber depois de ter perdido um pacote, ou substituí-lo por um semelhante ao último recebido. Acontece que, quando ocorrem perdas de pacotes, não é só um pacote que fica perdido mas vários, o que aumenta a degradação. Estas perdas podem ocorrer em filas de espera nos equipamentos ou em buffers. Quando as perdas atingem valores inferiores a 1% já podem tornar a chamada imperceptível, apesar de o codec poder ajudar a recuperar. No entanto, quando as perdas excedem os valores de 5%, o cenário fica catastrófico e nem os codecs podem ajudar a recuperar [Walsh & Kuhn, 2005]. 3.1.4 Largura de Banda A largura de banda, apesar de nos dias de hoje não ser um factor crítico para o VoIP, é um limitador da capacidade do número de chamadas. Apesar de ter ocorrido uma evolução nos valores de capacidade da rede, esta é partilhada por vários serviços com diferentes necessidades, o que torna a largura de banda num factor limitativo do número de chamadas em simultâneo. Um dos factores que aumenta a carga da largura de banda é a utilização de protocolos de segurança, isto leva a que seja essencial reavaliar o número de chamadas, tendo em atenção o aumento de dados gerado pelos protocolos de segurança. Uma má avaliação pode levar à exaustão da largura de banda, podendo levar à indisponibilidade do serviço. Em caso de um ataque, a largura de banda pode ser um dos factores de QoS a ser comprometido, tal como, uma 28 ameaça de denial of service, a largura de banda é consumida até à exaustão impedindo que utilizadores legítimos deixem de ter acesso ao serviço [Kuhn & Walsh, 2005]. Uma técnica para a optimização da largura de banda é a utilização de codecs. A utilização de codecs reduz significativamente o uso da largura de banda mas têm como desvantagem recorrerem a algoritmos mais complexos e aumentarem o atraso relativo ao processamento do codec, por exemplo, considerando 40 bytes de dados para serem transmitidos a 64 kb/s demora 5 ms, se forem transmitidos a 8 kb/s demora 40 ms [Goode, 2002]. Outro método para optimizar o uso da largura de banda encontra-se relacionado com a detecção de actividade de voz e da supressão de silêncio. Este método detecta os momentos de actividade e os momentos de silêncio para reduzir o número de pacotes enviados, suprimindo os espaços de silêncio na fonte. Quando os pacotes chegam ao seu destino, o receptor gera os espaços de silêncio que foram suprimidos. E assim optimiza-se a largura de banda, impedindo o envio de pacotes com silêncio. 3.2 Modelos de Medição de QoS A medição da qualidade de um serviço de telefonia é bastante importante para garantir a satisfação do utilizador. Como a rede IP na sua generalidade não consegue garantir a QoS exigida pelo VoIP, torna-se essencial que o sistema VoIP se encontre monitorizado de modo a detectar eventuais falhas. Neste sentido, foi desenvolvido um estudo sobre modelos de medição da QoS. Em [Takahashi, 2004] encontram-se descritos modelos que quantificam a QoS da telefonia. Esses modelos encontram-se divididos em duas grandes classes: subjectivos e objectivos. Os modelos subjectivos baseiam-se na percepção que os utilizadores têm do áudio para quantificar a QoS, a métrica MOS, que é a mais utilizada por estes modelos. Os modelos objectivos medem as características físicas da telefonia de modo a estimar a qualidade. Nos modelos subjectivos a qualidade pode ainda ser avaliada em dois contextos: a qualidade audível e a qualidade da conversação. A qualidade audível é avaliada através da opinião que o utilizador tem sobre o áudio que foi reproduzido. Já a qualidade da conversação é avaliada 29 através da percepção que o utilizador tem sobre uma chamada onde ocorre interacção entre os intervenientes [Takahashi, 2004]. Para avaliar a QoS do sistema VoIP é realizada uma experiência onde se testa a QoS de uma chamada através de entrevistas ao utilizador, colocando questões sobre a qualidade do áudio que acabaram de ouvir. Tipicamente utilizadores usam uma escala para responder às questões: (1) Mau, (2) Pobre, (3) Razoável, (4) Bom, (5) Excelente. O resultado do valor MOS é calculado com a média de todas as opiniões recolhidas [Takahashi, 2004] . Os modelos subjectivos baseados na percepção do utilizador aproximam os resultados à realidade, oferecendo a possibilidade de reconhecer as características das limitações reconhecidas pelos utilizadores, como por exemplo, um surto de perda de pacotes que ocorra no inicio tem um valor de MOS superior do que um surto que ocorra no fim da chamada, segundo os utilizadores. Isto acontece porque as pessoas têm tendência a recordar mais facilmente os eventos que ocorreram mais recentemente, daí que atribuam maior qualidade à chamada onde o surto ocorreu ao início. Outra limitação pode passar por as pessoas não se aperceberem de um surto que ocorra durante um silêncio ou durante um som contínuo [Clark, 2001]. Apesar desta aproximação com a realidade ser uma grande vantagem, estes modelos requerem muito tempo e têm um custo elevado. Para além de que é impossível utilizar estes modelos para uma monitorização em tempo real, isto porque, se em algum momento da ligação a qualidade se degradar, os utilizadores poderão não detectar instantaneamente os efeitos desta. Os modelos objectivos avaliam a qualidade analisando as características físicas da chamada. No caso dos modelos Packet-layer Objective é feita a recolha de informação dos pacotes como seja a contagem de pacotes RTP/RTCP, de onde se retira a informação relevante, tal como a taxa da perda de pacotes, atrasos e jitter. Recorrendo a um determinado algoritmo, os valores obtidos são usados para estimar a qualidade e os resultados são convertidos para a escala MOS [Takahashi, 2004]. Este modelo, por não recorrer à opinião de pessoas, pode ser utilizado para monitorizar em tempo real as ligações, detectando inclusivé o início da degradação, mesmo quando este não é perceptível ao ouvido humano, oferecendo ao administrador a possibilidade de uma resolução mais rápida. 30 3.3 Riscos de segurança na utilização do VoIP O VoIP, assim como a telefonia tradicional, encontra-se exposto a ameaças. Mas se a PSTN tinha ameaças específicas da telefonia, o VoIP para além destas também é afectado pelas ameaças com origem na rede IP. Proteger a telefonia tradicional é um processo mais simples, visto que a maioria das ameaças a que se encontra sujeita necessitam de acesso físico aos recursos, para além de que é necessário ter conhecimentos sobre a infra-estrutura. A proteção do VoIP exige processos mais complexos e um conhecimento mais abrangente, isto porque não é necessário acesso físico aos recursos e porque com conhecimentos mínimos da rede IP é possível executar a maioria dos ataques. Torna-se então essencial conhecer as ameaças a que o VoIP se encontra susceptível, para assim definir as medidas de segurança que permitam proteger o VoIP contra comportamentos hostis. A avaliação dos riscos VoIP é feita através do levantamento das ameaças a que este se encontra sujeito, permitindo assim qualificar cada ameaça para se poder quantificar o seu risco. As ameaças encontram-se divididas nas seguintes categorias: Ameaças Sociais; Intercepções; Recolha e modificação; Negação de Serviço. A análise das ameaças aqui apresentada é baseada no documento “VoIP Security and Privacy. Threat Taxonomy” [Endler & Ghosal, 2005] apresentado pela organização VoIP SA (Voice over IP Security Association), uma organização sem fins lucrativos cujo objectivo é contribuir para o aumento da segurança desta tecnologia. Nesta secção não serão abordadas a totalidade das ameaças documentadas no documento da VoIPSA mas sim as mais significantes para a realização deste trabalho, mormente aquelas que exigem controlos de segurança que podem afectar a QoS. 31 3.3.1 Ameaças Sociais Os ataques incluídos nesta categoria têm em comum uma ligação próxima entre a vítima e o atacante. A execução deste ataque implica a interacção social entre o intruso e a vítima. As ameaças em contexto social encontram-se divididas em três: Deturpação; Roubo de serviço; Contacto não desejado. Deturpação O modus operandi de um ataque deste género implica a manipulação de informação de forma intencional para ludibriar a vítima. A execução deste ataque implica a deturpação de informação, num contexto puramente social, apresentando à vítima informações falsas de modo a levar esta a acreditar que se encontra a comunicar com uma entidade de confiança. O intruso pode falsificar a identidade, a autoridade, os direitos ou o conteúdo [Endler & Ghosal, 2005], daí que se pode dividir esta ameaça segundo o foco da falsificação: Deturpação de identidade; Deturpação de autoridade; Deturpação de direitos; Deturpação de conteúdo. A Figura 5 ilustra um ataque de deturpação de identidade. Nesta o intruso entra em contacto com Bob fazendo se passar pela Alice. O intruso pode falsificar o seu nome, o seu número, o seu domínio, a sua organização ou o seu endereço correio electrónico [Park, 2009], para se fazer passar pela Alice. 32 Figura 5 - Fluxo de um ataque por deturpação de identidade7 Roubo de serviço Esta ameaça coloca em causa os benefícios económicos do serviço. Esta é uma ameaça que não se encontra restrita ao VoIP sendo caracterizada como a prestação de um serviço não remunerado. Por outras palavras, o utilizador executa indevidamente uma chamadas sem pagar. O roubo de serviço pode incluir [Endler & Ghosal, 2005]: Eliminação e alteração, não autorizada, dos registos de facturação; Contornar a facturação de forma não autorizada; Cobrança não autorizada do serviço. Contacto não desejado Esta ameaça consiste em qualquer tentativa de contacto indesejado, com o objectivo de incomodar, humilhar ou ameaçar a vítima, podendo recorrer à distribuição de publicidade e ao confrontar de conteúdos ilícitos, tais como a apresentação de pornografia, assediar ou extorquir a vítima. 7 Figura adaptada de [Otterstedt, 2001] 33 O spam sobre telefonia IP (SIPT) incluído neste grupo, é um ataque que mereceu muita popularidade, assim como o spam via correio electrónico. Na telefonia tradicional já existia um spam através das chamadas de publicidade de Call Center. No entanto, o spam na PSTN tem menor volume do que o SPIT, devido a um aproveitamento do reduzido custo das chamadas VoIP. A vítima do ataque é inundada, por exemplo, com mensagens de INVITE, pretendendo estabelecer uma sessão de voz ou de vídeo com a vítima, assim como mostra a Figura 6 [Park, 2009]. Figura 6 - Fluxo de um ataque de contacto não desejado8 3.3.2 Intercepções Esta categoria de ameaças tem como objectivo monitorizar, capturar e reproduzir o fluxo da sessão recorrendo a processos ilegais. Esta ameaça incide na sessão de voz entre os intervenientes, Alice e o Bob, sendo consubstanciada pela intercepção por um intruso (Figura 7) levando à perda da confidencialidade. O VoIP encontra-se muito susceptível a esta ameaça, colocando em perigo a confidencialidade do sistema VoIP. Esta categoria pode-se dividir nas seguintes ameaças mais específicas: 8 Obtenção de padrões de chamada; Captura de fluxo; Recolha de contactos; Reconstrução de chamada. Figura adaptada de [Otterstedt, 2001] 34 Figura 7 - Fluxo de uma ameaça de Intercepção9 Obtenção de padrões de chamada A obtenção de padrões de chamada consiste em analisar o fluxo da chamada com o objectivo de registar padrões de comportamento e aceder a informações, este ataque inicia-se com a captura dos pacotes da sessão seguida da análise, de modo a registar as horas, a identificação dos intervenientes e o tipo de protocolo e codecs. Com este registo o intruso tem um conhecimento de padrões comportamentais que lhe permitem conhecer os intervenientes e recolher informação útil para pôr em prática outros ataques. Captura de tráfego A captura de fluxo é um ataque que tem a sua origem na telefonia tradicional, porém para executar esta ameaça na PSTN é essencial ter acesso físico à rede. No caso do VoIP essa 9 Figura adaptada de [Otterstedt, 2001] 35 restrição não se aplica. Esta ameaça consiste na captura não autorizada do fluxo de média da sessão, para mais tarde reconstruir e reproduzir. Recolha de contactos A recolha de contactos consiste em capturar um número considerável de identificadores, como o nome de utilizadores, números de telefone ou e-mails. Para isto, o intruso fica à escuta na rede, recolhendo o maior número de identificadores, criando uma base de dados de conhecimento que pode ser usada mais tarde noutros ataques. Reconstrução de chamada É considerado um ataque por reconstrução de chamada todas as acções que reconstruam, de forma não autorizada, o fluxo de média de uma sessão. Neste tipo de ataques estão incluídas as acções de monitorização, reprodução, tradução, extracção e reconhecimento do áudio da chamada sem o consentimento dos intervenientes. 3.3.3 Recolha e modificação As ameaças relacionadas com a intercepção e modificação afectam o sistema VoIP, colocam em causa a integridade e a confidencialidade das comunicações. O objectivo deste tipo de ameaças consiste em interceptar e/ ou alterar a informação dos pacotes, podendo eliminar, injectar ou substituir por outro conteúdo. Neste grupo de ameaças estão incluídos os seguintes ataques: Impedimento de chamada; Redireccionamento de chamada; Alteração de mensagens; Personificação de chamadas. Impedimento de chamada É considerada uma ameaça todo o processo não autorizado que impeça a transmissão das mensagens de sinalização, podendo para isso eliminar ou recusar qualquer pacote com mensagem de sinalização. O intruso intercepta as mensagens de uma sessão e interrompe o seu 36 caminho, por exemplo, impedindo que as mensagens de ACK cheguem ao seu destinatário interrompendo o processo de estabelecimento da chamada ou eliminando as mensagens de INVITE, fazendo com que a vítima não consiga estabelecer qualquer chamada. Este tem como resultado o aumento do atraso da chamada, que pode resultar do bloqueamento das chamadas para um terminal, da introdução de erros ou da interrupção da chamada quando esta ainda se encontra a decorrer. Redireccionamento de chamada O redireccionamento tem como objectivo interferir com o encaminhamento do fluxo da sessão, utilizando processos não autorizados. O seu objectivo é o de intrometer numa sessão um elemento comprometido, fazendo com que o tráfego passe por este elemento antes de chegar ao seu destino como mostra a Figura 8. No âmbito mais geral de segurança em redes, este ataque é habitualmente referido por Men In The Middle (MITM). Figura 8 - Fluxo de um ataque de redireccionamento de chamada Alteração de mensagem Esta ameaça baseia-se em qualquer processo não autorizado que altera a comunicação. O intruso intercepta e altera a chamada das suas vítimas com o objectivo de se fazer representar por terceiros ou para fornecer informação incorrecta [Otterstedt, 2011]. As modificações podem ocorrer no áudio, no identificador do emissor, na informação de estado da vítima, entre outros. 37 Com isto, o intruso pode-se fazer passar por outra pessoa ou entidade de confiança, levando a vítima a confiar nele. Personificação de chamadas Esta ameaça consiste em qualquer acção que modifique o fluxo da chamada com o intuito de ludibriar a vítima, de modo a que esta acredite que se encontra a comunicar com uma entidade de confiança, ou ainda com o intuito de interromper o fluxo da chamada. Neste tipo de ataques o intruso pode injectar, apagar ou modificar o fluxo de média de modo a atingir os seus objectivos. 3.3.4 Negação de Serviço As ameaças incluídas nesta família colocam em causa a disponibilidade do serviço VoIP, levando à interrupção do serviço. Têm como principal objectivo irritar a vítima de forma intencional, sem ter um interesse pessoal. Nesta categoria encontram-se incluídos os seguintes ataques: Flooding de chamadas – o intruso injecta uma elevada quantidade de pacotes válidos, recolhidos em sessões que já terminaram ou pacotes inválidos alterados, que podem conter média ou sinalização; Deformação de mensages e pedidos – o intruso cria e envia mensagem com erros, por exemplo, mensagens com erros de sintaxe, com o objectivo de interromper o serviço; Sequestro de chamada – O intruso intercepta a sessão através de processos ilícitos, com vista a provocar indisponibilização o sistema VoIP. 3.3.4 Subconjunto de riscos resolvidos no VoIP Na secção anterior foram apresentadas as ameaças mais relevantes do VoIP. Porém, neste trabalho só serão abordadas as ameaças que podem ser protegidas através de controlos de segurança que utilizem a cifra, para a codificação e autenticação, já que são estas técnicas que directamente afectam a QoS. Neste sentido, só serão abordadas as ameaças incluídas nas categorias Intercepções e Recolha e modificação. O recurso a mecanismos de cifra permite 38 proteger o sistema VoIP, garantindo a confidencialidade, a integridade e a autenticidade da origem da chamada. Os mecanismos de cifra podem ser aplicados ao fluxo da sinalização e/ ou ao fluxo de média. As ameaças podem ser protegidas aplicando a cifra a diferentes fluxos, como se pode observar na Tabela 4. De todos os ataques, só o Alteração de Mensagem necessita que os dois tipos de fluxos sejam cifrados. Tabela 4 - Identificação das ameaças e cifra associada Ameaças Obtenção de padrões de chamada Cifra de Sinalização X X Captura de tráfego Recolha de contactos Cifra de Média X X Reconstrução de chamada Alteração de Mensagem X Impedimento de chamada X Redireccionamento de chamada X Personificação de chamadas X X Ao cifrar o conteúdo da sessão, o sistema VoIP fica protegido contra estas duas categorias de ameaças. No entanto, os modelos mais utilizados pelos sistemas VoIP não oferecem confidencialidade total da chamada, isto porque os cabeçalhos dos protocolos nem sempre podem ser cifrados na sua totalidade, devido a elementos da rede intermédios que necessitam da informação dos intervenientes para reencaminhar o fluxo [Park, 2009]. 39 3.4 Relação entre QoS e segurança no VoIP Como ficou evidenciado, a qualidade de serviço e a segurança encontram-se interligadas. A qualidade de serviço pode ser degradada por ameaças do VoIP, por este se encontrar desprotegido, mas também por mecanismos de segurança que o protegem. Proteger uma chamada VoIP de modo a garantir a sua confidencialidade e a integridade, assim como a autenticidade dos intervenientes, implica habitualmente a utilização de mecanismos de cifra. Os mecanismos de cifra, quando aplicados ao fluxo de áudio, protegem a privacidade da chamada, quando aplicado ao fluxo de sinalização garantem a integridade da mensagem e autentica a origem da sessão. No entanto, estes mecanismos apresentam efeitos secundários: aumento do atraso e sobrecarga da rede [Kuhn & Walsh, 2005]. A utilização de cifras no fluxo de VoIP através de protocolos de segurança faz com que haja um acréscimo de informação gerada pelos novos cabeçalhos, sobrecarregando a rede e por isso limitando a capacidade do número de chamadas simultâneas, ou mesmo a possibilidade de efectuar chamadas. O processo de cifra introduz atraso durante duas operações: ao cifrar e ao decifrar. Esse atraso varia conforme os dois métodos que podem ser utilizados: cifra de stream ou de bloco. A cifra de stream é aplicada à medida que são gerados pacotes e para tal exige um atraso reduzido, para não afectar a continuidade do fluxo em tempo-real, caso contrário pode levar ao aumento do jitter. Já a cifra de bloco cria um atraso superior, pois necessita de aguardar por um bloco de, por exemplo, 128 bits de voz, que são cifrados em bloco e enviados através da rede, incorrendo-se num atraso correspondente a um bloco [Kuhn & Walsh, 2005]. O atraso superior que este gera é tolerado devido à utilização de buffers, aumentando simplesmente o atraso inicial, mas não sendo este um factor crítico para a QoS da telefonia. Conclui-se que, para implementar a segurança de um sistema VoIP é necessário tomar decisões, analisando os custos e benefícios de cada um dos mecanismos. Cabe ao administrador seleccionar o mecanismo de segurança mais apropriado, incluindo na sua avaliação o valor do agravamento, que estes mecanismos criam na QoS. 40 Capítulo 4 Política de utilização da cifra no VoIP No capítulo anterior foi analisada a relação entre a segurança e a qualidade de serviço no VoIP. Concluiu-se que a implementação de mecanismos de segurança degrada a QoS, que pode ser mais ou menos elevada, consoante o mecanismo seleccionado. É então importante escolher estes mecanismos segundo um objectivo: se é desejado um sistema com mais segurança, ou uma melhor QoS. Primeiramente é essencial perceber qual é o impacto que cada mecanismo de segurança tem sobre a qualidade do serviço, fazendo uma comparação entre a qualidade que é oferecida quando o sistema VoIP se encontra desprotegido e a qualidade que é oferecida quando se recorre a estes. Dentro dos vários mecanismos existentes para o VoIP, focou-se o estudo do impacto dos protocolos de segurança utilizados pelo VoIP: TLS, ZRTP, IPSec e SRTP. A escolha destes mecanismos é uma decisão que deve ser ponderada a partir da análise do custo-benefício de cada uma das soluções. Primeiro de tudo é indispensável definir o que se quer proteger, ou seja, quais os recursos que se querem salvaguardar para, de seguida, identificar as ameaças que o VoIP enfrenta. A partir daqui chega-se a uma relação, entre as ameaças que mais impacto têm sobre esses recursos, e a sua probabilidade de ocorrer, isto determina o risco associado a cada desses recursos. A análise de risco do VoIP contribui para decidir quais os mecanismos mais eficazes para garantirem a segurança dos recursos das organizações. A investigação aqui desenvolvida teve como objectivo definir diferentes níveis de segurança, apresentando quais dos protocolos seleccionados se enquadram em cada nível e qual o seu impacto na QoS. Na sua base foram usados dois estudos no âmbito da tecnologia VoIP, um sobre 41 a análise de impacto dos protocolos de segurança na qualidade de serviço e outro sobre a análise de risco de um sistema VoIP. O resultado é um modelo que agiliza a tomada de decisão para a criação de uma política para a utilização da cifra no VoIP, baseada nos mecanismos de segurança por ele oferecidos. 4.1 Experiência da medição da QoS nos cenários de segurança A telefonia tem evoluído ao longo dos tempos, assim como as espectativas dos utilizadores em relação à qualidade da chamada. Contudo, a qualidade, tal como foi discutido no capítulo anterior, é afectada pelos mecanismos de segurança. De modo a quantificar a degradação causada por estes mecanismos desenvolveu-se uma experiência em ambiente laboratorial, onde se simulou um cenário ponto-a-ponto VoIP, com diferentes implementações de mecanismos de segurança e para os quais foram análisados os factores da QoS: atraso, jitter, perda de pacotes e largura de banda ocupada. Embora a experiência não tenha sido completada devido a limitações na implementação dos mecanismos de segurança e da análise do tráfego, foram utilizados os resultados de uma investigação similar, publicados num artigo afim que foi localizado durante a fase final da investigação. Edward Paul Guillen e Diego Alejandro Chacon levaram a cabo a experiência, onde testaram a QoS num sistema VoIP protegido, comparando com a QoS obtida num sistema sem segurança. Os resultados obtidos encontram-se então descritos no artigo “VoIP Networks Performance Analysis with Encription System” [Guillen & Chacon, 2009]. 4.1.1 Descrição da experiência A experiência referida anteriormente define dois cenários VoIP ponto-a-ponto: uma Local Area Network (LAN) e uma Wide Area Network (WAN). No cenário LAN, os terminais encontram-se interligados através de um switch a um gateway de gestão, como ilustra a Figura 9. 42 Figura 9 - Cenário LAN O cenário WAN é composto por dois gateways de gestão interligados por um canal Point-toPoint Protocol (PPP) e a funcionar independentemente um do outro, assim como mostra a Figura 10. Neste cenário é efectuada uma chamada entre dois terminais que se encontram registado cada um no seu gateway. Figura 10 - Cenário WAN 43 Para cada cenário foram medidos os factores que caracterizam a QoS: atraso, jitter, perda de pacotes e largura de banda. Os cenários foram configurados com diferentes mecanismos de segurança, para os quais foram testados e analisados os seus efeitos sobre a QoS, através do estabelecimento de chamadas entre os dois terminais. O tráfego gerado durante uma chamada com a duração de um minuto foi capturado para posteriormente ser analisado, recorrendo a uma aplicação de análise de rede, o Wireshark. Foram produzidos os valores para cada um dos sentidos: o tráfego entre o cliente e o servidor (CLI-SER) e o tráfego entre o servidor e o cliente (SER-CLI). O gateway escolhido foi um software open-source Asterisk [Meggelen, 2005], capaz de transformar um servidor numa central telefónica. Apesar de ser vulgarmente considerado um IPPBX, é um software com várias aplicações, sendo uma delas a de gateway. O Asterisk funciona através de um sistema de módulos, que vão sendo integrados de modo a implementar diversas funcionalidades, protocolos e codecs. No cenário LAN foram realizados os testes ao SRTP, TLS, ZRTP e IPSec, para proteger o tráfego entre os vários elementos, assim como se encontra descrito no modo de operação da Tabela 5. Os servidores Asterisk, no cenário WAN, foram interligados recorrendo ao IAX2 configurado em modo trunk – neste modo as chamadas de vários terminais são agrupadas numa só chamada, de forma a minimizar a sobrecarga criada pelos cabeçalhos gerados pelas chamadas. Os servidores Asterisk, os softphones e as plataformas foram configurados conforme descrito na Tabela 5. 44 Tabela 5 - Configuração da experiência10 Mecanismos de Segurança Modo de Operação SRTP Cliente-Cliente IAX22 Servidor-Servidor TLS Cliente-Servidor IPSec Cliente-Cliente Cliente-Cliente ZRTP Cliente-Servidor Nesta experiência também foram testados os efeitos para diferentes codecs, G.711 e GSM. Contudo, a avaliação do desempenho para diferentes codecs não se encontra no âmbito da investigação, daí que se optou por incluir a análise feita com o codec G.711. 4.1.2 Análise dos resultados Os primeiros testes realizados foram ao cenário LAN, sendo efectuadas chamadas de áudio com duração de 1 minuto, o que equivale à análise de aproximadamente 3000 pacotes. A primeira análise realizada foi feita num ambiente ideal, onde não se encontravam implementados mecanismos de segurança e utilizando o protocolo RTP. Após a análise feita num ambiente ideal, é medida a QoS para cada um dos mecanismos de segurança: TLS, ZRTP, IPSec, SRTP e TLS conjugado com ZRTP. Assim como no cenário LAN, foram depois realizados testes para o cenário WAN, onde foram efectuados testes semelhantes para os protocolos IAX2, TLS, ZRTP e os dois últimos em conjunto. Os resultados obtidos nos dois cenários com o TLS e ZRTP foram semelhantes. Embora o IAX2 tenha sido testado, não foram apresentados os valores relativos ao seu atraso, o jitter e a perda de pacotes. 10 Tabela adaptada de [Guillen & Chacon, 2009] 45 Atraso Relativamente aos resultados obtidos para o atraso, num cenário LAN com os protocolos TLS, ZRTP e TLS+ZRTP não aparecem variações dos valores de atraso, aproximando-se do ambiente ideal. Por outro lado, que o SRTP obteve um aumento de 1,5 ms entre o servidor e o cliente, mas foi o IPSec que alcançou os piores resultados, apresentando um aumento do atraso de cerca de 1 a 2 ms em ambas as direcções devido ao tamanho dos pacotes. Jitter No caso dos resultados obtidos para o jitter, as variações de valores são notórias, chegando a uma diferença máxima de 22 ms. Nesta análise, o SRTP é o protocolo que apresenta piores resultados, alcançando um aumento de 22 ms. O IPSec apresentou os melhores resultados de todos os mecanismos tendo um aumento de 7 ms comparativamente ao ambiente ideal. O TLS, ZRTP e TLS+ZRTP têm aumentos entre os 13 ms e os 14 ms. Perda de Pacotes Os resultados relativos às perdas de pacotes não apresentaram grande impacto, obtendo uma perda de 0,2%, que no VoIP é irrelevante. No entanto, de todos os protocolos, o SRTP foi o que obteve o pior resultado. Já o TLS e o IPSec não apresentaram perdas. Largura de banda O uso da cifra produz um aumento do tamanho dos pacotes, o que faz com que seja essencial efectuar uma análise à largura de banda para quantificar o número de chamadas suportadas numa ligação, de modo a impedir a degradação devido ao excesso de tráfego na rede. Para o cenário WAN foi calculada a sobrecarga produzida pelos protocolos de segurança, assim como o número de chamadas suportadas para a largura de banda de 2048 kbps11. Na Tabela 6 encontram-se representados os valores obtidos durante a experiência. Nesta podemos observar que o IPSec obteve o maior valor de sobrecarga, limitando o número de chamadas para 20. 11 Capacidade definida na experiência para o canal PPP. 46 Tabela 6 - Sobrecarga da largura de banda e número de chamadas suportadas 12 Mecanismos de Segurança Sobrecarga Número de chamadas suportadas 0% N/A SRTP 4,85% 23 IPSEC 21,36% 20 ZRTP 1,94% 24 ZRTP+TLS 1,94% 24 TLS Para analisar os resultados obtidos é importante perceber o impacto da cifra segundo a protecção que confere. Os mecanismos de segurança encontram-se divididos em três camadas de segurança: gestão de chaves, sinalização e média. A Figura 11 ilustra como os mecanismos de segurança se encontram organizados. Figura 11 - Stack dos mecanismos de segurança do VoIP 12 Tabela adaptada de [Guillen & Chacon, 2009]. 47 Perante as diferentes funções de cada protocolo, os efeitos da cifra são sentidos em períodos diferentes. A gestão de chaves e a sinalização têm um forte impacto apenas no início, durante o estabelecimento da chamada. Por outro lado, a cifra dos pacotes de voz tem um impacto no decorrer da conversação, o que faz com que seja essencial analisar com muito cuidado a sobrecarga produzida pelos mecanismos enquadrados na camada de média. 4.2 Processo de avaliação de risco A realização de uma avaliação de risco ao VoIP permite ao administrador adequar as medidas de segurança às suas necessidades. Knútur Birgir Otterstedt da Universidade da Islândia, na sua tese de mestrado, realizou uma análise de risco aos sistemas VoIP [Otterstedt, 2011]. Os resultados obtidos foram utilizados para definir critérios para a criação de níveis de segurança com diferentes objectivos. Contudo, esta análise foi feita dentro do contexto dos objectivos de uma operadora de telecomunicações, sendo importante salientar que os valores de riscos aqui obtidos não devem ser generalizados, isto porque, diferentes organizações têm diferentes preocupações e necessidades, fazendo com que os valores variem. Também é importante salientar que nem todos os recursos e ameaças definidos em [Otterstedt, 2011] foram aqui considerados, visto que este trabalho se foca nos recursos e ameaças que podem ser protegidos através dos mecanismos cifra próprios do VoIP. 4.2.1 Descrição do processo De uma forma genérica, a avaliação do risco implica que inicialmente se faça um levantamento dos recursos que a organização quer salvaguardar e das ameaças a que estes estão sujeitos. Para cada ameaça é feita uma avaliação do seu impacto, atribuindo um valor, que pode ser quantitativo ou qualitativo, sendo ainda determinada a probabilidade de ocorrer algum incidente de segurança relacionado e que explore a vulnerabilidade do recurso em causa. O risco associado a cada recurso é então deduzido através do produto dessas duas grandezas. No trabalho atrás referido a análise do risco foi feita utilizando o software RM Studio. De notar que no documento que serviu de base ao estudo, o conceito de ameaça e ataque encontram-se difusos, sendo que a ameaça representa qualquer acção que tem como objectivo afectar o funcionamento 48 do sistema VoIP, colocando em risco a confidencialidade, integridade e disponibilidade. O ataque, por sua vez, representa a tentativa de quebrar a segurança usando uma técnica para explorar as vulnerabilidades do VoIP. Optou-se então por utilizar ao longo do trabalho o termo ameaça e ataque de uma forma indistinta. Otterstedt identificou as ameaças através do trabalho realizado pela VoIPSA e, em conjunto com os colaboradores da empresa Síminn, a companhia de telecomunicações islandesa, estabeleceram quais são os recursos críticos, tendo sido selecionados os seguintes: Privacidade13: a privacidade é o recurso que todos os utilizadores prezam e exigem que seja protegido; Financeiros: considera-se todo e qualquer recurso financeiro, excepto os minutos de telefone; Informação crítica: toda a informação que a organização considere de elevada relevância, tal como, a informação da organização ou informação financeira; Serviços de comunicação: o utilizador espera que o sistema VoIP se encontre sempre disponível para estar sempre contactável ou para contactar alguém. É por esta razão que o uptime do serviço de comunicação é considerado um recurso; Reputação: a opinião que o cliente tem da organização; Receita: a interrupção de um serviço impede que a organização gere receitas; ID14: a identificação e o e-mail do utilizador tem de ser protegida, de forma a garantir que esta não seja capturada. Após a definição dos recursos é feita atribuição de um valor qualitativo à probabilidade de ocorrência de um incidente de segurança e seu impacto, que utiliza uma escala cinco valores, de baixo a elevado. A atribuição dos valores foi feita através de vários estudos e os valores finais foram estabelecidos em conjunto com os colaboradores da Síminn. Na Tabela 7 encontram-se representados os resultados obtidos para as ameaças relevantes no âmbito do trabalho. Nesta tabela pode-se observar que as ameaças Reconstrução de chamada e 13 No documento original é denominada de Personal Privacy, sendo considerado um direito por todos os utilizadores. No entanto, será considerado um recurso pois a sua violação pode resultar em perdas para a organização, através de quebras de contractos e/ ou acções judiciais. 14 Originalmente este recurso é denominado de Base de Dados. Contudo, no contexto do VoIP, as Bases de Dados não são consideradas um recurso, mas sim a sua informação, que é susceptível a ataques. 49 Redireccionamento de chamada apresentam um impacto muito alto, com uma probabilidade elevada de acontecer. Tabela 7 - Impacto da ameaça e probabilidade da ocorrência de um incidente Ameaça Impacto da Ameaça Probabilidade da ocorrência de um incidente Reconstrução Muito Alto Alto Muito Alto Alto Muito Alto Médio Alto Baixo Alteração de Mensagem Alto Médio Recolha de contactos Alto Médio Captura de tráfego Médio Médio Baixo Médio Redireccionamento de chamada Personificação de chamadas Impedimento de chamada Obtenção de padrões de chamada A Tabela 8 identifica para cada valor atribuído o seu significado. Neste sentido, e aplicando aos resultados obtidos na Tabela 7, as ameaças relacionadas com os ataques Reconstrução de chamada e Redireccionamento de chamada, podem causar distúrbios altos e ocorrer pelo menos uma vez por dia, porém, investindo tempo e dinheiro é possível devolver o sistema VoIP à normalidade. 50 Tabela 8 - Definição dos valores de impacto e probabilidade 15 Impacto da ameaça Probabilidade da ocorrência de um incidente Baixo Minimo impacto. Pode ocorrer até uma vez por ano. Médio Existe algum impacto. Pode ocorrer uma vez por ano. Ocorre um elevado número de distúrbios que requerem bastante Alto Pode ocorrer uma vez por mês. tempo para repor a normalidade. Afecta bastante as operações e requer Muito Alto tempo e dinheiro para voltar à Pode ocorrer uma vez por semana. normalidade. Os distúrbios são elevados afectando Elevado grande parte do sistema e é difícil Pode ocorrer uma vez por dia. voltar à normalidade. 4.2.2 Análise dos resultados Os resultados publicados em [Otterstedt, 2011] são um grande contributo para a avaliação do risco em sistemas VoIP. Porém, é preciso salientar que estes valores foram calculados com base nos objectivos e na área de uma organização específica, neste caso, a companhia de telecomunicações islandesa. Os valores dos riscos podem variar com a definição dos recursos, do impacto e da probabilidade, que podem variar de organização para organização. A Tabela 9 apresenta os valores médios do risco de segurança relacionados com cada recurso, onde se observa que os recursos financeiros se encontram expostos ao maior risco de segurança, seguido da informação crítica, serviços de comunicação e reputação. 15 Tabela adaptada de [Otterstedt, 2001] 51 Tabela 9 - Risco de segurança de cada recurso16 Recursos Risco de segurança Financeiros 59% Informação crítica 57% Serviços de comunicação 57% Reputação 57% Receita 55% Privacidade 52% ID 50% A Tabela 10 apresenta a relação entre as ameaças e os recursos, onde se observa que os recursos referidos não se encontram relacionados com todas as ameaças. Cada um dos recursos tem o seu conjunto de ameaças: Privacidade – ameaçada por Reconstrução de chamada, Redireccionamento de chamada, Alteração de Mensagem, Captura de tráfego e Obtenção de padrões de chamada e Personificação de chamadas; Financeiros – afectados pela Reconstrução de chamada, Personificação de chamadas e Captura de tráfego; Informação crítica – ameaçada por Reconstrução de chamada, Alteração de Mensagem, Captura de tráfego, Personificação de chamadas e Obtenção de padrões de chamada; Serviço de comunicação – afectado por Redireccionamento de chamada, Impedimento de chamada, Alteração de Mensagem e Personificação de chamadas; 16 Reputação – ameaçada por Impedimento de chamada. Tabela adaptada de [Otterstedt, 2001] 52 Receita e ID – afectadas, respectivamente, pelas seguintes ameaças: Impedimento de chamada e Recolha de contactos. Tabela 10 - Risco de segurança médio de cada ameaça Ameaça Recurso Risco de segurança Privacidade Reconstrução de chamada Financeiros 69% Informação Crítica Privacidade 65% Redireccionamento de chamada Serviços de comunicação Privacidade Financeiros 58% Personificação de chamadas Informação Crítica Serviços de comunicação Serviços de comunicação Impedimento de chamada Reputação 51% Receita Privacidade Alteração de Mensagem Informação Crítica 49% Serviços de comunicação Recolha de contactos ID 47% Privacidade Captura de tráfego Financeiros 45% Informação Crítica Privacidade 32% Obtenção de padrões de chamada Informação Crítica 53 4.3 Criação das Politicas de Segurança A implementação da segurança num sistema VoIP carece de uma tomada de decisões eficiente, de modo a contrabalançar os custos e benefícios de cada mecanismo. Nesta secção será feita uma análise aos mecanismos de cifra implementados pelo VoIP, cuja finalidade é cifrar os fluxos de sinalização e de média. Esta análise conjuga os resultados obtidos nas secções anteriores para se deduzir quatro níveis de segurança (Alto, Médio-Alto, Médio-Baixo e Baixo) e quatro níveis de desempenho da QoS (Baixo, Médio Baixo, Médio Alto, Alto). A junção destes níveis deu origem a cinco cenários, onde a segurança e a qualidade se cruzam, com diferentes objectivos e desempenho. 4.3.1 Níveis de Segurança A definição de quatro níveis de segurança, nomeadamente Alto, Médio-Alto, Médio-Baixo e Baixo, foi baseada numa análise qualitativa, pois os valores do risco só têm sentido no âmbito da organização em que a avaliação de risco foi feita, e desta forma procura-se expressar o risco de um modo mais independente e genérico, promovendo a aplicação dos resultados a outras organizações (desde que se revejam nesta qualificação, como é óbvio). Neste sentido, o critério utilizado para a definição dos níveis de segurança foi baseado na contagem de recursos que cada nível protege e na contagem de ameaças que previne, sem analisar quantitativamente os resultados obtidos em [Otterstedt, 2011]. No nível em que a segurança é elevada, o sistema VoIP é protegido contra a totalidade das ameaças. Assim sendo, neste nível o fluxo de chamadas é totalmente cifrado, garantindo a confidencialidade, a integridade e autenticidade da origem. Em oposição, no nível Baixo o sistema VoIP encontra-se totalmente desprotegido, pois não são utilizados mecanismos de segurança. No nível intermédio de segurança o sistema VoIP encontra-se protegido contra uma parte das ameaças, protegendo-se um dos fluxos, de sinalização ou de média. Consequentemente, não se consegue protecção contra todas as ameaças. Neste sentido, a segurança intermédia encontrase dividida em dois níveis: Médio-Alto e Médio-Baixo. Estes variam no número de activos que protegem, no número de ameças que previnem e no tipo de cifra que utilizam. 54 A justificação desses níveis tem por base uma análise qualitativa dos resultados obtidos na avaliação de risco, cuja análise permitiu chegar à seguinte conclusão: Na Figura 12 verifica-se que o maior número das ameaças é travado cifrando a sinalização; Bens protegidos 8 4 Cifra de Sinalização Cifra de Media 2 1 Total Figura 12 - Relação entre ameaças, recursos e mecanismos de segurança Na Tabela 11 observa-se a relação entre os mecanismos de segurança e os recursos. Foi atribuído um valor para o risco17, que define a relação entre o recurso e a cifra, representando o número de ameaças que cada cifra protege em cada recurso. Esta definição baseia-se na escala: Elevado, Alto, Médio, Baixo, Reduzido. Estes valores são traduzidos por: o Elevado – os recursos encontram-se totalmente desprotegidos; o Alto – protege os recursos contra um número reduzido de ameaças; o Médio – protege os recursos contra aproximadamente metade das ameaças; o Baixo – os recursos encontram-se protegidos contra a maioria das ameaças; 17 Os valores de riscos foram atribuídos através de uma análise qualitativa. A razão desta decisão baseou-se no facto de que os valores do risco de segurança resultantes de [Otterstedt, 2001] são valores médios e a análise quantitativa destes poderia introduzir um erro superior. 55 o Reduzido – garante a segurança máxima doss recurso, protegendo-os contra a totalidade das ameaças a eles associadas; Tabela 11 - Relação dos controlos de segurança com os recursos Recursos Cifra de Sinalização Cifra de Média Sim - Risco Elevado Financeiros - Sim Sim Reduzido - Alto Informação crítica - Sim Sim Baixo - Baixo Serviço de comunicação - Sim Sim Médio - Reduzido Reputação - Sim Sim Elevado - Reduzido Receita - Sim Sim Elevado - Médio Privacidade - Sim Sim Baixo - Reduzido ID - Sim Elevado Daqui conclui-se que a escolha de cifra de sinalização oferece maior segurança, protegendo o maior número de recursos contra o maior número de ameaças. Por sua vez, e cobrindo as possíveis combinações, os níveis médio-alto e médio-baixo podem ser genericamente caracterizados da seguinte forma: 56 Médio-Alto – é composto por mecanismos que cifram a sinalização e que protegem a maioria dos recursos contra o maior número de ameças; Médio-baixo – é composto por mecanismos que cifram o fluxo de média, protegendo o menor número de recursos contra o maior número de ameaças. Em síntese, e de uma forma mais detalhada, os níveis de segurança identificados são em seguida definidos. Nível Baixo Num nível baixo de segurança, a sinalização e o média não se encontram protegidos. Neste nível os recursos da organização encontram-se à mercê de ameaças, pois o sistema VoIP encontra-se totalmente desprotegido. Nível Médio-Baixo Este nível utiliza mecanismos de segurança com a função de cifrar o fluxo de média, como ilustra a Figura 13. Estes têm como objectivo proteger a privacidade, impedindo que terceiros obtenham o acesso ao áudio da sessão e à integridade, prevenindo que o fluxo não seja adulterado de forma a degradar a qualidade do áudio. Figura 13 - Cenário correspondente a um nível médio bom de segurança 57 Encontram-se incluídos neste nível os seguintes mecanismos de segurança: ZRTP + SRTP – o SRTP tem como função cifrar o fluxo de média. O ZRTP oferece os mecanismos para a troca de chaves. SRTP – o SRTP tem como função cifrar o fluxo de média. Contudo, não utiliza o ZRTP, o que faz com que a troca de chaves seja feita através das mensagens SIP. E, como neste nível a sinalização não se encontra protegida, a troca de chaves é efectuada em texto aberto, passível de ser interceptada por um intruso, que posteriormente pode utiliza-la para decifrar os pacotes SRTP, obtendo assim o acesso ao áudio. Nível Médio-Alto Neste nível (Figura 14) é oferecida a segurança da sinalização e com isto a protecção do sistema VoIP contra um elevado número de ameaças. Este nível tem como objectivos garantir a integridade e a autenticidade da origem. No trabalho foi apenas feita a análise para um mecanismo de segurança capaz de proteger a sinalização, o TLS. Figura 14 - Cenário correspondente a um nível médio muito bom de segurança 58 Nível Alto O nível alto oferece a segurança mais elevada, protegendo todos os recursos definidos neste trabalho contra o maior número de ameaças. Para tal, os mecanismos de cifrar utilizados neste nível têm como objectivo proteger a confidencialidade e a integridade do sistema VoIP, cifrando o fluxo da chamada na sua totalidade, assim como mostra a Figura 15. Figura 15 - Cenário correspondente a um nível alto de segurança Neste nível incluem-se os seguintes mecanismos: IPSec : este cifra os pacotes IP sem diferenciar o seu conteúdo; TLS + ZRTP + SRTP: este conjunto de mecanismos permite proteger o fluxo da chamada na sua totalidade. 4.3.2 Níveis de QoS Analisando os resultados obtidos na avaliação dos factores de QoS, definiram-se quatro níveis de desempenho nos quais os diferentes mecanismos de segurança se enquadram. A criação dos níveis de desempenho iniciou-se com a análise dos gráficos relativos ao atraso, jitter e perda 59 de pacotes, atribuindo para cada um dos mecanismos analisados um valor, que representa o efeito que cada um tem sobre a QoS: em que 0 é reduzido, 1 médio, 2 Alto e 3 Elevado. Atraso Comparando os mecanismos de segurança analisados (Figura 16) com o RTP (sendo este o modelo ideal), o TLS, ZRTP, TLS+ZRTP obtiveram um valor reduzido para o atraso, semelhante ao do RTP. O SRTP apresenta um valor médio porque, apesar de ter obtido um maior atraso na direcção Cliente-Servidor, este não se verifica na direcção oposta, obtendo na globalidade um aumento de 1,5 ms. No caso do IPSec, o atraso ocorre nas duas direcções, o que leva a um atraso de 2,5 ms, considerando-se um valor alto. Atraso (ms) 22 21,5 21 20,5 Atraso LAN (Cli-Serv) 20 Atraso LAN (Serv-Cli) 19,5 19 18,5 RTP TLS ZRTP TLS+ZRTP IPSEC SRTP Figura 16 - Atraso num cenário LAN18 18 Figura adaptada de [Guillen & Chacon, 2009] 60 Jitter No caso do jitter (Figura 17), os valores obtidos na presença dos mecanismos de segurança comparativamente com o RTP são elevados. Neste caso, ao IPSec foi-lhe atribuido o valor médio, ao TLS, ZRTP e TLS+ZRTP foi-lhe atribuído o valor alto e ao SRTP um valor elevado. Jitter (ms) 25 20 15 Jitter LAN (Cli-Serv) Jitter LAN (Serv-Cli) 10 5 0 RTP TLS ZRTP TLS+ZRTP IPSEC SRTP Figura 17 - Jitter num cenário LAN19 Pacotes Perdidos Os resultados obtidos na perda de pacotes (Figura 18) representam apenas 0,2% de pacotes perdidos. Tanto o TLS como o IPSec não apresentaram perdas de pacotes, sendo-lhes atribuído um valor reduzido. Por outro lado, as soluções ZRTP, TLS+ZRTP e SRTP apresentaram perdas de pacotes e, por essa razão foi-lhes atribuído o valor médio. Apesar do SRTP apresentar maior perda de pacotes na direcção Cliente-Servidor, na globalidade este não apresenta um valor superior aos demais. 19 Figura adaptada de [Guillen & Chacon, 2009]. 61 Pacotes Perdidos 14 12 10 8 Pacotes Perdidos LAN (Cli-Serv) 6 Pacotes Perdidos LAN (Serv-Cli) 4 2 0 RTP TLS ZRTP TLS+ZRTP IPSEC SRTP Figura 18 - Pacotes Perdidos no cenário LAN20 A compilação dos resultados da atribuição de valores encontra-se representada na Tabela 12: Tabela 12 - Calculo dos valores do desempenho na QoS Atraso Jitter Pacotes Perdidos Desempenho da QoS IPSEC 2 1 0 3 SRTP 1 3 1 5 TLS 0 2 0 2 ZRTP 0 2 1 3 TLS + ZRTP 0 2 1 3 De modo a ter uma visão do desempenho da qualidade, somaram-se os valores atribuídos a cada um dos factores: atraso, jitter e pacotes perdidos. A decisão de somar os valores atribuídos deveu-se ao facto de, entre os factores, nenhum deles ter maior influência. O desempenho da 20 Figura adaptada de [Guillen & Chacon, 2009] 62 QoS e a sobrecarga formaram os critérios utilizados no trabalho para caracterizar os níveis de desempenho. A Tabela 13 apresenta o desempenho da QoS e a sobrecarga de cada mecanismo, onde podemos observar que o IPSec, embora apresente um melhor desempenho, tem maior sobrecarga, o que limita o número de chamadas. O SRTP apresenta um pior desempenho comparativamente com o IPSec mas, por outro lado, apresenta uma sobrecarga muito inferior. Tabela 13 - Valores do Desempenho da QoS e da Sobrecarga Desempenho da QoS Sobrecarga IPSEC 3 21.36% SRTP 5 4.85% TLS 2 0% ZRTP 3 1.94% TLS + ZRTP 3 1.94% Na Tabela 14, os valores do desempenho e da sobrecarga foram divididos segundo o tipo de fluxo que cifram. Com isto, é possível dividir o conjunto de mecanismos de cifra em quatro níveis de desempenho. A divisão da sinalização e do média é importante para avaliar o impacto que cada conjunto tem sobre a chamada. 63 Tabela 14 - Caracterização dos mecanismos de segurança Desempenho da QoS Sinalização Sobrecarga Média Sinalização Média 3 IPSec 21.36% TLS+ZRTP+SRTP 3 5 1.94% 4.85% ZRTP+SRTP 3 5 1.94% 4.85% N/A 5 N/A 4.85% 2 N/A 0% N/A SRTP TLS Nível Baixo Neste nível pode ser enquadrado o IPSec, essencialmente por apresentar o valor mais elevado de sobrecarga. Nível Médio Baixo Neste nível encontram-se dois conjuntos de mecanismos: TLS + ZRTP + SRTP e ZRTP + SRTP. Estes dois conjuntos apresentam os mesmos valores de impacto e sobrecarga, inicialmente baixa, seguindo-se um aumento originado pelo uso do SRTP. Nível Médio Alto Entre este nível e o anterior a diferença está no impacto e na sobrecarga inicial produzida pelo TLS e o ZRTP, que deixa de ocorrer neste nível. Os efeitos de degradação gerados pelo SRTP fazem-se sentir unicamente no decorrer da conversação. 64 Nível Alto Este nível é caracterizado por um baixo impacto e uma sobrecarga nula e que se faz sentir no início da chamada e, é por esta razão, que este nível oferece uma qualidade alta ao VoIP. Neste nível pode enquadrar-se o TLS. 4.3.3 Critérios de decisão Dos resultados obtidos nas secções anteriores resultou a Tabela 15, que correlaciona os níveis de desempenho da qualidade com os níveis de segurança. Através desta tabela, obteve-se a relação entre a qualidade e a segurança no que toca aos mecanismos de cifra implementados pelo VoIP. Tabela 15 - Relação entre segurança e QoS Segurança Qualidade de Serviço Alto Baixo Médio Baixo IPSec TLS+ZRTP+SRTP Médio-alto - Médio-baixo - Baixo - Médio Alto - ZRTP+SRTP Alto - TLS SRTP - - RTP Assim observou-se que o IPSec e o conjunto TLS+ZRTP+SRTP se encontram no nível alto de segurança mas apresentam diferentes níveis de desempenho, sendo que o IPSec apresenta uma qualidade baixa devido à sua sobrecarga e o TLS+ZRTP+SRTP apresenta uma qualidade média baixa. O nível médio-baixo de segurança contém ZRTP+SRTP e SRTP, que apresentam níveis de desempenhos diferentes, médio baixo e médio alto. No nível de qualidade alto encontramos o TLS e o RTP, porém o TLS tem um nível médio-alto de segurança, enquanto o RTP se encontra no nível baixo por não oferecer segurança ao sistema VoIP. 65 Modelo de gestão de segurança da QoS no VoIP Com o auxílio da Tabela 15 foram definidos cinco cenários de gestão do VoIP, em que cada um se encontra associado a um nível de segurança e a um nível de desempenho de qualidade. A partir desta tabela foi criado um modelo com vista a agilizar a tomada de decisão. A Figura 19 representa um algoritmo para o modelo de decisão. Nela encontram-se representados os cincos cenários, localizados no seu nível de segurança e as tomadas de decisão para a transição entre cenários. Nessa pode-se observar: Que todas as transições de e para o cenário 1 têm as mesmas características. Cada uma das transições implica um processo demorado, pois é necessário abandonar todas as configurações feitas anteriormente e substituir por novas. Para além disso, não é um processo transparente para os utilizadores, podendo gerar indisponibilidade do sistema. É importante ter em conta que na transição do cenário 1 para outros cenários é necessário reavaliar o número de chamadas simultâneas permitidas, de forma a não sobrecarregar a rede e, consequentemente, originar degradação; As transições entre o cenário 2 e os cenários 3, 4 e 5 têm em comum necessitarem de um trabalho menos exigente, pois entre estes cenários não é necessário configurar a totalidade do serviço, não existindo assim indisponibilidade. Nas transições feitas entre o cenário 2 e o cenário 3, a sobrecarga da largura de banda criada pelos mecanismos de segurança diminui, possibilitando o aumento do número de chamadas em simultâneo; As transições entre o cenário 3 e os cenários 4 e 5 necessitam igualmente de um trabalho pouco exigente, apesar de implicarem o abandono total das configurações. No entanto estas são transparentes para os utilizadores. É importante ter em atenção que a sobrecarga da largura de banda varia entre o cenário 3 e os cenários 4 e 5, sendo que é preciso avaliar a carga de modo a que a qualidade não seja afectada; A transição entre os cenários 4 e 5 não exige grandes alterações à configuração e não gera indisponibilidade, sendo transparente para os utilizadores. 66 Figura 19 - Algoritmo de transição entre cenários Em termos de segurança, as implicações de transitar de um cenário para outro variam consoante a mudança de níveis. No entanto, as transições feitas dentro do mesmo nível não têm 67 implicações de segurança. Analisando a Figura 19 podemos assim deduzir as seguintes implicações de segurança, para as transições entre cenários de diferentes niveis: Os cenários 1 e 2 encontram-se no nível mais alto de segurança; quando se transita para o cenário 3, que se encontra no nível médio-alto, implica que o sistema VoIP deixe de estar completamente protegido verificando-se as seguintes alterações: recursos Financeiros, informação crítica e privacidade deixam de estar totalmente protegidos, sendo que os recursos financeiros passam a estar num risco elevado, a informação crítica num risco alto e a privacidade num risco médio; No caso da transição do cenário 1 e 2 para o cenário 4 e 5, que se encontram no nível médio-baixo, implica que o recurso serviços de comunicação fica em risco, ficando desprotegido contra mais de metade das ameaças e os recursos reputação, receita e ID ficam totalmente desprotegidos apresentando um risco elevado. 68 Capítulo 5 Conclusões O VoIP é uma tecnologia recente que revolucionou o mundo da telefonia. Por ser uma tecnologia recente, muito trabalho tem de ser feito na área de segurança e na qualidade de serviço, para os quais esta dissertação contribuiu, criando diferentes cenários que podem ser aplicados na criação de políticas de segurança, recorrendo a mecanismos de cifra que apresentam diferentes níveis de desempenho de qualidade e de segurança. Este trabalho tem como mérito apresentar um modelo que agiliza o processo de decisão, de forma a gerir eficazmente a segurança e a qualidade do serviço do sistema VoIP. Este pode ser a base para a criação de uma automatização da comutação entre cenários, ou seja, uma ferramenta que automaticamente transite de um cenário para o outro perante vestígios de degradação da qualidade ou de incidentes de segurança no sistema do VoIP. Contudo, pelo facto do modelo se basear numa avaliação de risco para a criação dos níveis de segurança, é necessário para cada organização fazer uma avaliação do risco, consoante as suas necessidades e objectivos, para posteriormente reavaliar os níveis de segurança e alterar o algoritmo de transição entre cenários e redefinir as implicações de cada transição. 5.1 Sintese do trabalho realizado Primeiramente pensou-se testar a QoS da segurança oferecida pelo protocolo recente, IAX2, comparando com a QoS obtida através do TLS em conjunto com o SRTP. Isto porque no artigo [Abbasi, 2005] é feita uma comparação dos protocolos sem segurança e o IAX2, onde este obteve 25% de melhoria na qualidade da voz. Teria sido interessante testar esta melhoria com 69 segurança e se esta se mantinha, porém e apesar do IAX2 se encontrar actualmente descrito num RFC, não existe um softphone ou telefone IP que tenha implementado as funcionalidades de segurança oferecidas pelo IAX2. O plano original de trabalhos incluía uma componente prática onde os diferentes mecanismos de cifras seriam testados num ambiente experimental, esta foi posta de parte após ter sido encontrado um documento que descrevia uma experiência semelhante. Isto porque, apesar de ter sido criado um ambiente experimental, onde dois servidores Asterisk se encontravam interligados através de IAX2 e onde se podia efectuar chamadas entre terminais, através de TLS e SRTP, surgiram limitações relativas à implementação de certos protocolos e à implementação de aplicações de análise para os protocolos de segurança. Daí que se colocou à parte a experiencia prática e recorreu-se a este documento [Guillen & Chacon, 2009]. Com os valores dos factores da QoS e, juntamente com a avaliação do risco do VoIP, foi criado um modelo de gestão que interliga o desempenho da QoS dos mecanismos de segurança com o nível de segurança que estes oferecem. Através deste modelo é possível seleccionar os mecanismos de segurança segundo os objectivos de cada organização. 5.2 Trabalho futuro Apesar do objectivo ter sido cumprido, teria sido mais aliciante se pudessem ter sido testados mais mecanismos de segurança, obtendo-se uma variedade de resultados que tornariam a relação dos seus níveis com níveis de desempenho muito mais completa. Apesar de muito ter sido feito no sentido de proteger o sistema VoIP, em especial nas plataformas open-source, muito ainda está por realizar, sendo que a oferta de segurança ainda é limitada. Neste contexto, este trabalho pode ser de grande utilidade para a criação de uma ferramenta que automatize a transição entre diferentes cenários, adaptando a necessidade de desempenho e de qualidade às condições actuais do sistema. Através deste automatismo, as organizações podem seleccionar o cenário que mais se adequa às suas necessidades, ou então recorrer a uma ferramenta capaz de seleccionar o cenário automaticamente consoante as necessidades actuais do sistema, assim que este detectasse indícios de degradação da QoS ou indícios de incidentes. 70 Bibliografia [Abbasi, 2005] Abbasi, T., Prasad, S., Seddigh, N., Lambadaris, I., A comparative study of the SIP and IAX VoIP protocols, Canadian Conference on Electrical and Computer Engineering, pages 179 – 183, IEEE; [Austerberry, 2005] Austerberry, D., The technology of Video & audio Streaming, Focel Press, 2005; [Boucadair, 2009] Boucadair, M., Inter-Asterisk Exchange (IAX): Deployment Scenarios in SIP-Enabled Networks, WILEY, 2009; [Cha & Choi, 2007] Cha, E.C., Choi, H.K., Cho, S.J., “Evaluation of Security Protocols for the Session Initiation Protocol”, Proceedings of 16th International Conference on Computer Communications and Networks, pages 611 – 616, IEEE, 2007; [Clark, 2001] Clark, A. D., Modeling the Effects of Burst Packet Loss and Recency on Subjective Voice Quality, IP Telephony Wksp, 2001; [Dantua, 2009] Dantua, R., Fahmyb, S., Schulzrinnec, H. and Cangussud, J., Issues and challenges in securing VoIP, Elsevier Ltd, 2009; [Endler & Ghosal, 2005] Endler, D., Ghosal, D., Jafari, R., Karlcut, A., Kolenko, M., Nguyen, N., Walkoe, W., Zar, J., VoIP Security and Privacy, Threat Taxonomy, VoIPSA, 2002; [G.114, 2003] ITU-T Recommendation G.114, One-way transmission time, May 2003; [Gonzalo, 2002] Camarillo, G., SIP desmystified, McGraw-Hill, 2002; [Goode, 2002] Goode, B., Voice Over Internet Protocol, Proceedings of the IEEE, volume 90, September 2002; 71 [Guillen & Chacon, 2009] Guillen, E.P., Chacon, D.A., VoIP Networks Performance Analysis with Encryption Systems, 2009; [H.323, 1998] ITU-T Recommendation H.323, Packet-Based Multimedia Communications Systems, February 1998; [Jianyong & Cunying, 2009] Jianyong, C., Cunying, H., Huawang, Z., Zhang, J., “Impact of Security on QoS in Communication Network”, Proceedings of the 2009 International Conference on Networks Security, Wireless Communications and Trusted Computing¸ 2009; [Johnston, 2004] Johnston, A.B., SIP Understanding the Session Initiation Protocol, Artech House, INC, 2004; [Kuhn & Walsh, 2005] Kuhn, D.R., Walsh, T.J. and Fries, S., Security Considerations for Voice Over IP Systems, Recommendations of the National Institute of Standards and Technology, 2005; [Meggelen, 2005] Meggelen, J.V., Smith, J., Madsen, L., Asterisk: The Future of Telephony, O'Reilly Media, 2005; [Otterstedt, 2011] Otterstedt, K.B., Risk analysis on VoIP systems. MSc thesis, University of Iceland, 2011; [Park, 2009] Park, P., “VoIP Thread Taxonomy”, Voice over IP Security, pages 19-44, Cisco Press, 2009; [Rosenberg, 2002] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., Schooler, E. “SIP: Session Initiation Protocol”, RFC 3261, Junho 2002; [Schulzrinne, 2003] Schulzrinne, H., Casner, S., Frederick, R., Jacobson, V. "RTP: A Transport Protocol for Real-Time Applications", RFC 3550, Julho 2003; [Shen, 2010] Shen, C., Nahum, E., Schulzrinne, H. and Wright, C., “The Impact of TLS on SIP Server Performance”, Technical Report CUCS-022-09, Department of Computer Science, Columbia University, 2010; 72 [Sinnreich & Johnston, 2006] Sinnreich, H. and Johnston, A.B., Internet Communications Using SIP: Delivering VoIP and Multimedia Services with Session Initiation Protocol, Willey, 2006; [Spencer, 2010] Spencer, M., Capouch, B., E. Guy, Ed., Truphone, Miller, F., K. Shumard "IAX2: Inter- Asterisk eXchange Version 2", RFC 5456, Fevereiro 2010; [Takahashi, 2004] Takahashi A., Yoshino H., “Perceptual QoS Assessment Technologies for VoIP,” IEEE Communications Magazine, Volume: 42, Issue: 7, Pages: 28 – 34, 2004; [Tanenbaum, 2002] Tanenbaum, A.S., Computers network, Prentice-Hall, 2002; [Walsh & Kuhn, 2005] Walsh, T.J., Kuhn, D.R., Challenges in Securing Voice over IP, IEEE Security & Privacy, 2005. 73