Uma Arquitetura Para Defesa Contra Vírus De Celular: Estudo e Classificação Para Implementação De Um Protótipo

May 17, 2017 | Autor: Vinicius Ribeiro | Categoria: Developing Country, Mobile phone
Share Embed


Descrição do Produto

UMA ARQUITETURA PARA DEFESA CONTRA VÍRUS DE CELULAR: ESTUDO E CLASSIFICAÇÃO PARA IMPLEMENTAÇÃO DE UM PROTÓTIPO Horst Martinelli1, Vinícius Gadis Ribeiro1 1

Faculdade de Sistemas de Informação, Centro Universitário Ritter dos Reis, - Porto Alegre, RS - Brasil. [email protected], [email protected]

Abstract. This work makes an ongoing study on the classification of recent threat to security services: the mobile phone virus. These programs are harmful already reality in developed countries - like USA, UK and Japan - by carrying out attacks against particular service availability. The objective is the development of an architecture for exemplary prototype, based on Java, virus from cell phones by SMS messages. The partial results obtained through a simulator have proved satisfactory. Resumo. O presente trabalho efetua um estudo em andamento sobre a classificação de recente ameaça a serviços de segurança: os vírus de celular. Esses programas daninhos já se fazem realidade em países desenvolvidos – como Estados Unidos, Reino Unido e Japão -, realizando ataques especialmente contra o serviço de disponibilidade. O objetivo do trabalho é o desenvolvimento de uma arquitetura exemplar para protótipo, baseada em Java, contra vírus de celulares por mensagens SMS. Os resultados parciais obtidos por meio de um simulador mostraram-se satisfatórios.

