Buscar

SEGURANÇA EM SISTEMAS WEB

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
SEGURANÇA EM SISTEMAS WEB 
1 
 
 
SUMÁRIO 
 
NOSSA HISTÓRIA .......................................................................................... 2 
A internet ......................................................................................................... 3 
Ataques a web ................................................................................................. 4 
ABORDAGEM TEÓRICA SOBRE SEGURANÇA NO DESENVOLVIMENTO 
DE APLICAÇÕES WEB ............................................................................................. 6 
sEGURANÇA EM APLICAÇÕES WEB ........................................................... 8 
Práticas de Segurança em Aplicações Web .................................................. 14 
plano de segurança para aplicações web ...................................................... 15 
inventário das aplicações web ....................................................................... 15 
Priorização das aplicações web ..................................................................... 16 
Executar aplicativos usando o mínimo de privilégios ..................................... 17 
Proteja-se mesmo durante o processo de avaliação ..................................... 18 
uso cookies de forma segura ......................................................................... 19 
Treinamentos para Conscientização de Segurança em Aplicações Web ...... 20 
Testes de segurança nas aplicações são essenciais .................................... 20 
Cuidados a serem tomados na implantação .................................................. 22 
REFERENCIAS ............................................................................................. 24 
 
 
2 
 
 
NOSSA HISTÓRIA 
 
 
A nossa história inicia com a realização do sonho de um grupo de empresários, 
em atender à crescente demanda de alunos para cursos de Graduação e Pós-
Graduação. Com isso foi criado a nossa instituição, como entidade oferecendo 
serviços educacionais em nível superior. 
A instituição tem por objetivo formar diplomados nas diferentes áreas de 
conhecimento, aptos para a inserção em setores profissionais e para a participação 
no desenvolvimento da sociedade brasileira, e colaborar na sua formação contínua. 
Além de promover a divulgação de conhecimentos culturais, científicos e técnicos que 
constituem patrimônio da humanidade e comunicar o saber através do ensino, de 
publicação ou outras normas de comunicação. 
A nossa missão é oferecer qualidade em conhecimento e cultura de forma 
confiável e eficiente para que o aluno tenha oportunidade de construir uma base 
profissional e ética. Dessa forma, conquistando o espaço de uma das instituições 
modelo no país na oferta de cursos, primando sempre pela inovação tecnológica, 
excelência no atendimento e valor do serviço oferecido. 
 
 
 
 
 
3 
 
 
A INTERNET 
 
A internet é um conjunto de redes interligadas. Utilizando determinadas regras 
para a comunicação entre os computadores, conhecidos como protocolos de 
comunicação, as redes locais se ligam à redes de capacidades extremamente 
altas(Backbones), sustentados por agências governamentais ou corporações 
privadas, que por sua vez se conectam à outros backbones, criando assim uma rede 
mundial. 
A internet ja tem por volta de sessenta anos e, nesse tempo tem crescido 
extremamente rápido, com o rítimo acelerado do desenvolvimento tecnológico. 
Inúmeras possibilidades foram criadas e popularizadas com essa evolução, como a 
compra e venda de produtos, as transações bancárias e a socialização por intermédio 
da rede. NOVA YORK […] Gastos de consumidores com compras on-line alcançaram 
US$ 38 bilhões no primeiro trimestre[...](O Globo, 2011) O internet banking brasileiro 
já é o segundo canal de serviços mais utilizado pelos clientes, atrás apenas dos caixas 
automáticos (31%), respondendo por 23% das operações bancárias efetuadas no 
Brasil, segundo dados da Febraban (Federação Brasileira de Bancos), informa 
reportagem de Felipe Vanini Bruning para a Folha. (Folha, 2011) 
Devido à comodidade desses novos serviços, a tendência é um crescimento 
ainda maior e, com esse intenso tráfego de informações de grande importância e/ou 
sigilo, como informações pessoais e econômicas, fica evidente o aumento da 
necessidade de segurança online. As fraudes de R$ 900 milhões registradas entre 
os anos de 2009 e 2010, de acordo com a Federação Brasileira de Bancos (Febraban) 
estão criando um cenário onde é cada vez maior a preocupação do setor de 
transações on-line (internet banking), bem como das empresas fabricantes de 
softwares de segurança em criar soluções para atender a este mercado. (Diário 
Comércio Indústria e Serviços, 2011) 
A Web é formada por diversos tipos de serviços como o World Wide Web 
(WWW), o File Transfer Protocol(FTP), o correio eletrônico, o Internet Relay Chat 
(IRC) e o Telnet. O World Wide Web (WWW) é a própria navegação em sites e utiliza 
o protocolo Hyper Text Transfer Protocol (htttp). O File Transfer Protocol (FTP) é um 
protocolo que serve para a transferência de arquivos pela internet, de forma rápida e 
4 
 
 
eficiente. Utilizando os protocolos Post Office Protocol(POP) ou o Simple Mail 
Transfer Protocol(SMTP), o serviço correio eletrônico é responsável pela troca de 
dados entre computadores ou E-mail. O Internet Relay Chat (IRC) é um serviço da 
internet que permite a troca de mensagens de texto, entre os usuários, em tempo real. 
E, finalmente o Telnet é um serviço que permite o acesso à outros computadores na 
rede. 
ATAQUES A WEB 
 
