Prévia do material em texto
SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE
INFORMAÇÃO - CYBERSECURITY
Mateus Buogo
SUMÁRIO Esta é uma obra coletiva organizada por iniciativa e direção do CENTRO SU-
PERIOR DE TECNOLOGIA TECBRASIL LTDA – Faculdades Ftec que, na for-
ma do art. 5º, VIII, h, da Lei nº 9.610/98, a publica sob sua marca e detém os
direitos de exploração comercial e todos os demais previstos em contrato. É
proibida a reprodução parcial ou integral sem autorização expressa e escrita.
CENTRO UNIVERSITÁRIO UNIFTEC
Rua Gustavo Ramos Sehbe n.º 107. Caxias do Sul/ RS
REITOR
Claudino José Meneguzzi Júnior
Desenvolvido por:
equipe de Criações para o Ensino a Distância (CREAD)
Coordenadora e Designer Instrucional
Sabrina Maciel
Assessoria Pedagógica
Kirly Betti De Sousa
Audiovisual
Alan de Oliveira da Silva
Lucas Schneider Ribeiro
Diagramação, Ilustração e Alteração de Imagem
Igor Zattera
Thaís Munhoz
Revisora
Camila da Silva Portela
Tecnologia da Informação
Bruno dos Santos Rocha
SEGURANÇA DA INFORMAÇÃO 4
INFORMAÇÃO 5
SEGURANÇA INFORMAÇÃO 6
FACES SEGURANÇA INFORMAÇÃO 7
PILARES DA SEGURANÇA INFORMAÇÃO 7
ANÁLISE DE RISCOS 11
ACEITAÇÃO DE RISCO E RISCO RESIDUAL 13
VULNERABILIDADES 14
AMEAÇAS 15
RISCO 16
MATRIZ DE RISCOS 17
PLANO DE CONTINGÊNCIA 17
ISO 27001 20
SGSI – SISTEMA DE GESTÃO DE SEGURANÇA
DA INFORMAÇÃO 21
ENGENHARIA SOCIAL 25
ANÁLISE DO LIXO 27
PHISHING 28
FALHAS HUMANAS 28
CRIPTOGRAFIA 31
CRIPTOGRAFIA SIMÉTRICA 33
CRIPTOGRAFIA ASSIMÉTRICA 34
HASH 35
CERTIFICADO DIGITAL 36
SEGURANÇA OFENSIVA 38
SUPERFÍCIES DE ATAQUE 39
ATRASO DE TECNOLOGIA 41
SEGURANÇA DE DESENVOLVIMENTO DE APLICATIVOS 41
LACUNA DE HABILIDADE 41
DISPONIBILIDADE E SOFISTICAÇÃO
DE FERRAMENTAS DE ATAQUE 41
ASSIMETRIA DE ATAQUE E DEFESA 41
MONETIZAÇÃO DE MALWARE 41
INTERNET DAS COISAS 42
TRANSIÇÃO PARA A NUVEM 42
REGULAMENTAÇÃO CRESCENTE 42
FILOSOFIA 42
RED TEAM E BLUE TEAM 43
ANÁLISE DE VULNERABILIDADES 47
PENTEST 48
PENTEST 51
INFORMATION GATHERING 52
SCANNING/ENUMERATION 61
VULNERABILITY ANALYSIS 67
EXPLOITATION / EXPLORATION 75
REPORTING 80
DEVSECOPS 85
SAST - STATIC APPLICATION SECURITY TESTING 86
DAST - DYNAMIC APPLICATION SECURITY TESTING 87
IAST - INTERACTIVE APPLICATION SECURITY TESTING 87
OWASP DEVSECOPS GUIDELINE 87
OWASP TOP 10 90
3SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
APRESENTAÇÃO
Sua empresa já foi invadida por um hacker? Tem certeza de sua resposta? O ponto é, não é “se”
sua empresa já foi invadida, mas sim “quando” ela será invadida. Uma certeza eu tenho, não há empre-
sa que um dia não sofrerá com um ataque hacker ou perda de dados, pois todas as empresas são vulne-
ráveis e podem ser invadidas.
E se a vulnerabilidade que expõe a sua empresa ou seus clientes estiver no sistema que você de-
senvolveu? Sim, no sistema que você desenvolveu! O maior sucesso em caso de invasões e vazamento
de dados está ligado diretamente a falhas que os desenvolvedores deixaram em seus códigos.
Minha afirmação pode ser um pouco forte demais, e talvez você duvide dessa afirmação, mas sua
dúvida expressa o quanto você desconhece as ameaças virtuais e as motivações de um hacker. Se você
não teve dúvidas sobre minhas afirmações, é porque sabe o quanto as empresas estão vulneráveis, mas
talvez não saiba como um hacker faz para invadir um ambiente computacional. Talvez ache que uma
tecnologia como firewall, waf, ips, ids protegem seu ambiente completamente, mas sinto em lhe dizer,
damos risadas do seu firewall.
A Segurança Ofensiva surge nesse cenário para trabalhar justamente com isso. Ela ajuda a encon-
trar vulnerabilidades em sistemas e infraestruturas, mostra por onde um hacker pode entrar de forma
detalhada, auxilia também as empresas a melhorarem sua segurança, principalmente seus sistemas.
Quer aprender técnicas de invasão? Bora mergulhar no mundo
do hacking e mudar seu mindset sobre segurança da informação.
Hacking is not a crime! Let’s hack!
4
SEGURANÇA DA
INFORMAÇÃO
O estudo da segurança da informação é uma das temáticas mais cruciais,
uma vez que a necessidade por segurança permeia todos os aspectos da
vida, sendo essencial para todos.
5SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Na minha primeira aula de Segurança da Informação, eu me fiz uma pergunta importante: “O que é Se-
gurança da Informação?”. Confesso que não consegui uma resposta clara do que é era segurança da informa-
ção na época, e percebi que iria demorar alguns encontros com os alunos até conseguir expressar tudo o que
esse termo pode significar. Segurança da Informação é algo muito abrangente que, se utilizarmos uma defi-
nição padrão, iremos deixar algo descoberto. Então, vamos montar uma linha de raciocínio juntos para cons-
truir um conceito de segurança da informação.
Antes vamos entender o que é INFORMAÇÃO.
INFORMAÇÃO
Primeiro termo que temos que deixar claro em nossas mentes é o significado de informação. Em uma
pesquisa rápida no Google, achei a seguinte definição no site Wikipédia: “Informação é a resultante do pro-
cessamento, manipulação e organização de dados, de tal forma que represente uma modificação (quantitativa
ou qualitativa) no conhecimento do sistema (humano, animal ou máquina) que a recebe.”
Essa definição é totalmente técnica, correta e faz sentido, porém, isso me deixa um pouco insatisfeito.
Será que esse é o único significado de informação?
Seguindo os estudos, vou trazer uma citação de Sêmola (2003). Por sua vez, o autor defende que a infor-
mação representa a inteligência competitiva dos negócios das organizações. Percebam que o conceito de in-
formação deste caso é muito mais robusto e de maior importância. Então, podemos ponderar que informação
é vital para a alavancagem dos negócios das empresas, uma vez que ela fomenta a inteligência de negócio.
Em 1995, outros autores, Freitas e Kladis, já advogavam que a im-
portância da informação aumenta a todo instante nas organizações. Essa
citação é muito antiga, pois foi feita no ano de 1995 e podemos perceber
que ela ainda está atualizada.
Sendo assim, confirma-se que a informação é um pilar importante
para as empresas e para as estratégicas empresárias. Conforme Brito,
Antonialli e Santo, em 1997, a informação contribui ativamente para a
construção do planejamento estratégico das empresas. Novamente te-
mos uma citação antiga e que ainda pode ser utilizada.
Em suma, a informação, é um ativo intangível e de valor único nas
empresas. Por ser um ativo intangível, ela faz parte dos 75% de valor
que uma organização possui. A informação é de valor inestimável e serve
como pilar da manutenção da cadeia de valor das empresas.
Portanto, quando pensarmos em informação, temos que levar em
consideração toda sua importância na manutenção dos processos das
organizações e seu valor incalculável. Vamos usar como exemplo a Co-
ca-cola, pois para a marca, a maior riqueza não são as fábricas, mas sim
a informação e conhecimento de sua fórmula, utilizada na preparação
dos refrigerantes. Entenderam o que é realmente informação?
6SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
SEGURANÇA INFORMAÇÃO
Agora que já temos um conceito formado sobre o que é informação, precisamos avançar no conceito
de Segurança da Informação. Assim como todo ativo, a informação está suscetível a riscos. Esses podem
comprometer a informação de alguma forma, pois quando estamos falando em comprometer a informação,
estamos na realidade, falando em comprometer o negócio de uma empresa!
Creio que já está claro que informação é a sustentação do negócio, portanto, caso a informação sofra
inferência de algum risco, estaremos comprometendo o negócio da empresa. A segurança da informação
surge neste contexto para proteger o negócio das empresas. Essa correlação é algo importante para nossa
linha de estudos, pois, como falei, a segurança da informaçãotexto “aula de
segurança”, em hash Base64 é representado dessa forma “YXVsYSBkZSBzZWd1cmFuw6dh”. Caso
alterarmos apenas uma letra, por exemplo “aula de seguranca” com “C” no lugar de “Ç”, o resul-
tado em Base64 é “YXVsYSBkZSBzZWd1cmFuY2E=”, que é diferente do primeiro exemplo. Então,
caso algum dado seja alterado, facilmente pode ser comprovado.
• MD5: Esse algoritmo já está em desuso, pois ele não é mais confiável. A possibilidade de quebrar um
hash MD5 é muito grande, pois existem as Rainbow Tables, que são tabelas enormes com todas as
combinações possíveis em MD5 para quase todo tipo de mensagem. A frase “aula de segurança” em
MD5 possui essa saída “2fae8c0354d287c78b21d4287e571da4”
• SHA: Os algoritmos de hash SHA são os mais utilizados, pois são seguros e performáticos. Reco-
menda-se utilizar o algoritmo de SHA como 256 bits, ou seja, o SHA256, pois o custo benefício en-
tre segurança e consumo de recursos tem seu ponto de equilíbrio nele. Observe as saídas da frase
“aula de segurança”, nos 3 tipos de algoritmos SHA:
36SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
1. SHA1: “556327967e1ef73d7df4187ec0b11e7e82376d0a”
2. SHA256:“27341cba8671993634d9265e9bd6e4907769af-
386f8b2782ce0843011afddf7b”
3. SHA512:“6f81973d9d3c70b69949ba0115b5a8e0456fd61b-
f704d666567f1ee0f5d259f10fe050db10b006f396a748fb-
f97663ec7d44c0f374e12e8ab4292df847f52e83”
CERTIFICADO DIGITAL
Aprendemos até aqui forma de esconder as mensagens (con-
fidencialidade) e de garantir que elas não foram alteradas (integri-
dade), porém ainda necessitamos de outra propriedade para validar
se as informações que estão sendo trocadas são realmente emitidas
por quem diz que estão sendo emitidas. Confuso certo? Basicamen-
te, como você sabe se o site do banco realmente é o site do banco e
não um site falso criado para tentar roubar suas credenciais?
Neste contexto, surge o Certificado Digital. Basicamente o
certificado digital, tem por objetivo certificar que um emissor re-
almente é quem ele diz ser. Quando acessamos o site de um banco
em HTTPS, podemos perceber que existe um cadeado no canto su-
perior, e se clicarmos nele, conseguiremos visualizar o certificado
do banco, que prova que o site realmente é daquela instituição.
Para validar os certificados,
existem as Autoridades Certifica-
doras, que se reportam para a ICP
Brasil (Instituto de Chaves Públicas
Brasil). Uma empresa que precisa
validar a autenticidade do seu site
e das suas aplicações, compra um
certificado digital que contém as in-
formações referente ao domínio da
empresa. Esse certificado é validado
em uma Autoridade Certificado que
comprova a autenticidade do mes-
mo, validando o portal da empresa.
SÍNTESE
Neste capítulo, aprendemos
um pouco sobre criptografia e como
ela auxilia em nosso dia-a-dia na
proteção das informações que tra-
fegam na rede e na internet.
37SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Qual a diferença de uma criptografia simétrica e as-
simétrica?
2. Qual a principal vantagem da criptografia assimétrica?
3. Qual o ponto mais negativo da criptografia simétrica?
4. Para que server um Hash?
5. Como efetuar a quebra de Hash?
38
SEGURANÇA
OFENSIVA
Você já deve ter ouvido no noticiário ou lido na internet que houve
vazamento de base dados e se perguntou: “Será mesmo possível isso?”. A
segurança ofensiva está aqui para mostrar que sim.
39SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Normalmente quando falamos de segurança da informação, pensamos em softwares como antivírus e
AntiSpam ou em sistemas complexos como Firewall, IPS, IDS entre outros. Utilizamos essas tecnologias para
defender ambientes e dispositivos contra agentes maliciosos que podem comprometê-los. Pode-se dar o nome
de Segurança Defensiva, para essa forma de pensar e abordar segurança da informação.
Em contrapartida, existe outra forma de pensar a segurança da informação, ao qual pode-se dar o nome
de Segurança Ofensiva. Nessa forma de se pensar segurança, é avaliado o que pode ser feito para burlar con-
troles de segurança e conseguir invadir ambientes, sistemas e dispositivos, mesmo que eles já possuem tecno-
logias de proteção. A segurança ofensiva confronta controles de segurança e as falhas que os ambientes, sis-
temas e dispositivos possuem, em busca de uma brecha para conseguir controlar ou manipular as aplicações,
serviços e dispositivos.
Neste contexto, algumas terminologias surgiram ao longo dos anos, como ethical hacker, black hat, whi-
te hat, entre tantos outros. A ascensão da palavra HACKER deu-se nos anos 80 quando muitos especialistas
computacionais utilizavam de seus conhecimentos para invadir ambientes computacionais e manipular siste-
mas de informação e de forma errônea vinculou-se ela a criminosos computacionais.
Surgiram então as derivações para nomear os especialistas de segurança, de acordo com sua postura. O
Black Hat, ou Chapéu Escuro, é o especialista em explorar vulnerabilidades que usa de seus conhecimentos
para proveito próprio e causa damos às empresas e pessoas. O antagônico dele é o White Hat (chapéu claro) ou
Ethical Hacker (hacker ético) que usa de seus conhecimentos para identificar falhas em ambientes corporati-
vos, auxiliando no processo de mitigação das mesmas.
A segurança ofensiva profissionalizou o White Hat, dando à ele o
nome de Pentester, que é uma nomenclatura bem aceita de forma cor-
porativa. O Pentester é o profissional que possui conhecimentos avan-
çados em invasão de sistemas e utiliza desse conhecimento para identi-
ficar as falhas e auxiliar na mitigação das mesmas e de forma pró-ativa,
proteger o ambiente. Cabe ressaltar que o Pentester tem a autorização
para realizar um ataque ao ambiente, nada é feito de forma empírica.
Para proteção do pentest é criado um NDA (Non Disclosure Agre-
ement), ou, acordo de confidencialidade. Neste acordo, a empresa au-
toriza o serviço de pentest no ambiente e dessa forma o pentester fica
protegido juridicamente para poder realizar o ataque. É impreterivel-
mente necessário esse acordo e autorização para relizar um pentest.
SUPERFÍCIES DE ATAQUE
Não é novidade que a cada dia que passa os ambientes compu-
tacionais das empresas estão mais expostos. Diariamente, as ameaças
crescem exponencialmente e buscam explorar as vulnerabilidades dos
ambientes. Muitos fatores contribuem para isso, desde negligência da
TI até a sofisticação dos ataques.
40SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Antigamente, os sistemas corporativos eram desenvolvidos e publicados somente no ambien-
te interno das empresas e, dificilmente tinha-se sistemas expostos na internet para o acesso. Com
a movimentação para a Cloud somada à necessidade das empresas em desenvolver um trabalho
colaborativo e integrado, muitos sistemas são publicados para acesso externo, ou seja, os sistemas
publicados na internet são um dos principais vetores de ataque que os atacantes buscam, pois eles
são um elo de ligação com o ambiente interno e aos dados. Esses sistemas podem ser o CRM, ERP,
BI, Portais, entre outros.
Outro ponto importante são os serviços publicados na internet. Da mesma forma que os siste-
mas, os serviços estão cada vez mais expostos e cada um deles é um vetor de ataque que um atacante
busca explorar. Serviços como RDP, SSH, TELNET, FTP, VPN, entre outros, possuem vulnerabilida-
des que podem ser exploradas por um atacante.
A exposição de sistemas e serviços ainda conta com agravantes sérios. No que tange sistemas,
os atacantes buscam explorar falhas de desenvolvimento que possam permitir que eles sejam mani-
pulados e haja vazamento de informações. Já em serviços publicados, os atacantes buscam por fer-
ramentas que permitam a exploração de vulnerabilidades ou uma falha humana de configuração de
umadministrador de infraestrutura.
Diante deste contexto, existem ainda desafios. Os ambientes estão mais expostos e as ameaças
estão crescendo, ou seja, cada vez mais as empresas estão expostas. Não é mais possível deixar os siste-
mas somente na rede interna, já é realidade que a publicação de sistemas e serviços será cada vez maior
nos ambientes, ou seja, existe o desafio de proteção do ambiente, mesmo ele estando muito exposto.
O cenário de segurança cibernética é complexo, e invasores criam novos méto-
dos e ferramentas avançadas para a invasão de ambientes. Ferramentas e tecnologias
que foram desenvolvidas por diversas agências de inteligência vazaram na internet
sendo disponibilizadas para quaisquer pessoas que tenha a capacidade de utilizá-las.
Recorrentemente, os desenvolvedores de softwares e sistemas identificação
vulnerabilidades e lançam atualizações antes que o conhecimento dessas vulnera-
bilidades seja divulgado ao público, porém, nem sempre as equipes de segurança
das empresas aplicam essas correções, atualizando os sistemas.
O cenário atual de segurança cibernética é muito amplo e é pouco provável que
um indivíduo possa compreender em sua totalidade, porém existem alguns pontos
chaves que devem ser analisados pelas equipes de segurança das empresas, sendo eles:
• Atraso de tecnologia
• Segurança de desenvolvimento de aplicativos
• Falta de conhecimento da TI
• Assimetria de ataque e defesa
• Aumento da disponibilidade e sofisticação das ferramentas de ataque
• Monetização de malware
• Automação de Detecção Internet das Coisas
• Transição para a nuvem
• Regulamentação crescente
41SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
ATRASO DE TECNOLOGIA
A desatualização de sistemas e serviços é um ponto importante no que tange segurança de
ambientes. O cenário atual é que existem poucas empresas executando a versão mais atualizada de
cada sistema, e muitas empresas estão utilizando sistemas antigos, mas ainda possuem suporte,
e existe um número enorme de empresas executando sistemas desatualizados que não possuem
mais suporte, como Windows XP e o Windows 7.
SEGURANÇA DE DESENVOLVIMENTO DE APLICATIVOS
Durante o processo de desenvolvimento de sistemas e aplicativos, normalmente os desen-
volvedores não estão atentos aos requisitos de segurança. Muitas das brechas exploradas por um
atacante está vinculada à falha de código fonte que não realiza a sanitização de dados de entrada
ou utilizam-se de uma lógica falha de tratativa dos dados.
LACUNA DE HABILIDADE
As lacunas de conhecimento sobre a temática de segurança ofensiva e hacking fazem com
que a TI, de um modo geral, não tenha conhecimento suficiente para aplicar controles efetivos no
ambiente a fim de proteger os as informações.
DISPONIBILIDADE E SOFISTICAÇÃO DE FERRAMENTAS DE ATAQUE
Não são somente dados que vazam, as ferramentas avançadas de segurança estão
disponíveis na internet para qualquer pessoa ter acesso. A sofisticação dessas ferra-
mentas, potencializadas pela sua disponibilidade, faz com que os ambientes estejam
cada vez mais expostos a ameaças que conseguiram de forma efetiva explorar as vul-
nerabilidades dos sistemas.
ASSIMETRIA DE ATAQUE E DEFESA
A assimetria de ataque e defesa é um ponto preponderante no sucesso de um ata-
que. Basicamente, as empresas estão investindo recursos para proteger um ponto A e
os atacantes estão invadindo um ambiente pelo ponto B. Ataque e defesa neste contex-
to ficam assimétrico, expondo o ambiente computacional.
MONETIZAÇÃO DE MALWARE
Os atacantes possuem algumas motivações para realização de um ataque. Umas
delas é a monetização de malwares. Em vez de não disponibilizar sistemas, os atacan-
tes estão monetizando seus ataques, com a utilização de ransomwares, por exemplo.
42SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
INTERNET DAS COISAS
A tecnologia IoT está revolucionando a forma com que as empresas e as pessoas organizam seus processos di-
ários. Mais praticidade, conforto e aumento de performance são alguns dos pontos favoráveis para adoção da tec-
nologia IoT. Porém, os dispositivos e sistemas utilizados possuem inúmeras vulnerabilidades que um atacante pode
explorar. Normalmente por limitação de recurso ou desconhecimento de desenvolvimento, os dispositivos ficam
vulneráveis a diversos tipos de ataques.
TRANSIÇÃO PARA A NUVEM
A utilização de serviços em nuvem é uma realidade e irá crescer cada vez mais. Quando uma empresa decide mi-
grar para a nuvem publica, normalmente ela tem uma visão distorcida da segurança que a nuvem pode prover. Dentre
dos pilares de segurança, a nuvem publica garante apenas o pilar de disponibilidade. Muitos sistemas e serviços são
migrados e levam consigo muitos falhar de publicação e desenvolvimento que faz com que um atacante possa facil-
mente explorar as vulnerabilidades.
REGULAMENTAÇÃO CRESCENTE
Com o advento de normas nacionais e internacionais de proteção de dados, o foco dos atacantes também está
mudando. As legislações preveem multas e penas caso ocorram vazamentos, com isso os atacantes estão fortificando
os ataques de vazamento de dados, a fim de realizar extorsão para não divulgação de informações e também expor
empresas que não aplicam os controles necessários de segurança.
FILOSOFIA
A filosofia da segurança ofensiva é que os sistemas de infor-
mação da uma organização são vulneráveis e já foram compro-
metidos. As empresas devem supor que tecnologias preventivas,
como firewalls, antivírus e sistemas de detecção de intrusão (IDS)
são falhas e não irão para a ação de um atacante, ou seja, deve-
-se entender que o ambiente está comprometido ou que pode ser
comprometido por um atacante e sempre estar revendo processos
de segurança, tecnologias e cultura dentro da empresa.
O custo de um incidente de segurança, como uma invasão, é
sempre uma estimativa. Mesmo após a ocorrência de uma inva-
são, o custo real pode nunca ser determinado com precisão.
Um ataque pode causar a interrupção dos processos de ne-
gócios, danos à reputação, custo de reabilitação de sistemas com-
prometidos, custo de investigar a violação em si e custo de quais-
quer multas ou penalidades. A intangibilidade de alguns desses
exemplos, dificultam ainda mais o cálculo do valor perdido finan-
ceiro perdido em um ataque.
43SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
RED TEAM E BLUE TEAM
Uma abordagem utilizada no contexto de segurança ofensiva é a
divisão em Red Team e Blue Team. Exercícios entre essas duas equipes
proporcionam a simulação de ataque e defesa dentro de um ambiente
corporativo a fim de encontrar vulnerabilidades de forma pro-ativa no
ambiente e tratá-las antes que um atacante consiga invadir o ambiente.
O Red Team desempenha o papel de um atacante contra a organi-
zação. As equipes vermelhas podem ser construídas entre pessoas den-
tro da organização, uma equipe de teste externa ou uma combinação de
ambas. Normalmente as equipes de Red Team são formadas por espe-
cializadas externos à organização que contrata para realmente se ter a
visão que um atacante externo tem do ambiente.
Já o Blue Team é representado pela equipe interna de segurança
existente na empresa. Essa equipe administra o ambiente computacio-
nal, desde servidores, até estações de trabalho, configurando e man-
tendo o ambiente funcional. Como tarefa, o Blue Team deve através de
técnicas e tecnologias identificar possíveis ataques e quais as brechas
que o Red Team está tentando explorar.
44SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
RED TEAM
O red team é a equipe responsável por realizar os ataques nos ambientes em-
presariais. Ela é formada por pentesters que vão utilziar técnicas de hacking para
invadir sistemas e serviços que estão expostos. Mas o Read Team, possui um passo a
passo paradirecionar suas ações. A chamada KILL CHAINS, ou Cadeia de Destruição.
Originalmente a Kill Chains é uma ideia retirada de estratégias militares, que
descreve a estrutura de um ataque contra um alvo. Essa ideia é aplicada na seguran-
ça ofensiva como estrutura padrão a fim de descrever a progressão dos ataques. Essa
abstração foi criada pela empresa Lockheed Martin e conta com 5 fases, sendo elas:
• Reconhecimento
• Armamento
• Entrega
• Exploração
• Instalação
• Comando e Controle
• Extração de dados/informações
RECONHECIMENTO
Um pentester experiente não busca organizações aleatoriamente. Eles direcionam enforcos e
recursos enormes pesquisando seu alvo. O pentester usa a fase de reconhecimento para determi-
nar se vale a pena atacar um alvo, ou quando um ataque é direcionado, nesta fase, o atacante busca
reunir o máximo de informações sobre o ambiente da vítima. Nesta fase informações de domínios,
subdomínios, bloco IP, tecnologias, emails, sistemas, entre tantas outras são enumeradas para
que sejam utilizadas nas fases seguintes.
ARMAMENTO
Tendo todas as informações sobre o alvo, ou pelo menos o máximo de informações possí-
veis, um pentester parte para a fase de Armamento. Como agora o ele já tem o conhecimento do
ambiente, sabe muitas informações de sistemas, serviços, bloco IP, entre outras informações, ele
pode buscar o “armamento” necessário para realizar um ataque. Essa busca de “armas”, podem
ser programas, malwares, scripts, tudo que possa ser utilizado para explorar o ambiente.
ENTREGA
Após estar “armado” o pentester entra na fase de entrega. Neste momento, o objetivo é fazer
com que o alvo execute algo malicioso na infraestrutura de sistemas de informação da organiza-
ção. Alguns ataques necessitam que o usuário faça alguma intervenção para que o código remoto
seja executado. Mas alguns tipos de ataque podem ser executados remotamente, sem necessitar da
interação do usuário.
45SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
EXPLORAÇÃO
Caso o código malicoso seja executado com sucesso no alvo, entramos na fase de ex-
ploração, quando o atacante consegue acesso ao ambiente para explorar as vulnerabilidades
e ter acesso às informações.
INSTALAÇÃO
Após estar dentro do ambiente, o foco é buscar estabelecer um ponto de acesso, como
uma porta dos fundos, o famoso Backdoor, que permita que o pentester consiga acesso ao
ambiente de forma facilitada, mesmo que o malware ou código seja removido do ambiente.
COMANDO E CONTROLE
Neste momento, o pentester já tem acesso livre o ambiente, então ele estabelece uma
rede de Comando e Controle, para começar, de forma remota, explorar as vulnerabilidades
do ambiente, utilizando algumas técnicas como:
• Movimento lateral
• Escalada de privilégios
• Administração do domínio
EXTRAÇÃO DE DADOS/INFORMAÇÕES
A última fase, requer que o pentester extraia informações do ambiente para compro-
var que o ataque foi efetivo. Evidencias são geradas e documentadas para que possam ser
estudadas posteriormente.
BLUE TEAM
O Blue Team é composto por especialistas em Segurança Defensiva. Ao contrário dos
Pentesters que compõem Segurança Ofensiva, os profissionais do Blue Team são analistas
de segurança da informação experientes na defesa dos ambientes. São profissionais que ad-
ministram o ambiente interno e as tecnologias como Firewall, WAF, IPS, CASB, PAM, Anti-
vírus, entre outras. Essa equipe tem como objetivo proteger o ambiente e monitorar se algo
pode estar acontecendo no ambiente. O Blue Team também possui sua KILL CHAINS, ou ,
Cadeia de Destruição, composta pelas etapas:
• Coletar dados
• Detectar
• Alertar
• Investigar
• Planejar resposta
• Executar
46SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
COLETAR DADOS
Como saber se tudo está ok, se não sabemos quando tudo está ok? A fase de coleta
de dados é primordial para uma equipe defensiva. Nesta fase, é necessário coletar dados
de todos os ativos, sejam eles servidores, estações de trabalho, equipamentos de rede,
entre outros. Informações de uso de CPU, memória, tentativas de login erradas, altera-
ção de arquivos sensíveis, enfim, todas informações sobre o ambiente.
Tendo a coleta de dados é criada uma Linha de Base (baseline) que determina como
o ambiente deve estar para que tudo esteja funcionando corretamente. Pode-se usar
muitos sistemas para compor essa baseline, como sistemas de syslog, monitoramento,
inventários, etc.
DETECTAR
Agora que já existe a baseline, os analistas de segurança do Blue Team, precisam
criar mecanismos para detectar que uma invasão pode estar ocorrendo, ou que algo estra-
nho está acontecendo no ambiente. Para essa detecção podem-se utilizar sistemas de IDS,
Antivirus, ou até mesmo um script personalizado. Controlar tentativas de login inválido,
é um ótimo exemplo de monitoramento do ambiente. Ataques de força bruta tendem a
errar várias vezes a senha de um usuário, e detectando isso, pode-se perceber um ataque.
ALERTA
Se foi detectado, deve ser alertado. Neste conjunto de processos e ferramentas do Blue
Team, é de extrema importância que exista o alerta em caso de identificação de um comporta-
mento suspeito no ambiente, que fuja do padrão da baseline. Ataques de DOS tendem a consu-
mir muito CPU dos equipamentos, então se um equipamento tem em sua baseline a informação
que o uso de CPU normal é de até 50%, e ele está com uso de 75%, deve gerar um alerta para
notificar os analistas de segurança que alvo pode estar acontecendo no ambiente.
INVESTIGAR
Após ser alertado, os analistas do Blue Team, devem investigar a origem do alerta e iden-
tificar se é realmente um ataque no ambiente ou somente um comportamento normal e pon-
tual. A fase de investigação é de extrema importância, pois de nada adiantar alertar se não for
tomada nenhuma ação de correção.
PLANEJAR RESPOSTA
Quando a investigação é concluída, cria-se então um plano de resposta para correção do pro-
blema e aplicação de contramedidas de segurança para aquele caso específico. No plano de respos-
ta, planeja-se o que, como e quando será realizado para correção da falha ou mitigação do risco.
47SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
EXECUTAR
A fase final é executar o que foi planejado e corrigir a vulnerabilidade ou mitigar os
riscos. Nesta fase o Blue Team aplica as devidas correções e ajusta a baseline se necessário,
documentando o processo.
ANÁLISE DE VULNERABILIDADES
Uma TI moderna têm como objetivo central a gestão de vulnerabilidades do ambiente.
Uma vulnerabilidade tecnológica é um ponto fraco ou uma falha em um sistema, infraestru-
tura ou serviço de TI. O processo de análise de vulnerabilidade tem como objetivo identificar
os pontos fracos, documentar cada um deles e indicar a correção de cada uma delas.
Pondera-se que a segurança é um estado e não uma constante, ou seja, nós “estamos”
seguros e não “somos” seguros. Isso significa que os ambientes computacionais estão se-
guros em determinado momento, mas com o surgimento de novas vulnerabilidades, eles
acabam tornando-se vulneráveis.
Existem várias bases de dados para classificar as vulnerabilidades. A base mais comum
e confiável são as CVE (Common Vulnerabilities and Exposures) que classificam as vulne-
rabilidades de acordo com uma série de fatores criando o índice de classificação chamado
CVSS (Common Vulnerability Scoring System) que se utiliza de uma medicação numérica de
0 à 10, de acordo com o grau de criticidade.
Existem outras bases como a CWE (Common Weakness Enumeration), BID (Softwa-
re Vulnerability Tracking) e CERT-Bund (Computer Emergency Response Team for federal
agencies), que também podem ser utilizadas para auxiliar na classificação de vulnerabili-
dades diversas.
O processo de análise de vulnerabilidade é um processo contínuo que deve ser mantido
de forma recorrenteno ambiente. Esse processo cíclico consiste em basicamente 3 fases.
Verificação do
estado atual
Correção de
falhas
Validação das
correções
Primeiramente, é necessário “tirar uma foto” do ambiente como se encontra naquele
exato momento. Nesta etapa, o estado atual do cenário é documentado e avaliado, podendo
dessa forma identificar os pontos mais críticos que devem ser trabalhados de forma priori-
tária para correção das vulnerabilidades.
48SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Em seguida as correções das falhas devem ser implementadas, buscan-
do a melhoria de segurança do ambiente. Muitas falhas são corrigidas através
de atualização de sistemas e serviços. Quando não há uma forma definitiva
de correção, pode-se aplicar “virtual patchs” que são soluções alternativas
com objetivo de diminuir a exposição do ambiente.
A última fase é validar se a correção foi efetiva. Quando uma solução
é aplicada ela deve ser homologada para garantir que foi efetiva para o am-
biente e corrigiu a falha encontrada na fase de verificação do ambiente.
Esse processo é cíclico e deve ser aplicado constantemente no ambien-
te com recorrência suficiente para garantir que os serviços, sistemas e ativos
estejam protegidos contra vulnerabilidades novas que surgem no ambiente.
PENTEST
Normalmente um processo de Análise de Vulnerabilidade é automati-
zado por ferramentas e busca o compliance dos ambientes. Já o pentest é um
processo manual e minucioso executado por um pentester. Um Pentest é re-
alizado com o objetivo de mapear vulnerabilidades específicas e avançadas,
além de estratificar o que um atacante pode descobrir do ambiente compu-
tacional de uma empresa.
O Pentest sempre é realizado com autorização prévia e documentada. Normalmente um acordo de
confidencialidade (NDA) é assinado entre o Pentester e a empresa que sofrerá o ataque, além de docu-
mentos autorizando o ataque. É extremamente necessária a documentação de autorização do ataque para
proteção de ambas as partes. Ao final do pentest é gerado um relatório pontuando as vulnerabilidades do
ambiente e como o pentester fez para invadir ou extrair informações sigilosas.
Algumas metodologias de pentest existem, mas podemos definir de forma macro as seguintes fases:
• Information Gathering
• Scanning and Enumeration
• Vulnerability Analysis
• Exploration
• Reporting
Perceba algo importante, Análise de Vulnerabilidade não é Pentest. Muitos profissionais de for-
ma errada vendem serviços de Análise de Vulnerabilidade como Pentest e isso é extremamente errado.
Existem diferenças importantes entre eles. A análise de vulnerabilidade é uma das fases do pentest,
mas não sua totalidade. Pode-se prestar serviços de Análise de Vulnerabilidade de forma isolada, sem
realizar um pentest completo.
49SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Na fase de Information Gathering, o pentester busca informações do am-
biente, como subdomínios, blocos ips, sistemas publicados, emails, telefone, entre
outras. Basicamente informações públicas que podem ser acessadas por qualquer
pessoa com conhecimento para isso, mas tudo de forma passiva, sem interação
com o ambiente computacional dos alvos do teste. Pode ser a fase mais demorada
de um pentest, pois é aqui que toda superfície de ataque tende a ser descoberta.
De posse das informações o pentester busca realizar um escaneamento do
ambiente e enumerar serviços, portas, tecnologias, entre outras coisas. A fase
de Scanning e Enumeration pode demorar bastante, pois é nela que o pentester
identifica o que está sendo executado na superficie de ataque.
Na fase de Vulnerability Analysis, o pentester busca por vulnerabilidade
no ambiente que possam ser exploradas a fim de conseguir acesso aos sistemas
e servidores. Algumas ferramentas podem ser utilizadas para facilitar a busca
de vulnerabilidades e mapeamento delas no processo de pentest.
E na fase 4, a de Exploration, é onde o pentest se diferencia de uma simples análise de vulnerabilidades.
Nesta fase o pentester explora as vulnerabilidades e invade o ambiente computacional, tomando controle de
servidores e serviços, ou conseguindo acesso a informações sigilosas que não poderiam ser acessadas.
A última fase, Reporting, é onde o pentester escreve o relatório com todas as informações coleta-
das nas fases anteriores, mostrando evidencias do sucesso do ataque e também orientando o que deve
ser realizado para correção das mesmas. O pentester não corrige, ele orientar como corrigir, pois, a
responsabilidade de correção é do proprietário dos sistemas ou serviço.
Dessa forma, o pentest consegue agregar na segurança dos ambientes e na proteção de ativos,
sistemas e serviços.
SINTESE
Neste capítulo, aprendemos sobre a segurança ofensiva e como trabalhar com ela dentro das em-
presas visando a melhoria dos processos de segurança.
50SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Qual a função do Red Team?
2. Qual equipe representa o Blue Team?
3. Quais as fases do Pentest?
4. O que é monetização de Malwares?
5. Sal empesa pode ser invadida? Melhor... quando ela
será...
51
PENTEST
É muito difícil conseguir dados de uma empresa. As informações que a TI
administra são bem seguras, não tem como um hacker descobrir coisas
facilmente sobre nosso ambiente. Será? [...]
52SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O Pentest é composto por várias fases. Vamos desbravá-las:
INFORMATION GATHERING
A primeira fase de um pentest é a de Information Gathering. Essa fase pode ser a mais
demorada dentro de um processo de teste de invasão de um ambiente. Nesta etapa, informa-
ções referentes ao alvo são coletadas como endereços IP, sistemas, emails, subdominios entre
outras. Motores de buscas e portais também podem ser utilizados nesse processo. Toda infor-
mação é válida e deve ser documentada.
A maioria das informações que são enumeradas neste momento são públicas, ou seja,
qualquer pessoa pode descobrir desde que tenha conhecimento para isso. Encontrar algumas
informações dependem de ferramentas especificas ou scripts específicos para maximizar o
ganho de informações. Quase todo processo de coleta é passivo, ou seja, não depende de inte-
ração com o ambiente do alvo.
ENUMERAÇÃO DE SUBDOMÍNIOS
Uma das informações mais preponderantes para um pentest é descobrir a maior parte de
subdomínios que o alvo possui publicado. Esses subdomínios podem hospedar aplicações e servi-
ços a serem explorados além de evidenciarem os endereçamentos IP que as aplicações possuem.
Uma forma de descobrir subdomínios é com o auxílio do comando HOST no Linux.
Esse comando resolve nomes e endereços IP. Quando executamos o comando host ftec.
com.br temos o seguinte retorno:
Temos o retorno do endereçamento IP que representa o nome ftec.com.br. Pode-
mos tentar executar variações de subdomínios.
Inserindo moodle juntamento com o domínio ftec.com.br, encontramos um sub-
domínio e o IP que o representa. O desafio aqui é tentar encontrar o máximo de subdo-
mínios. Caso um subdomínio não seja encontrado o retorno é um erro.
┌──(root💀letshack)-[/tmp/subdomain]
└─# host ftec.com.br
ftec.com.br has address 187.103.251.167
ftec.com.br mail is handled by 5 mail.ftec.com.br.
┌──(root💀letshack)-[/tmp/subdomain]
└─#host moodle.ftec.com.br
moodle.ftec.com.br has address 187.103.251.151
53SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Os subdomínios podem ser testados manualmente, porém isso não é viável,
pois demora muito tempo, por isso, podemos desenvolver um script que executa vá-
rias varreduras para nós. Primeiro passo é criar uma lista de possíveis subdomínios e
salvar em um arquivo. Porexemplo o conteúdo do arquivo subdomain.txt:
Deve-se preencher cada lista com palavras que façam sentido para o negócio do
alvo ou para o contexto. Após temos que criar um script que leia cada uma dessas li-
nhas, execute o comando HOST e nos mostre em tela caso tenha sucesso de resolução
do nome juntamente com o IP encontrado. Conforme shell script:
Execução do script:
┌──(root💀letshack)-[/tmp/subdomain]
└─# host ftec.ftec.com.br
Host ftec.ftec.com.br not found: 3(NXDOMAIN)
┌──(root💀letshack)-[/tmp/subdomain]
└─# cat subdomain.txt
ead
moodle
educacional
aluno
mba
professor
┌──(root💀letshack)-[/tmp/subdomain]
└─#./subdomain.sh ftec.com.br subdomain.txt
######################################################
####### INICIO VARREDURA DE SUBDOMINIOS #############
######################################################
moodle.ftec.com.br - 187.103.251.151
educacional.ftec.com.br - 187.103.251.164
aluno.ftec.com.br - 187.103.251.149
professor.ftec.com.br - 187.103.251.151
Ao finalizar a execução do script, pode-se analisar os endereços de IP encontrados. É muito
importante encontrarmos o máximo de informações de IP e subdomínios, por isso a construção
de uma lista de subdomínios é muito importante. Perceba que na lista temos MBA e EAD que não
aparecem na resolução de nomes, e isso acontece pois não há publicações com essas referências.
54SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Existem ferramentas que também podem auxiliar neste processo. Uma ferramenta
muito famosa e robusta é o AMASS desenvolvida pela OWASP. Ela faz enumeração de subdo-
mínios em várias bases mundiais. Para saber mais sobre a ferramenta digite amass –help:
Dentre tantas opções no amass, podemos utilizar os parâmetros de busca de subdomí-
nios com resolução de endereços IP: amass enum --ip -d ftec.com.br, e teremos o resulta-
do com muitas informações. Segue um recorte parcial:
┌──(root💀letshack)-[/tmp/subdomain]
└─# amass enum --ip -d ftec.com.br
ftec.com.br 187.103.251.167
unifi.ftec.com.br 187.103.251.149
graduacao.ftec.com.br 187.103.251.155
mail.ftec.com.br 187.103.251.153
app.ftec.com.br 187.103.251.140
eadapp.ftec.com.br 187.103.251.140
ftec-bdc.ftec.com.br 187.103.251.159
bbb.ftec.com.br 187.103.251.161
helpdesk.ftec.com.br 187.103.251.134
portalintegrador.ftec.com.br 187.103.251.158
portal-api.ftec.com.br 187.103.251.158
web.ftec.com.br 187.103.251.165
unibolsa.ftec.com.br 187.103.251.168
tecnicos.ftec.com.br 187.103.251.151
A busca completa resultou em 72 subdomínios existentes que foram encontrados na
internet juntamente com seus endereços IP. De posse dos endereços IP’s, pode-se começar
a enumeração de blocos IP.
55SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
ENUMERAÇÃO DE BLOCOS IP
Para um pentester basta descobrir um endereço IP para que seja possível encontrar todo
bloco IP que o alvo utiliza. Na enumeração de subdomínios encontramos vários endereços IP sol-
tos, mas que agora podemos investigar para encontrar um bloco IP inteiro utilizado ou que esteja
atrelado a empresa alvo.
Para isso, podemos utilizar uma ferramenta chama de WHOIS, que traz informações de blo-
cos IP na internet e também de domínios. Para saber mais sobre a ferramenta executa whois –help:
Ao executarmos whois 187.103.251.153, temos o seguinte retorno:
┌──(root💀letshack)-[/tmp/subdomain]
└─# whois 187.103.251.153
% Copyright (c) Nic.br
% The use of the data below is only permitted as described in
% full by the terms of use at https://registro.br/termo/en.html ,
% being prohibited its distribution, commercialization or
% reproduction, in particular, to use it for advertising or
% any similar purpose.
% 2021-02-12T15:34:33-03:00 - IP: 189.127.26.117
inetnum: 187.103.224.0/19
aut-num: AS28283
abuse-c: AAL926
owner: Adylnet Telecom
ownerid: 06.061.646/0001-65
responsible: Adylnet Telecom
country: BR
owner-c: ADEMP2
tech-c: AAL926
inetrev: 187.103.251.0/24
nserver: ns1.adyl.net.br
nsstat: 20210212 AA
nslastaa: 20210212
nserver: ns2.adyl.net.br
nsstat: 20210212 AA
nslastaa: 20210212
created: 20091130
changed: 20130307
56SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Neste caso, o ip atrelado aos subdomínios da ftec.com.br não são diretamente
relacionados à empresa. O provedor está de posso desses endereços como “dono”. Na
maioria dos casos os endereços IP estão atrelados diretamente aos clientes, como no
exemplo whois 200.9.140.20
nic-hdl-br: ADEMP2
person: AdylNet Empresas
e-mail: suporte@adyl.net.br
country: BR
created: 20081119
changed: 20190715
nic-hdl-br: AAL926
person: ADYLNET ACESSO A INTERNET LTDA
e-mail: suporte@adyl.net.br
country: BR
created: 20050607
changed: 20190715
% Security and mail abuse issues should also be addressed to
% cert.br, http://www.cert.br/ , respectivelly to cert@cert.br
% and mail-abuse@cert.br
%
% whois.registro.br accepts only direct match queries. Types
% of queries are: domain (.br), registrant (tax ID), ticket,
% provider, CIDR block, IP and ASN.
┌──(root💀letshack)-[/tmp/subdomain]
└─# whois 200.9.140.20
% Copyright (c) Nic.br
% The use of the data below is only permitted as described in
% full by the terms of use at https://registro.br/termo/en.html ,
% being prohibited its distribution, commercialization or
% reproduction, in particular, to use it for advertising or
% any similar purpose.
% 2021-02-12T15:41:16-03:00 - IP: 189.127.26.117
inetnum: 200.9.140.0/24
aut-num: AS264061
abuse-c: PMS145
owner: Município de Caxias do Sul
ownerid: 88.830.609/0001-39
responsible: Gerencia de Infraestrutura e Redes
country: BR
owner-c: PMS145
tech-c: PMS145
inetrev: 200.9.140.0/24
nserver: ns1.caxias.rs.gov.br
nsstat: 20210212 AA
nslastaa: 20210212
nserver: ns2.caxias.rs.gov.br
nsstat: 20210212 AA
nslastaa: 20210212
nserver: ns3.caxias.rs.gov.br
nsstat: 20210212 AA
nslastaa: 20210212
created: 20151001
changed: 20151001
57SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Neste exemplo, o bloco IP da prefeitura de Caxias do Sul
está atrelado a ela como responsável. Dessa forma, consegui-
mos enumerar o bloco IP tendo somente a informação de 1 IP.
Reiteramos que essa informação é pública e pode ser consul-
tada por qualquer pessoa.
Acesse https://registro.br e vá na ferramenta de WHOIS.
Vamos encontrar as mesmas informações disponibilizada na
ccTLD do Brasil de forma pública.
https://registro.br
58SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
OUTRAS FORMAS DE ENUMERAÇÃO DE IP E
SUBDOMÍNIOS
De forma complementar, podemos utilizar
portais e scanners disponibilizados na internet para
pesquisas avançadas como o SHODAN e o CENSYS.
Esses portais possuem algumas limitações para pes-
quisas de contras gratuitas, mas para o conhecimen-
to acadêmico são interessantes.
SHODAN
O Shodan é um scanner que monitora a inter-
net de forma geral. Nele conseguimos informações
que muitas das vezes através das ferramentas pa-
drões não encontramos. Para utilizar, basta acessarhttps://www.shodan.io/ e criar uma contra gratui-
ta. Depois basta executar um filtro de busca pelo IP
ou domínio para ver os resultados. Neste exemplo, o
domínio do google.com:
https://www.shodan.io/
59SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
CENSYS
O Censys é outra grande ferramenta online para busca de informações de endereços IP e
subdomínios. Para utilizar basta acessar https://censys.io/ipv4 e realizar a busca. Neste exem-
plo, buscando por ftec.com.br:
Todas as ferramentas e portais são complementares, nenhum exclui a utiliza-
ção do outro. Quanto mais ferramentas utilizarmos, maior será a assertividade no
processo de pentest.
OUTRAS FORMAS DE INFORMATION GATHERING
Apesar das informações de endereço IP e subdomínio serem as principais, elas
não são as únicas. Podemos buscar informações a respeito do alvo diretamente no
site da empresa, Linkedin, Facebook, Pastebin, Github entre outros, de forma mais
manual e pontual.
Buscar por emails vazados também é algo muito interessante. Em bases de va-
zamento de e-mails, podemos encontrar muitas informações e emails que podem ser
utilizados em ataques de phishing por exemplo.
Portais como https://haveibeenpwned.com/ e https://hunter.io/ conseguem
mostrar os email vazados de um domínio. Para escalar as buscar é necessário pagar a
mensalidade e usar as API’s de desenvolvimento, porém podemos fazer um simples
teste com algumas informações básicas. Você pode verificar se seu email particular já
vazou em alguma base também.
No HaveIBeenPwned ao consultar meu email acadêmico consigo verificar que ele
não vazou em nenhuma base:
https://censys.io/ipv4
https://haveibeenpwned.com/
https://hunter.io/
60SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Na base de pesquisa do Hunter, para o domínio da ftec.com.br foram encontrados 47
e-mails vazados ou enumerados, ou seja, não necessariamente foram vazados, mas podem
ser localizados e um atacante pode usar para realizar um ataque conforme consulta:
61SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
SCANNING/ENUMERATION
Terminada a fase de Information Gathering, é iniciada a fase de Scanning/Enumeration com
o objetivo de descobrir quais serviços, portas, diretórios web entre outros, estão abertos e dispo-
níveis para acesso. Essa fase é de suma importância para o sucesso do pentest. É uma fase que cos-
tuma demorar muito também, pois nela todos os IP’s e sistemas identificados precisam passar por
um processo de escaneamento. Existem muitas técnicas que podem ser utilizadas neste processo.
PORT SCANNING
Uma técnica muito importante a ser utilizada é o Port Scannig. Nesta técnica é realizada a
varreduras de portas lógicas tcp e udp que possam estar abertas ou disponíveis, podendo dessa
forma enumerar serviços que estão expostos na internet e possam ser vulneráveis. O port scan-
ning pode ser implementado de várias formas ou utilizando ferramentas automatizadas.
Basicamente, de forma bem simplória, no port scanning tentamos conectar em uma porta
lógica, se temos sucesso de conexão sabemos que a porta está aberta. Se não tivermos sucesso,
a porta provavelmente estará fechada. Um teste básico para entendermos. Utilizando o NETCAT,
vamos simular algumas tentativas de conexão em portas nos hosts enumerados na fase de Infor-
mation Gathering. Por exemplo, vamos testar o endereço de ip 187.103.251.167 que está vinculado,
atualmente, ao site da Uniftec, na porta 80 e 443:
┌──(root💀letshack)-[/tmp]
└─# nc -vn 187.103.251.167 80
(UNKNOWN) [187.103.251.167] 80 (http) open
┌──(root💀letshack)-[/tmp]
└─# nc -vn 187.103.251.167 443
(UNKNOWN) [187.103.251.167] 443 (https) open
┌──(root💀letshack)-[/tmp]
└─# nc -vn 187.103.251.167 23 -w 2
(UNKNOWN) [187.103.251.167] 23 (telnet) : Connection timed out
┌──(root💀letshack)-[/tmp]
└─# nc -vn 187.103.251.167 22 -w 2
(UNKNOWN) [187.103.251.167] 22 (ssh) : Connection timed out
Observe que as tentativas de conexão com o netcat na porta 80 e 443 obtivemos
sucesso, pois as portas estão abertas e acessíveis pela internet. Nem toda porta aberta
é sinônimo de vulnerabilidade, afinal existem serviços que precisar estar publicados,
como os serviços web. Vamos tentar novas portas agora, por exemplo, porta 23 do tel-
net e a porta 22 do ssh:
62SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O fato de a conexão ter time out, demonstra que a porta não está acessível, dessa forma
podemos executar um port scanning a fim de descobrir as portas que estão aberta de forma
pontual, porém existem 65535 portas possíveis, ou seja, é um grande trabalho a ser feito e
manualmente não é viável. Temos que otimizar este scanning. Observe esse script simples,
mas que é poderoso:
Quando executado ele vai testar automaticamente as portas 22, 23, 80 e 443.
Em execução:
Essa é uma forma simples de realizar um port scanning para entendermos o conceito,
onde a ideia é varrer todas as portas identificando quais estão abertas ou não. Nem sempre
vamos ter à disposição as ferramentas mais robustas, por isso é importante entender o fun-
cionamento e conseguir criar as suas próprias soluções.
Para realizar de um port scanning robusto, podemos utilizar a ferramenta NMAP. Ela é
umas das ferramentas mais antigas e é extremamente robusta. Ela possui uma documenta-
ção muito completa em seu site oficial, https://nmap.org/. O NMAP possui muitas variações
e parâmetros que podem ser executados na busca de portas e serviços. Para ver todas as op-
ções execute nmap –help.
#!/bin/bash
for port in {22,23,80,443}; do
nc -vn 187.103.251.167 $port -z -w 2
done
#!/bin/bash
for port in {1..65535}; do
nc -vn 187.103.251.167 $port -z -w 2
done
┌──(root💀letshack)-[/tmp]
└─# sh portscan.sh
(UNKNOWN) [187.103.251.167] 22 (ssh) : Connection timed out
(UNKNOWN) [187.103.251.167] 23 (telnet) : Connection timed out
(UNKNOWN) [187.103.251.167] 80 (http) open
(UNKNOWN) [187.103.251.167] 443 (https) open
┌──(root💀letshack)-[/tmp]
└─# sh portscan.sh
UNKNOWN) [187.103.251.167] 1 (tcpmux) : Connection timed out
(UNKNOWN) [187.103.251.167] 2 (?) : Connection timed out
(UNKNOWN) [187.103.251.167] 3 (?) : Connection timed out
(UNKNOWN) [187.103.251.167] 4 (?) : Connection timed out
(UNKNOWN) [187.103.251.167] 5 (?) : Connection timed out
(UNKNOWN) [187.103.251.167] 6 (?) : Connection timed out
[...]
(UNKNOWN) [187.103.251.167] 80 (http) open
Para varrer todas as portas, basta alterarmos o range de portas para 1..65535.
https://nmap.org/
63SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Vamos trabalhar com algumas variações específicas para facilitar nossos estudos, po-
rém é interessante ler na totalidade a documentação do NMAP e ajustar conforme a sua ne-
cessidade. A forma mais simples de executar o nmap é “nmap + host”, onde ele irá realizar
um scan rápido nas principais portas:
Já podemos identificar informações de porta, estado e serviço de uma forma simples e
prática. Em um pouco mais de 6 segundos o scan foi realizado e as informações foram mos-
tradas em tela. Para entender um pouco mais o que o nmap realiza observe o que acontece
em um host que está sofrendo um port scanning. Neste exemplo o ip 192.168.0.101 irá reali-
zar um port scanningno ip 192.168.0.107.
┌──(root💀letshack)-[/tmp]
└─# nmap --help
Nmap 7.91 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Input from list of hosts/networks
-iR : Choose random targets
--exclude : Exclude hosts/networks
--excludefile : Exclude list from file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sn: Ping Scan - disable port scan
-Pn: Treat all hosts as online -- skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
--dns-servers : Specify custom DNS servers
--system-dns: Use OS’s DNS resolver
--traceroute: Trace hop path to each host
[...]
┌──(root💀letshack)-[/tmp]
└─# nmap 187.103.251.167
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-16 11:43 -03
Nmap scan report for 187-103-251-167.adyl.net.br (187.103.251.167)
Host is up (0.052s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 6.34 seconds
64SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
65SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Muitas conexões originadas do ip 192.168.0.101
para várias portas TCP no host 192.168.0.107 em
portas distintas. Um pacote SYN é enviado para as
portas. Se o host 192.168.0.101 recebe resposta des-
te pacote, o nmap consegue identificar que ela está
aberta. Lembre-se que essa é a forma mais simples
de execução. Alguns sistemas possuem proteção
contra port scanning ou não permitem conexão por
SYN. O NMAP consegue tratar todas essas situações
e está descrito em sua documentação como realizar
scans de formas diferenciadas.
O NMAP consegue enumerar mais informa-
ções importantes, como a versão das aplicações que
estão em execução. Para os próximos testes vamos
utilizar a máquina virtual do METASPLOITABLE que
possui serviços vulneráveis e muitas portas abertas.
Um parâmetro interessante do NMAP é o –sV, que
consegue determinar a versão dos serviços que es-
tão em execução em cada porta.
┌──(root💀letshack)-[/tmp]
└─# nmap -sV 192.168.0.109 2 ⚙
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-16 14:06 -03
Nmap scan report for 192.168.0.109
Host is up (0.00015s latency).
Not shown: 977 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login OpenBSD or Solaris rlogind
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
MAC Address: 08:00:27:1D:1B:C0 (Oracle VirtualBox virtual NIC)
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.99 seconds
66SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Informações de versão são muito impor-
tantes, pois muitas vulnerabilidades que po-
dem ser exploradas estão vinculadas a falhas
de versões de sistemas desatualizados. O NMAP
possui grande assertividade na identificação
de versões dos serviços.
Alguns hosts podem ter bloqueio de
ICMP, ou seja, caso alguém execute um ping,
por exemplo, ele não irá responder. O NMAP
por default utiliza o ping para identificar se um
host está ativo. Por isso, é boa prática execu-
tarmos com o parâmetro -Pn. A busca demo-
rará mais pois todos os hosts são considera-
dos como ativos, mesmo que não respondam a
ping. Dessa forma o NMAP utiliza outras téc-
nicas para verificar os serviços no host.
Outra forma de executar o NMAP é dire-
cionando para uma rede completo, por exem-
plo, 192.168.0.0/24. O NMAP aceita notações
CIDR para o endereço de destino.
┌──(root💀letshack)-[/tmp]
└─# nmap -sV -Pn 192.168.0.0/24
Host discovery disabled (-Pn). All addresses will be marked ‘up’ and scan times will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-16 14:30 -03
Nmap scan report for 192.168.0.1
Host is up (0.00053s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh Dropbear sshd 2012.55 (protocol 2.0)
80/tcp open http TP-LINK TD-W8968 http admin
1900/tcp open upnp Portable SDK for UPnP devices 1.6.19 (Linux 2.6.36; UPnP 1.0)
MAC Address: B0:4E:26:DB:E1:F2 (Tp-link Technologies)
Service Info: OS: Linux; Device: WAP; CPE: cpe:/o:linux:linux_kernel, cpe:/h:tp-link:td-w8968, cpe:/o:linux:linux_kernel:2.6.36
Nmap scan report for 192.168.0.109
Host is up (0.00047s latency).
Not shown: 977 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
67SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
MAC Address: 08:00:27:1D:1B:C0 (Oracle VirtualBox virtual NIC)
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux;
CPE: cpe:/o:linux:linux_kernel
Nmap scan report for 192.168.0.119
Host is up (0.0011s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
3000/tcp open http LGsmart TV http service
3001/tcp open ssl/http LG smart TV http service
7000/tcp open rtsp AirTunes rtspd 377.25.06
9080/tcp open http Mongoose httpd
11111/tcp open vce?
MAC Address: A8:23:FE:DC:0E:09 (LG Electronics)
Nmap scan report for 192.168.0.101
Host is up (0.0000070s latency).
All 1000 scanned ports on 192.168.0.101 are closed
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 256 IP addresses (4 hosts up) scanned in 182.06 seconds
O NMAP permite ainda que possamos escrever a saída do comando em alguns for-
matos. Passando parâmetros como –oX, -oG e –o, temos a saída em XML, GREP e RAW,
ou seja, podemos salvar a saída dele em formato de XML com o comando –oX, no formato
“grep” para poder usar com o comando GREP passando o parâmetro -oG e se passarmos o
parâmetro -o a saída será original, da mesma forma que em tela.
Execução para gravar em arquivos:
VULNERABILITY ANALYSIS
Quando já temos as informações de serviços expostos e quais as versões de cada um
deles, podemos entrar na fase de Vulnerability Analysis. Nesta fase, é realizada a análise
de vulnerabilidade as aplicações, sistemas e serviços identificados. Para isso pode-se con-
sultas as bases de CVE’s que existem. Nelas temos a descrição das vulnerabilidades e como
corrigir cada uma delas.
┌──(root💀letshack)-[/tmp]
└─# nmap -sV -Pn 192.168.0.109cat na -oX nmap.xml -oG nmap.og -o nmap.txt
Host discovery disabled (-Pn). All addresses will be marked ‘up’ and scan times
will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-16 14:38 -03
Nmap done: 1 IP address (0 hosts up) scanned in 1.76 seconds
68SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O portal https://www.cvedetails.com/ é muito completo que contém praticamente todas as vulnerabilidades mapeadas com
CVE’s. Ele fornece uma interface da web fácil de usar para buscar dados de vulnerabilidades cadastradas. Pode-se procurar por forne-
cedores, produtos e versões além das vulnerabilidades relacionadas. O site ainda possibilita visualizar estatísticas sobre fornecedores,
produtos e versões de produtos.
Por exemplo, vamos buscar por “Windows 10” para listar as vulnerabilidades desse sistema operacional:
https://www.cvedetails.com/
69SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O site mostra neste exemplo quantidade de vulnerabilidades de 2015 à 2019:
As CVE possuem um padrão de nome, onde temos o ano e um código único de cada uma delas. Por exemplo, a CVE-
2019-1003004 é do ano de 2019. Outra informação importante que uma CVE possui é o SCORE. O score varia de 0 a 10.
Quanto maior o score, mais crítica é a vulnerabilidade conforme tabela:
CVSS Score
0-1
1-2
2-3
3-4
4-5
5-6
6-7
7-8
8-9
9-10
Tabela: Score CVE
70SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Esse score é chamado de Common Vulnerability Scoring System (CVSS). Ele é calcula-
do a partir de uma série de premissas. No portal https://www.first.org/cvss/calculator/3.0
podemos simular os cálculos de CVSS. Para isso, algumas informações devem ser inseridas
em 3 seções distintas: Base Score; Temporal Score; Environmental Score.
A sessão de Base Score leva em consideração quantos vetores de ataques são possíveis
para explorar a vulnerabilidades, a complexibilidade do ataque, os privilégios requeridos, in-
teração com o usuário e quanto é afetado em confidencialidade, integridade e disponibilidade.
Veja este exemplo, em que uma vulnerabilidade tem como vetor de ataque a rede, de com-
plexibilidade baixa, pouco privilégio, requer interação do usuário, afeta de forma alta a confi-
dencialidade, não afeta a integridade e afeta pouco a disponibilidade. Ela tem um score de 6.3.
https://www.first.org/cvss/calculator/3.0
71SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Se alterarmos o padrão de integridade para alto e disponibilidade para alto, o score dela passa para 8.0.
Agora vamos para a sessão de Temporal Score. Nesta sessão informamos se existe um exploit maduro (vamos
estudar exploits mais adiante), o nível de remediação e a confiabilidade do report. Neste mesmo exemplo configuran-
do para exploit improvável com remediação oficial e report desconhecido, nosso score vai para 6.4.
72SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Mas, se alterarmos para exploit confirmado (alto), remediação indisponível e report
confirmado, nosso score vai para 8.0:
Na última sessão de Environmental Score, temos variáveis do ambiente em que a vul-
nerabilidade poderá ser explorada. Aqui pode-se pontuar requisitos de confidencialidade,
integridade e disponibilidade, além de modificações que possam ser realizadas nos vetores
de ataque, complexibilidade, privilégios entre outras. Neste exemplo, vamos seguir a se-
guinte configuração, elevando nosso score para 9.0:
73SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O cálculo é sempre complexo e a ideia é mostrar como ele é possí-
vel de ser calculado. No dia a dia não necessitamos realizar esse tipo de
abordagem, pois já existem ferramentas robustas para realizar essas ta-
refas, cabe a nós entender como esses cálculos de CVSS são realizados.
Existem outras bases de consulta para CVE’s como o MITRE no link
https://cve.mitre.org/, que também é robusta e pode prover muitas in-
formações. Em suma, uma CVE é uma vulnerabilidade que afeta todos os
usuários daquela tecnologia. Por exemplo, a CVE-2017-0144 documenta
a vulnerabilidade do protocolo SMBv1 que afetou muitos computadores
com Windows XP e Windows Server 2003 quando o Wannacry infectou
milhares de ambientes. Todos os sistemas que não haviam sido atualiza-
dos eram vulneráveis a essa vulnerabilidade. Essa é a grande caracterís-
tica da CVE, ela é uma vulnerabilidade “comum” entre todos que usam
uma determinada tecnologia.
OPENVAS/GVM
A análise de vulnerabilidade é um processo complexo quando exe-
cutado de forma manual. Por isso existem vários scanners de vulnerabili-
dades que podem ser utilizados para isso. Muitos deles são proprietários
e é necessário contratar a licença, porém a comunidade mantém o OPEN-
VAS, agora chamado de GVM (Greenbone Vulnerability Management).
O GVM é uma ferramenta opensource que realiza escaneamento de vulnerabilidades de forma automa-
tizada. Sua instalação varia de acordo com o sistema operacional que vai abrigar ele. Quando ele é instalado
manualmente, sem auxílio de gerenciadores de pacotes, é necessário montar toda estrutura de banco de dados
e das aplicações. Em sistemas como o Kali Linux, a instalação é mais automatizada e simples de ser realizada.
O GVM permite que haja um ciclo de gerenciamento de vulnerabilidade. Esse ciclo é simples e prático. Con-
sistem resumidamente em: Identificar as vulnerabilidades; corrigir as falhas; verificar e a tratativa teve efeito.
https://cve.mitre.org/
74SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Na etapa de identificação, as vulnerabilidades de-
vem ser identificadas e documentadas para cada host,
juntamente com a referência delas e o grau de critici-
dade. Mais informações sobre o impacto ao ambiente
também devem ser documentas.
A etapa de correção, preconiza a corrigir ou con-
tornar as falhas, deixando o ambiente seguro. A cor-
reção pode ser definitiva ou paliativa. Quando temos
uma solução paliativa, podemos chamar ela de virtual
path, onde se diminui a exposição do ativo, mas não
corrige na totalidade o problema.
Ao final, na etapa de verificação, é realizada a va-
lidação das correções para comprovar que não há mais
vulnerabilidades. De nada adianta uma solução ser apli-
cada se ela não for efetiva contra a falha identificada.
De formamais detalhada, o GVM possibilita mais
informações neste processo. Observe a imagem retira-
da do site oficial da Greenbone:
A ferramenta permite identificar, classi-
ficar, priorizar, atribuir, mitigar, armazenar e
melhorar o ambiente durante esse ciclo. O GVM é
opensource, mesmo contendo versões corpora-
tivas e com suporte, pode-se utilizá-lo de forma
gratuita no ambiente, até o presente momento.
Mais informações em https://www.greenbone.
net/en/vulnerability-management/
Para realizar a instalar do GVM no Kali
Linux é muito simples, basta seguir os seguin-
tes comandos:
Fonte: https://www.greenbone.net/en/vulnerability-management/
┌──(root💀letshack)-[/home/mbuogo]
└─# apt-get update
apt-get upgrade
apt-get install gvm*
apt-get install ufw
ufw disable
gvm-start
https://www.greenbone.net/en/vulnerability-management/
https://www.greenbone.net/en/vulnerability-management/
https://www.greenbone.net/en/vulnerability-management/
75SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Acompanhe a instalação completa na videoaula.
A URL de acesso ao painel de login é http://localhost:9392. Logo ao entrar no console web
do GVM, temos já as informações de quantidade de vulnerabilidades conhecidas e que ele pode
identificar e a classificação delas.
O GVM é uma ferramenta muito completa. Para verificar todas as telas e como
utilizar ela, assista as videoaulas desta unidade.
EXPLOITATION / EXPLORATION
Já sabemos as vulnerabilidades que o ambiente possui, então agora entramos na
fase de Exploration, ou seja, explorar as vulnerabilidades e dessa forma tomar contro-
le do ambiente. A técnica mais efetiva neste caso é a utilização de exploits. Os exploits
são códigos, programas, scritps, desenvolvidos para explorar vulnerabilidades conhe-
cidas. Normalmente uma CVE têm um exploit vinculado a ela.
Um exploit muito famoso foi o desenvolvido para explorar uma vulnerabilidade do
protocolo SMB em servidores e estações de trabalho Windows em 2017. O exploit do Eternal-
blue/Doublepulsar, explora com sucesso a mesma falha de SMB que o wannacry explorou,
conseguindo dessa forma tomar controle remoto de um host, mesmo sem ter credenciais
de acesso. Serviços que possuem exploit desenvolvidos tornam-se altamente vulneráveis.
Existem algumas bases de exploit que podem ser consultadas como o exploit-db.
com ou a ferramenta do searchsploit. Nessas bases, os exploits conhecidos ficam do-
cumentados e podem ser utilizados por pessoas que possuem o conhecimento para tal
feito. Os códigos fontes deles são abertos e todos podem estuda-los ou melhora-los.
Nem sempre um exploit é um código pronto, as vezes o exploit é apenas um indicador
de como explorar a vulnerabilidade com sucesso.Painel geral
http://localhost:9392
76SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Acessando o exploit-db.com temos várias opções de buscas e inúmeros exploits.
77SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Executando o filtro por doublepulsar, temos a seguinte saída:
Um dos exploits está com um “V” verde, isso significa que ele foi testado e funciona
corretamente. Caso exista a vulnerabilidade do doublepulsar, o ataque terá 100% de su-
cesso na exploração. Abrindo o código fonte, podemos ver inclusive quais as CVE’s que ele
tem sucesso de explorar:” [‘MSB’, ‘MS17-010’], [‘CVE’, ‘2017-0143’], [‘CVE’, ‘2017-0144’],
[‘CVE’, ‘2017-0145’], [‘CVE’, ‘2017-0146’], [‘CVE’, ‘2017-0147’], [‘CVE’, ‘2017-0148’]”
78SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Por exemplo, vamos buscar a ‘CVE’, ‘2017-0148’ no CVE Details. Temos as seguintes informações:
E ao final a referencias juntamente com o link do exploit publico:
79SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Outra forma de buscar por exploits é utilizar o searchsploit. Essa ferramenta busca em
sua base os exploits públicos que podem ser utilizados. Para isso basta executarmos ela.
┌──(root💀letshack)-[/opt/kerbrute]
└─# searchsploit doublepulsar
------------------------------------------------------------------------------------------------------------------------
Exploit Title | Path
------------------------------------------------------------------------------------------------------------------------
-DOUBLEPULSAR (x64) - | windows_x86-64/local/47685.txt
DOUBLEPULSAR - Payload Execution | windows/remote/47456.rb
------------------------------------------------------------------------------------------------------------------------ -
┌──(root💀letshack)-[/opt/kerbrute]
└─# msfconsole
######## #
################# #
###################### #
######################### #
############################
##############################
###############################
###############################
##############################
# ######## #
## ### #### ##
### ###
#### ###
#### ########## ####
####################### ####
#################### ####
################## ####
############ ##
######## ###
######### #####
############ ######
######## #########
##### ########
### #########
###### ############
#######################
# # ### # # ##
########################
## ## ## ##
https://metasploit.com
=[ metasploit v6.0.29-dev- ]
+ -- --=[ 2098 exploits - 1128 auxiliary - 357 post ]
+ -- --=[ 592 payloads - 45 encoders - 10 nops ]
+ -- --=[ 7 evasion ]
Metasploit tip: Open an interactive Ruby terminal with
irb
msf6 >
Os exploits podem ser executados e adaptados de acordo com cada necessidade. Existe
uma base enorme de scripts que podem ser utilizados. Existe uma ferramenta que nos ajuda
neste processo, o Metasploit. Essa ferramenta centraliza um grande número de exploits e
automatiza muitos processos.
Para abrir ela, basta executar o msfconsole:
80SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Essa ferramenta é desenvolvida em Ruby. Além de execução de exploits, o Me-
tasploit já possui vários payloads maliciosos que podem ser enviados para o alvo.
Um payload é uma carga maliciosa que vai comprometer algo no host ou nos per-
mitir maior controle dos recursos após a invasão. Inclusive ativar gravação de we-
bcam e microfone. Basicamente para explorar falhas de infraestrutura utilizamos
exploits, mas muitas outras técnicas podem ser utilizadas. Mais adiante aprende-
remos mais técnicas de invasão e que podem ser utilizadas nas fases do pentest.
Muitos exploits utilizam-se de uma técnica chamada Buffer Overflow (BOF).
Essa técnica é extremamente complexa de ser identificada e de igual modo efetiva,
ou seja, exploits baseados em BOF tendem a ter 100% de eficácia na exploração de
vulnerabilidades.Basicamente o BOF gera uma carga de dados suficientes para es-
tourar o buffer da aplicação e “despejar” códigos em áreas restritas do código ou
da pilha do kernel.
O expolit com BOF tem como objetivo controlar o registrador do kernel cha-
mado de EIP. Esse registrado armazena a instrução da próxima tarefa a ser exe-
cutada. Quando a EIP é controlada, então um atacante pode inserir códigos para
serem executados como conexões reversas.
REPORTING
A última fase do pentest é a documentação de tudo o que foi encontrado. Desde a fase de In-
formation Gathering até a fase de Exploration, tudo deve estar documentado em um relatório de-
talhado e técnico. Neste relatório é necessário criar as POC (Proof Of Conecpto), ou seja, detalhar o
passo a passo de cada invasão.
Outro ponto importante do relatório são as orientações de correção de cada uma das vulne-
rabilidades. O pentester não irá corrigir as falhas, mas sim indicar como cada uma delas deve ser
corrigida. Cabe ao contratante realizar as correções.
Outro ponto importante é o termo de aceite de encerramento das atividades. Quando um pen-
test termina, deve-se assinar um termo de entrega do projeto, finalizando todas as atividades. O
cliente afirma que todo processo foi finalizado e todas as entregar acordados foram realizadas.
Cabe salientar aqui também que o teste foi autorizado por ambas as partes e que houve a
assinatura do NDA (acordo de confidencialidade). Sempre é importante lembrar que o ataque foi
consentido e autorizado pelo cliente, a fim de resguardar juridicamente o pentester e a empresa
que ele representa.
81SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Como ideia de documentação de POC e evidencias, pode-se seguir o seguinte template: Basicamente, coloca-se as referências de onde a solução pode estar documentada e
também um texto explicativo de como a vulnerabilidade se comporta e o que ela permite.
Como esse exempo de SQL Injection:Criticidade: High Microsoft Windows Remote Code Execution Vulnerability (BlueKeep)
Host / Target / URL 1.1.1.1
Impacto High Probabilidade High
Descrição
Vulnerabilidade que afeta máquinas Windows pelo protocolo RDP. Se
explorada, pode permitir que uma ameaça se propague para outros
computadores vulneráveis (característica de worms) semelhante à
maneira como o famoso ransomware WannaCry se propagou em 2017.
Pode-se também adquirir acesso administrativo ao servidor e controlar
totalmente suas funções remotamente.
Referência https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708
Evidências
Criticidade: High SQL Injection
Host / Target / URL http://www.site.com/noticia/?id=264+AND+1%3D1&titulo=titulodosite
Impacto High Probabilidade High
Descrição
Tipo de ataque onde o invasor pode inserir ou manipular consultas
criadas pela aplicação, que são enviadas diretamente para o banco de
dados relacional. Com o SQLi, pode-se extrair dados sensíveis no banco
de dados, mesmo sem autorização de acesso ao mesmo. Vazamento
de dados, muitas das vezes, acontecem por vulnerabilidades de SQLi.
Referência https://www.immuniweb.com/vulnerability/sql-injection.html
Evidências
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708
http://www.site.com/noticia/?id=264+AND+1%3D1&titulo=titulodosite
https://www.immuniweb.com/vulnerability/sql-injection.html z
82SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Um ponto importante no relatório são as evidências: número de vulnerabilida-
de e o total de acordo com sua classificação:
Após a execução de todas as atividades, chegou-se ao resultado a seguir:
• Vulnerabilidades Highs: 7
• Vullnerabilidades Medium: 24
• Vulnerabilidades Low: 26
• Demais Vulnerabilidades: 4
• Total: 61
Outra informação preponderante é mencionar o escopo e as limitações dos tes-
tes que foram realizados de acordo com a contratação do cliente.
LIMITAÇÃO DE ESCOPO
As limitações impostas pela CONTRATANTE foram: l
I. Não é permitido ataques DoS e DDoS (Negação de Serviço).
II. Não haverá exploração das vulnerabilidades que possam comprometer a integri-
dade física ou lógica dos servidores.
A informação de portas e serviços abertos e encontrados também deve estar contido no rela-
tório, conforme exemplo:
IP Port State Service Version
1.1.1.1 5222 open Ignite Realtime Openfire Jabber server 3.9.3 or earlier
1.1.1.1 465 open Postfix smtpd
1.1.1.1 110 open Zimbra Collabration Suite pop3d
1.1.1.1 143 open Zimbra imapd
1.1.1.1 993 open Zimbra imapd
1.1.1.1 995 open
1.1.1.1 25 open Postfix smtpd
1.1.1.1 53 open
1.1.1.1 113 closed
1.1.1.1 587 open Postfix smtpd
1.1.1.1 1723 closed
Informações de enumeração também devem estar expostas no relatório, como subdomí-
nios e blocos IP:
ASN Bloco IP Dono ID Dono Responsável
0000 189.0.0.0/28 Cliente 90.000.000/0000-53 Cliente
0000 100.0.0.0/29 Cliente 89.000.000/0000-10 A Cliente
000 200.0.0.0/16 Cliente 02.000.000/0000-52 Cliente
83SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
• As vulnerabilidades de nível MEDIUM estão, na sua grande maioria, vinculadas a configurações de SSL, por-
tanto orienta-se rever os certificados utilizados e expedi-los com chaves e algoritmos mais seguros além de
não permitir conexão de clientes utilizando cifras fracas.
• Existem muitos serviços expostos da internet, necessário revisão das portas aberta e acessíveis pela internet.
Orienta-se utilização de VPN sempre que necessário acesso externo ao ambiente.
E fechando o relatório, sugere-se um parágrafo de encerramento das atividades.
O PENTESTER conclui este trabalho com objetivo atingido no qual foi possível identificar problemas de se-
gurança e recomendar suas possíveis mitigações.
Após a CONTRATANTE aplicar todas as correções sugeridas, o PENTESTER irá executar o reteste a fim de
validar as correções aplicadas pelo cliente. Desde já agradecemos a oportunidade em oferecermos nossos serviços
profissionais e estamos a sua disposição para qualquer dúvida que considerem pertinentes.
Essas são ideias de conteúdos que podem estar dispostos dentro de um relatório de entrega de pentest, mas
deve ser adaptado de acordo com cada situação. O mais importante é documentar as vulnerabilidades e como corri-
gir cada um dos pontos explorados. Ao final coleta-se a assinatura do cliente, encerrando dessa forma as atividades.
SINTESE
Neste capítulo, aprendemos sobre a segurança ofensiva e como trabalhar com ela dentro das empresas vi-
sando a melhoria dos processos de segurança.
Subdomínio IP
inetserver.cliente.com.br 189.0.0.0
inetserver. cliente.com.br 189.0.0.0
a.ns. cliente.com.br 189.0.0.0
activesync. cliente.com.br 189.0.0.0
b.ns. cliente.com.br 189.0.0.0
cliente.com.br 189.0.0.0
vtweb. cliente.com.br 189.0.0.0
webmail. cliente.com.br 189.0.0.0
www. cliente.com.br 189.0.0.0
zimbra. cliente.com.br 189.0.0.0
mail. cliente.com.br 189.0.0.0
mail. cliente.com.br 189.0.0.0
No item de orientações, pode-se seguir o seguinte modelo:
Para tratativas das vulnerabilidades sugere-se um plano de ação, a
fim de correção das mesmas, diminuindo os vetores de ataque mitigando
o risco de invasão ou vazamento de dados.
Ponderações:
• As vulnerabilidades de nível HIGH devem ser tratadas de forma
prioritária, pois podem ser vetores de vazamento significativos
de dados da empresa.
84SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Na fase de Information Gathering em um pentest, como a coleta de
informações públicas, como endereços IP e sistemas, difere daque-
las que exigem ferramentas específicas ou scripts para maximizar o
ganho de informações?
2. Considerando que a maioria das informações na fase inicial do pen-
test é pública, como garantir que a coleta de dados seja conduzida de
forma ética e respeitando as diretrizes de segurança, evitando qual-é muito abrangente e pode ter várias verten-
tes de estudos e abordagem.
Nesta matéria, estudaremos a Segurança da Informação como aliada do negócio das empresas, a fim
de proteger o ativo mais importante, no que chamados de sociedade da informação.
Mas, o que é de fato Segurança da Informação? Após anos de estudo e lendo o conceito de vários au-
tores, posso concluir que a palavra de define melhor segurança da informação é “Proteção”. Praticamente
todos os autores que pesquisei, podendo citar Dias (2004), ISO27001 (2013) e Ministério da Defesa(2007),
definiram a segurança da informação como a proteção das informações.
Nesse viés, vocês podem estar se perguntando: “Mateus, esse conceito é muito abrangente também, não é
algo muito definido!”. Vou trazer um conceito um pouco mais técnico, para tentar elucidar melhor essa temática:
“Segurança da Informação tem o objetivo de salvaguardar as infor-
mações para que não sejam manipuladas de forma indevida, mitigando ao
máximo os riscos que podem comprometer as informações.”
Mesmo assim, sei que é um conceito muito abrangente, mas ao longo
dessa matéria vamos desvendar as técnicas utilizadas para que haja segu-
rança da informação nas empresas. Nosso foco será em processos e como
podemos melhorar eles para que a segurança essa um organismo vivo nas
organizações.
A segurança da informação possuiu, pelo menos, 2 linhas de pesqui-
sas macro. Temos a segurança da informação processual, que aborda me-
lhorias de processos, normas, políticas e controles, e outra linha de pes-
quisa mais técnica, a qual aborda os pentestes e a forense computacional.
Vamos nos aprofundar muito na segurança processual e teremos uma ideia
básica da segurança mais técnica.
O sucesso da implementação de segurança da informação em um am-
biente está correlacionado com o comprometimento dos stakeholders e
da alta-administração. A segurança sempre deve ser em uma abordagem
TOP-DOWN e nunca BUTTON-UP, ou seja, a diretoria deve comprar essa
ideia, pois somente eles possuem poder político para sancionar normais
internas e impor o cumprimento das políticas criadas.
7SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Eu sei que são muitas informações soltas neste momento, mas ao longo do nosso curso, va-
mos revisitar cada um dos conceitos e nos aprofundar. Agora precisamos abrir nossa mente para
muitos conceitos novos e para uma visão sistêmica de segurança.
FACES SEGURANÇA INFORMAÇÃO
Uma abordagem muito interessante que gosto é dividir a segurança em 3 faces ou em 3 tópicos
distintos. Temos a segurança Operacional, Física e Lógica, por isso, é muito importante aprender-
mos essa divisão, pois são os 3 grandes grupos que podemos trabalhar a segurança da informação.
A segurança Operacional é atrelada a processos. O nome já é auto-explicativo, mas quando
tratamos de operação, estamos falando em processos padrões das empresas. A segurança deve
permear todos os processos e também atuar na melhoria deles a fim de encontrar brechas que pre-
cisam ser corrigidas para que não haja perda ou vazamento de informações. Para aplicar segurança
na parte operacional, nós trabalhamos com normas dentro de uma política corporativa de segu-
rança da informação.
O segundo ponto é a segurança Física. O foco da segurança física é proteção dos meios físi-
cos onde a informação está localizada. Podemos então elencar aqui desde a portaria de acesso à
empresa até o controle de temperatura de um data center. Para conseguirmos garantir segurança
física, nós trabalhamos com Controles, que monitoram esses ambientes.
Por fim, temos a segurança Lógica. Nesta linha de estudo, temos todas as fer-
ramentas de segurança como firewalls, antivírus e até mesmo penteste e análise de
vulnerabilidades. Tão importante quanto as outras duas abordagens, a lógica repre-
senta 50% de toda proteção da informação em uma empresa.
Desta forma, estudaremos mais profundamente nas face operacional e física,
como objeto de estudo, pois a face lógica demanda um estudo muito aprofundado
e deve ser abordado com foco individual. Vamos abordar cada um dos temas com
maior profundidade ao decorrer dos nossos estudos.
PILARES DA SEGURANÇA INFORMAÇÃO
A segurança da informação é um tema complexo, como já podemos perceber.
Dentro dessa complexibilidade, é necessário que haja algumas diretrizes para que
possamos ter uma direção de como garantir a segurança. Neste cenário, surgem os 3
pilares de segurança da informação: Integridade; Confidencialidade; Disponibilida-
de. Alguns autores defendem outros pilares, mas todos concordam nesses 3.
O pilar de Integridade tem como objetivo garantir que as informações estejam
íntegras quando forem utilizadas, ou seja, elas necessitam estar legíveis e também
com suas características originais mantidas, sem alterações de conteúdo.
8SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
A Confidencialidade soma-se à Integridade quando garante que somente pessoas autori-
zadas acessem a informação. O pilar de Confidencialidade limita o acesso à informação de pes-
soas que não são autorizadas a manipulá-la. Pilar muito importante para proteção de acesso a
dados sensíveis e confidenciais.
Fechando essa tríade, temos a Disponibilidade. O foco desse pilar é manter a informação o
maior tempo disponível, garantindo que, quando a informação for requisitada pelo indivíduo, ela
esteja pronta e disponível para ser utilizada.
Em suma, todas as atividades referentes a segurança da informação, devem ser focadas em
atender um ou mais desses pilares. Eles são a base do conceito de segurança e nos auxiliam no
processo de implementação dos controles e políticas.
Vamos utilizar alguns exemplos de forma mais prática para entender cada um dos pilares,
iniciando pelo pilar de Integridade. Para garantir a integridade da informação, podemos utilizar
algumas técnicas que nos garantem que ela esteja íntegra, por exemplo, em um banco de dados.
Um SGDB (Sistema de Gerenciamento de Banco de Dados) possui mecanismos de controle para
gravar as informações para que não estejam corrompidas quando gravadas nas tabelas.
Outro exemplo de integridade são as funções de HASH, que vamos estudar mais adiante. Elas ga-
rantem que a informação não teve alterações de estrutura durante um processo de manipulação ou en-
vio. Um hash alterado no destino, diferente do hash de origem, pois caracteriza uma perda de integrida-
de da informação. Qualquer técnica que garanta a integridade para o arquivo está atrelada a esse pilar.
Para a Confidencialidade, temos o exemplo dos controles de acesso aos sistemas
e informações que procuram validar quem está requerendo acesso às informações. O
acesso à sua conta bancária é um ótimo exemplo. O aplicativo do banco exige um ca-
dastro de usuário e senha, juntamente com um segundo fator de autenticação, para
validar se quem está acessando a sua conta é você mesmo.
Dentro de um sistema empresarial, temos também os perfis de acesso que con-
cedem ou bloqueiam acesso a determinadas informações. Esses são exemplos tratati-
vas do pilar de Confidencialidade. Em suma, toda técnica que permite uma validação
de quem está acessando pode ser considerada uma ação focada em Confidencialidade.
Fechando essa pirâmide, temos a Disponibilidade. Considero esse pilar focado forte-
mente com questões de ambiente e infraestrutura. As informações ficam abrigadas quando
em formato digital, por exemplo, em servidores. Quando utilizamos técnicas para garantir
que os servidores permaneçam em operação o maior tempo possível, estamos focados no
pilar de Disponibilidade. Neste contexto, vamos falar muito sobre planos de contingência
e análise de riscos mais a frente, quando poderemos fazer um link a esse assunto.
Algo de suma importância é o foco nos investimentos nos pilares. Às vezes, de-
dicaremos maiores esforços e investimentos para atender uma demandaquer interação prejudicial com o ambiente do alvo?
3. Por que a fase de Scanning/Enumeration é considerada crucial em
um pentest e como ela contribui para o sucesso do teste de invasão?
4. Pode explicar de maneira simples como funciona a técnica de Port
Scanning e qual o seu papel na identificação de serviços vulneráveis
durante a fase de Scanning/Enumeration?
5. Como a fase de Vulnerability Analysis contribui para a identificação
e correção de vulnerabilidades em aplicações, sistemas e serviços,
e qual é a importância de consultar bases de CVEs, como o https://
www.cvedetails.com/, durante esse processo?
https://www.cvedetails.com/
https://www.cvedetails.com/
85
DEVSECOPS
Seu software é seguro? Afirmo que ele não é! E aqui vamos entender
e aprender esse motivo. E como deixar ele seguro? Basta seguir as
metodologias de DEVSECOPS!
86SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O DevOps envolve um conjunto de métodos voltados para a redução do tempo de-
corrido entre a introdução de mudanças em um sistema no ambiente de desenvolvimento
e a efetiva implementação desse sistema em produção, assegurando, assim, elevados pa-
drões de qualidade.
Ele é uma metodologia composta por diretrizes que preconizam a realização ágil de
deploys, testes e releases, buscando causar o menor impacto possível no usuário final. Atu-
almente, o DevOps assume um papel crucial no desenvolvimento de software e aplicações.
As principais atribuições de um profissional DevOps englobam:
• Automatizar os procedimentos de aplicação, implantação e desenvolvimento, simplifi-
cando todo o ciclo operacional.
• Possibilitar que múltiplos desenvolvedores realizem check-in e check-out de seus có-
digos simultaneamente no repositório de origem.
• Disponibilizar um servidor de Integração Contínua (CI) que consolide o código prove-
niente do repositório de origem, execute a compilação e realize diversos testes de uni-
dade e funcionais de maneira automática.
• Automatizar processos de teste, integração, implantação e monitoramento.
• Automatizar fluxos de trabalho e a infraestrutura associada.
• Aperfeiçoar a produtividade e colaboração por meio de uma avaliação constante do de-
sempenho da aplicação.
• Possibilitar compilações, testes e lançamentos ágeis e confiáveis em todos os estágios
operacionais do desenvolvimento de software.
O DevSecOps refere-se à prática de incorporar testes de segurança em todas as etapas
do ciclo de desenvolvimento de software. Essa metodologia engloba o uso de ferramentas e
processos que incentivam a colaboração entre desenvolvedores, especialistas em segurança
e equipes operacionais, com o propósito de criar software eficiente e seguro. O DevSecOps
propaga uma mudança cultural, estabelecendo a segurança como uma responsabilidade
compartilhada por todos os envolvidos na concepção do software.
O DEVSECOPS é norteado por 3 abordagens de segurança de acordo com cada fase do
ciclo de vida de desenvolvimento de sistemas. A SAST, DAST e IAST.
SAST - STATIC APPLICATION SECURITY TESTING
Garantir que uma aplicação não seja publicada vulnerável é essencial e é exatamen-
te esse o enfoque do SAST. Essa avaliação ocorre durante o desenvolvimento do sistema ou
imediatamente após a sua conclusão, sempre antes da publicação da aplicação em produ-
ção. O SAST visa assegurar que o sistema esteja pronto e seguro antes de ser lançado. Os
profissionais de segurança têm acesso ao código-fonte da aplicação para realizar os testes
necessários e avaliar o código, seguindo uma abordagem semelhante ao White Box. Uma
das vantagens do SAST é a redução de falsos positivos, pois envolve a interação direta com
o código-fonte, conduzida pelo especialista que realiza a análise.
87SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
DAST - DYNAMIC APPLICATION SECURITY TESTING
A principal ideia por trás do DAST é conduzir testes em aplicações com uma aborda-
gem de fora para dentro, conhecida como “outside-inside”. O profissional encarregado do
DAST necessita apenas de informações básicas, como uma URL ou um endereço IP, para re-
alizar uma série de testes de segurança. Os testes de DAST são realizados após a aplicação
já estar em execução. Podemos comparar o DAST a uma “Black Box” (caixa-preta), pois o
especialista em segurança não tem acesso ao código-fonte da aplicação e precisa explorar
toda a sua estrutura.
IAST - INTERACTIVE APPLICATION SECURITY TESTING
Que tal integrar o DAST e o SAST para criar uma abordagem de teste de aplicações mais
interativa? Sim, alguém pensou nisso e assim surgiu o IAST. Podemos realizar testes nas
aplicações utilizando ambas as vertentes, o que maximiza ainda mais os ganhos em segu-
rança no desenvolvimento e na publicação de aplicações. No IAST, os testes são executados
tanto no código-fonte quanto na aplicação em execução.
OWASP DEVSECOPS GUIDELINE
O OWASP Guideline explica a implementação de um pipeline seguro, adotando as me-
lhores práticas e introduzindo ferramentas pertinentes a esse contexto. Adicionalmente,
o projeto visa instigar a cultura de segurança shift-left em nosso processo de desenvolvi-
mento. Esta iniciativa beneficia empresas de todos os portes que possuem um pipeline de
desenvolvimento, ou seja, um pipeline de DevOps. Ao longo do projeto, delineamos uma
perspectiva de um pipeline DevOps seguro e o aprimoramos conforme nossos requisitos es-
pecíficos. O propósito é reforçar a segurança desde as fases iniciais do desenvolvimento até
a implementação final, assegurando a robustez e integridade de todo o processo.
A inclusão de mais camadas de segurança nos pipelines é fundamental, e a adoção de
uma solução central de gerenciamento de vulnerabilidades oferece uma visão abrangente
das perspectivas de segurança do aplicativo. Essa abordagem não só reforça a integridade
do processo de desenvolvimento, mas também contribui para a criação de produtos mais
seguros e confiáveis para os usuários finais.
Basicamente pode-se seguir um pipeline básico composto por:
• Realizar scan em repositorios para encontrar vazamento de credenciais
• SAST (Static Application Security Test)
• SCA (Software Composition Analysis)
• IAST (Interactive Application Security Testing)
• DAST (Dynamic Application Security Test)
• Validação de infraestrutura
88SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
VULNERABILIDADES NO DEVSECOPS
A abordagem do DevSecOps destaca-se por integrar práticas de segurança desde as fa-
ses iniciais do desenvolvimento até a implantação e operação contínua de sistemas, uma me-
dida crucial em um cenário digital onde as vulnerabilidades em sistemas representam uma
ameaça constante. Ao incorporar a segurança em todo o ciclo de vida do desenvolvimento, o
DevSecOps não apenas visa identificar e remediar vulnerabilidades de maneira proativa, mas
também busca fomentar uma cultura de segurança entre equipes de desenvolvimento e ope-
rações. A automação de testes de segurança, análise de código e implementação de políticas
de segurança são elementos fundamentais nesse contexto, contribuindo para a detecção ágil
e correção de vulnerabilidades, fortalecendo assim a resiliência dos sistemas e garantindo
uma abordagem holística para enfrentar os desafios dinâmicos da segurança cibernética.
Em sistemas de informação, vulnerabilidades representam áreas propensas à explora-
ção por ameaças cibernéticas, configurando-se como falhas que podem comprometer a se-
gurança e integridade dos dados. Essas fragilidades podem surgir devido a falhas no design,
implementação ou manutenção dos sistemas, abrangendo lacunas de segurança em softwa-
re, configurações inadequadas e desafios relacionados às práticas dos usuários. A exploração
dessas vulnerabilidades pode acarretar em acessos não autorizados, vazamento de informa-
ções sensíveis, interrupções de serviço ou manipulaçãoindevida de dados. Assim, a identi-
ficação e a mitigação eficaz dessas vulnerabilidades são cruciais para fortalecer a resiliência
dos sistemas de informação e garantir a proteção contra possíveis ameaças digitais.
SOFTWARE COMPOSITION ANALYSIS (SCA)
A Análise de Componentes (SCA) é o processo automatizado de segurança de aplicati-
vos, concentrando-se no gerenciamento de componentes de código de terceiros e de código
aberto. SCA identifica eventuais vulnerabilidades nos componentes presentes em nossa base
de código, prevenindo riscos significativos, como ataques à cadeia de suprimentos. Além dis-
so, fornece informações detalhadas sobre o licenciamento de cada componente. Essa prática
desempenha um papel crucial na redução dos riscos de segurança nas bibliotecas de código,
sendo essencial no início do ciclo de vida do desenvolvimento de software moderno.
Alguns fatores de riscos no SCA:
• Component Inventory: É essencial contar com um inventário preciso de todos os com-
ponentes de terceiros e de código aberto para a identificação de riscos. Sem esse co-
nhecimento, torna-se impraticável determinar com alta confiança outros aspectos da
Análise de Componentes.
• Component Age: Componentes podem ter critérios de aceitação de idade que variam.
Diferentes fatores, como o tipo de componente, o ecossistema ao qual o componente
pertence (Maven, NPM, etc.) e o propósito do componente, influenciam a aceitabilida-
de da idade. A idade de um componente pode indicar o uso de tecnologia desatualizada
e ter uma probabilidade maior de ser ignorada por pesquisadores de segurança.
89SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
• Outdated Components: Versões mais recentes de componentes podem aprimo-
rar a qualidade ou o desempenho, e essas melhorias podem ser transmitidas às
aplicações que dependem deles. Componentes que atingem o final de sua vida útil
(EOL) ou o término do suporte (EOS) também têm impacto no risco. Duas abor-
dagens comuns para projetos de código aberto apoiados pela comunidade são:
a. Oferecer suporte à última revisão das últimas (x) versões - (por exemplo,
4.3.6 e 4.2.9)
b. Oferecer suporte apenas à versão mais recente publicada (por exemplo, 4.3.6
hoje e 4.4.0 amanhã)
• Dependendo da tolerância ao risco, pode ser estratégico utilizar apenas compo-
nentes de terceiros e de código aberto que possuam suporte.
• Known Vulnerabilities: No passado, vulnerabilidades conhecidas eram identifi-
cadas por meio de entradas (CVEs) no Banco de Dados Nacional de Vulnerabilida-
des (NVD). O NVD categoriza (via CPE) três tipos de componentes:
a. Aplicações (que incluem bibliotecas e frameworks)
b. Sistemas Operacionais
c. Hardware
• License: Softwares de terceiros e de código aberto normalmente possuem uma ou mais li-
cenças atribuídas. A licença escolhida pode ou não permitir determinados tipos de uso, con-
ter requisitos ou limitações de distribuição, ou exigir ações específicas se o componente for
modificado. A Análise de Componentes pode identificar a(s) licença(s) para um determinado
componente e, opcionalmente, fornecer orientações sobre a natureza da licença (por exem-
plo, direitos autorais, copyleft, aprovada pela OSI, etc). Utilizar componentes com licenças
que entram em conflito com os objetivos ou capacidade da organização pode criar sérios
riscos para o negócio.
Algumas dicas de boas práticas de SCA:
• Estabelecer uma restrição de até três anos para a aceitação de componentes, com exce-
ções para componentes específicos de alta importância e finalidade única que ainda se-
jam relevantes.
• Proibir a utilização de componentes que tenham atingido o fim de sua vida útil (EOL).
• Proibir a utilização de componentes com vulnerabilidades conhecidas. Priorizar a atualização
de componentes que apresentem riscos elevados a moderados de exploração.
• Reduzir a superfície de ataque ao excluir dependências diretas e transitivas desnecessárias.
• Minimizar o número de fornecedores, optando pelos componentes de maior qualidade dentre
esses fornecedores.
90SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
• Padronizar o uso de um único componente para cada função específica.
• Estabelecer um nível máximo de risco aceitável para repositórios públicos e preferir o
uso de repositórios privados em detrimento dos não confiáveis.
• Automatizar as atualizações de componentes, restritas a repositórios confiáveis.
• Alocar períodos específicos em cada sprint para manter a higiene dos componentes.
• Definir uma lista autorizada de licenças aceitáveis, uma lista de proibição para licen-
ças indesejadas e buscar orientação legal para todas as demais licenças.
• Automatizar a criação de listas de materiais de software (SBOM) para todos os produ-
tos entregáveis.
• Utilizar o URL do pacote como referência para descrever os componentes dentro dos
SBOMs.
• Incorporar contratos que exijam SBOMs dos fornecedores e integrar esse requisito ao
processo de aquisição.
• Automatizar a análise de todos os componentes de terceiros e de código aberto durante
o processo de Integração Contínua (CI), seja através da análise dos próprios arquivos
ou de um SBOM.
• Importar SBOMs para sistemas capazes de rastrear, analisar e monitorar proativa-
mente todos os componentes utilizados por cada recurso em um ambiente (ou seja, em
toda a empresa, infraestrutura de nuvem inteira, etc.).
OWASP TOP 10
O OWASP TOP 10 é uma lista compilada pela Open Web Application Security Project
(OWASP), uma organização sem fins lucrativos dedicada à segurança de aplicativos da web.
Essa lista destaca as dez principais ameaças à segurança de aplicações web, fundamentada
em análises de dados e pesquisas sobre vulnerabilidades em sistemas online.
Atualizada regularmente, a lista do OWASP TOP 10 reflete as ameaças mais relevan-
tes e emergentes no cenário da segurança cibernética. Ela se tornou um guia valioso para
desenvolvedores, profissionais de segurança e outros interessados, fornecendo insights
sobre as principais vulnerabilidades que devem ser abordadas durante o processo de con-
cepção, desenvolvimento e manutenção de aplicações web seguras.
As categorias presentes no OWASP TOP 10 abrangem vulnerabilidades de injeção de
SQL, cross-site scripting (XSS), desvio de autenticação, entre outras. Ao conscientizar a
comunidade sobre essas ameaças, o OWASP TOP 10 desempenha um papel vital no aprimo-
ramento contínuo da segurança em aplicações web globalmente.
Lista OWASP TOP 10 Web 2021:
• Broken Access Control;
• Cryptographic Failures;
• Injection;
91SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
• Insecure Design;
• Security Misconfiguration;
• Vulnerable and Outdated Components;
• Identification and Authentication Failures;
• Software and Data Integrity Failures;
• Security Logging and Monitoring Failures;
• Server-Side Request Forgery.
• OWASP TOP 10 Mobile 2022
Lista OWASP TOP 10 – Mobile 2022:
O OWASP TOP 10 Mobile é uma compilação da Open Web Application Security Project (OWASP)
que enfatiza as dez principais ameaças à segurança em aplicativos móveis. Tal como o OWASP
TOP 10 para aplicações web, essa lista visa orientar e fornecer insights sobre os riscos de segu-
rança mais críticos para desenvolvedores, profissionais de segurança e outros interessados no
desenvolvimento móvel.
OWASP Top 10 API Security Risks 2023:
Similiar ao TOP 10 de aplicaçoes WEB e ao TOP 10 de aplicações Mobile, o OWASP
Top 10 API elenca as principais vulnerabilidades de sistemas de API. São elas:
• API1:2023 - Broken Object Level Authorization
• API2:2023 - Broken Authentication
• API3:2023 - Broken Object Property Level Authorization
• API4:2023 - Unrestricted Resource Consumption
• API5:2023 - Broken Function Level Authorization
• API6:2023 - Unrestricted Access to Sensitive Business Flows
• API7:2023 - Server Side RequestForgery
• API8:2023 - Security Misconfiguration
• API9:2023 - Improper Inventory Management
• API10:2023 - Unsafe Consumption of APIs
SINTESE
Neste capítulo aprendemos sobre DevSecOps e conceitos básicos de segurança no
ciclo de vida de desenvovlimento das aplicações.
• M1: Improper Credential Usage
• M2: Inadequate Supply Chain Security
• M3: Insecure Authentication/Authorization
• M4: Insufficient Input/Output Validation
• M5: Insecure Communication
• M6: Inadequate Privacy Controls
• M7: Insufficient Binary Protections
• M8: Security Misconfiguration
• M9: Insecure Data Storage
• M10: Insufficient Cryptography
92SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Quais os ítens do TOP 10 da OWASP WEB?
2. Quais os ítens do TOP 10 da OWASP MOBILE?
3. Quais os ítens do TOP 10 da OWASP API?
4. O que é o SCA?
5. Quais as diferençãs entre SAST, IAST e DAST?
93SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
REFERÊNCIAS SUMÁRIO
OWASP. DevSecOPs Guideline. Dispo-
nível em .
Acessado em 18 de Janeiro de 2024.
95SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Quais são as principais falhas humanas?
2. O que é um engenheiro social?
3. Como evitar um ataque de engenharia social?
4. Por que lixo nem sempre é lixo?
5. O funcionário pode ser o ínvido mais nocivo para a
empresa, por quê?
Segurança da Informação
Informação
Segurança Informação
Faces Segurança Informação
Pilares da Segurança Informação
Análise de Riscos
Aceitação de Risco e Risco Residual
Vulnerabilidades
Ameaças
Risco
Matriz de Riscos
Plano de Contingência
ISO 27001
SGSI – Sistema de Gestão de Segurança da Informação
Engenharia Social
Análise do Lixo
Phishing
FALHAS HUMANAS
Criptografia
Criptografia Simétrica
Criptografia Assimétrica
Hash
Certificado Digital
Segurança Ofensiva
Superfícies de ataque
Atraso de tecnologia
Segurança de desenvolvimento de aplicativos
Lacuna de habilidade
Disponibilidade e sofisticação de ferramentas de ataque
Assimetria de ataque e defesa
Monetização de malware
Internet das Coisas
Transição para a nuvem
Regulamentação crescente
Filosofia
Red Team e Blue Team
Análise de Vulnerabilidades
Pentest
Pentest
Information Gathering
Scanning/Enumeration
Vulnerability Analysis
Exploitation / Exploration
Reporting
DevSecOps
SAST - Static Application Security Testing
DAST - Dynamic application security testing
IAST - Interactive application security testing
OWASP DevSecOps Guideline
OWASP top 10que fortalece
muito mais um pilar do que outro. Isso é normal, porém temos um ponto de atenção,
pois investir somente em um dos pilares e deixar os outros descobertos, não adianta!
Tudo deve ser balanceado.
9SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Temos que ter em mente que a segurança da informação não pode impactar negativamente nos pro-
cessos, mas sim auxiliar o negócio a crescer, protegendo os dados sensíveis e as informações estratégicas.
Durante as aulas, vamos realizando ligações sobre o que estamos aprendendo, juntamente com os 3
pilares de segurança da informação, pois, basicamente, todos os esforços realizados são para a manuten-
ção desses pilares de segurança.
SÍNTESE
Neste capítulo, aprendemos um pouco sobre os conceitos de segurança da informação e qual a im-
portância da segurança para o negócio das empresas. Vimos também a tríade dos pilares de segurança que
sustentam todas as ações voltadas para esse tema.
A balança de investimento deve ser bastante equilibrada. Não adianta temos um
ambiente com um alto índice de disponibilidade se a informação é entregue
corrompida, ou sem um controle de acesso que valide se realmente o indivíduo
pode ter acesso aquela informação. Da mesma forma, um investimento deliberado
e demasiado em Confidencialidade pode comprometer todos processos diários de
acesso às informações, como se utiliza senha, biométrica e reconhecimento facial com
segundo fator de autenticação.
10SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Quais os 3 pilares de segurança da informação?
2. Qual as 3 faces da segurança da informação?
3. O que acontece se investirmos de forma demasiada
em somente um pilar?
4. A face de segurança Física está focada em quais ativos
de segurança?
5. No que a face de segurança Operacional é focada?
11
ANÁLISE DE RISCOS
Toda informação é um ativo e todo ativo está sujeito a riscos! A análise de
riscos em ao encontro da necessidade de identificar quais são os riscos
que podem acontecer com um ativo e mitigar eles ao máximo para evitar
ao máximo sua concretização. Vamos lá entender um pouco mais sobre
esse assunto tão importante para segurança da informação!
12SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Uma das principais atividades em um processo de implementação de segurança da informação é uma
Análise de Riscos bem elaborada. Sabemos que a informação é um ativo intangível e de valor inestimável e,
portanto, deve ser protegida dentro das organizações e da sociedade. Implicamos então em um grande de-
safio de mapear os principais riscos aos quais esse ativo está exposto.
Uma premissa básica na análise de risco é que o risco jamais é eliminado totalmente. Vou até afirmar
novamente, pois nenhum risco é totalmente eliminado. Mitiga-se o risco ao máximo que é possível para evi-
tar que ele aconteça e comprometa a segurança da informação. Mas Mateus, como assim? Até quando temos
que mitigar um risco? Quando paramos de investir esforços na mitigação dos riscos?
Pois bem, eu costumo falar que o risco deve ser mitigado até o ponto que o valor do sinistro seja menor
do que o valor dispensado para mitigar ele ou se não fizer sentido algum colocar mais controles. Vou tentar
exemplificar melhor com alguns exemplos. Primeiramente responda essa pergunta para você mesmo: “Você
atravessa a rua sem olhar para os 2 lados?”. Normalmente, olhamos para os 2 lados da rua para ver se algum
automóvel está vindo em nossa direção. Caso algum automóvel esteja vindo, nós esperamos ele passar para
depois atravessar a rua ou utilizados uma passarela ou faixa de pedestre para cruzar a rua em segurança.
Quando paramos diante da rua, nosso inconsciente já sabe que temos que olhar se algum automóvel
está se deslocando em nossa direção. Rapidamente nós pensamos: “Se eu atravessar a rua com o carro vindo
em minha direção, a probabilidade de eu sofrer um acidente e me machucar é maior do que se eu esperar o
carro passar.”. Isso é um exemplo de análise de riscos, quando você avalia o que pode acontecer e toma uma
ação para mitigar o risco, que neste caso, é esperar o automóvel passar.
Neste mesmo exemplo, agora com uma visão mais ampla. Como
podemos diminuir ainda mais o risco de acidentes na via? Mesmo
olhando para os 2 lados antes de atravessar, algum automóvel pode vir
em grande velocidade e causar um acidente, antes que você perceba.
Neste caso, pode-se instalar uma passarela sobre a via, para que in-
dependentemente do fluxo de carros, as travessias sejam seguras para
todos os pedestres.
Com a passarela o risco de acidentes com pedestres diminui, pois
agora todos podem cruzar a via pela passarela, mas não podemos con-
trolar se todos os pedestres irão utilizar a passarela, ou seja, ainda assim
temos o risco que algum pedestre sofra um acidente. E como controlar de
todos passam pela passarela? Instalar grades por toda via impedindo que
pedestres acessem ela? Acho que não seria uma solução viável...
Neste caso, apenas aceita-se o risco que alguns pedestres não res-
peitarão as sinalizações e nem terão um comportamento seguro por causa
de sua negligência. Não há algo viável a ser feito e temos que aceitar o risco.
Em poucos parágrafos tivemos uma abordagem muito ampla
de análise de riscos que vamos explodir em pedaços menores e mais
funcionais!
13SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
ACEITAÇÃO DE RISCO E RISCO RESIDUAL
Todos os dias realizamos de forma intrínseca uma análise de riscos em nossas vidas e sempre temos que
decidir sobre aceitar os riscos decorrentes de nossas decisões. Quando andamos acima do limite de velocidade,
aceitamos o risco de tomar uma multa por realizar uma infração de trânsito e também assumimos o risco de cau-
sar um acidente grave em caso de colisão.
Em alguns momentos, é necessário aceitar os riscos e conviver com o risco residual, que é o risco remanescente,
após a sua mitigação. Quando olhamos para os 2 lados da rua (mitigação do risco) antes de atravessar ela, garantimos
que nenhum automóvel está vindo em nossa direção. Mas, se optarmos por atravessar a rua sem utilizar a faixa de se-
gurança ou uma passarela, estaremos aceitando o risco de sofrer um acidente.
Trazendo para um ambiente mais prático de nosso dia a dia, vamos supor que a empresa em que você traba-
lha contratou um link de acesso à internet. Existe um risco desse link apresentar problemas e a empresa ficar sem
conectividade. Como tratamos esse risco? Contrata-se um segundo link de acesso à internet, pois caso o primeiro
apresente problema, o segundo irá segurar o ambiente.
Porém, ainda temos um risco. Pode ser que os 2 links de acesso à internet apresentem problemas. Para mi-
tigar esse risco, pode-se contratar um terceiro link de acesso à internet via rádio, para que possa sustentar o
ambiente, caso os outros 2 links apresentem problemas. Mas temos ainda outro risco: “E se os 3 links de acesso
derem problemas?”. Qual solução podemos ter para mitigar esse risco? Vamos contratar mais um link de acesso
à internet? Claro que não! O risco sempre vai existir! Entenderam até onde temos que tratar o risco?
Cada empresa é diferente, pois cada situação é única. Pode ser
que para uma padaria apenas 2 links de acesso à internet já estaria de
bom tamanho para mitigar os riscos de conexão, pois, mesmo sem in-
ternet, ela conseguir seguir o seu trabalho normalmente. Mas e se for
uma operadora de cartão de crédito? Será que não é interessante ter
mais do que 5, 10 ou 15 links de conexão?
Percebam que a análise de risco é única para cada situação e para
cada empresa, não se pode seguir um modelo único e padrão, tudo
deve ser analisado com muita calma, focando na cadeia de valor de
cada empresa. Portanto, o risco residual sempre vai existir e deverá
ser aceitado em determinadoestágio de mitigação. Entramos então
em outro ponto: O que é um risco aceitável? Quem aceita o risco?
De forma bem simples e clara. A obrigação dos profissionais
de segurança é de mapear os riscos aos quais um ativo está exposto,
classificá-los de acordo com a necessidade do negócio e apresentar
eles para os stakeholders e para a diretoria/administração. O profis-
sional de segurança não toma decisão alguma. Vou repetir novamen-
te, o profissional de segurança não toma decisão alguma, porque toda
decisão é tomada pelos gestores da empresa, orientados pelo setor de
Segurança da Informação.
14SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Quem determina se irá aceitar o risco ou não, é a direção! Quem irá decidir se os riscos serão tratados, é a
direção! Novamente, cabe o profissional de segurança apresentar os riscos mapeadas para a direção e cabe a ela
decidir o que será feito, como será feito e quando será feito, pois envolve dispende de recursos humanos e finan-
ceiros para cada atividade.
Enfim, de posse desses conceitos rapidamente explorados, nós vamos abordar com mais ênfase conceitos de
Vulnerabilidade, Ameaça e Riscos e depois iremos construir um exemplo de Matriz de Risco que será utilizado para
auxiliar na Análise de Riscos.
VULNERABILIDADES
Vamos agora focar nos ativos da informação. Os ativos de informação podem ser todos aqueles que de forma
direta ou indireta são utilizados para manipular ou armazenar informações. Pode ser um banco de dados, servidor,
switch, celular, firewall, computador, pessoas, entre tantos outros.
Todos os ativos possuem vulnerabilidades. De acordo com a ISO27001, as vulnerabilidades são as fragilidades
de um ativo ou grupo de ativos que pode ser explorada por uma ou mais ameaças, ou seja, são os pontos fracos e
as brechas de segurança que um ativo possui. As vulnerabilidades podem ser físicas, naturais, hardware, software,
mídias, humana, entre tantas outras.
As vulnerabilidades Físicas estão atreladas, por exemplo, a salas de data center mal planejadas com estrutu-
ras físicas fora dos padrões exigidos. Com um data center mal planejado, temos brechas de segurança de acesso à
sala, no controle de temperatura, no cabeamento, no dimensionamento de nobreak, entre tantas outras.
Algumas vulnerabilidades são Naturais e do ambiente e, às
vezes, fogem do nosso controle. Podemos elencar a umidade do
ar, que é uma brecha que danifica os equipamentos, a falta e ener-
gia também é uma vulnerabilidade natural que, por sua vez, pode
ser contornada.
Como exemplo de vulnerabilidade de Hardware, podemos
elencar o desgaste dos equipamentos e a sua obsolescência, pois são
os pontos fracos de todos equipamentos. Conforme passa o tempo,
a vida útil do equipamento diminui e isso é um ponto fraco dele.
As vulnerabilidades de Softwares são muitas e variadas. Por sí
só todo software possui vulnerabilidades, sejam elas de instalação,
funcionamento ou desenvolvimento. Atualmente, os softwares são
um dos principais vetores de ataques que existem por possuir mui-
tas brechas de segurança que podem ser exploradas.
As Mídias de armazenamento também devem ser tratadas
com muita importância. Toda mídia que armazena dados possui
seus pontos fracos que devem ser analisados. A mídia pode perder
dados, sofrer danos, ser sensível a determinado ambiente, como
por exemplo, das fitas de backup magnéticas, que podem ser des-
magnetizadas, perdendo os dados.
15SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Chegamos no fator mais crucial para segurança da informação, as vulnerabilidades Huma-
nas. O vetor de ataque mais vulnerável que temos no contexto de segurança da informação é o
humano. As pessoas possuem inúmeras vulnerabilidades que podem ser exploradas, e é mais fácil
pedir que alguém lhe entregue a senha, do que tentar quebrar tela. Iremos abordar o assunto de
Engenharia Social e estudar essa temática ao longo do nosso curso.
Portanto, pode-se concluir que as vulnerabilidades são os pontos fracos dos ativos e deve-
mos estar atentos a elas, pois é a partir delas que os incidentes de segurança irão acontecer.
AMEAÇAS
Utilizando a definição abordada pela ISO27001, uma Ameaça é a causa potencial de um in-
cidente indesejado, que pode resultar em dano para um sistema ou organização. As Ameaças são
agentes internos ou externos que exploram as vulnerabilidades dos ativos, gerando um incidente
quer irá incorrer em perdas. Podemos dividir as ameaças em Naturais, Involuntárias e Voluntárias.
As Ameaças Naturais, podem ser exemplificadas por fenômenos da natureza. Então, terre-
motos, tornados, enchentes, entre outros. Exemplificando, vamos supor que um data center seja
construído perto de um rio. Ele tem uma vulnerabilidade física. Seu ponto fraco é sua localização
perto do rio, pois a ameaça de uma enchente, pode inundar o data center e fazer com que haja
perda de todos os equipamentos.
Ameaças Involuntárias, são aquelas decorrentes de acidentes, erros ou desconheci-
mento de normas e padrões. Normalmente, acontece “sem querer”, quando a ação e um
indivíduo pode explorar uma vulnerabilidade, mas sem a intenção de causar um grande
mal. Vou exemplificar com um fato que aconteceu em uma empresa que trabalhei.
Todos os dias, às 15:00 horas, toda a rede de um setor parava de funcionar, en-
tão, a equipe de infraestrutura corria até o setor, mas quando chegava lá tudo estava
funcionando normalmente. Isso aconteceu por vários dias, até que, em uma ocasião, o
analista foi até o local as 14h45min. para ficar esperando a rede cair e ver o que acon-
tecia. Às 15:00 horas, o pessoal da limpeza chegou para limpar o andar e precisavam de
uma tomada para ligar um equipamento. O rack de comunicação não era protegido de
forma segura e a tomada de energia ficava exposta. O pessoal da limpeza desligava o
rack de comunicação da tomada para ligar o equipamento deles, derrubando toda rede.
Quando o analista chegava para ver o problema, eles já haviam saído e os equipamen-
tos já estavam novamente ligados.
Neste cenário, tinha-se a vulnerabilidade da tomada do rack exposta par qual-
quer um desligar e um ameaça por parte dos colaboradores em desligar o rack. Eles não
tinham intenção de impactar negativamente na rede de dados, eles apenas queriam
realizar o seu trabalho. Isso é um risco involuntário, que pode também ser exemplifi-
cado por erros de configurações ou desconhecimento técnico por parte da TI.
16SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
E por fim, temos as Ameaças Voluntárias que são aquelas propositalmente causadas. O
que caracteriza esse tipo de ameaça é que são realizadas conscientemente, com a intenção de
prejudicar o ambiente e causar damos à informação. O melhor exemplo para explanar esse
tipo de ameaça são os funcionários descontentes de uma empresa. Um colaborador que esteja
empenhado em vazar uma informação ou comprometer a integridade dela, irá fazê-lo, pois
ele já possui um acesso privilegiado aos ambientes e às informações. O fator humano sempre
será o ponto mais fraco no que tange segurança. Outro exemplo são ameaças de ataques de
crackers, que são direcionados às suas vítimas e procuram explorar todas as vulnerabilidades,
tanto lógicas, físicas e humanas.
São muitos conceitos e definições que foram explanados, mas será reforçado tudo isso
ao decorrer do curso para melhor fixação dos conteúdos.
RISCO
Finalmente chegamos nos Riscos. Um risco é a consequência de uma ameaça ao explo-
rar uma vulnerabilidade de um ativo, que cause impacto negativo, e o risco está presente em
várias áreas, e não é exclusivo da TI. Perceba que em quase todos exemplos até o momento,
utilizei situações do dia a dia ou exemplos mais práticos, sem vínculo com a TI.
Têm uma frase que uso muito para definir o conceito de risco no contexto de ameaças e
vulnerabilidades:As AMEAÇAS exploram as VULNERABILIDADES, expondo os ativos à RIS-
COS. Risco é tudo o que causa algum impacto.
Trazendo exemplos mais práticos da TI, temos o risco de vazamento de informações
confidenciais de uma empresa. Esse risco existe, pois, um servidor está com a vulnerabilidade
de estar desatualizado e uma ameaça de um cracker pode explorar esse ponto falho e tomar
controle do servidor, fazendo com que os dados sejam vazados. O foco sempre é mitigar o
risco e evitar o risco. Deve-se pensar em ações para evitar o risco, com um plano de ação de
execução. Vamos estudar Matriz de Riscos e nela todos os conceitos ficarão muito mais claros.
Uma dica legal neste ponto de riscos é a Transferência dos Riscos. Mas o que seria
transferir os riscos? Um exemplo muito interessante é o seguro de carro. Ao fazer o se-
guro do carro, você está transferindo o risco de sinistros para a seguradora. Caso você
sofra algum sinistro, é a seguradora que vai arcar com os custos e todo processo jurídico
inerente ao acidente. As empresas também fazem isso, transferem os riscos para outras
empresas. Claro que sempre haverá coparticipação, mas você terá de quem cobrar.
Outro exemplo é a terceirização de links de comunicação entre matriz e filial. Em
vez da empresa passar sua própria fibra ótica, tendo que assumir os riscos inerentes à fi-
bra (rompimento, roubo, atenuação, etc), ela contrata uma empresa terceirizada e paga
uma mensalidade para o uso da fibra, deixando todo processo de manutenção em contra-
to e com clausulas de tempo de resposta em caso de sinistros, dessa forma transfere-se
o risco para um terceiro.
São muitos termos e definições que iremos abordar de forma mais prática na Ma-
triz de Riscos.
17SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
MATRIZ DE RISCOS
Para realizar uma análise de riscos, precisamos de algumas ferramentas que não
auxiliam. Gosto de chamar de ferramentas, pois elas nos ajudam a conseguir alcançar
nossos objetivos. Neste contexto, temos a Matriz de Riscos. Ela é uma ferramenta utili-
zada para mapear os riscos, classificar e demonstrar qual plano de ação será tomado, bem
como os riscos que serão tratados. Costumo dizer que não existe um padrão para uma
Matriz de Riscos, mas vou utilizar um padrão muito útil e que traz uma boa visibilidade.
A matriz de risco é um organismo vivo! Ela não pode ser feita uma única vez e de-
pois ficar jogada em um canto. Periodicamente, ela deve ser revisitada e atualizada. Cada
empresa define o tempo necessário para essa conferência, porém o recomendado é que
no mínimo seja revista 1 vez por ano ou quando houver necessidade antes desse tempo.
O importante é que não podemos criar uma matriz somente para ter uma matriz, pois o
objetivo dela também é garantir que seja operacionalizado os controles que forem pon-
tuadas. Ela por si só não resolve os problemas, o que resolve é implementar os controles!
Um ponto muito importante quando falamos sobre riscos é o IMPACTO e a PROBA-
BILIDADE, por isso, coloquei-os em caixa alta. Quando se realiza uma Análise de Riscos,
ambos são cruciais para tomada de decisões, principalmente para saber se um risco será
ou não tratado. Podemos tratar o impacto de forma segregada em segurança, em cada um
dos 3 pilares de segurança da informação, ou tratar de forma mais global.
PLANO DE CONTINGÊNCIA
Um dos pontos mais importantes que temos após a criação de uma matriz de risco é
criar um Plano de Contingência. Basicamente no plano de contingência é descrito todo pro-
cesso para se colocar o ambiente novamente em operação. Quando falamos me plano de con-
tingência, estamos focando em Continuidade de Negócio.
A matriz de riscos nos mostra os riscos que podem ocorrer e nela tratamos como mitigá-
-los, porém, deve haver uma documentação de como colocar os processos de negócio novamen-
te em operação caso o risco de se concretize. A partir da análise dos riscos, define-se um proce-
dimento detalhado de como recuperar sistemas de TI, em caso de desastres de diferentes tipos.
O plano de contingência é utilizado em caso de desastres ou situações que impactam
muito negativamente no negócio. Por isso, o foco dele é manter a continuidade do negócio,
como se fosse um “plano B” caso ocorra uma falha grave. Nele, é descrito o que fazer passo
a passo para reestabelecer paliativamente a operação. O plano de contingência é algo impor-
tante na gestão de riscos.
O Plano de Contingência é importante, pois ele ajuda a minimizar as perdas para o ne-
gócio. Apesar de um imprevisto acontecer e causar algum dano para a empresa, se o plano de
contingência estiver bem desenvolvido, vai fazer com que as perdas sejam menores. A falta
dele pode fazer com que uma empresa sucumba após acontecer algum desastre.
18SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Normalmente, o que acontece quando algo de ruim aparece? Todos se desesperam e
não sabem o que fazer, isso é natural do ser humano. O plano de contingência ajuda neste
sentido, pois nele estão descritas todas as orientações necessárias em caso de sinistros.
Ele orienta o comportamento de toda equipe e processo, mas no momento não cabe apenas
pensar, mas sim agir de forma organizada, focando em manter o ambiente em operação.
O plano de contingência não é feito a partir de uma receita. Cada empresa tem que
desenvolver o seu próprio plano que pode ser ou não utilizado em outras empresas. Assim
como a Matriz de Riscos, ele é adaptável e variável.
O primeiro passo é identificar quais as necessidades e problemas que podem afe-
tar a operação da empresa, neste caso, da TI, pois estamos focando no plano de contin-
gência do de setor de tecnologia. Deve-se levar em consideração adversidades naturais,
técnicas e humanas. Essas informações podem vir da análise de riscos, pois ali já está
mapeado os principais riscos.
O segundo ponto importante é avaliar o impacto que cada risco tem ao negócio
para decidir a melhor forma de contorná-lo caso aconteça algum desastre. Uma falha
do plano de contingência é preocupar-se com situações corriqueiras que “incham” ele,
tirando o foco realmente do seu objetivo que é retornar à operação o mais rápido possí-
vel. Por isso, no plano de contingência, deve-se pensar apenas em situações de desas-
tres e não corriqueiras.
A terceira etapa e uma das mais importantes, temos que definir prioridades! Qual sis-
tema vamos colocar em operação primeiro? Qual servidor será priorizado para ser colocado
em operação? Essas são perguntas fundamentais, pois na hora do desastre, uma sequência
de prioridades deve ser elencada para que processos prioritários sejam colocados em ope-
ração primeiramente.
E a quarta etapa, que muitas das vezes é negligenciada, mas é de fundamental impor-
tância. Testar o Plano de Contingência! De nada adianta ele existir no ambiente se nunca foi
testado e homologado. É muito provável que ele não funcione na hora de um desastre se ele
nunca foi testado. Planos de testes devem ser realizado pelo menos de 1 a 2 vezes no ano para
testar se realmente o que está escrito, reflete realmente na operação no caso de desastres.
Um plano de contingência é algo vivo na empresa, ou seja, deve ser revisado com fre-
quência! Esse é a quinta etapa, revisar periodicamente os processos do plano para que esteja
aderente à realidade da empresa. O ambiente se transforma todos os dias e o plano deve es-
tar alinhado a isso, caso contrário, não será efetivo no dia do desastre.
SINTESE
Neste capítulo, aprendemos um pouco sobre os conceitos vulnerabilidades, ameaças
e riscos. Vimos também como uma Análise de Riscos é desenvolvida e como construir uma
Matriz de Riscos, para nos auxiliar na mitigação de riscos.
19SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. O que é vulnerabilidade?
2. O que é ameaça?
3. O que é risco?
4. A Análisede Riscos garante que todos os riscos serão
eliminados?
5. A Matriz de Risco é padrão e não pode ser adaptável
nos ambientes?
6. Para que server um Plano de Contingência?
20
ISO 27001
A segurança da informação possui normativas que padronizam os
processos de segurança reconhecidos. Neste contexto, temos a ISO27001
e suas derivações, as quais focam em criar um sistema de segurança
corporativo e auxiliar as empresas a implantarem processos seguros.
Vamos agora desvendar toda essa estrutura!
21SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
A segurança da informação que vamos estudar nesta matéria é totalmente fo-
cada em estabelecer processos seguro nas empresas. Para cada tipo de necessidade,
existem frameworks reconhecidos mundialmente que auxiliam na construção e de-
senho de processos, ou servindo como manuais de boas práticas. Por exemplo, para
gestão de serviços de TI, existe a ITIL que organiza e sustenta todo ciclo de vida de
serviços de TI e pode-se utilizar ela como base para estruturar os processos da TI e
padronizar o atendimento de demandas e necessidades dos negócios.
Para organizar a TI e deixá-la alinhada aos processos de negócio das empre-
sas, pode-se utilizar o COBIT. Esse framework auxilia a TI também a se inserir na
governança corporativa e no planejamento estratégico e, dessa forma, fazer com
que a TI agregue valor ao negócio das corporações.
Para segurança não é diferente. Em Segurança da Informação, utiliza-se a
ISO27001 e toda sua família de normas (27002,27005, etc). A ISO27001 é um padrão
reconhecido mundialmente e totalmente adaptável a todo tipo de negócio, pois ela é
genérica e foca na melhoria de processos corporativos para que agreguem segurança
no seu dia a dia. A ISO27001 derivou de uma norma britânica, a BS7799, do ano de 1999.
Junto com a ISO27001, temos a ISO27002. Ela é uma norma que não pode ser
auditada e é utilizada como documento de referência para a implementação da
ISO27001. Nela, temos todos os controles e clausulas de controle detalhados. As ISOs
de segurança, focam na segurança física, técnica, procedimental e em pessoas.
A norma trata todo esse sistema de gestão proposto através do nome SGSI (Sistema de Ges-
tão de Segurança da Informação), ou seja, não é apenas um manual de boas práticas, a ISO27001
cria um sistema de gestão vivo de segurança com foco em melhoria continuada dos processos. Uma
empresa que consegue a certificação na ISO27001, consegue estabelecer um sistema que se perpe-
tua ao longo do tempo, garantindo a continuidade da segurança no ambiente. A ISO27001, consta
atualmente com 14 sessões e 114 controles que abordaremos durante nosso curso.
Uma empresa pode ser certificada na ISO27001 se cumprir todos os requisitos impostos pela nor-
ma através de uma auditoria oficial de uma empresa especializada e credenciada para realizar uma au-
ditoria. Após ganhar a certificação da ISO27001, auditorias externas são realizadas para manter a cer-
tificação e garantir que o SGSI esteja sempre alimentando e vivo na corporação de forma continuada.
SGSI – SISTEMA DE GESTÃO DE SEGURANÇA DA INFORMAÇÃO
Como vimos, a ISO27001 é sustentada por um SGSI que faz com que a segurança seja orgâ-
nica e viva no ambiente! Como todo sistema de gestão, o SGSI apega-se na metodologia PDCA, do
inglês, PLAN, DO, CHECK, ACTION. Mas, o que seria o PDCA? Então, o PDCA é uma metodologia de
gestão que visa controlar os processos e melhora-los continuamente.
A fase do PLAN, é a mais importante em qualquer processo de gestão. Na fase de planejamento
define-se os objetivos e as metas projetadas para implantação do SGSI. É nessa fase que é definido o
escopo, quais processos serão impactados primeiramente, quais setores da empresa serão submeti-
dos a melhorias, e assim por diante. É a fase mais demorada, pois é nele que tudo é detalhado.
22SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Na fase do DO, é quando implementamos o que foi planejado, ou seja,
“colocamos a mão na massa”. Neste momento, tudo o que foi planejado irá
para produção.
O CHECK, representa uma fase importante de pós -implementação.
Nesta fase, podemos observar se o que foi planejado realmente foi executado
e se os resultados esperados foram atingidos. As falhas identificadas devem
ser documentadas e as dificuldades enfrentadas pontuadas.
Por último na fase do ACTION, é realizada uma análise dos pontos po-
sitivos e negativos da implementação. Identifica-se os pontos de melhoria
e onde pode melhorar o processo. Após isso, volta-se para a fase de PLAN,
para planejar as mudanças nos pontos de melhoria identificados e todo ciclo
se retroalimenta. O PDCA é um ciclo sem fim, por isso ele garante a melhoria
continuada dos processos. Entendendo um pouco do PDCA, podemos pros-
seguir nas etapas de estabelecimento de um SGSI.
Primeira atividade que deve ser realizada para estabelecer um SGSI é
definir um escopo e os limites do sistema de gestão. Isso é muito importan-
te, pois o SGSI impacta em vários processos. Uma empresa pode definir que
irá aplicar um sistema de gestão somente na TI e deixar os demais setores de
fora e dessa forma amadurecer os processos antes de levar para toda empre-
sa. Tudo é uma questão de definição de escopo, para saber qual será o alvo e
quanto recurso financeiro e humano terá para implementar o SGSI.
Outro ponto crucial é estabelecer uma política de SGSI na empresa, onde todos terão que estão abaixo
dela e respeitar as normas impostas. Nela contém toda hierarquia e estrutura do SGSI e deve estar alinhado
ao contexto estratégico da empresa. Mais adiante abordaremos a Política de Segurança da Informação Cor-
porativa, que nos ajudará a compreender as normativas.
A Análise de Riscos aparece como requisito obrigatório para um SGSI. Ela está inserida dentro do pro-
cesso de gestão e precisa ser atualizada regularmente e estar alinhada com os objetivos da empresa, focan-
do na continuidade do negócio. Define-se uma metodologia de análise de riscos e desenvolve-se critérios
para aceitação dos riscos, gerando dessa forma um padrão para as análises e documentando todo processo.
23SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
O SGSI exige que exista um comprometimento visceral da diretoria e da
alta administração em todo processo. A análise de riscos, juntamente com
os riscos residuais e a aceitação dos riscos devem ser homologados e aceitos
pela diretoria. Todo processo deve ser aprovado pela alta administração, de
modo que ela esteja ciente de como o ambiente está e quais ações necessitam
ser tomadas para mitigar os riscos e que, mesmo após a mitigação, existem
riscos residuais que vêm ser aprovados e aceitos por eles. A alta administra-
ção ainda precisa chancelar a operação do SGSI e autorizar que seja imple-
mentando na empresa, com respaldo de toda diretoria.
Outros pontos são relevantes dentro do SGSI e devem ser observados com
muita atenção:
• Implementar programas de conscientização e treinamento
• Gerenciar as operações do SGSI
• Gerenciar recursos para o SGSI
• Implementar controles para identificar eventos de segurança
Deve ser reiterado o fato do comprometimento da direção com o SGSI. A
ISO27001 traz um capítulo exclusivo para abordar esse tema. A direção preci-
sa estar totalmente comprometida com o SGSI, inclusive na auditoria de cer-
tificação é um dos pontos observados. A direção tem como responsabilidade:
• Estabelecer, implementar, operar, monitorar, analisar criticamente, manter e melhorar o SGSI
• Garantir que os procedimentos de segurança apoiem o negócio
• Identificar e tratar requisitos legais
• Realizar análises críticas do SGSI
• Melhorar a eficácia do SGSI
Essa é a estrutura básico do SGSI, mas iremos abordar de forma mais minuciosa cada um dos assun-
tos daqui para frente.
• Funcionários e terceiros devem sempreestar identificados através de crachá com foto;
• Visitantes devem ser sempre identificados e acompanhados por um responsável, nunca andar sozinhos
pela empresa;
• Revisar periodicamente o controle de acesso e verificar sua efetividade e aplicação. Deve-se ser rigoro-
so no que tange controlar o acesso à empresa.
SÍNTESE
Na área de Segurança da Informação, a ISO27001 e sua extensa família de normas, como a 27002, 27005,
entre outras, são amplamente utilizadas. Reconhecida globalmente, a ISO27001 destaca-se por sua adaptabi-
lidade a diversos tipos de negócios, pois é uma norma genérica que visa aprimorar os processos corporativos,
promovendo a segurança no dia a dia das organizações. Originada da norma britânica BS7799, em 1999, vale
ressaltar que essas normas de segurança possuem uma história significativa e consolidada ao longo do tempo.
24SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Qual é a importância da fase de “PLAN” na metodologia PDCA, es-
pecialmente no contexto da implementação de um SGSI conforme
a ISO27001?
2. Como a fase “CHECK” contribui para a avaliação pós-implementa-
ção no ciclo PDCA, e de que maneira ela auxilia na identificação de
falhas e dificuldades enfrentadas durante a execução do plano?
3. Na fase “ACTION” do PDCA, como é realizada a análise dos pontos
positivos e negativos da implementação, e de que forma essa aná-
lise impacta na retroalimentação do ciclo para a fase de “PLAN” no
contexto da melhoria contínua dos processos de um SGSI?
4. Qual é a importância da definição do escopo e dos limites do siste-
ma de gestão para um SGSI, e como essa decisão pode impactar os
processos e a implementação do sistema na empresa?
5. Como a análise de riscos, incluindo a definição de uma metodologia
e critérios para aceitação, se relaciona com a necessidade de com-
prometimento da diretoria e alta administração em todo o processo
de estabelecimento de um SGSI?
25
ENGENHARIA SOCIAL
Vamos hackear as pessoas?! Sem mais comentários...
26SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Kevin Mitnick é um dos maiores exponentes de engenharia social,
por explorar a vulnerabilidade humana. Ele burlava as medidas de segu-
rança tecnológicas das organizações alvo de seus ataques Hacker. Miti-
nick tinha a habilidade de conseguir senhas de acessos, documentos si-
gilosos e acessos a áreas restritas apenas pedindo às pessoas e de forma
voluntários as informações eram repassadas a ele.
A melhor forma de obter um nível de segurança aceitável junto às
pessoas é possuir funcionários capacitados e conscientizados, maduros
no que tange segurança da informação e engenharia social. Ele defende
que além da capacitação, é necessário existir um programa constante de
conscientização nas empresas.
O sucesso da segurança da informação está atrelado a uma mudan-
ça de cultura no ambiente da empresa. Caruso e Steffen (1999) defendem
que é necessário a venda de cultura da segurança para toda empresa, caso
contrário de nada valerá investir recursos em tecnologia, sem preparar as
pessoas. Mitinick (2003) corrobora a ideia de Caruso e Steffen quando cita:
“Um método para manter a segurança sempre na mente do empre-
gado é fazer com que a segurança das informações seja parte espe-
cífica da função de todas as pessoas que trabalham na empresa.”
As pessoas detêm informações e conhecimentos. As empresas se utilizam de tecnologia para garantir a
segurança em processos e aplicações, porém sempre haverá seres humanos trabalhando em seus processos
diários, acessando sistemas e compartilhando informações, fazendo com que a cadeia de valor se mantenha
funcional. O hacker Mitnick (2005) defende que em todos sistemas de computadores há pelo menos um ser
humano que o usa. E lembrem-se de uma coisa, a corrente é mais forte que seu elo - mais fraco.
Em Segurança da Informação, o elo mais fraco é o fator humano. Quando os investimentos são somen-
te direcionados para segurança nos processos das organizações, não podemos esquecer do fator humano,
pois se a empresa adquirir os melhores equipamentos tecnológicos, como firewalls e antivírus, para garantir
segurança à rede de dados e não investir na mudança de cultura das pessoas, de nada irá adiantar. Mitinick
(2003) enfatiza dizendo que:
“A medida que os especialistas contribuem para o desenvolvimento contínuo de melhores tecnologias de
segurança, tornando ainda mais difícil a exploração de vulnerabilidades técnicas, os atacantes se voltarão
cada vez mais para a exploração do elemento humano. Quebrar a “firewall humana” quase sempre é fácil,
não exige nenhum investimento além do custo de uma ligação telefônica e envolve um risco mínimo.”
As pessoas são facilmente enganadas e induzidas a entregar informações sigilosas ou a realizarem algu-
ma ação que possa comprometer a segurança. O Engenheiro Social surge neste cenário como a grande ameaça
à segurança, explorando a vulnerabilidade humana. Mitinick (2003) define a engenharia social como sendo a
influência e a persuasão utilizada para enganar as pessoas e convencê-las de que o engenheiro social é alguém
que na verdade ele não é. Quando a exploração é realizada com sucesso, o engenheiro social aproveita-se da
ignorância e desinformação das pessoas para obter as informações com ou sem o uso da tecnologia.
27SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Então, o fator chave é a mudança cultural para haja o sucesso da se-
gurança da informação. A Cultura Organizacional pode ser definida como
um conjunto de pressupostos básicos, de valores, inventados ou desco-
bertos por um grupo para resolver problemas tanto de adaptação exter-
na e/ou integração interna (ROSSO, 2000). Ela direciona “como as coi-
sas costumam ser feitas dentro de determinada organização”, os valores
e políticas que devem ser seguidas pelo senso comum. Segundo Robbins
(2005), a cultura ajuda a manter a organização coesa, fornecendo padrões
adequados para aquilo que o pessoal vai fazer ou dizer. Ela orienta as ati-
tudes e comportamentos de todos que estão envolvidos no ambiente.
O processo de mudança, é trabalhoso e dificultoso. Normalmente há
desconforto e ansiedades, por parte dos membros da equipe, que devem
ser superadas, é necessário desaprender os conceitos antigos para poder
colocar em prática conceitos novos (SCHEIN, 1999).
Mitinick (2003) advoga que:
“As empresas devem não apenas definir por escrito as regras das po-
líticas, mas também devem se esforçar ao máximo para orientar todos
os que trabalham com as informações corporativas ou com os siste-
mas de computadores para que eles aprendam e sigam as regras.”
O ser humano quando sai de sua zona de conforto, sente-se vulnerável, por isso, é resistente a
mudanças. O sucesso da segurança da informação depende visceralmente de uma mudança cultural, ou
seja, implantar segurança simboliza mudanças relevantes nos processos diários de cada colaborador, e
isso gera transtornos e desafios que devem ser enfrentados por todos. Uma política de segurança bem de-
senvolvida e coerente, se combinada à educação e treinamento aos colaboradores, aumenta a consciência
do empregado sobre o tratamento correto das informações comerciais corporativas (MINITICK, 2003). Os
engenheiros sociais utilizam-se de algumas técnicas para coletar informações dos seus alvos, não somen-
te uma abordagem direta e pessoal.
ANÁLISE DO LIXO
A Análise do Lixo é uma técnica frequentemente utilizada pelos engenheiros sociais para garimpar
informações. Gravem essa frase: “Nem sempre o lixo, é lixo!”. É comum que as pessoas joguem fora no lixo
comum papéis com anotações velhas com números telefônicos, nomes, contatos, senhas antigas, lembretes
do dia a dia. Num primeiro momento, essas informações parecem ser inofensivas, porém, um engenheiro
social pode usá-las para traçarum perfil ou realizar contatos fraudulentos. Tente um dia ir ao banco e olhar
no lixo que fica ao lado dos caixas eletrônicos, tenho certeza de que encontrará informações valiosas ali
dentro, sobre contas bancárias e os dados bancários de várias pessoas.
No âmbito empresarial é importante ressaltar que o lixo não é lixo, pois muitas espionagens industriais
acontecem no lixo das empresas. Espiões podem revirar o lixo em busca de informações sobre produtos, no-
vas propagandas que estão sendo realizadas, entre outras coisas, portanto, muito cuidado com seu lixo!
28SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Uma boa solução para descarte de papéis são as picotadoras de papel, que esmigalham as folhas
em inúmeros pedaços. Mas, cabe um detalhe aqui, os picotes devem ser picotados de forma cruzada,
deixando bem picado o papel, pois as picotadoras mais comuns, apenas cortam em tiras verticais e,
com isso, é possível remontar os documentos, como se fosse um quebra-cabeça.
Internet e Redes Sociais é um prato cheio para engenheiros sociais! Com poucos minutos em sua
rede social, um engenheiro consegue descobrir seus gostos, sua opinião política, os lugares que você
frequenta, quem são seus amigos mais íntimos. O que você fez em uma quinta-feira que marcou sua
vida com a hashtag #tbt. Enfim, inúmeras informações de bandeja para ele usar contra você mesmo! A
dica é: divulgue o mínimo de informações possíveis em redes sociais; abra somente para seus amigos
que você conhece pessoalmente. Não abra não de sua privacidade.
O Contato Telefônico é o meio mais clássico de como um engenheiro social pode abordar uma
pessoa. Através do telefone, ele pode persuadir as pessoas e descobrir informações importantíssimas
e, às vezes, não é necessário nem muito tempo. Uma ligação na hora certa, num momento certo, pode
fazer com que uma pessoa caia no golpe rapidamente, sem muito esforço por parte do engenheiro.
E se o contato telefônico não der certo? O engenheiro social tenta uma Abordagem Pessoal. Pode
ser que ele tenta fazer uma visita presencial na empresa que é alvo do seu ataque e se faça passar por
um entregar de flores, com um papo convincente para entrar e entregar as flores em mão para alguém.
Talvez até uma pessoa que ele achou o nome no lixo da empresa e usará isso para ter um elo de ligação
com alguém dentro da corporação.
PHISHING
E que tal pescar? A técnica de Phishing é amplamente usada e é muito efi-
caz. Você já recebeu um e-mail falando para você atualizar seu cadastro na Receita
Federal? Ou aquele outro clássico falando que a pessoa tem as suas fotos na praia?
Então, isso é phishing. Esse tipo de ataque é amplamente utilizado e consegue
capturar várias vítimas. Algumas empresas são especializadas em campanhas de
phishing para avaliar o grau de maturidade dos funcionários de uma empresa. Ao
final, sabe-se quantos caíram no ataque e um treinamento é realizado.
FALHAS HUMANAS
Mas a porta mais fácil de entrar são as Falhas Humanas, que são utiliza-
das em todas as outras técnicas. Basicamente, há uma manipulação de senti-
mentos que o engenheiro social usa para persuadir as pessoas. As falhas são:
• Vontade de ser útil: O ser humano, normalmente, procura ser cortes ou
ajudar os outros quando necessário. Um engenheiro social pode fazer uma
abordagem da seguinte forma: “Oi, tudo bem? Eu sou novo na empresa e
nosso chefe está me cobrando um relatório, tens como me ajudar? Eu não
lembro meu usuário e senha para acessar o sistema, mas será que você
pode gerar o relatório para mim, e me enviar?”
29SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
• Busca Amizades: O ser humano gosta tanto de fazer amigos! Ainda mais depois de
um bom elogio. Um engenheiro social pode realizar uma abordagem mais íntima, dar
alguns elogios para “quebrar o gelo” e buscar uma aproximação. Por exemplo: “Oi
colega, tudo bem? Gostei tanto do se cabelo, onde você cortou? Sabe que queria cortar
igual, mas tenho que terminar relatório aqui e não posso sair antes, será que você pode
me ajudar amiga? Esqueci minha senha, tem como entrar no sistema pra mim ou me
passar sua senha? Prometo que não conto pra ninguém...”
• Prorrogar Responsabilidades: Normalmente o ser humano tende a não se sentir o úni-
co responsável por uma atividade. Um exemplo de ataque desse tipo: “Olha eu preciso
saber essa informação para conseguir terminar esse relatório, mas se você não me der
tudo bem, então pode você mesmo fazer e assumir essa responsabilidade.”
• Persuasão: Essa pode ser realizada de várias formas. Um exemplo é se fazer passar por
alguém de cargo superior. O ser humano tende a “baixar a cabeça” para autoridades,
por medo. Exemplo em um contato telefônico com a TI: “Aqui é o diretor geral da plan-
ta, esqueci minha senha, preciso que você reset minha senha para que eu possa acessar
o sistema. E confirma qual é o meu usuário, pois perdi o papel que ele estava escrito...”
Outra vulnerabilidade destrutiva em uma empresa, que não é ligado diretamente ao
engenheiro social, mas tem total relação com o ser humano, são os funcionários insatisfei-
tos. Eles podem boicotar a empresa de uma forma destrutiva, pois eles já têm a autorização
de acesso nos ambientes e já possuem privilégios a informações.
Para combater um engenheiro social, a única resposta é treinamento e conscientiza-
ção das pessoas, indicando como um engenheiro social pode atacar e ensinando técnicas
para validar com quem se está falando e como não cair nas garras desses malfeitores.
SINTESE
Neste capítulo, aprendemos um pouco sobre a Engenharia Social e como os atacantes
utilizam-se dela para conseguir extrair informações sigilosas, utilizando as falhas huma-
nas e técnicas de persuasão.
30SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
EXERCÍCIOS SUMÁRIO
1. Quais são as principais falhas humanas?
2. O que é um engenheiro social?
3. Como evitar um ataque de engenharia social?
4. Por que lixo nem sempre é lixo?
5. O funcionário pode ser o ínvido mais nocivo para a
empresa, por quê?
31
CRIPTOGRAFIA
A segurança na troca de informação está ligada à criptografia. Ela nos
garante que as mensagens sejam abertas somente por pessoas que
possuam as chaves corretas para decifrar uma informação. Além da
criptografia existem outras formas de proteção das informações e dos
ambientes.
32SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
A segurança da troca de mensagens entre indivíduos sempre
existiu e sempre foi um desafio garantir que uma mensagem confi-
dencial não fosse interceptada por uma pessoa não autorizada. Des-
de o antigo Egito, até a era da informação, esconder informações é
uma tarefa árdua e necessária.
Para esconder as informações, usamos a criptografia. Criptogra-
fia vem do grego Kryptos (escondido), e Gráphein (escrita), ou seja,
escrita escondida. Basicamente a criptografia embaralha as informa-
ções, de forma que não possam ser interpretadas por qualquer pessoa
ou sistema. Alguns evidencias apontam que no antigo Egito, ainda nos
hieróglifos, já podiam ser vistos traços de criptografia. Atualmente a
criptografia está vinculada à computação, mas ela surgiu muito antes.
Um dos algoritmos mais clássico é o da Cifra de César. Um belo
dia, o Imperador Romaro Julio Cesar percebeu que os inimigos es-
tavam “roubando” seus planos de batalha. Todas manhãs o mensa-
geiro subia em seu cavalo e ia cavalgando rapidamente levar as ins-
truções para as tropas romanas. Porém, na metade do caminho, esse
mensageiro era abatido pelos inimigos e as ordens que estavam es-
critas no pergaminho eram “vazadas” para os inimigos. Então, sur-
giu uma necessidade: Como esconder as ordens para que os inimigos
não saibam o que está escrito?
Surge então a Cifra de Cesar. É um exemplo clássico de criptografia, não muito eficaz,mas funcional para a
época. Basicamente a Cifra de César, conta com um número (chave criptográfica) que é utilizado para embaralhar
o código. O embaralhamento acontece deslocando as letras de uma frase de acordo com a chave desejada. Vamos
por partes para entender melhor.
César queria mandar a seguinte mensagem para o campo de batalha. “Tropa romana, ataquem pelos flan-
cos.”, supondo que a chave criptográfica seja o número 5. Vamos olhar o alfabeto.
Na Cifra de César, a chave 5 irá representar o número de deslocamento de letras que será realizado. Observe:
“Tropa romana, ataquem pelos flancos.”
“Ywtuf wtrfsf, fyfvzjr ujqtx kqfshtx.”
Para todas as letras, foram deslocadas 5 posições, assim cifrando a mensagem. Somente que soubesse a cha-
ve de “5”, conseguiria decifrar a mensagem que foi encaminhada. Por um tempo isso até funcionou, mas não é
muito seguro.
Esse tipo de cifra é facilmente quebrado por força bruta, ou seja, se formos tentando as chaves 1, 2,3 ,4 ,5, etc,
em algum momento será descoberto qual foi a chave utilizada. E os inimigos de César descobriram isso sem gran-
des problemas e esse tipo de cifragem entrou em desuso, mas é um ótimo exemplo, pois basicamente é isso que se
faz com as criptografias modernas, porém com chaves extremamente mais complicadas de serem quebradas.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
33SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Durante a 2ª Guerra Mundial, ouve um grande avanço na criptografia, que originou a ci-
ência da criptografia moderna. Até aquele momento a criptografia não era vinculada à com-
putação. Depois do final da guerra, a computação contribuiu muito para o avanço dos estudos
da criptografia de dados.
Utilizar criptografia é extremamente seguro, quando utilizamos uma chave criptográfica
forte! Se imaginarmos uma chave criptográfica simétrica de 256 bits. Quanto tempo levaría-
mos para comprometer a chave? Vamos fazer as contas pensando que cada habitante do pla-
neta tenha um dispositivo capaz de processar dados.
Atualmente, existem 7 bilhões e 500 mil habitantes na Terra com o poder de calcular
mais ou menos 93 quatrilhões de instruções por segundo. Esse poder computacional gera uma
capacidade de testar mais ou menos 22 milhões de bilhões de bilhões de bilhões de possibili-
dades por ano. Sim, esse número representa 22 seguidos de 33 “0”.
Com esse poder computacional atual, iriamos demorar aproximadamente 5 milhões de bi-
lhões de bilhões de bilhões de bilhões de anos para testar todas as possibilidades de combinação
dos 256 bits de números 0 e números 1, afinal é dado binário, através de força bruta. O universo
tem idade aproximada de mais de 13 bilhões de anos, então concluímos que é mais fácil aconte-
cer algumas “Eras Glaciais” ou a volta dos dinossauros antes de quebrar uma chave de 256 bits.
Existe 2 tipos de técnicas de criptografia que são utilizadas atualmente. A Criptografia
Simétrica e a Criptografia Assimétrica.
CRIPTOGRAFIA SIMÉTRICA
As primeiras criptografias desenvolvidas, bem mais velha que a computação,
foram metodologias considerados simétricas. Na criptografia simétrica, a chave que
é utilizada para criptografar é a mesma utilizada para fazer a decriptação. Neste tipo
de algoritmo, a chave gerada deve ficar de posse tanto do emissor como do receptor
da mensagem.
Esse tipo de criptografia possuiu algumas vantagens e desvantagens.
Vantagens:
• Performance: A criptografia de chave simétrica tende a ser muito mais performáti-
ca e veloz, em relação aos algoritmos assimétricos. Essa performance faz com que o
tempo de encriptação e decriptação seja mais rápido utilizando recursos computa-
cionais compatíveis.
34SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
• Segurança: As chaves simétricas são muito seguras e a probabilidade de se quebrar
uma chave simétrica que foi bem elaborada é praticamente nula. O poder computa-
cional atual, não consegue em tempo hábil quebrar uma chave simétrica.
Desvantagens:
• Compartilhamento de Chave: A segurança de um algoritmo de criptografia está atre-
lada à segurança da sua chave. A chave simétrica é muito segura no que tange o poder
de encriptação, porém, a chave precisa ser compartilhada entre o emissor e o recep-
tor, dessa forma, se a chave se encontra em 2 lugares, ela pode estar em 3 ou 4 lu-
gares, além de poder ser facilmente roubada, devido sua exposição. Isso faz com que
seja uma desvantagem utilizar esse tipo de chave.
Existem vários algoritmos de criptografia simétrica: RC4, RC5, DES, 3DES, IDEA e o AES,
sendo o último o mais utilizado atualmente, podendo utilizar chaves de 128, 192 e 256 bits.
CRIPTOGRAFIA ASSIMÉTRICA
Para resolver o problema de segurança da chave simétrica, foi desenvolvido os al-
goritmos de chave assimétrica. Neste tipo de encriptação, a chave usada para cifrar a
mensagem é diferente da chave utilizada para descriptografar a mensagem e, dessa for-
ma, não é necessário o compartilhamento de chaves. Primeiro, gera-se uma chave pri-
vada e, depois dessa chave privada, é extraída uma chave pública.
Para enviar as mensagens de forma criptografa assimetricamente, as 2 partes da comu-
nicação precisam divulgar suas chaves públicas. A chave pública server somente para cripto-
grafar os arquivos. Com a chave pública de um doa lados, você pode encriptar a mensagem.
Quando o receptor receber a mensagem, ele irá conseguir abrir ela somente com a chave priva-
da que é referente aquela chave pública e vice-versa. Observe a imagem para entender melhor.
Vantagens:
• Chave pública: Com o uso da chave pública, deixamos a troca de informações mais seguras.
Como não há o compartilhamento de chaves, somente quem tiver a chave privada referente
aquela chave pública irá conseguir abrir a mensagem.
35SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - CYBERSECURITY
SUMÁRIO
Desvantagens:
• Segurança: Mas como assim a segurança é uma desvantagem se não há
compartilhamento da chave? Os algoritmos assimétricos tendem a ser
menos seguros no que tange a quebra da chave. Mesmo sendo menos
seguros, ainda assim, com o poder computacional atual, é remota a pos-
sibilidade de quebra da chave.
• Performance: Por ser mais complexo, o algoritmo assimétrico consome mais
recursos de hardware para ser processado, dessa forma exige mais poder
computacional, porém, atualmente, isso já não é mais um grande problema.
O algoritmo mais utilizado atualmente é o RSA. O algoritmo RSA (Rivest-
-Shamir-Adleman) foi criado por volta de 1978, e leva o nome de seus autores.
Ele foi o primeiro algoritmo proposto com a lógica assimétrica, e continua sen-
do muito utilizado atualmente.
HASH
O uso da criptografia tem como objetivo garantir a confidencialidade da
informação, mas isso somente não basta para garantir a segurança de uma in-
formação. É necessário garantir a integridade da informação, ou seja, averiguar
se o conteúdo de uma mensagem enviada chegou até o destino sem ser alterada
e comprometida.
Então, nesse cenário, surgem os algoritmos de hash que possuem algumas utilidades, e uma delas é
garantir a integridade das informações enviadas. Nas trocas de mensagens os dados podem ser alterados ou
corrompidos, por causa de falhas na própria comunicação ou por um ataque que intercepta uma informação
e alterá-la. Os algoritmos de hash servem para gerar gera uma “assinatura” que comprova qual é o conteúdo
original de uma mensagem. Essa “assinatura” é utilizada pelo receptor para verificar se a mensagem não foi
alterada. Podemos usar alguns algoritmos como o Base64, MD5, Sha1, Sha256 e Sha512 por exemplo.
• Base64: Esse algoritmo, basicamente, serve para garantir que uma mensagem não foi alterada.
Ele não é seguro, pois é muito simples de executar a reversão da mensagem para texto claro, mas
cumpre bem a função de garantir a integridade de uma mensagem. Por exemplo, o