Você está na página 1de 52

1

SUMÁRIO

1 INTRODUÇÃO ............................................................................................ 4

2 WEB ............................................................................................................ 5

3 FERRAMENTAS DIGITAIS......................................................................... 6

3.1 Ferramenta para acompanhamento e gerenciamento de projetos ....... 7

3.2 Ferramentas de comunicação .............................................................. 9

3.3 Ferramentas de Videoconferência ..................................................... 10

3.4 Ferramentas de Design ...................................................................... 12

3.5 Acesso Remoto .................................................................................. 13

3.6 Organizador de Tarefas...................................................................... 14

3.7 Criação, Edição e Armazenamento de Documentos na Nuvem ......... 15

3.8 Elaboração de questionários, recolhimento de dados e gráfico das


pesquisas em tempo real ....................................................................................... 16

4 OS APLICATIVOS MÓVEIS (APPS) ........................................................ 18

5 Aplicativos nativos ................................................................................... 20

6 WEB APP.................................................................................................. 21

7 APP HIBRIDO ........................................................................................... 22

8 CRIPTOGRAFIA ....................................................................................... 23

8.1 Algoritmos de hash fracos .................................................................. 27

8.2 Chaves hardcoded ............................................................................. 27

8.3 Qualidade de Código, configurações e plataforma ............................. 27

8.4 Mal tratamento de exceções .............................................................. 28

8.5 Java. ................................................................................................... 29

8.6 Uso indiscriminado de Javascript pelas Webviews ............................ 29

8.7 Permissões não necessárias .............................................................. 30

8.8 Código não ofuscado.......................................................................... 31

2
8.9 Persistência nas aplicações ............................................................... 31

8.10 Exposição de dados sensíveis por IPC ........................................... 33

8.11 Uso inseguro da API de banco de dados ........................................ 34

9 APLICATIVOS DA WEB PARA INTERPOLAÇÃO ESPACIAL DE DADOS


METEOROLOGICOS ................................................................................................ 35

9.1 PLATAFORMA WEB PARA ACESSO E DISPONIBILIZAÇÃO DE


DADOS CLIMÁTICOS ........................................................................................... 36

10 Desenvolvimento da plataforma web ..................................................... 38

11 VULNERABILIDADES DE APLICATIVOS DA WEB.............................. 40

12 OPEN WEB APPLICATION SECURITY PROJECT (OWASP) ............. 43

13 SCRIPTS ENTRE SITES ....................................................................... 44

14 TECNOLOGIAS UTILIZADAS ............................................................... 46

14.1 OPEN SOURCE WEB APPLICATION SECURITY SCANNER


(W3AF) 46

14.2 SQL MAP ........................................................................................ 46

14.3 INTERCEPTER-NG ........................................................................ 47

14.4 NMAP .............................................................................................. 47

14.5 TOR ................................................................................................ 48

14.6 BURP SUITE................................................................................... 48

REFERÊNCIAS BIBLIOGRÁFICAS ............................................................... 50

3
1 INTRODUÇÃO

Prezado aluno!

O Grupo Educacional FAVENI, esclarece que o material virtual é semelhante


ao da sala de aula presencial. Em uma sala de aula, é raro – quase improvável - um
aluno se levantar, interromper a exposição, dirigir-se ao professor e fazer uma
pergunta, para que seja esclarecida uma dúvida sobre o tema tratado. O comum é
que esse aluno faça a pergunta em voz alta para todos ouvirem e todos ouvirão a
resposta. No espaço virtual, é a mesma coisa. Não hesite em perguntar, as perguntas
poderão ser direcionadas ao protocolo de atendimento que serão respondidas em
tempo hábil.
Os cursos à distância exigem do aluno tempo e organização. No caso da nossa
disciplina é preciso ter um horário destinado à leitura do texto base e à execução das
avaliações propostas. A vantagem é que poderá reservar o dia da semana e a hora
que lhe convier para isso.
A organização é o quesito indispensável, porque há uma sequência a ser
seguida e prazos definidos para as atividades.

Bons estudos!

4
2 WEB

Fonte: https://encrypted-tbn0.gstatic.com

A Web é uma rede cujos conteúdos estão interligados através de documentos


de hipertexto. Seu estudo é possível por um processo de análise e coleta sucessiva
das páginas, a partir de um conjunto de sítios previamente conhecidos. Essa busca é
feita de forma automática por um programa de computador normalmente chamado de
crawls, coletor ou batedor. Nem toda a Web está interligada, contudo, embora a maior
parte dela esteja, há “ilhas” de tamanhos variados sem ligação com o restante da rede.
Isso significa que o conjunto inicial de sítios a partir dos quais a pesquisa é feita
influencia o resultado, e encontrar o conjunto adequado, geralmente o mais completo
possível, é um passo importante (PALETTA, 2019).
Criada em 1991, por Tim Berners-Lee, a Web nasceu no laboratório CERN –
Conseil Européen pour la Recherche Nucléaire- localizado na Suíça, estabelecida
como linguagem de interligação para computadores de laboratório e outras
instituições de pesquisa, assim como exibir documentos científicos de forma simples
e fácil de acessar.
O primeiro princípio da Web, proposto pelo W3C Brasil (Consórcio World Wide
Web), afirma que “o principal valor da Web é o social. Mais do que tecnológico, este
é um ambiente de comunicação humana, de transações comerciais, de oportunidades
para compartilhar conhecimentos e, para ser um ambiente universal, deve estar
disponível para todas as pessoas, independentemente dos equipamentos e softwares
que utilizem, principalmente da cultura em que se inserem, da localização geográfica,
5
das habilidades físicas ou mentais, das condições socioeconômicas ou de instrução”.
A universalidade da Web só pode ser garantida e aprofundada com um modelo de
governança democrático e pluralista que tenha foco no acesso por todos e na sua
própria evolução tecnológica (GOV.BR, 2010).
A forma como interagimos com a internet é, de modo geral, por meio do uso da
World Wide Web, que pode ser traduzida por “teia de alcance mundial”, mas é mais
conhecida apenas como web. Os softwares e aplicações web evoluíram muito,
acompanhando as tendências de novas tecnologias da informação e da comunicação.
A troca de informação por browsers (navegadores), seja por computadores e laptops,
seja por smartphones e tablets, surgiu como uma novidade durante a primeira década
do século 21, porém hoje ela já é algo que faz parte da nossa comunicação diária.
Em tempos de abundantes inovações tecnológicas em contextos sociais
sempre há tempo e espaço para a exploração teórica de possibilidades de recursos
digitais em mediar a aprendizagem em contextos educacionais. Afinal, como afirma
Lengel (2013), é importante que as escolas, bem como os espaços oficiais de
aprendizagem, se atualizem em relação à maneira como propõem as situações de
ensino com vistas a aprimorar a qualidade da aprendizagem construída em suas
fronteiras.

3 FERRAMENTAS DIGITAIS

Fonte: wayback.com.br

6
São as ferramentas digitais que permitem a utilização de tecnologias, com o
intuito de facilitar a comunicação e acesso às informações por meio de dispositivos
eletrônicos, seja computadores, notebooks, tablets e smartphones. Podem ser
utilizadas em uma vasta área com finalidades diferentes, como publicidade, educação,
administração, ciências, uso corporativo e no uso pessoal.
Dentro das empresas as ferramentas digitais têm uma grande importância, pois
com seu uso correto, podem colaborar para melhor desempenho das atividades e até
mesmo em momentos de crises, podendo a empresa se sobressair em relação à
concorrência.
São exemplos de ferramentas digitais, programas, aplicativos, plataformas
virtuais, jogos, hardwares e softwares, portais e sites da internet, câmeras,
retroprojetores e muitos outros.

3.1 Ferramenta para acompanhamento e gerenciamento de projetos

Ferramentas de gerenciamento de projetos e fluxos de trabalho, como o Trello,


permitem organizar equipes para aumentar a produtividade e acompanhar o
progresso de cada especialista ou equipe responsável por uma determinada tarefa.
Baseadas em recursos dinâmicos, essas plataformas facilitam a adoção de métodos
flexíveis.

Trello

Logo do Trello (Fonte: Atlassian, 2022).

É uma ferramenta simples, flexível e visual, em que as pessoas que a utilizam


tem a liberdade para criação de planos, colaborar em projetos realizados em equipe

7
e até mesmo organizar os fluxos de trabalho e ver o desenvolvimento das tarefas. Se
trata de uma ferramenta disponível no formato de aplicativo para dispositivos móveis,
como também tem sua versão para computadores, disponível em versão gratuita com
recursos limitados, possui sua versão paga com um leque de recursos para facilitar o
gerenciamento de projetos, tornando os processos mais rápidos e automatizados.

Asana

Logo do Asana (Fonte: Asana 2022).


Se tratando de sua aplicação, o Asana não é tão diferente do Trello, a
ferramenta é voltada para organização de equipes e projetos, de maneira que facilite
os fluxos de trabalho, mas ao contrário do Trello onde suas tarefas são organizadas
por boards, cards e listas de tarefas, o sistema do Asana é mais versátil, por ter modos
de exibição dos fluxos alternativos, que são importantes para equipes que o utilizam.
No Asana tem a possibilidade de exibição de projetos na forma de quadros,
cronogramas, listas e até mesmo calendários, também se encontram disponíveis
templates prontos, assim as equipes não perdem tempo decifrando a ferramenta e
ganham tempo já aplicando as soluções ideais para seus processos, já prontas. Assim
como o Trello possui sua versão gratuita com recursos limitados e a opção paga com
uma variedade de ferramentas disponíveis.

ClickUp

8
Logo do ClickUp (Fonte: ClickUp 2022).

Destinado a equipes maiores, o ClickUp é uma ferramenta mais completa e


