Escolar Documentos
Profissional Documentos
Cultura Documentos
SUMÁRIO
1 INTRODUÇÃO ............................................................................................ 4
2 WEB ............................................................................................................ 5
3 FERRAMENTAS DIGITAIS......................................................................... 6
6 WEB APP.................................................................................................. 21
8 CRIPTOGRAFIA ....................................................................................... 23
2
8.9 Persistência nas aplicações ............................................................... 31
3
1 INTRODUÇÃO
Prezado aluno!
Bons estudos!
4
2 WEB
Fonte: https://encrypted-tbn0.gstatic.com
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.
Trello
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
ClickUp
8
Logo do ClickUp (Fonte: ClickUp 2022).
9
Logo do WhatsApp (Fonte: WhatsApp Inc. 2022).
Telegram
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
Google Meet
Shutterstock Editor
Canva
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
TeamViewer
13
computadores. O programa opera dentro dos sistemas operacionais: Microsoft
Windows, OS X, Linux, iOS, Android, Windows RT e Windows Phone.
AnyDesk
FocusList
14
Any.Do
Google Drive
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
SurveyMonkey
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
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.
17
Microsoft Teams
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
20
6 WEB APP
21
7 APP HIBRIDO
Fonte: iocomunica.com
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:
8 CRIPTOGRAFIA
Fonte: encrypted-tbn0.gstatic.com
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:
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 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.
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.
30
8.8 Código não ofuscado
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
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
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.
37
10 DESENVOLVIMENTO DA PLATAFORMA WEB
Fonte: thumbs.dreamstime.com
39
plataforma é uma melhor apresentação o dos dados disponibilizados, melhorando o
seu entendimento e sua visualização (MAZZONETTO et al., 2017).
Fonte: encrypted-tbn0.gstatic.com
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.
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.
Fonte: periciacomputacional.com
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:
45
14 TECNOLOGIAS UTILIZADAS
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
14.4 NMAP
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
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
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.
GORDON, L. F. Free Security Scanner For Network Exploration & Hacking @ONLINE.
2013.
HALES, W. HTML5 and JavaScript Web Apps. California: O’Reilly Media, 2012.
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.
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.
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.
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.
52