Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 1/11
Logs e monitoramento ineficientes
MOSTRAR AS FALHAS DE SEGURANÇA EM RELAÇÃO AO MONITORAMENTO DE SISTEMAS E AUSÊNCIA
DE LOGS DE TRANSAÇÕES.
AUTOR(A): PROF. EDSON MELO DE SOUZA
1. Introdução
Neste tópico será discutido aspectos sobre problemas de falta de geração de Logs e monitoramento
ineficiente de servidores e sistemas.
2. Mecanismos de Logs
Chegar a uma definição do que significa um Log não é uma tarefa simples, porque a maioria das pessoas -
usuários de sistemas - não fazem a mínima ideia do que se trata e, portanto, se torna algo obscuro.
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 2/11
Digamos que, de forma geral, o Log é um arquivo que guarda dados relacionados a quaisquer operações
relevantes que ocorram em um sistema computacional. O registro de um Log é de fundamental importância
para qualquer sistema, na medida em que se torna um meio que facilita a procura de erros, facilita o
desenvolvimento de software e permite que sistemas sejam auditados.
Imagine o seguinte cenário hipotético onde existem diversos operadores de crédito que liberam
diariamente  empréstimos consignados. Além dos dados da transação, deve ser registrado, em um arquivo
ou sistema separado da aplicação, dados sobre: qual usuário fez a transação, em qual horário, houve
sucesso ou fracasso na gravação do banco de dados, quem fez a liberação do crédito, entre outros. Esses
dados serão gravados nos arquivo de Log, pois para cada tipo de necessidade, vários arquivo diferentes
devem ser criados e alimentados.
Um outro exemplo é a realização de Backups, onde devem ser registrados todos os dados relacionados a
horário, quem o realizou, qual a quantidade de dados gravados, verificação de integridade, entre outros.
Esse procedimento é necessário, pois caso haja algum problema, este também deverá ser gravado,
fornecendo condições de ser realizada uma análise nos dados.
Em sistemas transacionais que exigem Controle de Acesso, é obrigatória a utilização de Logs, de forma que
o registro de dados como número de tentativas sem sucesso, qual senha foi utilizada, qual o nome do
usuário, entre outras. Esse tipo de registro permite que o acesso ao sistema seja constantemente
monitorado e, caso ocorra algum problema no futuro, há condições de rastrear o problema. Além disso, o
monitoramento constante dos Logs permite a correção de problemas de maneira muito rápida.
A imagem a seguir mostra um fragmento de um Log do sistema operacional Windows.
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 3/11
Legenda: TELA COM OS DADOS DE UM LOG DO DNS DO WINDOWS
3. Proteção com Logs e Monitoramento
Quando falamos de aplicações web é importante você ter em mente que o ambiente é agressivo e qualquer
tipo de ataque, por mais simples que seja, pode causar severos prejuízos. Portanto, utilizar os Logs de forma
correta, aplicando Criptografia, Serialização e Monitoramento são maneiras de manter uma aplicação
segura.
A seguir é mostrado no vídeo um pequeno sistema de registro de Logs que “guarda informações” de
Controle de Acesso, permitindo realizar algumas análises nos registros gravados. O vídeo também mostra
como realizar o monitoramento do sistema em busca de anormalidades no sistema operacional, neste caso
Windows.
No exemplo anterior você pode conferir com implementar uma rotina simples para a criação de Logs de
Acesso. A seguir é apresentado o código fonte utilizado no vídeo.
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 4/11
1. Arquivo: login.php
2. 
3. <?php
4. 
5. # dados para acesso ao banco de dados
6. define('HOSTNAME', 'localhost');
7. define('DB_TYPE', 'mysql');
8. define('DB_NAME', 'teste_tseg');
9. define('DB_USER', 'root');
10. define('DB_PASSWORD', '');
11. define('DB_CHARSET', 'utf8');
12. 
13. # caso ocorram erros, serão mostrados no navegador
14. ini_set('display_errors', 1);
15. ini_set('display_startup_erros', 1);
16. error_reporting(E_ALL);
17. 
18. # abre um bloco de tratamento de erros para conexão com o banco de dados
19. try {
20. # cria uma nova conexão com a biblioteca PDO e configura o ambiente
21. $PDO = new PDO(
22. DB_TYPE . ":host=" .
23. HOSTNAME . ";dbname=" .
24. DB_NAME, DB_USER, DB_PASSWORD
25. );
26. $PDO->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
27. $PDO->setAttribute(\PDO::ATTR_PERSISTENT, FALSE);
28. $PDO->setAttribute(\PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf-8");
29. $PDO->exec("set names utf8");
30. 
31. # recupera os valores enviados pelo formulário com filtragem
32. $usuario = filter_input(INPUT_POST, 'usuario', FILTER_SANITIZE_STRING);
33. $senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
34. 
35. # cria astring SQL
36. $sql = "SELECT * FROM usuarios WHERE "
37. . "usuario = :usuario AND senha = :senha LIMIT 1";
38. 
39. # prepara a consulta
40. $sth = $PDO->prepare($sql);
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 5/11
41. 
42. # atribui os valores recuperados para as variáveis internas na instrução SQL
43. $sth->bindValue(":usuario", $usuario);
44. $sth->bindValue(":senha", $senha);
45. $sth->execute();
46. 
47. # executa a consulta
48. $result = $sth->fetchAll();
49. 
50. # se retornou mais de um registro, alguma coisa está errada
51. # ou então, não houve sucesso no login
52. if ($sth->RowCount() != 1) {
53. 
54. # captura o ip do visitante e gravar no banco juntamente com os demais da
55. # salva o IP do visitante (só não funciona em localhost)
56. $ip = $_SERVER['REMOTE_ADDR']; 
57. 
58. # salva a data e hora atual (formato MySQL)
59. $data_hora = date('Y-m-d H:i:s'); 
60. 
61. if(empty($usuario)){
62. $usuario = "vazio";
63. }
64. if(empty($senha)){
65. $senha = "vazio";
66. }
67. 
68. # string SQL para gravar no banco
69. $sql = "INSERT INTO log_acesso (ip, data_hora, usuario, senha, descricao)
70. . "(:ip, :data_hora, :usuario, :senha, :descricao)";
71. $sth = $PDO->prepare($sql);
72. $sth->bindValue(":ip", $ip);
73. $sth->bindValue(":data_hora", $data_hora);
74. $sth->bindValue(":usuario", $usuario);
75. $sth->bindValue(":senha", $senha);
76. $sth->bindValue(":descricao", "Tentativa de Login sem Sucesso");
77. $sth->execute();
78. 
79. # implementar a lógica para guardar o IP e o número de tentativas
80. print 'Acesso Negado!<br><br>';
81. print '<a href="index.php"><<< Voltar</a>';
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 6/11
SAIBA MAIS!
Ferramentas para Gerenciamento de Logs: https://blog.mandic.com.br/artigos/as-5-ferramentas-
mais-populares-para-gerenciamento-de-log/ (https://blog.mandic.com.br/artigos/as-5-
ferramentas-mais-populares-para-gerenciamento-de-log/)
Análise e Interpretação de Logs: https://www.cert.br/docs/palestras/nbso-gter15-tutorial2003.pdf
(https://www.cert.br/docs/palestras/nbso-gter15-tutorial2003.pdf)
A seguir você pode conferir as recomendações OWASP para Logs e Monitoramento Ineficientes.
 
Agentes de Ameaça Falhas de Segurança Impacto
Aplicação
Específica
Exploraç
ão: 
2
Prevalência: 
3
Detecção: 
1
Técnico: 
2
Comercial
82. 
83. } else {
84. # mostra o registro
85. print 'Usuário: ' . $result[0]['usuario'] . '<br>';
86. print 'Nome...: ' . $result[0]['nome'] . '<br>';
87. }
88. } catch (PDOException $ex) {
89. # caso ocorra um erro na conexão, mostrará a mensagemdo erro
90. echo $ex->getMessage();
91. }
https://blog.mandic.com.br/artigos/as-5-ferramentas-mais-populares-para-gerenciamento-de-log/
https://www.cert.br/docs/palestras/nbso-gter15-tutorial2003.pdf
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 7/11
Agentes de Ameaça Falhas de Segurança Impacto
A exploração de
registros e
monitoramento
insuficientes é o
alicerce de quase todos
os incidentes
importantes.
 
Os atacantes confiam
na falta de
monitoramento e
resposta pontual para
alcançar seus objetivos
sem serem detectados.
 
 
 
Esse problema está incluído no Top 10
(https://owasp.blogspot.com/2017/08/owas
p-top-10-2017-project-update.html) com
base em uma pesquisa do setor.
 
Uma estratégia para determinar se você
tem monitoramento suficiente é examinar
os logs após o teste de penetração. As
ações dos testadores devem ser registradas
suficientemente para entender quais danos
elas podem ter infligido.
 
 
 
A maioria dos ataques bem-
sucedidos começa com a análise
de vulnerabilidade. Permitir que
essas investigações continuem
pode aumentar a probabilidade
de exploração bem-sucedida para
quase 100%.
 
Em 2016, a identificação de uma
violação levou uma média de 191
dias (https://www-
01.ibm.com/common/ssi/cgi-
bin/ssialias?
htmlfid=SEL03130WWEN&) -
tempo suficiente para que os
danos causasse prejuízos.
 
 
Logging insuficiente, detecção,
monitoramento e resposta ativa ocorrem
a qualquer momento:
De acordo com o risco dos dados armazenados ou processados pelo aplicativo:
Eventos auditáveis, como logins, logins
com falha e transações de alto valor não
são registrados.
Certifique-se de que todas as falhas de login, controle de acesso e de validaçã
entrada do lado do servidor possam ser registradas com contexto de usuário sufic
para identificar contas suspeitas ou mal-intencionadas e mantidas por tempo sufic
para permitir análise forense atrasada.
Avisos e erros geram mensagens de log
inadequadas ou pouco claras. Logs de
aplicativos e APIs não são monitorados
para atividades suspeitas.
Assegure-se de que os logs sejam gerados em um formato que possa ser facilm
consumido por uma solução centralizada de gerenciamento de logs.
https://owasp.blogspot.com/2017/08/owasp-top-10-2017-project-update.html
https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=SEL03130WWEN&
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 8/11
Logging insuficiente, detecção,
monitoramento e resposta ativa ocorrem
a qualquer momento:
De acordo com o risco dos dados armazenados ou processados pelo aplicativo:
Os logs são armazenados apenas
localmente e os limites de alerta
apropriados e processos de
escalonamento de resposta não estão em
vigor ou efetivos.
Assegure que as transações de alto valor tenham uma trilha de auditoria com cont
de integridade para impedir adulterações ou exclusões, como tabelas de banco de d
somente de anexação ou semelhantes.
O aplicativo não consegue detectar,
escalar ou alertar para ataques ativos em
tempo real ou quase em tempo real.
Você está vulnerável a vazamentos de
informações se tornar os eventos de
registro e alerta visíveis para um usuário
ou um invasor (consulte A3: 2017
Sensitive Data Exposure
(https://www.owasp.org/index.php/Top_
10-2017_A3-Sensitive_Data_Exposure))
Estabeleça monitoramento e alertas eficazes, de modo que atividades suspeitas s
detectadas e respondidas em tempo hábil.
Estabelecer ou adotar uma resposta a incidentes e um plano de recuperação, co
NIST 800-61 rev 2 (https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/fina
posterior.
 
Existem estruturas de proteção de aplicativos comerciais e de código aberto, 
OWASP AppSensor (https://www.owasp.org/index.php/OWASP_AppSensor_Pro
firewalls de aplicativos da Web, como o ModSec
(https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_P
ct), com o Conjunto de Regras Principais do OWASP ModSecurity e softwar
correlação de logs com painéis e alertas personalizados.
Traduzido de forma livre por Edson Melo de Souza. 
Original: https://www.owasp.org/index.php/Top_10-2017_A10-Insufficient_Logging%26Monitoring
(https://www.owasp.org/index.php/Top_10-2017_A10-Insufficient_Logging%26Monitoring)
Resumo
Neste tópico você aprendeu como realizar a criação de Logs de Monitoramento e como realizar o
Monitoramento de forma eficiente. Também aprendeu como observar algumas leituras do sistema
operacional para melhorar a segurança dos dados. Caso tenha ficado alguma dúvida, releia o tópico e
consulte os links de apoio. Se ainda persistir alguma dúvida, poste-a no fórum para que os colegas e o tutor
possa lhe ajudar.
Bons estudos!
 
https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure
https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final
https://www.owasp.org/index.php/OWASP_AppSensor_Project
https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
https://www.owasp.org/index.php/Top_10-2017_A10-Insufficient_Logging%26Monitoring
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 9/11
ATIVIDADE FINAL
Uma das vantagens em utilizar um sistema de Logs é: 
A. Permitir que sejam registrados eventos importantes do sistema. 
B. Deixar o sistema mais robusto e com menor possibilidade de falhas. 
C. Auxiliar no treinamento de funcionários. 
D. Deixa o sistema mais profissional. 
Um Log pode ser definido como: 
A. Um arquivo que guarda dados relacionados a quaisquer operações relevantes que ocorram em um
sistema computacional. 
B. Um sistema de monitoramento computacional. 
C. Uma tecnologia voltada para aplicações web. 
D. Um sistema que permite evitar invasões. 
O registro de dados de acesso em Logs é obrigatório em: 
A. Controles de Acesso. 
B. Sistemas Windows. 
C. Sistemas Linux. 
D. Acessos permitidos para usuários cadastrados.
REFERÊNCIA
ASSUNÇÃO, Marcos Flávio Araújo. ANÁLISE DE EFICIÊNCIA NA DETECÇÃO DE VULNERABILIDADES EM
AMBIENTES WEB COM O USO DE FERRAMENTAS GRATUITAS. Projetos e Dissertações em Sistemas de
Informação e Gestão do Conhecimento, v. 4, n. 1, 2015.
DE HOLANDA, Maristela Terto; FERNANDES, Jorge Henrique Cabral. Segurança no desenvolvimento de
aplicações. Gestão da Segurança da Informação e Comunicações-CEGSIC2009-2011, 2009.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de
algoritmos e estruturas de dados. São Paulo: Makron Books, 1993.
MARINHO, Carlos et al. Experiências no Uso da Metodologia Coding Dojo nas Disciplinas Básicas de
Programação de Computadores em um Curso Interdisciplinar do Ensino Superior. In: Anais dos Workshops
do Congresso Brasileiro de Informática na Educação. 2016. p. 1097.
MOURÃO, Andreza. Uma proposta da eficiência do uso da Metodologia Ativa Baseada em Problemas,
utilizando Dojo de Programação, aplicada na disciplina de Lógica de Programação. In: Anais do Workshop
de Informática na Escola. 2017. p. 667.
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 10/11
OWASP. Open Web Application Security Project. Disponível em:
<https://www.owasp.org/index.php/About_The_Open_Web_Application_Security_Project
(https://www.owasp.org/index.php/About_The_Open_Web_Application_Security_Project)>. Acesso em: 12
out. 2018.
OWASP. Top 10 Most Critical Web Application Security Risks. Disponível em:
<https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
(https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project)>. Acesso em: 12 out. 2018.
PRESSMAN, Roger; MAXIM, Bruce. Engenharia de Software-8ª Edição. McGraw Hill Brasil, 2016.
SICA, Carlos; REAL, Petter. Programação Segura utilizando PHP. São Paulo: STALLINGS, William.
Criptografia e segurança em redes, v. 4, 2007.
SOMMERVILLE, Ian; ARAKAKI, Reginaldo; MELNIKOFF, Selma Shin Shimizu. Engenharia de software.
Pearson Prentice Hall,2008.
VIANA, Sidney et al. SEGURANÇA NO DESENVOLVIMENTO DE APLICAÇÕES WEB COM A QUALIDADE DOS
DADOS. Revista de Sistemas e Computação-RSC, v. 3, n. 2, 2013.
https://www.owasp.org/index.php/About_The_Open_Web_Application_Security_Project
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
01/08/2021 AVA UNINOVE
https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 11/11

Mais conteúdos dessa disciplina