O primeiro grande ataque ocorreu em 1988, quando um estudante da 
universidade de Cornell criou um worm, programa que se propaga através de 
vulnerabilidades ou falhas de configuração de software criando cópias de si mesmo. 
O ataque atingiu mais de 6000 computadores dos 60000 que constituíam a internet. 
Este ataque levantou questões de segurança, que até o momento não eram 
consideradas já que a internet era um ambiente pequeno visto como amigável por 
seus desenvolvedores e usuários. 15 dias depois foi criada a CERT(Conputer 
Emergency Response Team), equipe que estuda vulnerabilidades de segurança na 
internet, pesquisa mudanças a longo-prazo em sistemas de rede e desenvolve 
informação e treinamento para auxiliar a melhorar a segurança. 
Nos anos 90 surgiram o www, os browsers netscape e internet explorer e, com 
isso, as ferramentas de busca como o google e o yahoo, os spams, o hotmail 
(ferramenta de email na web), o comércio digital e os blogs. Em 97, a web já possuia 
mais de 1.000.000 de sites. Nessa década, são popularizados os cavalos de Tróia, 
sniffers e ataques de negação de serviços, alem da utilização da engenharia social. 
Os cavalos de tróia são programas nocivos que se passam por programas úteis 
ou inofensivos como por exemplo arquivos recebidos por emails de conhecidos como 
fotos ou apresentações de slides. Algumas funções maliciosas são: a instalação de 
keyloggers, programas que capturam e armazenam as teclas digitadas pelos 
usuários; a alteração ou destruição de arquivos e a criação de backdoors 
possibilitando outros ataques. Os sniffers são programas que capturam todo o tráfego 
de um segmento de rede e podem ser utilizados por administradores de rede, na 
segurança, ou por pessoas máintencionadas, para a captura de senhas, por exemplo. 
5 
 
 
Os ataques de negação de serviços consistem no envio de pacotes de várias 
origens para um alvo, com o objetivo de desativar seus serviços temporariamente. A 
engenharia social consiste em se passar por funcionários da empresa alvo ou 
autoridades interessadas em comprar ou prestar serviços para conseguir informações 
para o ataque, utilizando da falta de conhecimento dos usuários da rede. 
Entre 2002 e 2004 são criadas as redes sociais facebook e orkut e o download 
de musicas pela rede é cada vez maior. NoBrasil é criada a possibilidade de entrega 
da declaração do imposto de renda pela internet. Neste ponto existem mais de 
20.000.000 de sites na web. Durante este período explode o número de códigos 
maliciosos como worms, bots, cavalos de tróia, vírus ou spywares. 
Um bot é um programa capaz de se replicar automaticamente e de se 
comunicar com o invasor. Por meio dessa comunicação, um invasor pode executar 
um ataque de negação de serviços, adquirir informações do computador hospedeiro, 
enviar emails de phishing(envio de mensagem em que o remetente se passa por uma 
instituição conhecida como bancos ou empresas para a indução de instalação de 
softwares mal-intencionados ou conseguir informações sigilosas) ou spam. 
Os vírus são programas ou partes de código, geralmente maliciosos que, ao 
serem executados, são ativados e inserem cópias de si mesmo em outros arquivos 
ou programas do computador. Spyware é uma categoria de software que monitora as 
atividades de um sistema e as envia para terceiros. 
Descrição das categorias de incidentes: 
-Worm: denominação utilizada para abranger notificações de atividades 
maliciosas relacionadas com o processo automatizado de propagação de códigos 
maliciosos na rede. 
-DoS (Denial of Service): notificações de ataques de negação de serviço. 
-Invasão: um ataque bem sucedido que resulte no acesso não autorizado a um 
computador ou rede. 
-Web: um caso particular de ataque visando especificamente o 
comprometimento de servidores Web ou desfigurações de páginas na Internet. 
6 
 
 
-Scan: notificações de varreduras em redes de computadores, com o intuito de 
identificar quais computadores estão ativos e quais serviços estão sendo 
disponibilizados por eles. É amplamente utilizado por atacantes para identificar 
potenciais alvos, pois permite associar possíveis vulnerabilidades aos serviços 
habilitados em um computador. 
-Fraude: Segundo Houaiss, é "qualquer ato ardiloso, enganoso, de má-fé, com 
intuito de lesar ou ludibriar outrem, ou de não cumprir determinado dever; logro". Esta 
categoria engloba as notificações de tentativas de fraudes, ou seja, de incidentes em 
que ocorre uma tentativa de obter vantagem. 
-Outros: notificações de incidentes que não se enquadram nas categorias 
anteriores. 
ABORDAGEM TEÓRICA SOBRE SEGURANÇA NO 
DESENVOLVIMENTO DE APLICAÇÕES WEB 
 
De acordo com a McAfee for Businesss4 (2014), uma das maiores ameaças 
que as organizações enfrentam nos dias atuais são os softwares desprotegidos, uma 
vez que os usuários mal intencionados voltam sua atenção para os aplicativos e 
softwares que formam a infra-estrutura de TI das organizações, assim a melhor forma 
de proteção é criar um software seguro desde o início. 
Seguindo a mesma linha de raciocínio Cabral. Terto (2011), afirma que 
processo de software é um conjunto de fatores e resultados associados 
desenvolvidos de forma cíclica em uma organização que produz softwares e buscam 
desenvolver aplicações com qualidade. Todas essas organizações adotam um 
processo de desenvolvimento mesmo que ele seja ineficaz. 
Alguns modelos de processos de software como, por exemplo: o processo 
unificado aberto (UP)5 , entre outros, foram concebidos em um momento histórico, 
onde a segurança de informação não era o foco principal até mesmo devido aos 
softwares não serem expostos de forma abrangente. 
De fato, pode--se dizer que, de forma complementar aos incidentes de 
segurança decorrentes de falhas ou ataques do componente humano no trato da 
informação, a grande maioria dos demais incidentes de segurança da informação tem 
7 
 
 
sua origem nas vulnerabilidades presentes no software. Um dos principais fatores 
causadores dessas vulnerabilidades é a codificação ingênua do software por um 
programador, quando o mesmo considera basicamente os cenários positivos de 
execução de um código, sem se preocupar com o caso de usuários maliciosos. 
(CABRAL; TERTO, 2011, p.10). 
Ainda segundo Cabral. Terto (2011), atualmente o processo de 
desenvolvimento de software não tem como requisito fundamental a segurança, que 
são influenciadas pela pressão do mercado. O desenvolvimento de um software 
seguro que não necessita de atualizações constantes ainda é um desafio para a 
indústria de desenvolvimento de software, que encontram problemas para 
desenvolver um produto que possibilite um gerenciamento seguro. 
Durante os últimos anos o número de vulnerabilidades descobertas em 
aplicações web superou o número encontrado em sistemas operacionais e com isso 
mais tentativas de ataques nessas aplicações. Com emprego de desenhos e 
codificação de software ingênua, que não consideram as más intenções dos usuários 
na outra ponta da aplicação, ou até mesmo o uso de bibliotecas de códigos de origem 
não confiável, torna o problema mais evidente, fazendo o uso de aplicações web 
arriscado. 
A forma mais comum de garantir que será produzido código seguro é por meio 
de aderência ao uso de padrões de codificação que reduzem a ocorrência de 
vulnerabilidades de código, chamados padrões de codificação segura, e da 
verificação de que os programadores a estão adotando. Tais padrões tendem a evitar 
a injeção de código e outros ataques. (CABRAL; TERTO, 2011, p.11). 
De acordo com dados levantados por Uto. Pereira (2009), as vulnerabilidades 
exploráveis listadas no ano de 2009, aproximadamente 80% estavam diretamente 
ligadas à má codificação de programas e outros 19% estavam ligados a problemas 
de projeto dos programas. Além disso, 40% das vulnerabilidades exploráveis do 
período estavam relacionados com problemas de estouro de buffers6 . Dessa forma 
pode-se afirmar que código não seguro representa uma grande fatia dos problemas 
de falha de segurança, já um é código seguro resulta em um software seguro que por 
sua vez consiste em uma composição de confidencialidade aplicáveis ao software. 
8 
 
 
Para minimizar vulnerabilidades de codificação, os desenvolvedores devem 
ser treinados em técnicas gerais de programação segura e nas especialidades das 
linguagens com as quais trabalham (UTO; PEREIRA, 2009, p.240). 
De acordo com o The Open Aplication Security Projet (OWASP, 2013) 7 , a 
medida que a infraestrutura digital se torna cada vez mais complexa e interligada, 
torna-se mais difícil obter segurança em aplicações. Não sendo toleráveis problemas 
de segurança relativamente simples. 
SEGURANÇA EM APLICAÇÕES WEB 
 
