Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

A Segurança dos Sistemas Operacionais Android, Notas de aula de Sistemas Operacionais

Tipologia: Notas de aula

2022

Compartilhado em 07/11/2022

Neymar
Neymar 🇧🇷

4.7

(130)

378 documentos

1 / 66

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE FUMEC
FACULDADE DE CIÊNCIAS EMPRESARIAIS - FACE
GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
ANTÔNIO AUGUSTO DUARTE MOURA DE AQUINO
LEONARDO SILVA PASSARELLA FALCI
A SEGURANÇA DOS SISTEMAS OPERACIONAIS ANDROID
BELO HORIZONTE
2015
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42

Pré-visualização parcial do texto

Baixe A Segurança dos Sistemas Operacionais Android e outras Notas de aula em PDF para Sistemas Operacionais, somente na Docsity!

UNIVERSIDADE FUMEC

FACULDADE DE CIÊNCIAS EMPRESARIAIS - FACE

GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

ANTÔNIO AUGUSTO DUARTE MOURA DE AQUINO

LEONARDO SILVA PASSARELLA FALCI

A SEGURANÇA DOS SISTEMAS OPERACIONAIS ANDROID

BELO HORIZONTE

ANTÔNIO AUGUSTO DUARTE MOURA DE AQUINO

LEONARDO SILVA PASSARELLA FALCI

A SEGURANÇA DOS SISTEMAS OPERACIONAIS ANDROID

BELO HORIZONTE

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

RESUMO

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.

ABSTRACT

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.

LISTA DE TABELAS

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

LISTA DE ABREVIATURAS E SIGLAS

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.

  • FIGURA 1 - Gráfico de desempenho dos sistemas mobile mais utilizados no mundo
  • FIGURA 2 - Representação das camadas da arquitetura do Android
  • FIGURA 3 - Gráfico de distribuição das versões do Android
  • FIGURA 4 - Permissão da instalação de aplicativos de fontes desconhecidas no Android
  • FIGURA 5 - Quadro de resenhas na página de um app da Google Play Store
  • FIGURA 6 - Informações principais da página do app “8 Ball Pool” na Google Play Store
  • FIGURA 7 - Alguns aplicativos postados pelo Miniclip.com na Google Play Store
  • FIGURA 8 - Permissões de acesso ao aparelho do aplicativo “8 Ball Pool”
  • FIGURA 9 - Opção de reportar aplicativo na Google Play Store
  • trimestre)................................................................................................................................... FIGURA 10 - Crescimento de aplicativos maliciosos e de alto risco em 2014 (milhões por
  • FIGURA 11 - Proporção de dispositivos rodando versões vulneráveis do Android
  • FIGURA 12 - Arquitetura da biblioteca de mídia “Stagefright” do Android
  • FIGURA 13 - O funcionamento do ataque via MMS
  • FIGURA 14 - Lista de Fabricantes afetados pela vulnerabilidade do Stagefright
  • 1 INTRODUÇÃO
  • 1.1 Contextualização do problema
  • 1.2 Objetivo Geral
  • 1.3 Objetivos Específicos
  • 1.4 Justificativa...............................................................................................................
  • 1.5 Hipótese.....................................................................................................................
  • 2 REFERENCIAL TEÓRICO
  • 2.1 A importância da segurança nos dispositivos móveis
  • 2.2 Os principais tipos de cibercriminosos
  • 2.2.1 Hacker
  • 2.2.2 Cracker
  • 2.2.3 Phreaker
  • 2.2.4 White Hat
  • 2.2.5 Black Hat
  • 2.2.6 Grey Hat
  • 2.3 Os principais tipos de aplicativos maliciosos
  • 2.3.1 Adware...............................................................................................................
  • 2.3.2 Cavalo de Troia.................................................................................................
  • 2.3.3 Spyware
  • 2.3.4 Vírus de computador
  • 2.3.5 Worm
  • 2.4 A origem do sistema operacional Android
  • 2.5 Arquitetura do Android
  • 2.5.1 Camada “Linux Kernel”
  • 2.5.2 Camada “Libraries”
  • 2.5.3 Camada “Android Runtime”
  • 2.5.4 Camada “Application Framework”................................................................
  • 2.5.5 Camada “Applications”
  • 2.6 Histórico de versões do Android.............................................................................
  • 2.7 Google Play Store
  • 3 METODOLOGIA
  • 3.1 Definição de método e metodologia
  • 3.2 Caracterização do estudo
  • 3.2.1 Segundo os objetivos.........................................................................................
  • 3.2.2 Segundo as fontes de dados
  • 3.2.3 Segundo a forma de abordagem
  • 3.2.4 Segundo o procedimento de coleta de dados
  • 3.2.5 Segundo a amostra de coleta de dados
  • 4 RESULTADOS
  • 4.1 Autenticidade de um aplicativo da Google Play Store
  • 4.2 Funcionamento das atualizações de versões do Android
  • 4.3 Root nos dispositivos Android
  • 4.4 Introdução sobre as versões 4.3 até 5.1 do Android
  • 4.4.1 Android 4.3 (API 18)
  • 4.4.2 Android 4.4 (API 19)
  • 4.4.3 Android 5.0 (API 21)
  • 4.4.4 Android 5.1 (API 22)
  • 4.4.5 O anúncio do Android 6.0 (API 23) e suas expectativas
  • 4.5 As principais vulnerabilidades do Android
  • 4.5.1 Stagefright 1.0
  • 4.5.2 Stagefright 2.0
  • 4.5.3 Fake ID
  • 4.5.4 Towelroot...........................................................................................................
  • 5 CONCLUSÃO
  • REFERÊNCIAS

1 INTRODUÇÃ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

  • Identificar e compreender o funcionamento das atualizações e correções para os sistemas Android;
  • Identificar, analisar e comparar as versões 4.3, 4.4, 5.0 e 5.1 do Android;
  • Analisar as principais vulnerabilidades reportadas no uso do sistema operacional Android.

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.

  • Uma pessoa que gosta de explorar os detalhes de sistemas programáveis e esticar suas capacidades, em oposição à maioria dos usuários, que preferem aprender apenas o mínimo necessário.
  • Alguém que programa entusiasticamente (até de forma obsessiva) ou que gosta de programar em vez de apenas teorizar sobre programação.
  • Uma pessoa capaz de apreciar o valor do hacking.
  • Uma pessoa que programa bem e rápido.
  • Um especialista em um programa específico, ou que trabalha com ou sobre esse programa.
  • Um especialista ou entusiasta de qualquer tipo. Ele pode ser um hacker em astronomia, por exemplo, aquele que gosta do desafio intelectual de superar ou contornar limitações.
  • Um intrometido malicioso que tenta descobrir informações sensíveis testando falhas de segurança. Todo desenvolvedor que tem a malícia de prejudicar usuários e empresas é considerado como um cracker.

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