1. Introdução A popularização que os dispositivos móveis tem ganhado no mercado nos últimos anos trouxe o aumento significativo da comunicação por mensagens SMS (Short Message Service). Este recurso trouxe comodidade e rapidez tanto para clientes como para as operadoras de telefonia. O lucro para as operadoras tem sido tanto que regularmente elas enviam mensagens aos seus clientes ofertando promoções, e muitos destes clientes aderem ao serviço. Neste sentido, será abordada à fragilidade em segurança que os dispositivos móveis possuem. Atualmente os celulares se tornaram tão presentes nas sociedades de paises desenvolvidos que, por suas evoluções em relação à tecnologia de comunicação, têm sido alvos de ataques por vírus de computadores. Como o celular hoje é uma ferramenta indispensável para o cidadão que deseja se manter atualizado, pelo tamanho reduzido, múltiplas funções, compatibilidade com os mais diversos tipos de arquivos, vêem sofrendo muitos ataques nos paises da Europa [Hypponen 2006]. A própria comunicação entre celulares e computadores para troca de arquivos e sincronizações, devido às limitações de processamento e memória dos aparelhos, aumentam as chances de infecção. O simples fato de enviar dados particulares por In: Seminário de Informática - RS (SEMINFO RS'2008) Torres, 14 a 16 de novembro de 2008

mensagens SMS em aberto – ou seja, sem criptografia alguma - já tornam também o envio perigoso. O presente trabalho realiza o estudo e a classificação dos vírus de celular – uma ameaça recente e que tem tido ampla abrangência em diversos países do primeiro Mundo – com o objetivo de propor uma arquitetura para implementação de um protótipo para defesa contra esse tipo de programa daninho. Nesse primeiro estágio, a defesa será concentrada nos ataques que empregam os serviços de SMS, em equipamentos cuja linguagem Java é suportada. Considerando a dependabilidade que usuários têm em relação ao uso dos serviços oferecidos pelos aparelhos de telefonia celular de geração mais recente, fica evidente a relevância desse estudo. O trabalho se encontra estruturado da seguinte modo: na seção 2, é realizado breve levantamento bibliográfico. A seção 3 apresenta a metodologia do trabalho. Na seção 4 são apresentados os resultados obtidos até o momento, e a análise desses resultados, limitações do presente e próximos trabalhos são apresentados na seção final.

2. Telefonia celular e vírus Uma das facilidades existentes hoje para proporcionar que as pessoas fiquem interligadas é o telefone celular. O termo celular, na realidade, define um dispositivo que opere trocando informações entre faixas de freqüências de uma célula à outra. Estas células são sincronizadas por uma célula central de cada região chamada de MTSO (Mobile Telecommunications Switching Office) [Ramasami 2000], que se intercomunica com outras centrais. O MTSO é responsável por localizar e estabelecer comunicação entre dispositivos para que estes façam contato por chamadas telefônicas ou mensagens de texto. No caso das mensagens de texto ele também é conhecido como central de SMS (SMSC). Porém pelo seu percurso, não há qualquer tipo de verificação das mensagens contra vírus ou validação de quem as envia.

2.1 Vírus No ano de 2004, o primeiro vírus para celulares foi descoberto pela empresa de segurança F-Secure e foi denominado Cabir.A [F-Secure 2004]. Cabir.A na verdade é um worm que se propaga apenas pelos celulares utilizando a tecnologia de transmissão sem fio Bluetooth, afetando dispositivos baseados no sistema operacional Symbian mais conhecido como plataforma Series 60. Diferente de um vírus, o worm tinha apenas a função de se auto propagar, não sendo identificada qualquer informação quanto a processos que originassem potenciais formas destruição ou danos [F-Secure 2004]. Após o incidente em 2004, percebeu-se a fragilidade que os dispositivos móveis poderiam vir a sofrer num futuro não muito distante. Celulares, por terem limitações na capacidade de processamento e memória, não apresentam uma segurança equiparável a de um antivírus de computador. Essa oportunidade gerou estudos por parte das grandes empresas de segurança desse segmento de mercado, chamado de mobilidade. Vírus para celulares podem se propagar basicamente por três formas: •

Internet: Consiste na transmissão de dados para o celular através do navegador que utilize uma rede com acesso a demais computadores.



Mensagens SMS e MMS: Consiste no envio de mensagens de texto curto ou com anexos multimídia (MMS).



Transmissões sem fio Bluetooth: Semelhante à forma pela Internet, porém mais limitada à apenas outros aparelhos que possuam Bluetooth e estejam ao alcance próximo do dispositivo. Geralmente até dez metros sem barreiras. Em relação aos danos mais comuns que podem causar temos:



Danos à bateria: Tecnicamente executando qualquer função do dispositivo que o descarregue com maior rapidez. Exemplos: Tocar o player de música ou vídeo em volume zero, executar um jogo ou aplicação sem a permissão do usuário, ativar Bluetooth.



Apagar agenda de contatos ou arquivos: O vírus apaga todos os contatos encontrados na agenda do aparelho ou arquivos de extensão específica.



Envio de SMS ou MMS: Da mesma forma que pode ser contaminado por mensagens do tipo MMS ou SMS, quando infectado pode acabar enviando mensagens aos demais contatos da agenda telefônica. Consequentemente esgotando os créditos com a operadora ou gerando custos ao usuário. O modelo na figura 1 exemplifica sistematicamente esta abordagem:

Figura 1. Formas de propagação e danos causados pelos vírus de celular.

Conforme a figura, vírus podem infectar através da transferência de arquivos da Internet para o celular, posteriormente causando algum dos tipos de danos comentados ao aparelho. Naturalmente, a estrutura de SMS foi projetada como um serviço de entregas rápido e eficiente para mensagens, mas os criadores de vírus provaram que podem explorar falhas neste tipo de sistema e gerar caos se medidas não forem tomadas. Segundo resultados de pesquisa da Pnad (Pesquisa Nacional de Amostragem de Domicílios) divulgados pelo IBGE [UOL Noticias 2008], cresce anualmente o número

de brasileiros adeptos aos celulares. Muitos dos novos celulares já integram a nova tecnologia de Internet sem fio 3G com grande velocidade e cobertura, possibilitando assim acreditar que um potencial muito grande de infecções para celulares será observado nos próximos anos, no país. Atualmente existem no mercado soluções proprietárias de empresas do ramo de segurança, destacando-se as soluções de MCafee, F-Secure, e Kaspersky Labs. Algumas destas soluções permitem o controle do fluxo de dados quase que total de entrada e saída de dados do celular. Porém de tal modo não existem soluções alternativas abertas, como para antivírus em computadores desktop.

3. Metodologia Como medida para contornar um dos tipos de problemas causados por vírus de celulares (o envio de SMS sem conhecimento do usuário), propõe-se uma arquitetura exemplo, baseada em Java, para elaboração de um protótipo. Este protótipo permitirá bloquear apenas o envio e recebimento de mensagens SMS por conta do usuário, não sendo uma solução única e definitiva para todos os males dos vírus. O protótipo, elaborado para interagir na camada de software com a máquina virtual de Java do celular, KVM (kilo virtual machine), baseia-se na estrutura da figura 2:

Figura 2. Estrutura da aplicação no nível de software

O protótipo depois de instalado no celular, se comunica com o hardware através da KVM, que converte suas instruções para linguagem do dispositivo e então desabilita funções de envio e recebimento de SMS. Devido às limitações de processamento e memória dos celulares, variedade de sistemas operacionais para gerenciamento destes, e a não padronização de recursos quanto a suporte e hardware [Johnson 2007], a dificuldade tornou-se maior por parte da elaboração do projeto. Não sendo possível elaborar uma solução universal para todos os dispositivos, preferiu-se focar o projeto nos que possuem suporte a programação Java. O processo de escolha pela linguagem de programação foi importante buscando compatibilidade com um maior número de dispositivos. A linguagem selecionada foi Java ME (Micro Edition), por ser uma tecnologia suportada pela grande maioria dos

telefones celulares disponíveis no mercado. Outro ponto forte, além do incentivo de empresas e órgãos governamentais na disseminação da linguagem [Cruz 2005], e o fato de Java seguir um modelo para desenvolvedores ao software livre. Primeiramente foi desenvolvida uma aplicação em ambiente que dispunha de um simulador de celular, para que pudessem ser realizados testes sobre envio e recebimento de mensagens SMS utilizando Java. Os testes de SMS ocorreram em conjunto com o Java Wireless Toolkit e ambiente NetBeans, na sua versão 6.0. Posteriormente veio a necessidade de se trabalhar a um nível mais baixo que o protótipo, mais precisamente entre o firmware do dispositivo, motivo o qual será comentado na próxima sessão. Nos testes, um simulador de celular fornecido juntamente com o Java Wireless Toolkit estabelecia contato com uma ferramenta do tipo console interpretador de comandos para a troca de mensagens.

4. Implementação e resultados obtidos Ao longo do estudo conseguiu-se com êxito elaborar um protótipo que pudesse, em ambiente simulado, enviar e receber de mensagens SMS. O trecho a seguir retrata um método essencial para o início da aplicação que define se é permitido, ou não, receber mensagens pela porta de comunicação “1234”, por conta da variável “flag”.

Figura 3. Método startReceiver necessário para receber SMS

Depois de acrescidas estas condições de estado junto ao código foram possíveis controlar o envio e recebimento de mensagens junto ao simulador. Pelos resultados obtidos, é possível criar aplicações rápidas e eficazes com base na tecnologia Java para dispositivos móveis. Para os testes reais, utilizou-se um celular modelo Sony Ericsson W810, cujo sistema operacional é proprietário, mas baseado na tecnologia Java. Futuramente outros modelos serão testados para a efetiva confirmação dos resultados. A primeira dificuldade encontrada ao transportar a aplicação (.JAR) para o celular, através de Bluetooth, foi erro ao transferir arquivo no aparelho. O aplicativo não podia ser executado no aparelho. Em um segundo momento, após pesquisas, percebeuse que o fator que poderia estar impedindo fosse devido à limitação de memória que a KVM especifica aos aplicativos que tenham muitas classes.

Um novo projeto foi realizado, revisando juntar as classes responsáveis pelo envio e recebimento de mensagens em uma única forma, a fim de reduzir o consumo em memória que pudesse impedir a execução antes funcional da aplicação, no simulador. Após a unificação dos métodos em uma classe a aplicação foi transferida e executada com êxito sobre o Sony Ericsson W810. No entanto não é correto afirmar o motivo do sucesso uma vez que foram feitas alterações no código de forma que ele ficasse menor em termos de linhas de comandos. Ao mesmo tempo em que a aplicação foi executada de modo satisfatório sobre o celular, uma nova dificuldade surgiu: o não envio e recebimento real de mensagens SMS para a caixa de entrada. O motivo está na configuração de reconhecimento que o sistema operacional do celular prioriza para se conectar com o MTSO. Nesta configuração existe um número de contato com a operadora e uma porta padrão para a comunicação. Estes dois itens variam de acordo com a operadora. Logo o protótipo precisaria para isso, ter definido exatamente os mesmos itens. O que varia de um modelo de celular para outro é apenas como é feita esta gerência interna. Em outras palavras, sem o número de contato com o MTSO, ou central de mensagens SMS, o protótipo não conseguiria êxito na comunicação. Este número esta relacionada ao chip GSM da operadora em questão, que não é público e faz contato apenas com o sistema operacional do celular. Porém, a dificuldade não está com o número de contato, mas sim com a porta de comunicação. Durante o estudo deste projeto percebeu-se que Java, apesar de converter as instruções do código em instruções semelhantes para o W810, pela JVM, não permite que a aplicação posicione a escuta sobre a porta padrão de comunicação do dispositivo usada com o MTSO. Muito menos Java permite o bloqueio de recursos básicos do sistema como o envio e recebimento de mensagens. Está é uma característica do verificador de byte code da JVM, - ou KVM neste caso, usada no momento de validar a integridade do código. O protótipo pode usar o mesmo número de contato com a operadora que o sistema operacional obtiver do chip GSM, mas a porta padrão para mensagens da caixa de entrada é uma propriedade restrita do aparelho. Ao perceber que haveria uma barreira impedindo a execução plena da aplicação Java sobre o dispositivo, foi colocado como prioridade à busca de uma alternativa que pudesse contornar a questão de segurança da tecnologia Java Virtual Machine (JVM) no aparelho.

5. Considerações finais e trabalhos futuros Como conclusões parciais sobre o atual estado do projeto, podem-se perceber alguns aspectos relevantes ao estudo sobre vírus para celulares. Primeiro, o telefone celular não utiliza necessariamente Java para enviar e receber mensagens embora suporte a tecnologia. Este é um recurso proprietário e padrão a critério do fabricante, da mesma forma como não há uma padronização quanto ao número da porta definida para este propósito de um modelo a outro. O mesmo pode ser dito sobre a não padronização dos fabricantes em adotarem um mesmo sistema operacional.

Em segundo, determinados vírus para celulares só se propagam sobre condições específicas como: a necessidade de alguma forma de transferência sem fio estar ativa, necessidade de haverem créditos no celular para envio de mensagens, ou determinado tipo de sistema operacional móvel (Symbian OS, Windows Mobile, Palm OS). Mesmo assim, o risco de vírus enviando SMS automáticas é grande perigo. Como alternativa para pleno funcionamento com a KVM seria necessária à alteração parcial na camada responsável pelo gerenciamento de hardware do dispositivo, mais conhecido como middleware. Atualmente, para alguns raros modelos de celulares, o fabricante pode disponibilizar uma versão modificada de firmware que contem a mesma idéia e permite o desligamento de envio e recebimento de SMS. Na prática não é uma solução imediata. Para modelos que não possuem esta opção, alterando o middleware, a segurança da KVM poderá permitir que recursos privilegiados do fabricante fossem agora utilizados pelo protótipo. Este middleware é responsável pelo contato com o MTSO da operadora. A figura 4 apresenta, de modo esquemático, como a aplicação poderá trabalhar com a operadora:

Figura 4. Esquema de modificação do middleware.

As etapas da figura 4 exibem uma hierarquia de permissões a serem seguidas. Para o protótipo atuar no celular, este solicita ao sistema operacional uma permissão. O sistema operacional transfere esta responsabilidade a KVM (ou JVM). A JVM baseia-se nas especificações do middleware do fabricante. Uma vez modificado corretamente este componente o protótipo teria total controle para atuar no gerenciamento de SMS, substituindo o antigo modelo proprietário (que não fornece tal opção de controle) pelo modelo apresentado. Como continuidade deste trabalho, encontra-se em andamento um estudo para alteração do middleware, através do projeto phoneME. Este projeto define-se como um simulador de celular, de código fonte aberto, baseado integralmente na linguagem Java. Sua arquitetura permite a análise sobre a interação entre as classes e o sistema, para a adaptação do protótipo a elas, e consequentemente obter êxito do seu objetivo sobre o dispositivo. Após a modificação do middleware é que se poderá verificar a eficiência com testes realizados no ambiente real. O foco do trabalho continua o mesmo, porém a metodologia teve que ser alterada pelas razões anteriormente apresentadas.

Referencias Chlamtac, Imrich, Redi Jason. (1998). Mobile Computing: Challenges and Potential. The University of Texas at Dallas, p.1-3. http://citeseer.ist.psu.edu/chlamtac98mobile.html. Cruz, Renato. (2005). Software livre chega aos http://www.serpro.gov.br/noticias-antigas/noticias-2005-1/20050406_03

celulares.

Daoun, Michael. (2008) “Graças aos celulares, cresce o número de brasileiros com acesso a telefonia”, http://noticias.uol.com.br/especiais/pnad/ultnot/2008/09/18/ult6843u5.jhtm. Ferbrache, David. (1992). A Pathology of Computer Viruses. New York: SpringerVerlag London. p.6-58. ISBN 3-540-19610-2. F-Secure. (2004) F-Secure Malware Information Pages: Cabir. http://www.fsecure.com/v-descs/cabir.shtml. Hypponen, Mikko. (2006). Vírus no http://www2.uol.com.br/sciam/reportagens/virus_no_celular_4.html.

cellular.

JAVA.SUN. (2008). Mobile Service Archtecture 2 - Coming Your Way. http://java.sun.com/developer/technicalArticles/javame/msa2-intro. Johnson, Thienne M. (2007). Java para dispositivos moveis: Desenvolvendo aplicações com J2ME. São Paulo: Novatec Editora. ISBN 978-85-7522-143-3. NIST. (2007). Security http://csrc.nist.gov/mobilesecurity/publications.html#MD.

Publications.

ORTIZ, C. Enrique (2005). Preparing for the Mobile Application Developer Certification. http://www.ibm.com/developerworks/wireless/library/wi-prep. Prakash, Ravi, Shivaratri, Niranjan G., Singhal, Mukesh (1995). “Distributed Dynamic Channel Allocation for Mobile Computing”. Ottawa, Canada, p.47-56. http://citeseer.ist.psu.edu/article/prakash95distributed.html. Rahnema, Moe. (1993). Overview of the GSM Systema and Protocol Architecture. IEEE Communications Magazine, 9p. http://www.comsoc.org/livepubs/surveys/public/4q99issue/Rahnema.pdf. Ramasami, Vijaya Chandran (2000). Advanced Mobile Phone Service. An Overview. http://citeseer.ist.psu.edu/458813.html. R.A., Powers (1995). Batteries for low power electronics. Volume 83, p. 687-693. SSN: 0018-9219.

View publication stats

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.