desenvolvida, tendo como um de seus diferenciais de serviço, uma visualização maior
de escopo, com vistas como quadro, lista, timeline e calendário, com essa ferramenta
é possível o acompanhamento de vários projetos com agilidade.
Vale destacar que com o ClickUp se tem um acompanhamento facilitar de
sprints, que são as fases de desenvolvimento de um projeto, conforme a metodologia
scrum, Assim como as ferramentas citadas anteriormente, essa também tem sua
versão gratuita com recursos limitados e uma versão paga com um leque de recursos
disponíveis.

3.2 Ferramentas de comunicação

Atualmente a maior parte das pessoas utilizam as ferramentas de comunicação


para se comunicarem com maior frequência do que pessoalmente, desde 2020 com
o início da pandemia do COVID-19, o índice de pessoas que utilizam dessas
ferramentas e o tempo de utilizaram aumentaram. Dentre as diversas ferramentas, se
destacam o WhatsApp, o Telegram e o Messenger.

WhatsApp

9
Logo do WhatsApp (Fonte: WhatsApp Inc. 2022).

O WhatsApp, é uma das ferramentas de comunicação mais conhecidas da


atualidade, permitindo manter diálogos rápidos e de uma forma muito simples. O
aplicativo também possibilita o compartilhamento de arquivos, contatos e localização,
sendo possível ser utilizado por smartphones e computador, neste caso utilizando o
QR Code.

Telegram

Logo do Telegram (Fonte: Telegram 2022).

É um aplicativo que oferece um serviço de mensagens instantâneas baseados


na nuvem. Este programa permite o envio de fotos, vídeos, stickerse quaisquer tipos
de arquivos. Pode ser utilizado em smartphones ou tablets, computadores e também
como aplicação web.

3.3 Ferramentas de Videoconferência

São mais utilizadas no meio empresarial para realização de reuniões onde os


membros da reunião estão em diferentes cidades, estados ou até mesmo países, as
ferramentas de videoconferência podem até mesmo trazer a redução de custos e

10
aumento da produtividade dos colaboradores e crescimento de eficiência da equipe.
Após a pandemia que atingiu todo o mundo, as escolas também passaram a utilizar
em grande escala essas ferramentas, para que os alunos não fossem tão prejudicados
com a pausa no ensino presencial.

Zoom

Logo do Zoom (Fonte: Zoom Video Communications Inc. 2022).

O Zoom, é uma ferramenta de comunicação visual. O programa é encontrado


através de aplicativo para smartphones, também podendo ser utilizado em tablets,
computadores ou afins. É gratuito, o que facilita a utilização por diversos tipos de
grupos de pessoas. Ele pode ser utilizado para conversas informais, reuniões,
videoconferência e até mesmo bate-papo escrito.

Google Meet

Logo do Google Meet (Fonte Google Meet 2022).

Pertencente à linha de produtos empresariais “G Suite”, agora chamado de


Google Workspace, o Meet é uma plataforma voltada para videoconferências, que
oferece benefícios como facilidade de acesso (não é preciso instalar nenhum plugin
ou aplicativo na máquina e o acesso também pode ser realizado sem a necessidade
de estar conectado à internet — usando o número de discagem); participação de até
250 pessoas em uma videoconferência; e dados criptografados.
11
3.4 Ferramentas de Design

Muitas são as opções de ferramentas de desing, as que são consideradas de


primeira classe como o Photoshop e o Illustrator são excelentes, mas infelizmente
nem todos podem adquirir esses programas na versão paga, utilizando o Adobe
Creative Cloud, devido aos valores. Mas nos casos em que o número de imagem a
ser editado não é elevado, utilizar uma ferramenta gratuita é a melhor opção. Algumas
ferramentas têm se destacado no mercado por sua eficiência nas edições.

Shutterstock Editor

Logo do Shutterstock Editor (Fonte Shutterstock Editor, 2022)

Se trata de um editor de imagens simples, mas de grande eficiência, ideal para


criação rápida de imagens para mídias sociais, equipado com modelos prontos,
tamanho de imagens predefinidos, fontes e filtros, é uma ótima opção para otimizar
os trabalhos de quem trabalha com mídias sociais, principalmente por ter a opção de
licenciar edições que podem ser aplicadas automaticamente quando o editor desejar.

Canva

Logo do Canva (Fonte: Canva 2022).

12
Entre os editores iniciantes, o canva é popularmente conhecimento, por possuir
uma interface de fácil utilização, baseada na funcionalidade de arrastar e soltar fotos
de stock gratuitas, imagens vetoriais, templates entre outros muitos recursos. O Canva
vai desde o design gráfico básico ao mais complexo com facilidade.

Adobe Spark

Logo do Adobe Spark (Fonte Adobe 2022).

Considerado uma ferramenta de edição de imagens multifuncional e fácil de


utilizar, o Adobe Spark possui ferramentas profissionais mais populares da Adobe, foi
desenvolvido para utilização de designers não profissionais, com ele é possível criar
imagens, desde memes à gráficos de mídia social, vídeos e páginas da web mais
simples. Dispõe de uma grande seleção de imagens gratuitas, templates e muitos
outros recursos gráficos.

3.5 Acesso Remoto

TeamViewer

Logo do TeamViewer (Fonte: TeamViewer 2022).

O TeamViewer, é um software próprio para o acesso remoto, compartilhamento


de área de trabalho, conferência online e transferência de arquivos entre

13
computadores. O programa opera dentro dos sistemas operacionais: Microsoft
Windows, OS X, Linux, iOS, Android, Windows RT e Windows Phone.

AnyDesk

Logo do AnyDesk (Fonte: AnyDesk 2022).

O AnyDesk, é uma ferramenta proprietária de área de trabalho remota


distribuída pela AnyDesk Software GmbH. O programa de software fornece acesso
remoto gratuito a computadores pessoais executando o aplicativo host, que pode ser
instalado no Windows, macOS, Linux e FreeBSD.

3.6 Organizador de Tarefas

FocusList

Logo do Focus List (Fonte: FocusList 2022).

O FocusList, é utilizado tanto para organizar as tarefas, quanto para realiza-las.


Este programa faz uso da técnica Pomodoro, que sugere que se alterne 25 minutos
de foco intenso com 5 minutos de descanso. O Programa permite inserir uma lista e a
própria ferramenta a organiza entre mais curtas e mais longas de forma alternada para
melhor produtividade.

14
Any.Do

Logo do Any Do (Fonte: Any.Do 2022).

O Any.Do, é um gerenciador de tarefas e listas gratuito para Android e iOS,


excepcionalmente intuitivo e prático de se usar. A plataforma permite inserção de
novas notas através de digitação, ou a voz, e permite eliminar de forma rápida quando
a tarefa for concluída. Também existe uma versão paga na qual a ferramenta envia
lembretes via WhatsApp, lembrando ao usuário que uma atividade precisa ser
realizada assim que o mesmo chegar em determinado local, tendo em vista que é
possível inserir a localização onde a tarefa precisa ser concluída.

3.7 Criação, Edição e Armazenamento de Documentos na Nuvem

Google Drive

Logo do Google Drive (Fonte: Google 2022).

O Google Drive, é um serviço de armazenamento e sincronização de arquivos.


Esta ferramenta permite que se faça upload de qualquer tipo de programa ou arquivo
e os mantem sempre de forma organizada, facilitando o acesso. O Google Drive
disponibiliza uma determinada memória e, quando a mesma se torna insuficiente,

15
pode-se adquirir mais espaço de memória de acordo com a necessidade do usuário.
A plataforma abriga agora o Google Docs, que possui um leque de aplicações de
produtividade, que oferece a edição de documentos, folhas de cálculo, apresentações,
entre outros.

OneDrive

Logo do OneDrive (Fonte Microsoft, 2022).

O OneDrive, é um serviço de armazenamento em nuvem da Microsoft. Com


ele é possível armazenar e hospedar qualquer arquivo, usando uma Conta da
Microsoft. Também é possível definir arquivos públicos, àqueles disponíveis somente
a amigos, usuários definidos ou privados.

3.8 Elaboração de questionários, recolhimento de dados e gráfico das


pesquisas em tempo real

SurveyMonkey

Logo SurevyMonkey (Fonte: SurveyMonkey 2022).

É uma companhia baseada em nuvem de desenvolvimento de pesquisas


online. Esta plataforma pode ser usada em diversas situações. Recentemente foi
possível utilizar a ferramenta para realizar uma votação sobre quais áreas comuns

16
seriam fechadas em um condomínio no Rio de Janeiro durante o período de
quarentena: o sindico criou a pesquisa e todos os moradores puderam dar sua opinião
de forma segura, democrática e em poucos segundos utilizando um aparelho
smartphone.
O criador da pesquisa consegue acompanhar o resultado da coleta de dados
ou votação em tempo real e, com isso, tomar a melhor decisão para a solução do
problema proposto.

Google Forms

Logo do Google Forms (Fonte: Google 2022).

O Google Forms, é um aplicativo para fins administrativos no uso de pesquisas


incluído no pacote do escritório do Google Drive, juntamente com o Google Docs, o
Google Sheets e o Google Slides. O Forms normalmente é utilizado para coleta de
dados e votação, podendo auxiliar no processo de tomada de decisão.

DocuSign
O DocuSign, é uma solução para assinatura de contratos online: se houver a
necessidade de assinar um contrato e ao mesmo tempo manter a segurança do
isolamento social, de forma rápida, segura e com menos emissão de papéis, utilizar o
DocuSign pode ser fundamental. Os documentos são criptografados e podem ser
criados por um computador, tablete ou smartphone.

Logo do DocuSign (Fonte: DocuSign Inc. 2022).

17
Microsoft Teams

Logo do Microsoft Teams (Fonte: Microsoft 2022).

O Microsoft Teams, é uma ferramenta multifuncional: a plataforma permite a