Aplicações web são constantes alvos de ataques, onde invasores buscam 
aproveitar vulnerabilidades encontradas para o roubo de informações confidenciais. 
Seja no ambiente corporativo ou mesmo no âmbito pessoal, os ataques podem vir a 
gerar prejuízos não somente pelo vazamento de informações, mas também pelos 
danos potenciais de uma aplicação inoperante em um determinado período de tempo. 
Estar vulnerável não somente significa a existência de uma falha de 
implementação ou erros na aplicação. O invasor pode se utilizar de algo concreto, 
como a relação estabelecida entre servidor e cliente para, a partir desse ponto, burlar 
a segurança. A seguir, serão elencadas as vulnerabilidades mais comuns em 
aplicações web. 
Cross Site Scripting ou XSS 
Utiliza a relação de confiança entre o servidor da aplicação e o navegador para 
transporte de código malicioso, que geralmente é escrito em javascript, a fim de 
conseguir dados sensíveis, como o identificador da sessão do usuário. 
Segundo OWSAP(2016), muitas aplicações permitem a postagem de conteúdo 
por parte de seus usuários. O XSS está ligado a esse conteúdo, que pode ser utilizado 
para solicitar informações ao usuário dentro da aplicação e o direcionar para fora dela. 
Como o navegador da vítima não consegue identificar o que corresponde ao trecho 
de código malicioso, este será executado assim que for detectado pelo navegador. 
O ataque pode ser feito utilizando também os mecanismos de busca. Se a 
aplicação não possuirtratamento para tal, executará o código malicioso. Outra forma 
9 
 
 
de fazer o ataque é inserindo no meio da página original aplicação, escrita em HTML, 
trechos de códigos a fim de se obter as informações desejadas. Para tornar o código 
ilegível e burlar mecanismos que se baseiam em tags para proteção, como por 
exemplo (script) ou (alert) os códigos são escritos em hexadecimal. 
Essa vulnerabilidade está ligada a falta de tratamento dos dados e conteúdo 
postado pelo usuário. A execução do código é imperceptível ao usuário infectado, já 
que é executada pelo navegador de forma transparente. 
Injeção de SQL 
Uma outra vulnerabilidade diz respeito a injeção de códigos com comando em 
Structured Query Language (SQL) para obter dados diretamente do banco. SQL 
corresponde a linguagem para gerenciamento dos dados utilizada pelos principais 
bancos de dados estruturados na modelagem relacional. Um estudo feito pela Owasp 
(2013) sobre vulnerabilidades em aplicações web apontou o Structured Query 
Language Injection, ou SQL Injection como a técnica mais utilizada no meio virtual 
para obtenção de dados de forma mal intencionada. 
O ataque visa utilizar os dados de entrada do cliente no aplicativo para 
conseguir dados confidenciais, modificar, excluir ou atualizar registros. Conforme 
Owasp (2016), a técnica afeta um número grande de aplicações disponíveis 
atualmente, pois a arquitetura de grande parte se baseia em banco de dados SQL. 
Em geral, a forma como as aplicações web constroem os comando SQL 
envolvem a sintaxe escrita pelos programadores com parâmetros informados pelos 
usuários. Dessa forma, há a possibilidade de o usuário explorar os parâmetros 
informados para obter dados do banco. Conforme cita OWASP(2016), esses ataques 
ainda podem ser classificados em 3 diferentes classes: 
● Inband: os dados são extraídos usando o mesmo canal que é usado 
para injetar o código; 
● Out-of-band: os dados são recuperados em um outro canal, como por 
exemplo enviados para um e mail informado; 
● Inferencial: não a transferência real dos dados, porém é possível 
reconstruir as informações através de solicitações particulares. 
10 
 
 
Como a exemplo do XSS, o SQL Injection consegue ser neutralizado se os 
formulários, campos de pesquisa, URLs, tiverem tratamento para os dados 
informados pelo usuário na aplicação. 
Cross Site Request Forgery 
Utiliza a relação de confiança entre o aplicativo e seu usuário legítimo. 
Geralmente fazendo uso de engenharia social, para explorar essa vulnerabilidade, o 
atacante necessita que a vítima esteja com uma sessão ativa na aplicação alvo. 
Nesse momento, o ataque pode ser concluído com sucesso caso o usuário receba 
um link ou acesse, no mesmo navegador, o aplicativo malicioso. Dessa forma, a 
aplicação maliciosa ou link inclui uma requisição ao aplicativo alvo, carregando os 
parâmetros necessário para a conclusão da transação. 
Os aplicativos vulneráveis são aqueles em que as requisições são feitas de 
maneira estática, ou seja, sempre enviando os mesmos parâmetros para fazer a 
requisição. Uma alternativa para tratar as requisições do CSRF é o Synchronizer 
Token Pattern. Diz respeito a enviar um token como um dos parâmetros da requisição. 
Com isso, tem-se a garantia de que a requisição está sendo feita, de forma que 
o token enviado seja comparado ao token armazenado na sessão do usuário, é 
gerado um novo token para armazenamento na sessão. Se o token for diferente, a 
requisição deve ser descartada pelo servidor. 
Referência direta a objetos 
Uma referência direta a um objeto expõe os dados de um sistema aos usuários. 
Seja um arquivo, diretório ou a chave de uma tabela, a referência direta permite que 
um usuário acesse dados aos quais não tem permissão. A fragilidade encontra-se na 
ideia de que o usuário sempre irá seguir os caminhos preestabelecidos pela 
aplicação. 
Na própria aplicação são visualizados parâmetros que referenciam objetos 
internos. O usuário se aproveita dessa fragilidade para, alterando os parâmetros para 
ter acesso a outros dados da aplicação. Como prevenção, deve-se verificar se o 
usuário tem permissão para acesso ao objeto ao qual está requisitando. 
Broken Autenticação e Gestão de Sessões 
11 
 
 
O invasor utiliza-se de falhas da aplicação no gerenciamento de sessão ou na 
autenticação, como por exemplo, contas expostas, senhas, IDs de sessão, para 
representar um usuário legítimo. De acordo com Owasp (2017) deve-se verificar as 
seguintes diretrizes: 
● As credenciais de autenticação de usuário não são protegidas quando 
armazenadas usando hash ou criptografia. 
● As credenciais podem ser adivinhadas ou substituídas por funções de 
gerenciamento de contas fracas (por exemplo, criação de contas, alteração de 
senha, recuperação de senha, IDs de sessão fracas). 
● IDs de sessão são expostos na URL (por exemplo, reescrita de URL). 
● IDs de sessão são vulneráveis a ataques de fixação de sessão . 
● IDs de sessão não timeout, ou sessões de usuário ou tokens de 
autenticação, particularmente single sign-on (SSO) tokens, não são 
devidamente invalidados durante logout. 
● Os IDs de sessão não são rodados após o login bem-sucedido. 
● Senhas, IDs de sessão e outras credenciais são enviadas através de 
conexões não criptografadas. 
 
