


























































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Tipologia: Notas de aula
1 / 66
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Trabalho de conclusão do curso apresentado à Universidade FUMEC como requisito parcial para a obtenção do título de Bacharel em Ciência da Computação.
Orientador Metodológico: Prof. Msc. Humberto F. Villela
Orientador Temático: Prof. Esp. Davis Anderson Figueiredo
Atualmente, o Android é o líder do mercado de sistemas operacionais mobile e é um código aberto utilizado por vários fabricantes, por isto, segundo alguns autores, apresenta falhas que variam de uma marca de produtos para a outra, sendo assim este projeto se limita a analisar apenas as falhas que afetam todos os aparelhos, independente desta variedade. Principais vulnerabilidades encontradas estão relacionadas a certas falhas do Android ao lidar com aplicativos, bibliotecas, ou até mesmo enraizadas no próprio sistema operacional. Estas falhas normalmente são exploradas por desenvolvedores maliciosos visando o roubo de conteúdo no aparelho atacado, manipulação de dados e acesso a informações confidenciais, sendo que esta ação dos criminosos em algumas ocasiões é até facilitada pelo usuário quando este utiliza aplicativos de origem desconhecida, fora da loja oficial do Google. Esta pesquisa surge a partir do questionamento: quais as principais vulnerabilidades que foram reportadas no sistema Android e os seus mecanismos para garantir a segurança? Seu objetivo principal foi realizar estudo sobre as principais vulnerabilidades do sistema operacional Android entre a API 18 e a API 22 (exceto API 20, por ser desenvolvida exclusivamente para dispositivos vestíveis). O estudo focou em analisar o funcionamento do sistema Android e avaliar a autenticidade de aplicativos da Google Play Store (loja virtual onde o usuário pode comprar músicas, filmes, livros e aplicativos), ressaltando suas vulnerabilidades apresentadas por estes sistemas e como as fabricantes que os utilizam em seus dispositivos e a Google lidam com estes problemas. Considera-se que o objetivo da pesquisa foi atingido e que esta gera novos questionamentos que poderão ser foco de futuras pesquisas como analisar a usabilidade em diferentes dispositivos Android e o que isto pode influenciar na segurança do sistema.
Palavras-chaves: Android, Vulnerabilidade, Segurança, Mobile.
Currently, Android is the leader in the mobile OS market and is an open source used by several manufacturers, therefore, according to some authors, it has flaws that vary from one product brand to another, therefore this project is limited to analyze only failures affecting all devices, regardless of this variety. Main vulnerabilities found are related to certain failures in dealing with Android applications, libraries, or even embedded in the operating system itself. These flaws are often exploited by malicious developers targeting the content theft wholesale unit, data manipulation and access to confidential information, and this action of criminals sometimes even facilitated by the user when the use of unknown origin applications, out of Google's official store. This research arises from the question: what are the main vulnerabilities that have been reported in the Android system and its mechanisms to ensure safety? Its main objective was to conduct study on key vulnerabilities of the Android OS between API 18 and API 22 (except API 20, being developed exclusively for wearable devices). The study focused on analyzing the operation of the Android system and evaluate the authenticity of the Google Play Store applications (virtual store where you can buy music, movies, books and apps), highlighting their vulnerabilities presented by these systems and how manufacturers that use in their devices and the Google deal with these problems. It is considered that the objective was reached and that this generates new questions that may be the focus of future research to analyze the usability in different Android devices and this can influence the system safety.
Keywords: Android, Vulnerability, Security, Mobile.
TABELA 1 - Histórico de versões oficiais do Android lançadas pela Google ........................ 23 TABELA 2 - Ciclo de produção das atualizações do Android................................................. 34 TABELA 3 - Lista de Vulnerabilidades documentadas pela Android Vulnerabilities ............ 43
AOSP Android Open Source Project (tradução livre: Projeto Código Aberto Android).
API Application Programming Interface (Interface de Programação de Aplicativos).
APK Android Application Package Kit (Pacote instalador específico para Android).
App Aplicativo.
AVRCP Audio/Video Remote Control Profile (Perfil de controle remoto de áudio/vídeo).
CVE Common Vulnerabilities and Exposures (Vulnerabilidades e Exposições Comuns).
DVM Dalvik Virtual Machine (Máquina Virtual Dalvik).
EXE Arquivo executável do sistema operacional Microsoft Windows.
GPS Global Positioning System (Sistema de Posicionamento Global).
iOS iPhone Operating System (Sistema Operacional do iPhone).
IP Internet Protocol (Protocolo de Internet).
JVM Java Virtual Machine (Máquina Virtual Java).
MB MegaBytes.
MITM Man-in-the-middle attack.
MMS Multimedia Messaging Service (Serviço de Mensagens Multimídia).
NDA Non-Disclosure Agreement (Acordo de Não Divulgação).
NFC Near Field Communication (Comunicação por Campo de Proximidade).
OTA Over The Air (“Pelo Ar”; Método de atualização).
RAM Random Access Memory (Memória de acesso aleatório).
SO Sistema Operacional.
TCP Transmission Control Protocol (Protocolo de Controle de Transmissão).
TI Tecnologia da Informação.
Com o avanço tecnológico, a humanidade é capaz de criar constantemente novos métodos e habilidades que possibilitam a melhoria das tarefas do cotidiano. Por exemplo, antigamente, para enviar uma carta era necessário postá-la pelo correio e a chegada ao seu destino poderia levar semanas, e hoje, ela pode ser enviada em poucos segundos por meio de um serviço de correio eletrônico (e-mail), contando com a ajuda da Internet.
Atualmente, os tablets e smartphones estão cada vez mais presentes na vida das pessoas e a quantidade de usuários de dispositivos móveis também está se expandindo. A demanda por esses equipamentos está aumentando consideravelmente no mundo inteiro, graças aos seguintes fatores: barateamento da tecnologia, crescente desenvolvimento mobile de diversos aplicativos específicos, aperfeiçoamento do poder de processamento de dados dos dispositivos móveis, entre outros. Porém, essa demanda acaba forçando a necessidade da adoção de sistemas operacionais que atendam a variedade de dispositivos diferentes e ofereçam o maior número de recursos possíveis.
Dentre os principais sistemas operacionais mobile existentes no mercado, podem ser citados o Android da Google, o iOS da Apple e o Windows Phone da Microsoft. De acordo com dados da Net Market Share (2015), uma respeitada empresa que realiza levantamentos estatísticos com base na análise dos acessos a sites, é possível perceber por meio da Figura 1 que o Android é o sistema operacional mobile mais usado do mundo, com 52,14% do mercado. Em seguida, vem o iOS e o Windows Phone, com 40,82% e 2,60%, respectivamente. Os dados mais recentes são de agosto de 2015.
FIGURA 1 - Gráfico de desempenho dos sistemas mobile mais utilizados no mundo
Fonte: NET MARKET SHARE, 2015
1.4 Justificativa
Pretende-se descobrir o que o sistema Android oferece em termos de segurança aos usuários e fazer uma busca das principais vulnerabilidades e problemas encontrados, a fim de entender como a segurança no sistema Android deve ser tratada.
Este trabalho se justifica em três ênfases. A primeira, sob a ótica técnica ou científica, onde pretende-se avançar na discussão do tema central segurança e sua relação direta com o sistema operacional Android.
Empresarialmente, o tema e trabalho se justificam diante da relevância do sistema operacional Android e sua parcela de mercado e uso atualmente. Faz-se necessário discutir suas vulnerabilidades e características técnicas relacionadas à segurança frente a diversas aplicações em uso pelas organizações e usuários finais.
No cenário atual, não existe um sistema considerado 100% seguro à prova de falhas e de vulnerabilidades, porém é necessário evitar os riscos da insegurança. Entende-se que o Android é o alvo preferido dos cibercriminosos que visam atacar e invadir dispositivos móveis, através do desenvolvimento de aplicativos maliciosos e que também se aproveitam das falhas de segurança de uma versão específica do Android.
A terceira argumentação da justificativa tem cunho na equipe que o desenvolveu o estudo. O trabalho refere-se ao Trabalho de Conclusão de Curso de Bacharelado em Ciência da Computação onde buscou-se avançar nos conhecimentos técnicos obtidos ao longo do referido curso e ainda alinhamento ao mercado de empresarial. Entende-se que o sistema operacional Android deve ser investido e utilizado por diferentes tipos de aplicações e organizações sendo foco o mercado de trabalho dos estudantes envolvidos.
1.5 Hipótese
Ao realizar esta pesquisa, tem-se a hipótese de que as vulnerabilidades não impactam no uso do sistema Android.
Espera-se confirmar que as vulnerabilidades são entendidas como dificuldades de proteger informações do sistema, embora sua liberdade de uso e ação dos usuários nos dispositivos móveis que utilizam a referida tecnologia são atrativos que podem ser justificativas para investimento em Segurança da Informação.
2.2.2 Cracker
Segundo Raymond (1996), há uma diferença bastante significativa entre um hacker e um cracker. Enquanto o hacker sem tendência maliciosa visa tornar a informática acessível a todos e apenas apontar possíveis falhas de um sistema, o cracker é o termo usado para designar um desenvolvedor que pratica a quebra ( cracking ) de um sistema de segurança de forma ilegal ou sem ética, procurando lucrar o máximo possível com a ação.
Além disso, Santos (2010) afirma que, normalmente, o cracker é especializado em piratear softwares comerciais e usa seus conhecimentos para invadir sites e computadores com objetivos ilícitos, como vandalismo ou roubo. Os crackers são excelentes programadores e podem criar programas que infectem ou destruam completamente sistemas alheios sem deixar vestígios, e caso haja algum imprevisto, ele tem noção suficiente para se “esconder”.
Apesar de alguns hackers irem de encontro à lei, eles são movidos pela intenção de promover o conhecimento e o auxílio a terceiros, mas nunca de autopromoção ou destruição do trabalho alheio.
2.2.3 Phreaker
Raymond (1996) também destacou o phreaker, combinação das palavras inglesas phone (telefone) e freak (maluco), é um hacker especializado em telefonia fixa e/ou móvel, ou seja, é o uso indevido de linhas telefônicas.
Ulbrich (2004, p. 30) também afirma que, no passado, os phreakers empregavam gravadores de fita e outros dispositivos para produzir sinais de controle e enganar o sistema de telefonia, como realizar qualquer chamada sem pagar por ela. Conforme as companhias telefônicas foram reforçando a segurança, as técnicas tornaram-se mais complexas. Atualmente, o phreaking é uma atividade elaborada que poucos hackers dominam.
2.2.4 White Hat
White Hat (chapéu branco) é um hacker que estuda sistemas de computação à procura de falhas na sua segurança, mas respeitando os princípios da ética. Ao encontrar uma falha, os hackers White Hat normalmente a comunica em primeiro lugar aos responsáveis pelo sistema para que tomem as medidas cabíveis. Muitos hackers White Hat desenvolvem suas pesquisas como professores de universidade ou empregados de empresas de informática (RAYMOND, 1996).
2.2.5 Black Hat
Black Hat (chapéu preto) é um hacker que não respeita a ética e usa seu conhecimento de computadores e outras tecnologias para fins criminosos ou maliciosos. Também pode ser chamado de dark-side hacker (hacker do lado negro), em referência à série de filmes Star Wars. Geralmente, os hackers Black Hat são considerados como crackers (RAYMOND, 1996).
Segundo Martins (2015), os hackers Black Hat podem infligir muitos danos em ambos os usuários de computadores e grandes organizações ao roubar informações sigilosas, comprometendo a segurança de grandes sistemas.
Às vezes, um hacker Black Hat emprega métodos em que não se utiliza o computador para obtenção de dados, como fazer um telefonema e assumir uma identidade, a fim de obter a senha de um usuário específico.
2.3.2 Cavalo de Troia
Cavalo de Troia ( Trojan Horse ) é um tipo de programa malicioso que pode se infiltrar num sistema disfarçado como um programa comum e legítimo. Ele serve para possibilitar a abertura de uma porta de forma que usuários com más intenções possam invadir o dispositivo (UOL, 2013).
O Trojan faz analogia à história, onde os gregos presentearam os troianos com um enorme cavalo de madeira, tendo escondido seu exército no interior do cavalo para abrir os portões e fazer a invasão. E segue essa mesma filosofia. Trata-se de um arquivo aparentemente inofensivo, porém com um código malicioso inserido em seu contexto (GRIFFIN, 2000).
Ishimi (2005) também afirma que um Trojan se passa por um programa que simula alguma funcionalidade útil, quando de fato ele esconde um programa que pode causar malefícios aos computadores e seus usuários, como abrir portas de rede e possibilitar invasões ou roubar senhas de usuários. Por exemplo, pode-se ter um jogo eletrônico que funciona corretamente, mas que de forma oculta executa algum código malicioso que rouba senhas ou altera as configurações do sistema.
2.3.3 Spyware
Spyware é um programa “espião”, isto é, um software que pode se instalar ou executar no computador sem que o usuário tenha conhecimento ou sem o seu consentimento ou controle. O spyware pode não apresentar sintomas depois de infectar o computador, mas muitos tipos deles podem afetar o funcionamento do computador. Por exemplo, um spyware pode monitorar o comportamento online do usuário ou coletar informações sobre ele, inclusive informações confidenciais ou de identificação pessoal, alterar configurações do computador ou fazer com que ele fique lento (MICROSOFT, 2015).
Todavia, isto não significa que eles sejam em sua totalidade programas maus. Existem muitos spywares de má índole, criados para coletar informações pessoais e, com elas, praticar atividades ilegais. Entretanto, nem todos são assim. Por exemplo, existem empresas de anúncio que utilizam spywares para, de forma legal, coletar informações de seus assinantes, com vistas a selecionar o tipo de anúncio que irão lhes apresentar (XAVIER, 2008).
O fato é que não existe um modo de saber qual spyware é inofensivo ou perigoso. O critério a ser adotado para se proteger é sempre desconfiar. Um spyware não prejudicial só será instalado mediante a autorização do usuário. Porém, um spyware maligno irá se instalar sem que o usuário perceba (UOL, 2013).
2.3.4 Vírus de computador
Segundo a Info Wester (2013), vírus de computador é um programa com fins maliciosos capaz de causar transtornos com os mais diversos tipos de ações, como apagar ou alterar arquivos dos usuários, prejudicar o funcionamento do sistema operacional danificando ou alterando suas funcionalidades, causar excesso de tráfego em redes, entre outros.
Os vírus, tal como qualquer outro tipo de malware, podem ser criados de várias formas. Os primeiros foram desenvolvidos em linguagens de programação como C e Assembly. Hoje, é possível encontrar inclusive ferramentas de desenvolvimento que auxiliam na sua criação.
Os vírus recebem esse nome porque possuem características de propagação que lembram os vírus reais, isto é, biológicos. Quando um vírus contamina um computador, além de executar a ação para o qual foi programado, tenta também se espalhar para outras máquinas, tal como fazem os vírus biológicos nos organismos que invadem.
Antigamente, os vírus tinham um raio de ação muito limitado: se propagavam, por exemplo, toda vez que um disquete contaminado era lido no computador. Com o surgimento da internet, no entanto, essa situação mudou drasticamente, para pior. Isso acontece porque, com a Internet, os vírus podem se espalhar de maneira muito mais rápida e contaminar um número muito mais expressivo de computadores. Para isso, eles podem explorar vários meios, por exemplo, falhas de segurança de sistemas operacionais e programas, envio de e-mails falsos para usuários e downloads de arquivos contaminados.
2.3.5 Worm
Worm (verme) possui as mesmas particularidades de um vírus de computador, porém sua diferença tem como objetivo a disseminação através da rede de computadores e não entre arquivos de um sistema operacional, como ocorre naturalmente nos vírus (BORGES, 2006).
Os worms não precisam obrigatoriamente de um portador para se propagar. Eles podem se autorreplicar, espalhando-se de um computador para outro e ainda pode conter vírus para