realização de videoconferência, bate papo, ligações, armazenamento e
compartilhamento de arquivos, gestão de equipes e projetos.
A ferramenta permite fazer a integração com outros dispositivos, sendo, ao
todo, mais de 400 aplicativos disponíveis, que podem ser pesquisados por categorias,
sendo elas: Análises, Inteligência Artificial, Colaboração, Atendimento ao consumidor,
Finanças, Recursos Humanos, Produtividade, Vendas, Marketing, Operações e TI. O
objetivo é flexibilizar e automatizar os processos facilitando a entrega de resultados
e a tomada de decisão.

4 OS APLICATIVOS MÓVEIS (APPS)

Fonte: googleusercontent.com

18
Os aplicativos móveis (Apps) são produtos projetados e desenvolvidos para
serem executados especificamente em dispositivos eletrônicos móveis, tendo como
comuns os PDA’s também conhecidos como palmtops, tablets, leitores de mp3,
telefones celulares, e smartphones mais modernos e com larga capacidade de
armazenamento e processamento (JANSSEN, 2015).
Um aplicativo móvel pode ser baixado diretamente do aparelho eletrônico,
desde que o dispositivo possua conexão com a Internet. A gama de fornecedores que
disponibilizam aplicativos para download através de lojas virtuais como a Apple Store
- loja virtual da Apple, Play store – loja virtual do Google para o sistema operacional
Android, Windows Phone Store– loja virtual da Microsoft para Windows Phone (entre
outras diversas lojas para seus respectivos sistemas operacionais), é enorme e é
possível encontrar todo tipo e gênero de aplicação. O número de download destas
aplicações está em expansão em ritmo muito forte. Chegam a ser publicados em
média trinta mil aplicativos novos por mês na loja virtual da Apple (SILVA et al, 2015).
O mercado de dispositivos móveis é ramificado por diferentes fabricantes, o
que inclui uma gama de plataformas de desenvolvimento, sistemas operacionais
móveis, software e hardware. A existência de múltiplas plataformas cria uma grande
variedade de aplicativos, cada um codificado para ser executado sob sua arquitetura
específica, o que segundo Martins et al. (2013) é atualmente um dos principais
desafios da computação móvel. Em resumo, isto significa que um aplicativo
desenvolvido para Iphone da Apple não funcionará nos sistemas operacionais da
Black Berry e Android, assim como também não funcionará no WindowsPhone, ou
seja, para cada sistema operacional, deve haver uma nova aplicação. Em outro
ponto, o grande fluxo de desenvolvimento causa um abandono na questão segurança
da aplicação.
Segundo Moraes (2013), com as necessidades crescentes por mobilidade e o
surgimento de soluções móveis de negócio ou a união entre os sistemas existentes,
é cada vez mais difícil manter a segurança das informações. Empresas como Apple
e Google tentam criar ações para minimizar os trabalhos e processos dos
desenvolvedores. No sistema operacional iOS, desde sua versão 5 usa-se criptografia
de hardware. A criptografia de hardware faz uso do algoritmo AES256 (Advanced
Encryption Standard) e garante uma proteção efetiva dos dados armazenados
fisicamente no dispositivo. Já no ambiente Android, desde sua versão 2.3, chamada

19
de Gingerbread o uso de criptografia é opcional, cabendo ao usuário ativá-la quando
assim o desejar.

5 APLICATIVOS NATIVOS

Aplicativos nativos são aplicações comumente encontradas em lojas de


aplicativos. São normalmente desenvolvidas utilizando linguagens de programação de
nível superior, como o Java para o Android, Objective-C para iOS, ou C# para
Windows Phone. As APIs nativas são fornecidas para o desenvolvedor como parte do
SDK da plataforma. As APIs da plataforma são normalmente concebidas para fornecer
aplicativos nativos de acesso ideal para as capacidades de hardware, como a câmera
do dispositivo e emparelhamento de Bluetooth. Além disso, os usuários podem ser
capazes de usar esses aplicativos sem uma conexão com a Internet (GOK et al, 2013).
Execução nativa consiste essencialmente em um aplicativo desenvolvido para
um dispositivo móvel especifico e instalado diretamente sobre o próprio dispositivo
com interpretação direta pelo sistema operacional. O pacote de desenvolvimento de
software para iOS (SDK) contém as ferramentas e interfaces necessárias para
desenvolver, instalar, executar e testar aplicativos nativos. O Xcode é responsável
pelo ambiente de desenvolvimento integrado da Apple (IDE). O Xcode inclui um editor
de código, um de interface gráfica do usuário, e muitos outros recursos. O iOS SDK
contido no Xcode inclui as ferramentas, os compiladores e as estruturas necessárias
especificamente para o desenvolvimento iOS. Aplicativos nativos em iOS são
construídos usando a estrutura de sistema na linguagem Objective-C (APPLE, 2013).
A linguagem nativa é executada diretamente no sistema operacional. Ao
contrário de aplicações Web, aplicativos nativos são fisicamente instalados em um
dispositivo e, portanto, são sempre disponíveis para o usuário. A linguagem de
programação recomendada pela Apple na plataforma iOS é o Objective-C, havendo
possibilidade de utilização da linguagem C e C++. Por ser uma linguagem especifica
da Apple, o principal recurso de pesquisa da linguagem é a própria documentação
disponibilizada pela Apple, e de acordo com Morandi, os conteúdos são completos, o
suficiente para entender e desenvolver projetos nessa linguagem (MORANDI, 2013).

20
6 WEB APP

No desenvolvimento para dispositivos móveis é possível utilizar aplicações


Web com o mesmo objetivo de uma aplicação nativa, porém com limitações de
recursos. O Web App refere-se a aplicativos baseados em navegador criados para
dispositivos móveis, como smartphones ou tablets, que podem ser conectados sem
fio. Web App é basicamente uma aplicação em marcação HTML e CSS, podendo ser
programado em JavaScript (HALES, 2012), ou seja, são sites projetados para
telefones móveis baseados na Web. Eles geralmente são parecidos em todas as
plataformas e não aproveitam os recursos da plataforma para personalizar a
experiência do usuário.
Este modelo é recomendado para projetos cujo custo e tempo sejam reduzidos
e a necessidade de várias plataformas seja um requisito essencial. Por ser uma
aplicação interpretada pelo navegador do dispositivo, a mesma passa a ser
visualizada em sistemas operacionais diferentes, tornando assim as aplicações Web
Apps àquelas com o menor tempo de projeto. A capacidade de atualizar e manter
aplicações Web sem distribuição e instalação de software, em potencialmente
milhares de dispositivos, é uma das principais razões para a sua popularidade, e a
compatibilidade dos navegadores entre plataformas torna a aplicação Web mais
pratica e dinâmica. Uma desvantagem dessa abordagem é que o download desses
ativos como a biblioteca Jquery Mobile para o dispositivo pode não só aumentar o
custo associado com o uso de dados, mas também afetar a experiência do usuário
devido a latência das redes (GOK et al, 2013).

21
7 APP HIBRIDO

Fonte: iocomunica.com

A criação de aplicativos para cada dispositivo como iPhone, Android, Windows


Mobile, etc. requer diferentes frameworks e linguagens. A aplicação híbrida resolve
esta questão usando tecnologias Web baseadas em padrões nativos. Aplicações
"híbridas" consistem em uma categoria especial de aplicações web que ampliam o
ambiente do aplicativo baseado na Web através da utilização de APIs nativas da
plataforma disponível em um determinado dispositivo. O padrão de projeto aplicação
híbrida é igualmente aplicável a ambos os ambientes móveis e de desktop (GOK et
al, 2013).
Assim como aplicativos nativos, a aplicação híbrida é executada dentro de um
ambiente de processo nativo no dispositivo. Esses aplicativos tipicamente envolvem
o conteúdo HTML dentro de um controle de navegador em modo de tela cheia, sem a
barra de endereços visível ou outros controles embutidos do navegador. Aplicativos
híbridos usam uma camada web-para-nativa abstração (também conhecida como
camada de ponte) que permite que o Javascript acesse muitos recursos específicos
do dispositivo e APIs nativas que não são geralmente acessíveis a partir do navegador
Web móvel sozinho (GOK et al, 2013).
Uma síntese das vantagens e desvantagens de cada tipo de desenvolvimento
de aplicativos mobile está descrita no Quadro. Como exemplo de aplicação móvel (e
seus tipos), nesta seção é apresentado um projeto que consiste em um exemplo

22
básico de visualização baseado nos conceitos de experiência de usuário e consumo
de serviço online atrás de APIs.
Tipos de Aplicativos Móveis:

Estas aplicações foram executadas em um simulador de sistema operacional


iOS conhecido como iOS Simulator. Nos casos de aplicação nativa e aplicação híbrida
houve a necessidade de compilar a aplicação para iOS utilizando o Xcode, já a
aplicação Web apenas tornou-se disponível em uma página da Internet (SILVA et al,
2015).

8 CRIPTOGRAFIA

Fonte: encrypted-tbn0.gstatic.com

Criptografia é um sistema de algoritmos matemáticos que codificam dados do


usuário para que só o destinatário possa ler. Por mais simples que possa parecer, a
matemática e os passos adicionais podem se tornar difíceis para os principiantes.
Mas, antes que você decida adiar isso em troca de outras maneiras para proteger
suas comunicações online, alguns exemplos podem convencê-lo de que a criptografia