Por exemplo, se alguém utiliza um computador público para acesso a uma 
determinada aplicação e, ao invés de fazer logout, apenas fecha o navegador, corre 
o risco de ter deixado a sessão ativa por um tempo, deixando aberta a possibilidade 
de que uma outra pessoa utilize-se dessa conta para obter dados. 
Insufficient Logging & Monitoring 
Um sistema sem logs, não consegue detectar que em algum lugar de sua 
API/Sistema alguém está tentando explorar alguma falha. Muitos desenvolvedores 
são resistentes a implementar um módulo de logs no seu sistema, principalmente 
devido ao peso destes dados no banco. Se este for o problema, defina um período de 
auto-exclusão do log que você pode suportar. Um mês é o mínimo! 
Outra solução é o monitoramento em tempo real, que permite a você e sua 
equipe perceber comportamentos estranhos no seu sistema, como picos ou quedas 
absurdas de acesso. Assim, é importante manter painéis de informações ao vivo da 
sua aplicação, normalmente em monitores ou televisões sempre ligados nesta tela, 
com alertas sonoros caso julgue necessário. 
12 
 
 
Sensitive Data Exposure 
As ferramentas de inspecionar elementos em uma página ou aplicação web, 
como o Chrome DevTools, estão entre as ferramentas preferidas dos 
desenvolvedores, e também dos hackers mal-intencionados. 
Muitas APIs não protegem devidamente as informações que são transmitidas 
através delas, o que permite que invasores tirem proveito dos parâmetros retornados 
por ela, simplesmente inspecionando a aba ‘network’ do seu sistema. 
Quanto a isso, é necessário dedicar uma atenção especial ao definir como 
estas informações vão trafegar pela interface, e criptografá-las devidamente. 
XML External Entities (XXE) 
Esta vulnerabilidade é específica de sistemas que trabalham com a linguagem 
XML, como por exemplo, software emissores de documentos fiscais eletrônicos. 
Invasores podem explorar processadores de XML vulneráveis, onde é possível 
injetar códigos maliciosos e enviar para uma aplicação que fará a leitura desse XML. 
Broken Access Control 
Essa falha ocorre em aplicações que possuem páginas, rotas com informações 
que apenas o administrador deveria ter acesso, porém o controle de usuários não 
funciona. 
Neste formato, o hacker consegue autenticar-se como administrador, e a partir 
daí, acessar, copiar e até excluir seus dados. 
Para prevenir problemas de broken access control, é necessário que a 
validação do perfil de acesso venha do seu servidor, e não possa ser alterada 
externamente. 
Security Misconfiguration 
Se trata de configurações padrão de fábrica, informações abertasna nuvem, 
headers http configurados incorretamente, erros verbosos que indicam com precisão 
o motivo do erro. 
13 
 
 
A solução desse problema é bem simples: sempre lembre-se de excluir os 
arquivos e configurações default dos frameworks que utilizar. Alguns frameworks vão 
te lembrar disso após a instalação. Outros, não. 
Insecure Deserialization 
Falha muito utilizada para execução remota de códigos maliciosos. Mesmo 
quando essa falha de segurança não resulta em um acesso remoto por parte do 
hacker, ele podem utilizar a brecha para uma escalação de privilégios, configurando-
se como administrador. 
Using Components with Known Vulnerabilities 
Mesmo que sua aplicação esteja desenvolvida seguindo um padrão seguro, as 
bibliotecas de terceiros que sua aplicação utiliza podem possuir falhas que são 
conhecidas na internet. Isso resulta em exploits, softwares prontos para serem 
utilizados para uma invasão. 
Assim, é necessário ficar atento a possíveis vulnerabilidades de todos os 
componentes, bibliotecas e APIs que você irá consumir em seu software. 
Insufficient Logging & Monitoring 
Um sistema sem logs, não consegue detectar que em algum lugar de sua 
API/Sistema alguém está tentando explorar alguma falha. 
Muitos desenvolvedores são resistentes a implementar um módulo de logs no 
seu sistema, principalmente devido ao peso destes dados no banco. Se este for o 
problema, defina um período de auto-exclusão do log que você pode suportar. Um 
mês é o mínimo! 
Outra solução é o monitoramento em tempo real, que permite a você e sua 
equipe perceber comportamentos estranhos no seu sistema, como picos ou quedas 
absurdas de acesso. 
Assim, é importante manter painéis de informações ao vivo da sua aplicação, 
normalmente em monitores ou televisões sempre ligados nesta tela, com alertas 
sonoros caso julgue necessário. 
14 
 
 
 