23
é um dos melhores métodos para proteger sua privacidade, mesmo em momentos em
que você acha que ela não conta.
Telefonemas, e-mails, compras online, mídia social e navegação em geral são
atividades online que não podemos dispensar em nossas vidas. Enquanto estamos
constantemente procurando ou compartilhando informações online, nossos dados
estão essencialmente armazenados em algum lugar. A maioria das pessoas não tem
certeza onde é esse “algum lugar”, mas esses dados deveriam estar disponíveis só
para o provedor de serviço de intermediação de sua conversa. Porém, ela pode estar
visível para as empresas de telecomunicação transportando seus pacotes de Internet
e, assim, suas comunicações supostamente privadas e seguras podem ser
interceptadas.
Como muitos casos provaram, dados de usuários e empresas estão cada vez
mais sendo alvos de hackers e ciber criminosos, resultando em violações de dados e
ataques direcionados. Só essa razão deveria servir como um alerta para os que não
pensaram em proteger suas comunicações por meio de criptografia.
A criptografia é o componente que protege os dados sensíveis do usuário. Por
meio do protocolo SSL/TLS, a aplicação faz uma negociação de chave pública-privada
e assim efetua uma conexão segura por meio de dados criptografados por uma chave
simétrica. A criptografia também pode ser utilizada para cifrar dados locais
importantes, como um arquivo de informações sensíveis. Essa seção equivale aos
componentes M3 e M5 da OWASP Mobile Top 10.
Conexão entre servidor e aplicação:

Fonte: GOMES (2016)

Vulnerabilidades
As vulnerabilidades listadas para esse componente são:
24
Passa informações sensíveis sem SSL
A aplicação pode dispensar o uso de SSL/TLS e fazer autenticação por meio
de texto limpo, como um socketTCP ou HTTP. Essa prática faz com que um atacante
seja capaz de farejar a conexão com uma ferramenta e seja capaz de interceptar todo
o texto que é passado no enlace, comprometendo a confidencialidade e a integridade
destesdados.
•Gravidade: Crítica.
•Código CVSS: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
•Como constatar: Utilizar um snifferde rede para analisar os pacotes da
aplicação e verificar se é utilizado ou não o protocolo SSL/TLS.
•Solução: Utilizar o protocolo SSL/TLS. Se for utilizar o protocolo HTTP, utilizar
o HTTPS e garantir que o servidor possui um certificado válido assinado por uma
autoridade certificadora (CA). O uso de pinagem de certificado aumenta as defesas
da aplicação contra um ataque MITM.
A conexão suporta SSL 3.0O uso do SSL3.0 remete a uma vulnerabilidade por
suportar um protocolo já antigo que tem inúmeras falhas já conhecidas com provas de
conceito, como o POODLE.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
•Como constatar: Verificar o servidor da aplicação com o site
<https://www.ssllabs.com>ou utilizar uma ferramenta como ocurl, utilizando o
comando curl -vvI <http://exemplo.com>.
•Solução: Desativar o suporte a SSL3.0 no servidor ou serviço da aplicação,
deixando suporte apenas ao TLS1.1 e o TLS1.2.5.4.1.3 A conexão suporta TLS 1.0O
uso do TLS1.0 remete a uma vulnerabilidade por suportar um protocolo já antigo que
tem inúmeras falhas já conhecidas com provas de conceito, como o BREACH.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
•Como constatar: Verificar o site com o <https://www.ssllabs.com> ou utilizar
uma ferramenta como o curl, utilizando o comando curl -vvI <http://exemplo.com>.
•Solução: Desativar o suporte a TLS1.0 no servidor ou serviço da aplicação,
deixando suporte apenas ao TLS1.1 e o TLS1.2.

25
A conexão suporta compressão SSL/TLSA compressão SSL/TLS é um vetor
de ataque side-channel por permitir que um atacante possa fazer força bruta de cookie
se outros valores que possam comprometer a sessão e informações sensíveis do
usuário.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
•Como constatar: Verificar o servidor com o <https://www.ssllabs.com>.
•Solução: Desativar o suporte a compressão de SSL/TLS na aplicação.
A conexão tem suporte a RC4RC4 é um stream cipher utilizado por 30% da
internet em 2015. Foi bastante difundido por sua eficiência e simplicidade. Porém, em
2013 foi provado que era inseguro e era vulnerável a uma quebra por força bruta que
tinha uma magnitude de dificuldade praticável por instituições que possuíssem infra-
instruturas como clusterse supercomputadores (INITIATIVE,2015).
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
•Como constatar: Verificar o servidor com o <https://www.ssllabs.com>.
•Solução: Desativar o suporte a compressão à cifra RC
Não verifica a assinatura do certificado.
A assinatura do certificado digital é um componente eletrônico que infere a
origem e integridade do documento. No caso de um site, o mesmo atesta que o
certificado daquele host comprova ser quem o seu domínio diz que é. Porém, se uma
aplicação aceitar conexões SSL sem verificar se a assinatura do certificado é válida,
um atacante pode fazer um ataque MITM e poder interceptar toda a conexão entre os
dois pontos. Caso a aplicação utilize de certificados auto-assinados, pode-se realizar
uma pinagem de certificado para garantir a autenticidade do host.
•Gravidade: Alta.
•Código CVSS: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N
•Como constatar: Realizar um ataqueMan in the Middle utilizando um certificado
auto-assinado e observado se a aplicação continua funcionando normalmente, o que
permitiria uma interceptação dos dados.
•Solução: Utilizar um certificado assinado ou pinagem de certificado na
aplicação.

26
8.1 Algoritmos de hash fracos

A aplicação pode se utilizar de algoritmos de hash para funções diversas, como


transformar uma senha ou gerar valores que sejam de uso da sua lógica. Caso sejam
utilizados hashs fracos como MD5 ou SHA1, a aplicação torna-se vulnerável, pois
estes já foram prova dos inseguros ao terem colisões descobertas (SECURITY, 2017).
•Gravidade: Alta.
•Código CVSS: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
•Como constatar: Verificar o código fonte da aplicação para encontrar o uso de
hashs fracas em contextos onde deveriam proteger informações sensíveis.
•Solução: Utilizar algoritmos de hash fortes como SHA3 ou SHA256.

8.2 Chaves hardcoded

A aplicação pode conter chaves hardcoded (estáticas) no código, fazendo com


que toda a criptografia entre a aplicação e o servidor seja comprometida caso o
atacante consiga obter acesso a essas chaves por meio de uma análise estática do
código utilizando de compilação e engenharia reversa.
•Gravidade: Alta.
•Código CVSS: CVSS:3.0/AV: L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N
•Como constatar: Fazer uma análise do código fonte ou de código
descompilado procurando trechos de código que mostrem uma chave hardcoded.
•Solução: Não utilizar chaves simétricas como único método de criptografia de
uma conexão ponta-a-ponta e sim utilizar o método de criptografia assimétrica por
meio de implementações do SSL/TLS como o OpenSSL.

8.3 Qualidade de Código, configurações e plataforma

Outro componente a se levar em consideração é o código do aplicativo. Nele


pode se esconder falhas que precisam de certa criatividade do atacante para serem
exploradas, além de um trabalho minucioso de análise do código conseguido a partir
de engenharia reversa. Nesse ambiente, também temos problemas em lidar com as
permissões do Android: um aplicativo que tem permissões de escrita no cartão SD
(Secure Digital) pode ocasionar um Denial of Service caso essa funcionalidade esteja
27
exposta por uma Intent que possa ser explorada pelo atacante de forma a encher o
cartão com uma grande quantidade de dados. Pode haver o caso do aplicativo exigir
uma permissão que não é necessária ao seu uso, e para diminuir a superfície de
ataque, tal permissão deve ser removida.
Nisso, também há as configurações da aplicação: falta ofuscação de código
ou aplicativos no modo debug são exemplos de má configurações que podem acabar
indo para aloja de aplicativos e assim oferecer uma maior possibilidade ao atacante.
Essa seção relaciona aos componentes M1, M7 e M10 da OWASP Mobile Top
10.
Vulnerabilidades
As vulnerabilidades listadas para esse componente são:
Qualidade de Código, configurações e plataforma

Fonte: GOMES (2016)

8.4 Mal tratamento de exceções

A aplicação pode expor locais para entrada de dados do usuário nos quais não
teve suas exceções corretamente tratadas e assim expondo o usuário final a ataques
de indisponibilidade.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L
•Como constatar: Colocar dados inválidos em formulários, utilizar o Drozer para
realizar um processo de fuzzing nas intents.
•Solução: Fazer o correto tratamento de exceções no código, planejando de
antemão oscasos que comprometer o uso da aplicação.
Aplicativo não está em Release

28
Ao ser disponibilizada para o usuário, a aplicação pode ser exportada para um
arquivo APK (Android PacKage). Esse tipo de arquivo é análogo ao JAR encontrado
nas aplicações

8.5 Java.

O arquivo APK pode ser distribuído em modo de bug ou release, nos quais o
release contém algumas proteções como minifyEnabled do Androguard.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
•Como constatar: Verificar com a ferramenta jarsign, jarsigner -verify -verbose
-certsmyApp. apk. Se a saída for "CN=Android Debug", então a aplicação está em
modo debug e não release.
•Solução: Garantir que a aplicação esteja em modo release quando
disponibilizada aos usuários finais.
Contém código de debug ging Desenvolvedores usam código específico na
produção para efetuarem testes rápido sou fazer debbuging em uma aplicação. Esse
código pode ser para imprimir informações sensíveis em logs de forma a notificar o
desenvolvedor sobre uma mudança de estado ou uma mudança no fluxo do código
para by-pass de métodos de autenticação.
•Gravidade: Média.
•Código CVSS:CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N
•Como constatar: Usar ferramentas de monitoramento de log como o logcat e
fazer uma revisão do código fonte. Caso o código fonte não esteja disponível, pode
ser feita uma decompilação do código com JD-gui e Apktool.
•Solução: Efetuar uma revisão de código para não deixar que códigos para
debbuging estejam na versão de produção do aplicativo.

8.6 Uso indiscriminado de Javascript pelas Webviews

O Javascript é uma linguagem de programação poderosa que teve suas origens