PRÁTICAS DE SEGURANÇA EM APLICAÇÕES WEB 
 
 Os sites podem ser afetado por algum tipo de ataque DDoS, como o grande 
ataque que a empresa Dyn sofreu no final de 2016 derrubando milhares de sites 
relevantes, então você sabe que esta é uma grande preocupação. Como mostrado 
no gráfico abaixo, o número de ataques DDoS têm crescido consistentemente ao 
longo dos últimos anos e a tendência é que isso continue piorando. 
 
Ataques DDoS ocorrem na camada de rede, são por natureza volumétricos 
(em sua maioria) e dependem do seu provedor de hospedagem, datacenter ou CDN 
para serem apropriadamente mitigados. Normalmente, quando ocorrem, os 
provedores de infraestrutura tomam as providências necessárias para restabelecer o 
serviço. 
Subindo alguns níveis no modelo OSI, voltemos à camada de aplicação. 
Embora não haja maneira de garantir 100% de segurança, pois é impossível prever 
tudo, existem medidas que podem ser utilizadas para reduzir as chances de 
ocorrência de problemas de segurança em aplicativos web. Quanto mais destas 
medidas forem tomadas simultâneamente, mais protegida estará sua aplicação. 
 
 
 
15 
 
 
PLANO DE SEGURANÇA PARA APLICAÇÕES WEB 
 
O primeiro passo para assegurar-se que se está utilizando as melhores 
práticas de segurança para aplicações web é ter um plano traçado. Com frequência 
as empresas adotam uma abordagem desorganizada para esta situação e acabam 
realizando muito pouco. Sente-se com sua equipe de segurança de TI para 
desenvolver um plano de segurança detalhado e acionável. É importante que este 
plano esteja alinhado com os objetivos da sua organização. 
Por exemplo, talvez você queira melhorar seu compliance, ou talvez você 
precise proteger sua marca. É necessário priorizar quais aplicativos devem ser 
protegidos primeiro e como eles serão testados. Você pode optar por fazê-lo 
manualmente, através de uma solução em nuvem, através de software específico, de 
um provedor de serviços gerenciados ou por outros meios. 
Embora o plano de segurança e a lista de verificação de cada empresa sejam 
diferentes e dependam da arquitetura de sua infraestrutura, é importante que você 
defina especificamente quais os requisitos de segurança a serem atendidos e os 
critérios para avaliação. A OWASP (Open Web Application Security Project), grupo 
especializado em segurança online, criou um checklist bem detalhado que você pode 
utilizar como base para a sua avaliação. 
Além disso, se sua organização é grande o suficiente, seu plano deve 
relacionar os indivíduos dentro da organização que serão responsáveis pela 
manutenção contínua dessas melhores práticas. Finalmente, não se esqueça de levar 
em conta os custos em que sua organização incorrererá ao engajar essas atividades, 
pois este pode ser um fator decisivo na hora de priorizar. 
INVENTÁRIO DAS APLICAÇÕES WEB 
É provável que você não tenha uma ideia muito clara sobre quais aplicativos 
web sua empresa utiliza. Na verdade, a maioria das organizações tem muitos 
aplicativos “rogue” rodando sem saber, até que algo dê errado. Você não pode 
esperar manter uma boa política de segurança em aplicações web sem mapear 
detalhadamente quais aplicativos sua empresa utiliza. 
16 
 
 
Quantos são? Onde estão localizados? Executar esse inventário pode ser uma 
tarefa trabalhosa e é provável que leve algum tempo até sua conclusão. Ao fazê-lo, 
anote a finalidade de cada aplicação. Quanto maior a organização, maiores as 
chances de encontrar aplicações redundantes ou até mesmo inúteis. O inventário virá 
a calhar para as próximas sugestões, por isso invista o tempo necessário e certifique-
se de obter os detalhes de cada aplicação utilizada. 
PRIORIZAÇÃO DAS APLICAÇÕES WEB 
 
Depois de concluir o inventário de seus aplicativos web, classificá-los em 
ordem de prioridade é o próximo passo lógico. Sem priorizar quais aplicativos focar 
primeiro, você terá dificuldade em fazer qualquer progresso significativo. Classifique 
as aplicações em três categorias: 
 Crítico 
 Importante 
 Norma 