em navegadores web e é amplamente utilizada no front-end e back-end de sites. Um
tipo de View do Android, a Web View, permite o carregamento de páginas web pelo

29
aplicativo. Se a página carregada for vulnerável a ataques XSS (Cross Site
Scripting), um atacante pode ter acesso a recursos do sistema com a diretiva "file:///"e
até efetuar um ataque de phishing contra o usuário, mascarando o site que ele está
navegando.
•Gravidade: Alta.
•Código CVSS: CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:H
•Como constatar: Verificar se o Web View possui Javascript habilitado e se seu
uso é necessário para a funcionalidade da página.
•Solução: Caso seja desnecessário o uso de Javascript, não utilizar a função
set JavaS-cript Enabled (true) que o habilita. Evitar o uso do método
addJavaScriptInterface para código Javascript carregado por entidades externas,
sendo recomendado apenas expor as interfaces do Android por Javascript apenas ao
Javascript que vem junto do APK em sua aplicação.

8.7 Permissões não necessárias

Os aplicativos Android tem permissões dos sistemas que são concebidas a um


aplicativo com consentimento do usuário. Essas permissões deixam aplicativo
acessar componentes como as câmeras do dispositivo ou poder escrever na memória
do usuário, por exemplo. Permissões possibilitam com que o aplicativo possa ter o
mínimo privilégio para realizar suas tarefas e que o usuário possa confiar em habilitá-
las ou não durante o uso do aplicativo ou antes de instalá-lo. Um aplicativo que possui
mais permissões do que o mínimo necessário ao seu uso pode comprometer a
segurança do aparelho, pois um atacante pode mover lateralmente pelas permissões
a afim de realizar um maior estrago no usuário.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
•Como constatar: Verificar se a aplicação requisita mais permissões do que
realmente utiliza em suas funcionalidades e verificar se os recursos destas
permissões estão expostos diretamente por Intents que possam vir de aplicações
externas.
•Solução: Minimizar o uso das permissões somente as funcionalidades
utilizadas no aplicativo.

30
8.8 Código não ofuscado

Graças ao ProGuard, o Android tem várias proteções de código e aplicações


deforma simples e rápida. Porém, nem sempre elas foram implementadas
corretamente. Um desses casos é a ofuscação de código-fonte. Sem ela, o código
Java da aplicação pode ser descompilado e facilmente lido por um atacante a fim de
verificar como a aplicação funciona e poder tirar informações dela. Logo, é necessário
que qualquer aplicação que esteja disponível para distribuição tenha seu código
ofuscado, de forma a dificultar a engenharia reversa e diminuir o tamanho do seu
binário para distribuição.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
•Como constatar: Utilizar de compilers como o Apktool,dex2jar e JD-GUI a fim
de fazer uma leitura no código descompilado e verificar sua semelhança ao código
fonte.
•Solução: Utilizar a opção minify Enabled true no arquivo build. gradle.
Mecanismos de Persistência e Comunicação

8.9 Persistência nas aplicações

Android também é um componente importante para ser analisado na segurança


do aplicativo. Uma aplicação que lida com dados sensíveis precisa garantir que esses
dados estejam seguros e não sejam expostos para escrita ou leitura por outras
aplicações. Também é preciso assegurar se a aplicação está usando corretamente
mecanismos de criptografia nos arquivos. Essa seção se relaciona com aos
componentes M1, M2 e M10 da lista OWASP Top10 Mobile 2016.
Mecanismos de Persistência e Comunicação:

Fonte: GOMES (2016)

31
Vulnerabilidades
As vulnerabilidades listadas para esse componente são:
Informação sensível na memória externa
O Android possibilita ao desenvolvedor gravar arquivos na memória externa
como conveniência para que elas possam ser acessadas por outros aplicativos. O
problema é quando essa função é erroneamente utilizada para gravar informações
sensíveis: qualquer aplicação pode ler os arquivos da memória externa desde que
tenha a permissão para tal.
•Gravidade: Alta
•Código CVSS: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
•Como constatar: Verificar em um aparelho os conteúdos na memória externa
e identificar se o aplicativo está guardando informações nele.
•Solução: Não utilizar a memória externa para guardar dados importantes da
aplicação.
Caso houver necessidade de persistir informações sensíveis, utilizar a API do
banco SQLite ou guardar na memória interna, ou mesmo no Shared Preferences.
Cache do teclado e clipboard com informações sensíveis
No preenchimento de formulários, o usuário precisa preenche-los com
informações para serem processadas pelo aplicativo. Em alguns casos, essa
informações podem ser sensíveis e o aplicativo precisa tomar cuidado para que elas
não sejam salvas no cache do teclado ou mesmo na área de transferência (clipboard).
Os dados salvos nessas áreas podem ser interceptados por outros aplicativos,
gerando um ponto de falha.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV: L/AC:H/PR: L/UI:R/S:U/C:H/I:N/A:N
•Como constatar: Verificar se o aplicativo coloca informação sensível no
clipboard sem limpá-lo ou se senhas são gravadas no cache do teclado por não
estarem sendo digitada sem campos específicos para senha.
•Solução: Caso o aplicativo coloque informação sensível no clipboard, eliminar
o clipboard depois de algum tempo previamente determinado. Caso precise colocar
senha em um formulário, utilizar o atributo android: input Type="text Password" na
View de entrada, o que garante que não salvará o texto no dicionário do teclado.

32
8.10 Exposição de dados sensíveis por IPC

Dados sensíveis persistidos no disco rígido do aparelho podem estar expostos


por meio de IPC (Inter Process Comunication), que no Android é feito com Intents.
Caso o código que receberá a mensagem da Intent não for tratado corretamente,
poderá haver exploração por parte de um atacante e acabar revelando dados
sensíveis da aplicação.
•Gravidade: Baixa.
•Código CVSS: CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
•Como constatar: Enviar Intents para Activities previamente estudadas da
aplicação a fim de que ela retorne uma informação importante, como um token de
sessão, credencial ou outra informação sensível.
•Solução: Evitar passagem de informações sensíveis por Intents para
aplicações externas. Caso a lógica do negócio exija tal funcionalidade, tentar
minimizar o impacto causado caso essa informação seja requisitada por um atacante.
Exposição de dados sensíveis pela interface Exposição de dados sensíveis,
como senhas e números de cartões de créditos, não devem ser retornados ao usuário
nem ficarem ofuscados na interface. Um atacante que tomou o controle da aplicação
tentar retirar os valores que contém nos objetos mostrados na interface, tornando não
só a ofuscação de interface inútil, mas também perigosa.
•Gravidade: Baixa.
•Código CVSS: CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N
•Como constatar: Utilizar a aplicação e verificar se alguma activity mostra esses
dados objetivamente ao usuário. Caso só mostre dados parciais, como um número de
cartão de crédito que contem parte do seu conteúdo em asteriscos ou uma senha em
asteriscos que tem o mesmo tamanho da senha original do usuário, realizar um
debugging para averiguar se o valor contido dentro da entrada de texto é o dado ’limpo’
ou ofuscado.
•Solução: Não colocar dados sensíveis como senhas do usuário em formulários
ou mostrá-los na tela.5.4.3.5 Escrita de dados sensíveis nos logs Oslogs de uma
aplicação Android podem registrar informações sensíveis, como token de sessão do
usuário ou até mesmo senhas. Logo, informações como estas não devem ser
registradas em logs. No Android apenas o usuário root pode ler logs que não sejam
feitos por ele mesmo.
33
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
•Como constatar: Utilizar o programa logcat para visualizar toda a saída dos
logs e procurar por informações sensíveis. O uso de filtros pode auxiliar na busca por
informações de uma aplicação específica.
•Solução: Remover os trechos de código que imprimem informações sensíveis
nos logs.

8.11 Uso inseguro da API de banco de dados

O Android possui uma API para escrita de dados utilizando a engine Sqlite.
Essa API permite que o desenvolvedor utilize a engine em vez de desenvolver sua
própria implementação de banco de dados. Logo, apesar do SQLit e já ser um
software maduro em relação à segurança, seu mau uso pode ocasionar brechas. Um
exemplo de mal uso é a utilização de queries não parametrizadas e de queries que
utilizam concatenação direta (sem sanitização) com a entrada do usuário para
operações que trabalhem com os dados do bancos. Tais operações poderiam quebrar
a integridade do banco, fazendo com que um atacante possa abusar dos dados locais
da aplicação para fins maliciosos.
•Gravidade: Média.
•Código CVSS: CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
•Como constatar: Fazer uma análise do código e verificar se as chamadas à
API dos métodos de acesso ao banco SQLite contem Strings não parametrizadas
concatenadas ao texto da query. Caso o código não esteja disponível, uma de
compilação pode ser feita, ou um teste por meio defuzzing.
•Solução: Utilizar parametrização de query e sanitizar a entrada do usuário para
queries que necessariamente precisam ser concatenadas com entrada do usuário.

34
9 APLICATIVOS DA WEB PARA INTERPOLAÇÃO ESPACIAL DE DADOS
METEOROLOGICOS

Fonte: processamentodigital.com.br

O uso de técnicas de interpolação espacial é de fundamental relevância, pois,