As aplicações críticas são principalmente aquelas que podem ser acessadas 
externamente e contém informações de clientes. Estas são as aplicações que devem 
ser geridas em primeiro lugar, pois são as mais suscetíveis como alvos a serem 
exploradas por hackers. As aplicações importantes podem ser de uso interno ou 
externo e podem conter algumas informações confidenciais. Aplicações normais têm 
muito menos exposição, mas devem ser incluídas em testes por precaução, mesmo 
que em um segundo momento. 
Categorizando suas aplicações assim você pode focar testes extensivos nas 
aplicações críticas e usar testes menos complexos (e caros) nas demais. Isso permite 
que você faça o uso mais eficaz dos recursos da empresa ao mesmo tempo em que 
pode alcançar resultados significativos com maior velocidade. 
Conforme você avalia sua lista de aplicativos web antes de testá-los, é 
necessário decidir quais vulnerabilidades valem a pena eliminar e quais não são tão 
preocupantes. A maioria das aplicações web tem muitas vulnerabilidades. Por 
exemplo, dê uma olhada no relatório abaixo, que avaliou e categorizou 9000 sites 
infectados: 
17 
 
 
 
Eliminar todas as vulnerabilidades de todas as aplicações web não só não é 
possível como nem mesmo vale o seu tempo. 
Mesmo depois de categorizar suas aplicações de acordo com a importância, 
será necessário um investimento considerável de recursos para analisá-las. 
Limitando os testes apenas às vulnerabilidades mais ameaçadoras, você 
economizará muito tempo e fará o trabalho muito mais rápido. Quanto à determinação 
das vulnerabilidades a serem focadas, isso realmente depende das aplicações que 
você está usando. Existem algumas medidas de segurança padrão que devem ser 
implementadas (discutidas mais adiante), porém vulnerabilidades específicas de 
aplicativos precisam ser pesquisadas e analisadas. 
Mantenha em mente também que, à medida que o teste evolui, você pode 
perceber que ignorou certas questões importantes. Não tenhamedo de interromper 
os testes para redefinir prioridades ou focar em vulnerabilidades adicionais. Lembre-
se que no futuro este trabalho será muito mais fácil, pois será iterativo, o esforço inicial 
é o mais trabalhoso. 
EXECUTAR APLICATIVOS USANDO O MÍNIMO DE PRIVILÉGIOS 
 
Mesmo depois que todas as suas aplicações web forem avaliadas, testadas e 
sanitizadas contra as vulnerabilidades mais problemáticas, você não está a salvo. 
Cada aplicativo web possui privilégios específicos em computadores locais e remotos. 
Esses privilégios podem, e devem, ser ajustados para aumentar a segurança. Sempre 
18 
 
 
use as configurações menos permissivas para todas as aplicações web. Isso significa 
que as aplicações devem ser “amarradas”. Somente pessoas com autorizações de 
alto nível devem poder fazer alterações no nível de sistema. 
Este é um fator a ser considerado em suas avaliações iniciais, caso contrário 
você terá que repassar toda a lista ajustando as permissões de acordo. Para a vasta 
maioria das aplicações apenas os administradores de sistemas necessitam de acesso 
completo. A maioria dos outros usuários pode realizar o necessário com 
configurações minimamente permissivas. No caso improvável em que privilégios são 
ajustados incorretamente para um aplicativo e certos usuários não podem acessar os 
recursos de que precisam, o problema pode ser tratado pontualmente. É muito melhor 
ser demasiado restritivo nesta situação do que ser demasiado permissivo. 
PROTEJA-SE MESMO DURANTE O PROCESSO DE AVALIAÇÃO 
 
Mesmo uma empresa pequena e simples pode levar semanas – ou até meses 
– para listar seus aplicativos web e fazer as alterações necessárias. Durante esse 
período o negócio pode estar vulnerável a ataques, portanto é crucial utilizar as 
ferramentas adequadas para evitar maiores problemas. Para isso existem algumas 
opções: 
 Remover funcionalidades de determinados aplicativos: se a 
funcionalidade torna o aplicativo mais vulnerável a ataques pode valer 
a pena restringir o seu uso. 
 Use um WAF (Web Application Firewall) para proteção contra as 
vulnerabilidades mais preocupantes. 
 
O firewall de aplicação web filtra e obstrui tráfego HTTP indesejável e ajuda a 
blindar contra XSS, SQL injection e muito mais. 
19 
 
 
Durante todo o processo as aplicações web existentes devem ser monitoradas 
continuamente, para assegurar que não estão sendo violadas por terceiros. Se sua 
empresa, ou site, sofre um ataque durante este período, identifique o ponto fraco e 
faça a correção antes de continuar com o processo de checagem e sanitização. Você 
deve adquirir o hábito de documentar cuidadosamente as vulnerabilidades e como 
elas devem ser tratadas, para que as ocorrências futuras possam ser solucionadas 
de forma mais rápida e eficaz. 
USO COOKIES DE FORMA SEGURA 
 
Outra área que muitas organizações não aborda cuidadosamente é o uso de 
cookies. Os cookies são incrivelmente convenientes, tanto para empresas quanto 
para usuários. Eles permitem que os usuários sejam lembrados pelos sites que 
visitam, para que visitas futuras sejam mais rápidas e, em muitos casos, mais 
personalizadas. No entanto, cookies também podem ser manipulados por hackers 
para obter acesso a áreas protegidas. Apesar de não ser necessário interromper 
completamente o uso de cookies – o que seria um grande retrocesso em muitos 
aspectos – é necessário fazer ajustes a fim de minimizar o risco de ataques. 
1. Nunca use cookies para armazenar informações altamente sensíveis ou 
críticas, por exemplo não use cookies para lembrar as senhas dos 
usuários, pois isso facilita muito aos hackers a obtenção de acesso não 
autorizado. 
2. Você também deve ser conservador ao definir o prazo de expiração para 
os cookies. Claro, é bom saber que um cookie permanecerá válido para 
um usuário por meses, mas a realidade é que cada cookie representa 
um risco de segurança e quanto mais tempo durar, maior o tempo de 
exposição ao risco. 
3. Finalmente, considere criptografar as informações armazenadas nos 
cookies que você usa, isto já vai dificultar muito o uso de forma 
maliciosa. 
Além do que já mencionamos, existem algumas outras sugestões de 
segurança de aplicações mais “imediatas” que se pode implementar: 
 Utilize HTTPS e redirecione todo o tráfego HTTP para HTTPS; 
20 
 
 
 Evite ataques de cross-site-script (XSS) usando o cabeçalho de 