permite a construção de modelos estatístico-computacionais para a estimativa do
valor de um atributo espacialmente distribuído. A interpolação espacial é, em
essência, uma técnica a qual pressupõe que os valores de um atributo tendem a
assemelhar-se em locais mais próximos e costumam ser mais distintos quando estão
em locais mais distantes entre si (JAKOB; YOUNG, 2016). Tais técnicas são
consideradas clássicas para fornecer dados à tomada de decisão espacialmente
dependente, como é o caso dos dados meteorológicos que podem estimar, por
exemplo, medidas de evapotranspiração obtidas, in loco, de uma dada localidade
(SILVA, 2006).
Exemplos de aplicabilidade da interpolação espacial na resolução de situações-
problema podem ser observados na estimativa espacial de variáveis ambientais (LI;
HEAP, 2014; LOPES; MELO; LEAL, 2017), na previsão de precipitação para
determinada localidade, em análises sociodemográficas (JAKOB; YOUNG, 2016) e
na elaboração de mapas hidrogeológicos paramétricos (VARGAS et al., 2019).
No caso da agrometeorologia, por exemplo, a interpolação espacial pode
auxiliar no manejo de irrigação fazendo estimativas da evapotranspiração em uma
propriedade rural, a partir de dados meteorológicos coletados em regiões próximas.
Desta forma, é possível reduzir os custos com o manejo de irrigação que, de outra
forma, exigiria uso de sensores específicos, software adequado e pessoal técnico

35
especializado para a operação e manutenção de equipamentos. Em síntese, a
aplicabilidade da interpolação espacial pode abranger as mais diversas aplicações,
desde a meteorologia, hidrologia, sociologia, zoneamento agrícola até a
caracterização de áreas de risco à saúde, por exemplo. Propõe-se com este estudo o
desenvolvimento e a implantação de um serviço web de interpolação espacial
utilizando-se de três algoritmos para a interpolação da (ETo), são eles: Inverse
Distance Weighted (IDW), Ordinary Kriging (OK) e RandomForest (RF). Sendo os dois
primeiros algoritmos amplamente utilizados na interpolação de diversas variáveis
ambientais (JAKOB; YOUNG, 2016; LOPES; MELO; LEAL, 2017; VARGAS et al.,
2019), conhecidos por produzirem baixos erros de interpolação. Já o último algoritmo,
por outro lado, tem mostrado desempenho superior aos métodos clássicos (LI et al.,
2011; APPELHANS et al., 2015; JÚNIOR et al., 2019).
Uma das principais vantagens do serviço proposto é a possibilidade de
interpolação de uma ampla gama de variáveis tais como temperatura ambiente,
umidade relativa do ar, velocidade do vento, etc. Pretendeu-se, com isso, tornar o
serviço útil para o desenvolvimento de aplicações em áreas diversas, mas, com foco
no setor da agricultura e meio ambiente. Esse software pode ser utilizado como
ferramenta de apoio para outras pesquisas ou mesmo para outro software. Desta
forma, os principais beneficiários do presente serviço incluem pesquisadores e
desenvolvedores de software que, por sua vez, a partir da aplicação do presente
serviço, podem desenvolver estudos que beneficiarão o agricultor na ponta da cadeia
produtiva e até mesmo a agroindústria, proporcionando a estes redução de custos
correlacionados ao serviço prestado pelo software desenvolvido neste trabalho, a
exemplo disso tem-se o Aquaprev, que fará uso da interpolação espacial, dada como
retorno pelo software desenvolvido, para estimar a quantidade de água necessária
para a irrigação de uma determinada cultura.

9.1 PLATAFORMA WEB PARA ACESSO E DISPONIBILIZAÇÃO DE DADOS


CLIMÁTICOS

Os sistemas de informações geográficas (GIS) têm obtido destaque na


comunidade de geociências, pelo significativo papel que representam nas ciências da
terra. Umas variedades de ferramentas foram desenvolvidas para fornecimento e
manipulação de grandes quantidades de dados (Big Data). Existe uma crescente
36
demanda por serviços, conteúdos e produtos diversificados, que atendem segmentos
e necessidades cada vez mais especificas. Lidar com esse fluxo de informações
constantes torna-se uma tarefa difícil para as empresas e instituições, que muitas
vezes precisam tomar decisões rápidas baseadas em análises de dados
(MAZZONETTO et al., 2017).
Diversos modelos climáticos globais vêm sendo utilizados para gerar grandes
volumes de dados de projeções de mudanças climáticas, por meio de diferentes
cenários. Entre eles está o modelo Eta implantado no CPTEC/INPE desde 1996. Os
dados gerados pelo Modelo Eta são armazenados em arquivos binários no servidor
do CP-TEC/INPE. Entretanto, grande parte dos usuários que utilizam estes dados
necessitam estas informações em outros formatos, como de texto ou de planilhas
eletrônicas, por exemplo. Entre os dados solicitados estão, principalmente, valores
diários e mensais das variáveis bidimensionais (temperatura, umidade relativa,
radiação solar, etc) disponibilizadas pelo modelo. Todo este processo, atualmente, é
realizado de forma não automatizada, sendo necessário realizar ajustes nos
programas de disponibilização dos dados de acordo com cada requisição realizada
por cada usuário. Portanto, devido estes fatores, a criação o de uma plataforma
que tem como premissa automatizar o processo de disponibilização e visualização
dos dados gerados pelo CPTEC/INPE é de extrema importância não só para agilizar
o processo de requisição e disponibilização dos dados mas, também, possibilitar que
mais usuários, dos mais diversos setores, possam ter um acesso fácil à estes dados
de mudanças climáticas (MAZZONETTO et al., 2017).

37
10 DESENVOLVIMENTO DA PLATAFORMA WEB

Fonte: thumbs.dreamstime.com

O desenvolvimento da plataforma web visa automatizar o processo de filtragem


dos dados disponibilizados pelo CPTEC/INPE, integrando tecnologias de acesso aos
dados e ao armazenamento dos mesmos. A plataforma tem como objetivo fornecer
facilidade e respostas rápidas para o usuário e, ao mesmo tempo, eliminar a criação
de scripts manuais feitos pelos técnicos do INPE, diminuindo a espera dos usuários
pelos dados solicitados e liberando o técnico para desempenhar outras atividades.
Portanto, para o desenvolvimento da plataforma foram necessários a escolha de
ferramentas que possibilitam o armazenamento, o acesso e o processamento dos
dados.
Os dados gerados pelo CPTEC/INPE possuem um conjunto de informações
meteorológicas, climatológicas e geográficas. Sendo assim, o Post GIS mostrou ser
uma ferramenta adequada para o armazenamento e para facilitar a manipulação dos
dados. O Post GIS á uma extensão espacial gratuita e de código fonte livre para o
Postgre SQL. Ele suporta dados geográficos e permite o acesso aos dados através
de SQL (Structured Query Language), e possui funções preparadas que auxiliam na
manipulação dos dados (ZHANG & YI 2010).
A previsão meteorológica gerada duas vezes ao dia, abrangendo o período de
11 dias. Esta previsão que abrange a América do Sul, é organizada em forma de
grade, possuindo 75351 pontos. Na proposta inicial da plataforma, para cada ponto,
serão armazenados dados referentes à cinco variáveis: vento, precipitação, umidade
38
relativa, temperatura e radiação solar. Já para os dados de previsões climáticas foram
calculadas 38 variáveis para um período histórico e futuro entre os anos de 1960 a
2100. Esses dados são gerados em formato binário disponibilizados manualmente.
Para armazenamento no PostGIS estes dados serão convertidos em formato TIFF
(Tagged Image File Format). A visualização dos dados é feita por meio de uma
aplicação web, através de mapas, gráficos e tabelas e poderá ser acessada, também,
por um aplicativo para smartphone. Por meio de uma API (Application Programming
Interface) é possível acessar a previsão climática com determinadas frequências
(horária, diária ou mensal). Estes dados poderão ser requisitados e gerados em um
formato específico, de acordo com a necessidade do usuário, como, por exemplo, em
shapefile, tiff, netcdf, txt, binário, json e geojson.
A plataforma web e a API foram desenvolvidas usando Node.js, AngularJS e
Postgre SQL/PostGIS. O desenvolvimento da aplicação segue os padrões de
arquitetura de software MVC (Model-View-Controller). Os dados são obtidos por
solicitações HTTP para uma API RESTful específica. JSON (JavaScript Object
Notation) é o formato de troca de dados utilizado para a comunicação entre a
aplicação, os dispositivos móveis e a API REST com o servidor (MAZZONETTO et al.,
2017).
Fluxo da API de disponibilização de dados para os clientes (aplicativos,
sistemas web, terceiros).

A plataforma web aparece como uma importante ferramenta, capaz de


automatizar o processo de requisição, de disponibilização e de visualização dos dados
de previsão mudanças climáticas gerados pelo CPTEC/INPE, sendo capaz de filtrar
os dados de acordo com os parâmetros informados e gerar o resultado no formato
desejado pelos usuários de maneira intuitiva. A plataforma facilita à disponibilização
pelo CP-TEC/INPE dos dados de previsão, fazendo com que eles possam ser
utilizados por usuários dos mais diversos setores, auxiliando nos desafios
relacionados à segurança energética e alimentar. Outra facilidade proporcionada pela

39
plataforma é uma melhor apresentação o dos dados disponibilizados, melhorando o
seu entendimento e sua visualização (MAZZONETTO et al., 2017).

11 VULNERABILIDADES DE APLICATIVOS DA WEB

Fonte: encrypted-tbn0.gstatic.com

Vulnerabilidades são falhas encontradas no software devido a possíveis erros


de projeto, implementação ou configuração. Essas vulnerabilidades, quando
exploradas por um invasor, levarão a uma violação de segurança. Coletivamente,
essas vulnerabilidades são criadas pela falta de pessoal qualificado, equipe com
habilidades insuficientes e falta de especialistas com conhecimento de segurança
(FRANZINI, 2009).
A seguir, serão discutidas as 10 principais vulnerabilidades encontradas em
aplicações web, retiradas dos sites e documentos das organizações e fóruns citados
anteriormente.
 Injeção de Código
A injeção de falhas ocorre na introdução de dados maliciosos e não confiáveis,
esses são encaminhados à uma aplicação, como se fosse parte de um comando ou
uma consulta. De acordo com a OWASP, o que torna essa injeção de falhas a mais
explorada entre as vulnerabilidades, é que ela pode ser detectada com maior
facilidade através de fuzzers e scanners, assim colabora com os invasores para
encontrarem não somente a falha, mas como também todos os detalhes de onde ela
se encontra e como podem ser exploradas.
40
 Quebra de Autenticação e Gerenciamento de Sessão
Nessa vulnerabilidade, os invasores contam com vazamentos ou falhas nas
funções de gerenciamento de autenticação ou sessão, como nos casos de exposição
de contas, senhas e até mesmos aos IDs de sessões. Os responsáveis pelo
desenvolvimento dos sistemas, possuem o hábito de programar sistemas de
autenticação personalizados e sistemas de gestão de sessão, mas na maior parte das
vezes, esses sistemas não são feitos corretamente, o que leva à falhas em logout, no
gerenciamento de senhas, tempo limite, salvamento de senhas, perguntas secretas e
etc.
 Cross-Site Scripting
Aqui, para o ataque ao sistema, os invasores utilizam uma aplicação WEB que
envia códigos maliciosos, normalmente na forma de scripts ao lado do browser, para
o usuário final. As falhas que dão abertura para esses ataques, podem ser detectadas
com facilidade e são muito generalizadas, pode acontecer de qualquer lugar de uma
aplicação que utiliza os dados de um determinado usuários, dados esses digitados
em uma página de entrada para que seja gerado uma saída, sem validação ou
codificação nesta entrada. Os invasores utilizam dessas falhas, para furtar sessões
de usuário da vítima, desconfigurar sites, inserir conteúdos maldosos, redirecionar os
usuários, sequestrar o navegador da vítima utilizando os malwares, entre outros.
 Referência Insegura e Direta a Objetos
Neste caso, um usuário com autorização do sistema, altera o valor do
parâmetro que se refere de maneira direta a um objeto do sistema, para um outro
objeto com o qual o usuário não possui autorização, na tentativa de se obter acesso.
As aplicações WEB, utilizam o nome ou uma chave de um objeto na geração de
páginas Web com frequência, mas essas aplicações não verificam a autorização ou
não autorização dos usuários ao acesso do objeto de destino.
 Configuração Incorreta de Segurança
Aqui, o invasor faz o acesso às contas padrões, páginas não utilizadas, falhas
que não foram corrigidas, arquivos e diretórios que não foram protegidos entre outros
meios de acesso, com o objetivo de se obter acesso não autorizado ou o
conhecimento do sistema. As falhas em configurações de segurança, podem
acontecer a qualquer nível da aplicação, até mesmo podendo incluir a plataforma,

41
servidor WEB, servidor de aplicação, banco de dados, estrutura e código
personalizado.
 Exposição de Dados Sensíveis
São considerados como dados sensíveis, todos os dados confidenciais os
quais não devem ser expostos, são eles, os dados pessoais, cartões de crédito,
registro de saúde, credenciais e muitos outros, nessa vulnerabilidade, os invasores
invés de quebrarem diretamente a criptografia, ele recorrem a outros meios, como o
furto de chaves, a realização de ataques do tipo man in the middle, furto de dados ou
textos que foram excluídos do servidor, enquanto então navegando ou a partir do
navegador do usuário. A falha que mais se vê nesse caso, é o simples fato de não
criptografar dados sensíveis ou quando a criptografia é usada na geração de chaves
e os algoritmos usados são fracos.
 Falta de Função para Controle do Nível de Acesso
Quando uma aplicação não se executa ou é executada de forma incorreta, ao
verificar a autorização de um determinado usuário ao tentar acesso em algum recurso,
neste momento o invasor, um usuário autorizado do sistema, altera a URL ou um
parâmetro de uma função privilegiada, na intenção de se conseguir acesso, assim
usuários anônimos tem a abertura para o acesso à funções privadas e não protegidas.
Geralmente as aplicações WEB, não se protegem de forma adequada às funções do
aplicativo, onde na maioria das vezes o nível de proteção da função é gerenciado por
meio de configuração, e o sistema pode estar configurado de maneira incorreta.
 Cross-Site Request Forgery
Este é um ataque sofrido no momento em que um site maldoso, e-mail,
mensagem instantânea ou até mesmo um programa, faz com que o navegador WEB
do usuário, neste caso, vítima, execute uma ação não desejada em site confiável onde
o usuário esteja autenticado. Neste caso o impacto está ligado de forma direta à
recursos expostos por uma aplicação vulnerável, existem casos em que onde podem
ser realizados transferências de fundos, mudanças de senhas ou até mesmo em
compras de itens no contexto do usuário.
 Utilização de Componentes Vulneráveis
Conhecidos alguns componentes vulneráveis, como por exemplo, bibliotecas
ou frameworks, podem ser identificadas por atacantes através da análise manual. Ele
personaliza um exploit, que é um software, um pacote ou sequência de dados que se

42
aproveita das vulnerabilidades da aplicação para invadi-la (PRADA, 2008). O exploit
pode ser personalizado conforme a necessidade do invasor, essa vulnerabilidade se
apresenta em quase todas as aplicações, pelo fato de que a maior parte das equipes
de desenvolvimento não tem a preocupação de garantir que seus componentes e
bibliotecas estejam atualizadas.
 Redirecionamentos e Encaminhamentos inválidos
Quando um aplicativo usa um parâmetro e redireciona o usuário ao valor do
parâmetro sem validação é considerado uma falha de redirecionamento, essa ação é
utilizada nos ataques de phishing com o objetivo de forçar usuários a visitem sites
maliciosos e não confiáveis, sem que percebam, para que isso aconteça, os invasores
usam de links com redirecionamento não validado e truques, para fazer com que as
vítimas o acessem.

12 OPEN WEB APPLICATION SECURITY PROJECT (OWASP)

Fonte: blog.convisoappsec.com

Se trata de uma fundação aberta sem fins lucrativos, a OWASP tem o objetivo
de capacitar as empresas e organizações a desenvolverem aplicações confiáveis,
com foco nas aplicações WEB.
Seu trabalho é reunir informações que autorizem a avaliação dos riscos de
segurança das aplicações WEB e assim conseguir combater ataques à segurança por
meio da internet. Todos os seus documentos produzidos são disponibilizados de modo
gratuito à toda comunidade internacional na área da tecnologia e segurança, como a
43
U.S Defense Information Systems Agency (DISA), U.S. Federal Trade Commissione
PCI Council. (OWASP, 2013). Entre seus trabalhos, o mais divulgado é o The Top 10
Most Critical Web Application Security Risks. Se acordo com Ten (2013), a OWASP
agrupa os maiores riscos de ataques críticos, vindos das vulnerabilidades em
aplicações WEB, tendo atualizações periódicas.
Sua metodologia se baseia na classificação de risco, dos ataques deferidos por
todo o mundo. Além dos serviços mencionados, a OWASP concede recomendações
voltadas ao desenvolvimento seguro das aplicações como os métodos de codificação
segura, com base na modelagem de risco, do início do desenvolvimento até a
implantação das aplicações WEB, otimizando tempo e dinheiro das organizações com
manutenções no futuro, vindas de falhas de segurança.

13 SCRIPTS ENTRE SITES

Fonte: periciacomputacional.com

O ataque Scripts Entre Sites, do inglês Cross-Site Scripting (XSS), é um tipo


de ataque de injeção que ocorre quando um atacante usa uma aplicação Web
para enviar código malicioso ao navegador do usuário, que por sua vez o
executa, dando assim acesso a dados do navegador do cliente, como cookies
de sessão do usuário. Ataques XSS podem ocorrer em qualquer lugar da
aplicação Web que exibe entradas de usuários como saídas na aplicação
sem nenhuma validação prévia dos dados de entrada (OWASP, 2013).

De acordo com a OWASP são três, os tipos de ataques XSS conhecidos, sendo
eles: O persistente (stored), o refletido (reflected) e o baseado em DOM, Document
Object Model, (DOM based). Nos ataques do tipo persistente, o responsável utiliza de
uma entrada na aplicação WEB, para o armazenamento do código malicioso no lado

44
do servidor, como nas publicações em um blog, em seguida, por conta do não
tratamento dos dados de saída da aplicação, outros usuários que visualizarem os
posts, podem passar pelo ataque, expondo assim os dados contidos em seu
navegador.
Exemplo XSS persistente armazenado em um post:

No ataque refletido, o código malicioso é imediatamente refletido no navegador


do usuário, onde a vítima é atraída à uma página WEB maliciosa ou é induzido a
acessa um determinado link recebido via e-mail. Quando a vítima acessa a página
maliciosa, o navegador do usuário executa o script malicioso e inicia uma requisição
GET ou POST, que passa pelos parâmetros escolhidos pelo atacante, enquanto o
código é executado.
Exemplo XSS Refletido:

Já no ataque baseado em DOM, o ambiente DOM do navegador do usuário é


modificado, onde os scripts na aplicação WEB são explorados, para que se
comportem de maneira inesperada, em consequência, a página não se modifica, mas
o código contido no lado do cliente se altera por conta das alterações no ambiente
DOM da página, tornando-a maliciosa e executante ações inesperadas.
Exemplo de XSS Baseado em DOM:

45
14 TECNOLOGIAS UTILIZADAS

14.1 OPEN SOURCE WEB APPLICATION SECURITY SCANNER (W3AF)

O Web Application Attack and Audit Framework (W3AF) é um arcabouço de


ataque e auditoria de aplicações Web. O objetivo da ferramenta é identificar
pontos passíveis de exploração em aplicações Web. Sua estrutura é
desenvolvida usando a linguagem de programação Python e está licenciado
sob a licença GPLv2.0. W3AF é dividido em duas partes principais, o núcleo
e os módulos de extensão. O núcleo coordena o processo e fornece recursos
que são consumidos pelos módulos de extensão, que encontram as
vulnerabilidades e as exploram. Os módulos de extensão são informações
conectadas e compartilhadas utilizando uma base de conhecimento. Os
módulos de extensão são classificados nos seguintes tipos: descoberta
(Discovery), auditoria (Audit), grep, ataque (Attack), saída (Output), deturpar
(Mangle), evasão (Evasion) e força bruta (Bruteforce) (W3AF, 2013).