segurança x-xss-security; 
 Implemente uma política de segurança de conteúdo; 
 Nunca é demais lembrar, use senhas fortes que empregam uma 
combinação de letras minúsculas e maiúsculas, números e símbolos 
especiais, etc. 
TREINAMENTOS PARA CONSCIENTIZAÇÃO DE SEGURANÇA EM 
APLICAÇÕES WEB 
 
Em uma empresa, são grandes as chances de que apenas um punhado de 
pessoas compreenda a importância da segurança em aplicações web. A maioria dos 
usuários tem apenas a compreensão mais básica do problema e isso pode torná-los 
descuidados. Usuários sem instrução não conseguem identificar apropriadamente os 
possíveis riscos de segurança. Em essência, educar a todos sobre segurança em 
aplicações web é uma ótima maneira de envolver a organização no ato de encontrar 
e eliminar vulnerabilidades. Com isso em mente, considere a possibilidade de trazer 
um especialista em segurança de aplicativos web para conduzir treinamentos de 
conscientização aos seus funcionários. Isso é muito importante para ajudar na 
implementação e manutenção das melhores práticas. 
Manter as melhores práticas de segurança em aplicativos web é um esforço de 
equipe. Sua segurança como um todo é limitada ao elo mais fraco, seja sistema ou 
membro da equipe. Mantenha isso em mente e busque identificar constantemente o 
elo mais fraco a fim de fortalecê-lo. 
TESTES DE SEGURANÇA NAS APLICAÇÕES SÃO ESSENCIAIS 
 
As práticas de testes automatizados são voltadas para melhorar a qualidade 
do software desenvolvido e são grandes aliadas na segurança de um sistema, uma 
vez que um código bem escrito é menos propenso a falhas, que podem gerar 
vulnerabilidades. Algumas metodologias de desenvolvimento de software incorporam 
o desenvolvimento orientado a testes, ou TDD do inglês Test Driven Development, 
como parte da rotina de desenvolvimento, porém poucas equipes cumprem essas 
21 
 
 
rotinas. Desenvolvedores costumam testar as funcionalidades de sua aplicação, 
todavia, durante a rotina de testes automatizados do sistema, normalmente em sua 
fase de homologação ou durante o desenvolvimento, também é necessário submeter 
a aplicação a testes de seguranças. 
 
Como pode-se observar na Figura a rotina de desenvolvimento com TDD se 
baseia em primeiro escrever um teste com os requisitos da função a ser desenvolvida. 
Após escrito, esse teste ele irá falhar, pois ainda não há nenhuma função 
desenvolvida para atender as condições daquele teste, e então é feita a codificação 
da função, com o objetivo de cumprir todos os requisitos pré estabelecidos no teste. 
Com a função completa é feita a refatoração do código, a fim de eliminar todas as 
redundâncias e funções que podem ser abusadas por atacantes. 
A revisão de todo código fonte escrito, a procura de falhas, é a mais 
aconselhada para minimizar a ocorrência de ataques nas aplicações. Essa parte 
costuma ser ignorada, porém é de extrema importância que seja feita para garantir o 
mínimo de qualidade no software desenvolvido (Chess B. and McGraw 2011). Outra 
maneira de testar um software desenvolvido é com a utilização de scanners 
automatizados para encontrar falhas de segurança nas aplicações. A utilização 
desses scanners deve ser feita com muita atenção, pois este tipo de teste pode gerar 
falsos positivos e falsos negativos, exibindo falhas onde não existem e deixando 
passar falhas existentes (Basso 2010). Se faz necessário a utilização de vários 
scanners e também a conferência manual dos resultados exibidos por eles, para 
confirmarse condizem com a realidade. 
Grande parte dos ataques na Internet são provenientes de indivíduos 
conhecidos como “Script Kiddie”, que normalmente possuem rasos conhecimentos e 
assistem vídeos e tutoriais na Internet aprendendo a utilizar ferramentas prontas para 
22 
 
 
realizar ataques. É recomendado aos desenvolvedores que pesquisem as principais 
ferramentas automatizadas de invasão de sistemas, pois ao testar sua aplicação com 
ferramentas conhecidas no mercado, poderá tomar ações proativas de segurança e 
obter uma drástica diminuição nas possibilidades de sua aplicação ser invadida por 
esses tipos de indivíduos. 
CUIDADOS A SEREM TOMADOS NA IMPLANTAÇÃO 
 