14.2 SQL MAP

É uma ferramenta de teste de penetração de código aberto que automatiza o


processo de detecção e exploração de vulnerabilidades de injeção de SQL. Possui
um mecanismo de detecção e várias amostras de teste de penetração que o testador
final pode executar. Ele fornece suporte completo para os gerenciadores de banco de
dados MySQL, Oracle, PostgreSQL, Microdoft SQL Server, Microsoft Access, IBM
DB2, SQLife, Firebird Sybase e SAP MaxDB. Ele suporta totalmente todas as seis
técnicas de inserção SQL: booblean-based blind, time-based blind, error based,
UNION query, stacked queries and out of band.

46
O SQLMap pode se conectar diretamente ao banco de dados, sem passar
por uma injeção de SQL, somente fornecendo credenciais SGBD, como o
endereço IP, a porta e nome do banco de dados. Possui ainda suporte para
enumerar usuários, hashes de senha, privilégios, papéis, nome do banco de
dados, tabelas e colunas, além do reconhecimento automático de formatos
de hash de senha e suporte para quebrá-los usando um ataque baseado em
dicionário (G.; STAMPAR, 2013).

14.3 INTERCEPTER-NG

“Intercepter-NG é um conjunto de ferramentas multifuncional para


interceptação de dados em redes. Agrega várias ferramentas técnicas, como por
exemplo, a uma alternativa ao Wireshark para dispositivos Android” (ARES, 2013).
Entre todas as características, tem-se como principais, a descoberta de rede
com a detecção de sistema operacional, análise de tráfego da rede, recuperação de
senhas e de arquivos.

14.4 NMAP

De acordo com Gordon (2013) o Nmap (Network Mapper) é uma ferramenta de


código aberto criada para descoberta de redes e auditoria de segurança escrita em
C++, o qual possui imbutido um interpretador LUA, foi desenvolvida por Gordon Lyon.
Apesar de ter sido projetada para explorar grandes redes de computadores, o
Nmap também pode ser usada com êxito no mapeamento de hosts individuais. Essa
ferramenta utiliza de pacotes IP em estado bruto para que sejam determinados quais
hosts estão de fato disponíveis na rede, assim como quais serviços eles hospedam, a
versão do sistema operacional, se existem filtros de pacotes, firewalls.
O Nmap é usado nas auditorias de segurança, em inventários de rede,
gerenciamento de serviços de atualização agendados e também em monitoramento
de disponibilidade de serviços. Sua operação é de uma forma geral nas camadas de
rede e transporta, também manipula dados da camada de enlace, como endereços
MAC e requisições ARP, a ferramenta pode interpretar dados da camada de aplicação
com o intuito de minerar importantes dados, como versões de serviços e sistemas
operações que são executados no servidor remoto. Em resumo, com a exploração do
Nmap, se tem uma lista de alvos explorados com devidas informações de cada alvo

47
explorados com versões de serviços e sistemas operacionais como portas abertas,
DNS reverso, tipos de dispositivos e endereços MAC dos mesmos.
Nmap Scripting Engine – NSE, é outro recurso do Nmap, neste recurso, os
usuários possuem permissão para escrever scripts simples, utilizando da linguagem
de programação Lua, para que grande variedade de tarefas de rede sejam
automatizadas. Os scripts citados são executados em paralelo ao Nmap. São uma
série de scripts escritos para o NSE, porém o usuário tem a possibilidade de escrever
seus scripts próprios, nos casos em que é necessário atender uma necessidade em
específico. No caso dos scripts que não são executados no modo de teste, snadbox,
é recomendado muito cuidado em sua execução, é recomendo pelo Nmap que não
se utilize de scripts terceirizados por maiores chances de serem maliciosos.

14.5 TOR

Se trata de uma rede de túneis virtuais, que possibilitam o anonimato pela


internet, em geral, é utilizado por pessoas que não desejam ser rastreadas na rede,
originalmente, o Tor foi implementado como projeto no Laboratório Naval dos EUA,
com principal objetivo de proteger as comunicações governamentais, em sua atual
versão, o Tor passou a ser um projeto aberto, que tornou possível a utilização do
mesmo por diversas pessoas e organizações que desejam o anonimato na internet.
Geralmente, seus usuários se conectam em uma rede virtual que garante o anonimato
de cada ponto da rede, assim não possibilita a origem da comunicação e em casos
de testes de invasão se dificulta o descobrimento da origem do ataque realizado.

14.6 BURP SUITE

Plataforma usada para realização de testes de segurança nas aplicações Web,


que se dispõe em duas versões, a gratuita com limitações de uso e uma versão paga
que é completa.
Entre suas funções, existe a função Proxy, a qual possibilita a interceptação do
tráfego e a modificação de dados entre a origem e o destino, existe também a função
Spider, que possibilita o rastreamento de conteúdo da aplicação Web, e uma função
denominada Intruder, para que realize os ataques personalizados de difícil

48
exploração. Na versão gratuita da plataforma, o Proxy atende a vários fins, como
interceptação e repetição de dados, sendo eles entre a origem e destino.

49
REFERÊNCIAS BIBLIOGRÁFICAS

APPLE. Program ming with Objective-C. 2014.

ARES. Intercepter-NG @ONLINE. 2013. Acesso em: 17 set. 2013.

FLEURY, A.; NAKANO, D.; CORDEIRO, J. H. D. O. Mapeamento da indústria


brasileira e global de jogos digitais. São Paulo: GEDI Games/USP, 2014.

FRANZ VITOR FIORIM. Criptografia para iniciantes: o que é, como funciona e por que
precisamos dela? 2015

G., B. D. A.; STAMPAR, M. Sqlmap Automatic SQL injection and database takeover
tool @ONLINE. 2013.

GOK, N; KHANNA, N. Building Hybrid Android Apps with Java and JavaScript.
California: O’Reilly Media, 2013.

GOMES, J. F. Um guia para análise de segurança de aplicativos na plataforma


android. 2017.

GORDON, L. F. Free Security Scanner For Network Exploration & Hacking @ONLINE.
2013.

HALES, W. HTML5 and JavaScript Web Apps. California: O’Reilly Media, 2012.

JAKOB, A. A. E.; YOUNG, A. F. O uso de métodos de interpolação espacial de dados


nas análises sociodemográficas. Anais, p. 1–22, 2016. Citado 2 vezes nas páginas14
e 20.

JANSSEN, CORY. Mobile Application. 2015.

LOPES, I.; MELO, J. M. M. D.; LEAL, B. G. ESPACIALIZAÇÃO DA


TEMPERATURADO AR PARA A REGIÃO DO SUBMÉDIO SÃO
FRANCISCO.IRRIGA, v. 22,n. 1, p. 177, maio 2017.

50
MARTINS, C.; ANTONIO, A.; OLIVEIRA, C. A. Os desafios para a mobilização de
aplicações baseadas em plataforma Web. Catalão: Enacomp, 2013. P. 294-300.

MAZZONETTO, A. et al. Plataforma Web para acesso e disponibilização de dados


climáticos. In: Anais do VIII Workshop de Computação Aplicada a Gestão do Meio
Ambiente e Recursos Naturais. SBC, 2017.

MELLO, G.; ZENDRON, P. Como a indústria brasileira de jogos digitais pode passar
de fase. Jogos Digitais –BNDES Setorial, no. 42, 2015, p. 338-381.

MICROSOFT. Microsoft Teams. [S. l: s. n.], c2020a.

MICROSOFT. One drive. [S. l: s. n.], c2020b

MORAES, M. E. Mobilidade corporativa desafia CIOs: Gerenciamento de dispositivos


móveis pode ser a solução para segurança empresarial. 2013.

MORANDI, P. Desenvolvimento Mobile nas Plataformas Android e iOS. 2013.

OWASP. OWASP. v4. [S.l.], 2013ª

PALETTA, Francisco Carlos. Informação e Conhecimento na Web 3.0 Biblioteca


Digital. 2019.

PELIZZI, R.; SEKAR, R. Protection, usability and improvements in reflected xss filters.
In:Proce edings ofthe 7 th ACM Symposiumon Information, Computerand
Communications Security. New York, NY, USA: ACM, 2012.

PORTSWIGGER. Burp Suite. http://portswigger.net/burp/: [s.n.], 2014. Acesso em: 16


fev. 2014

SILVA, L. L.; PIRES, D. F.; NETO, S. C. Desenvolvimento de aplicações para


dispositivos móveis: tipos e exemplo de aplicação na plataforma IOS. Franca/SP,
2015.

SILVA, M. A. V. Meteorologia e climatologia. [S. l.: s.n.], 2006.

TEN, T. The 2013 owasp top 10. In: OWASP.AppSecUSA2013. [S.l.], 2013.

51
TOR. TORPROJECT. https://www.torproject.org/about/overview.html.en, 2014.
Acesso em: 16 fev. 2014.

VOGT, P.; NENTWICH, F.; JOVANOVIC, N.; KIRDA, E.; KRUEGEL, C.; VIGNA, G.
Cross site scripting prevention with dynamic data tainting and static analysis. In: NDSS.
[S.l.: s.n.], 2007

W3AF. OpenSourceWebApplicationSecurityScannerandWebApplicationAttackand
Audit Framework @ONLINE. 2013.

ZHANG, Y. et al. Covering-based web service quality prediction via neigh


borhoodaware matrix factorization. IEEE Transactions on Services Computing, IEEE,
2019.

52

Você também pode gostar