Durante a implementação do software é aconselhado que seja feito um plano 
de ação, descrevendo como a equipe tratará uma eventual descoberta de 
vulnerabilidades ou a ocorrência de um ataque, para que se este vier a ocorrer, a 
equipe não demore muito para responder e aplicar as correções necessárias. 
Outro ponto importante na implementação é o servidor que irá rodar a 
aplicação desenvolvida. Neste servidor deve ser instalado apenas o necessário para 
que a aplicação execute e cada servidor deve ter suas responsabilidades bem 
definidas. Recomenda-se colocar um servidor para o banco de dados e outro para 
executar a aplicação, nesses servidores os serviços que são executados devem estar 
sempre atualizados, evitando assim que falhas descobertas em softwares utilizados 
possam ser exploradas. 
Um cenário muito comum de ataque ocorre em sites que utilizam o gerenciador 
de conteúdo WordPress, que tem à sua disposição variadas extensões para 
diferentes tipos de site na Internet (Kyaw et al. 2015). O WordPress foi feito para que 
pessoas leigas conseguissem criar e administrar seus blogs. Pela facilidade de sua 
utilização foram surgindo extensões que permitem até mesmo rodar uma loja virtual 
dentro do sistema de blogs. Muitas dessas extensões podem conter falhas na sua 
codificação e expor o sistema a vulnerabilidades. Por esse motivo, é recomendado 
sempre utilizar bibliotecas e extensões que são atualizadas constantemente e 
verificar se não há nenhuma vulnerabilidade em seus códigos antes de colocar em 
produção. 
Senhas padrões devem ser evitadas em qualquer ambiente, principalmente 
quando lidamos com servidores. Uma vez colocados em rede, vários scripts 
automáticos ficam testando as senhas para conseguir acesso ao servidor, que podem 
ser invadidos e usados para minerar bitcoins, disseminar fraudes pela Internet e até 
23 
 
 
mesmo para atacar outros servidores através de negação de serviço ou formar uma 
botnet de amplificação de ataques. 
Recentemente, em fevereiro de 2018, foi descoberta uma vulnerabilidade de 
configuração incorreta na aplicação Memcached, que é um sistema distribuído de 
cache usado por servidores para acelerar redes e sites. Cerca de 51 mil servidores 
estavam expostos na Internet com essa falha. Através dos servidores com a falha 
atacantes conseguiram fazer um dos maiores ataques de negação de serviço já 
registrado, usando os servidores como fator de amplificação conseguiram chegar a 
1,35 Tbps de tráfego contra os servidores do GitHub. 
A configuração correta do servidor é algo essencial para que sejam evitados 
esses tipos de vetores de ataque, além disso, devem estar sempre atualizados. Ainda 
é recomendado para servidores Linux não utilizar senha para fazer login no SSH e 
sim a utilização de um par de chaves, pública e privada, conhecido como SSH key. 
A utilização e boa configuração de firewalls a nível de aplicação e de rede em 
ambientes de produção são de extrema importância, para negar várias solicitações, 
feitas muitas das vezes por scanners, a procura de vulnerabilidades e portas abertas 
que possam ser pontos de ameaça. Existem até mesmo sistemas automatizados que 
detectam e bloqueiam ataques em serviços web com base em anomalias do tráfego 
de rede dos servidores (Pereira 2011). 
Invasores estão a todo momento tentando roubar dados, dados esses que 
normalmente são armazenados em bancos de dados em que a preocupação com a 
segurança dos mesmos é bem básica. Uma das táticas que vem sendo utilizado para 
diminuir o roubo de informações nos bancos de dados é a criptografia dos dados 
armazenados, que causa perda da performance. Pesquisas como as de Jordão 
(2014) tentam encontrar um equilíbrio entre criptografia e performance em bancos de 
dados não relacionais, para termos uma maior confiabilidade nos dados 
armazenados. 
 
 
 
 
24 
 
 
REFERENCIAS 
 
BASSO, T. (2010) “Uma abordagem para avaliação da eficácia de scanners de 
vulnerabilidade em aplicações web”. Dissertação de Mestrado, Universidade 
Estadual de Campinas – Faculdade de Engenharia Elétrica e de Computação. 
Campinas, São Paulo. 
BATISTA, C. F. A. (2007) “Métricas de Segurança de Software”. Dissertação de 
Mestrado, Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro. 
BRAGA, A. M. (2007) “Visão geral das boas práticas para construção de 
softwares seguros”. Revista Técnica IPEP, São Paulo, SP, 7(2), 65-78. 
CHESS B., MCGRAW G. (2004) “Static analysis for security”. IEEE Security & 
Privacy, v. 2, n. 6, p. 76-79. 
DEVMEDIA (2018) “TDD: fundamentos do desenvolvimento orientado a testes”. 
Disponível em: Acesso em: 20 Março 2018. 
DIJKSTRA, E. W. (1972) “ The humble programmer”. Communications of the 
ACM, v. 15, n. 10, p. 859-866. 
FIDELIS, R. (2016) “Como Eu Usei o Cartão de Crédito do CEO do Trampos.co 
para Pagar Minha Assinatura Premium”. Disponível em: Acesso em: 10 Março 
2018. 
GITHUB (2018) “February 28th DDoS Incident Report”. Disponível em: . Acesso 
em: 20 Março 2018. 
IDGNOW (2017) “Déficit de profissionais de segurança em TI deve bater 3,5 
milhões em 2021”. Disponível em: . Acesso em: 10 Março 2018. 
JORDÃO, R. E. M. (2014) “Armazenamento Distribuído de Dados Seguros com 
Esquema de Consultas Diretas”, Trabalho de Conclusão de Curso, Faculdade de 
Tecnologia, Universidade de Brasília - UnB. Brasília-DF. 
Kolias, C., Kambourakis, G., Stavrou A. and Voas J. (2017) "DDoS in the IoT: Mirai 
and Other Botnets," in Computer, vol. 50, no. 7, p. 80-84. 
KYAW, A. K., SIOQUIM F., and JOSEPH J., (2015) "Dictionary attack on 
Wordpress: Security and forensic analysis" Second International Conference on 
Information Security and Cyber Forensics (InfoSec), Cape Town, 2015, p. 158-164. 
LUZ, H. J. F. (2011) “Análise de Vulnerabilidades em Java Web Applications”, 
Trabalho de Conclusão de Curso, Centro Universitário Eurípides de Marília, 
Fundação de Ensino Eurípides Soares da Rocha. Marília-SP. 
MONTANHEIRO, L. S., CARVALHO, A. M. M., RODRIGUES, J. A. (2017) 
“Utilização de JSON Web Token na Autenticação de Usuários em APIs REST”, 
XIII Encontro Anual de Computação. Anais do XIII Encontro Anual de Computação 
EnAComp 2017. Catalão: Universidade Federal de Goiás (UFG) - Regional Catalão, 
2017. v. XIII. p. 186-193. 
25 
 
 
OWASP (2013) “OWASP Top 10 2013 – The Ten Most Critical Web Application 
Security Risk”. Disponível em: . Acesso em: 10 Março 2018. 
PEREIRA, H. (2011) “Sistema de Detecção de Intrusão para Serviços Web 
Baseado em Anomalias”, Dissertação (mestrado), Pontifícia Universidade Católica 
do Paraná - PUCPR. Curitiba-PR. 
SEGINFOCAST (2016) “Análise de Código e Segurança de Software”. Disponível 
em: . Acesso em: 10 Março 2018. 
SOUZA, L. L. (2012) “Desenvolvimento seguro de aplicações web seguindo a 
metodologia OWASP”. Monografia, Universidade Federal de Lavras. Minas Gerais, 
Brasil

Continue navegando