Escolar Documentos
Profissional Documentos
Cultura Documentos
Luanda, 2023
REPÚBLICA DE ANGOLA
MINISTÉRIO DAS TELECOMUNICAÇÕES E TECNOLOGIAS DE INFORMAÇÃO
MINISTÉRIO DA EDUCAÇÃO
INSTITUTO DE TELECOMUNICAÇÕES
ITEL
I
RESUMO
Ao longo deste relatório iremos abordar sobre o Sistema de Detenção de
Vulnerabilidades. Apresentamos o tema em três vertentes onde incluem: introdução,
desenvolvimento e conclusão.
Palavras chave
• Vulnerabilidades
• Teste
• Falhas
• Relatório
• Tecnologias
• Scanner
• Detenção
• Automatização
• Pesquisa / Pesquisar
II
ABSTRACT
Throughout this report we will address the Vulnerability Detection System. We present
the theme in three aspects which include: introduction, development and conclusion.
During the introduction, the theme was contextualized, as well as the importance it
represents at a global and local level. On the other hand, during development we
explained about the two modules that involve the theme, where it stands out:
Finally, as we conclude, we present the perspective for which this project is intended, as
well as the future achievements that we can implement.
Key words
• Vulnerabilities
• Test
• Fails
• Reports
• Technologies
• Scanner
• Detection
• Automatization
• Research / to research
III
ÍNDICE GERAL
DEDICATÓRIA ....................................................................................................................... I
RESUMO .............................................................................................................................. II
ABSTRACT ........................................................................................................................... III
ÍNDICE GERAL ..................................................................................................................... IV
ÍNDICE DETALHADO............................................................................................................ V
ÍNDICE DE TABELAS ........................................................................................................... VII
1 INTRODUÇÃO ............................................................................................................. IX
2 REQUISITOS DO SISTEMA......................................................................................... XIII
3 TECNOLOGIAS E FERRAMENTAS .............................................................................. XVI
4 ARQUITETURA DO SISTEMA..................................................................................... XIX
5 MÓDULO DE GESTÃO DE UTILIZADORES ................................................................. XXI
6 MÓDULO DE GESTÃO DE VULNERABILIDADES ....................................................... XXX
7 CONCLUSÕES E RESULTADOS OBTIDOS ............................................................... XXXIX
8 PERSPECTIVAS FUTURAS ............................................................................................XL
9 ANEXOS .....................................................................................................................XLI
10 REFERÊNCIAS BIBLIOGÁFICAS ..................................................................................XLII
IV
ÍNDICE DETALHADO
DEDICATÓRIA ....................................................................................................................... I
RESUMO .............................................................................................................................. II
ABSTRACT ........................................................................................................................... III
ÍNDICE GERAL ..................................................................................................................... IV
ÍNDICE DETALHADO............................................................................................................ V
ÍNDICE DE TABELAS ........................................................................................................... VII
1 INTRODUÇÃO ............................................................................................................. IX
1.1 Considerações Iniciais ......................................................................................... IX
1.2 Objectivos ............................................................................................................ IX
1.2.1 Objectivo Geral ............................................................................................ IX
1.2.2 Objectivos Específicos .................................................................................. IX
1.3 Problemática ........................................................................................................ X
1.4 Solução Desenvolvida........................................................................................... X
1.5 Estrutura do Relatório ......................................................................................... XI
2 REQUISITOS DO SISTEMA......................................................................................... XIII
2.1 Requisitos Funcionais ........................................................................................ XIII
2.2 Requisitos não Funcionais ................................................................................. XIV
2.3 Requisitos de Interface....................................................................................... XV
3 TECNOLOGIAS E FERRAMENTAS .............................................................................. XVI
3.1 Tecnologias Utilizadas ....................................................................................... XVI
3.1.1 Tecnologias de Desenvolvimento .............................................................. XVI
3.1.2 Tecnologias de Modelagem ...................................................................... XVII
3.2 Ferramentas Utilizadas..................................................................................... XVII
3.2.1 Servidores Utilizados................................................................................ XVIII
3.2.2 Plataforma Utilizada ................................................................................ XVIII
4 ARQUITETURA DO SISTEMA..................................................................................... XIX
4.1 Arquitetura Lógica ............................................................................................. XIX
4.2 Arquitetura Física ............................................................................................... XX
5 MÓDULO DE GESTÃO DE UTILIZADORES ................................................................. XXI
5.1 Objectivo do Módulo ........................................................................................ XXI
5.2 Requisitos Funcionais ........................................................................................ XXI
5.2.1 Documentação de Diagrama .................................................................... XXII
5.3 Identificação dos Atores.................................................................................. XXIII
5.4 Modelagem ..................................................................................................... XXIII
5.5 Implementação ............................................................................................... XXIV
V
5.6 Camada de Apresentação ............................................................................... XXVI
5.7 Camada de Negócio ....................................................................................... XXVII
5.8 Camada de Persistência ................................................................................ XXVIII
6 MÓDULO DE GESTÃO DE VULNERABILIDADES ....................................................... XXX
6.1 Objectivo do Módulo ....................................................................................... XXX
6.2 Requisitos Funcionais ....................................................................................... XXX
6.2.1 Documentação de Diagrama ................................................................... XXXI
6.3 Identificação dos Atores................................................................................. XXXII
6.4 Modelagem ................................................................................................... XXXIII
6.5 Implementação ............................................................................................. XXXIII
6.6 Camada de Apresentação .............................................................................. XXXV
6.7 Camada de Negócio ...................................................................................... XXXVI
6.8 Camada de Persistência ............................................................................... XXXVII
7 CONCLUSÕES E RESULTADOS OBTIDOS ............................................................... XXXIX
7.1 Conclusões..................................................................................................... XXXIX
7.2 Resultados Obtidos ....................................................................................... XXXIX
8 PERSPECTIVAS FUTURAS ............................................................................................XL
8.1 Perspectivas Futuras ...........................................................................................XL
9 ANEXOS .....................................................................................................................XLI
10 REFERÊNCIAS BIBLIOGÁFICAS ..................................................................................XLII
VI
ÍNDICE DE TABELAS
Tabela 1 Requisitos Funcionais do Sistema ..................................................................... XIII
Tabela 2 Requisitos não Funcionais do Sistema .............................................................. XIV
Tabela 3 Requisitos de Interface do Sistema .................................................................... XV
Tabela 4 Tecnologias de Desenvolvimento .................................................................... XVII
Tabela 5 Tecnologias de Modelagem ............................................................................. XVII
Tabela 6 Servidores Utilizados ....................................................................................... XVIII
Tabela 7 Plataforma Utilizada ........................................................................................ XVIII
Tabela 8 Requisitos Funcionais de Gestão de Utilizadores ............................................. XXI
Tabela 9 Documentação do Diagrama de Caso de Uso de Gestão de Utilizadores ....... XXII
Tabela 10 Tecnologias usadas na implementação de Gestão de Utilizadores ............... XXV
Tabela 11 Requisitos Funcionais de Gestão de vulnerabilidades ................................... XXX
Tabela 12 Document. do Diagrama de Caso de Uso de Gestão de vulnerabilidades ... XXXI
Tabela 13 Tecnologias usadas na implementação de Gestão de vulnerabilidades ..... XXXV
VII
ÍNDICE DE FIGURAS
Figura 1 Arquitetura Lógica do Sistema ........................................................................... XIX
Figura 2 Arquitetura Física do Sistema ............................................................................. XX
Figura 3 Modelagem de Gestão de Utilizadores ........................................................... XXIII
Figura 4 Implementação de Gestão de Utilizadores ...................................................... XXIV
Figura 5 Camada de Apresentação de Gestão de Utilizadores...................................... XXVI
Figura 6 Camada de Negócio de Gestão de Utilizadores ............................................. XXVII
Figura 7 Camada de Persistência de Gestão de Utilizadores....................................... XXVIII
Figura 8 Modelagem de Gestão de vulnerabilidades .................................................. XXXIII
Figura 9 Implementação de Gestão de vulnerabilidades ............................................ XXXIV
Figura 10 Camada de Apresentação de Gestão de vulnerabilidades ........................... XXXV
Figura 11 Camada de Negócio de Gestão de Vulnerabilidades ................................... XXXVI
Figura 12 Camada de Implementação de Gestão de Vulnerabilidades ...................... XXXVII
Figura 13 Scannner de vulnerabilidades de Aplicações Web ...........................................XLI
Figura 14 Scanner de Vulnerabilidades para Analise de Trafego .....................................XLI
VIII
1 INTRODUÇÃO
1.2 Objectivos
1.2.1 Objectivo Geral
• Desenvolver um sistema de deteção de vulnerabilidade
IX
1.3 Problemática
A maioria dos sistemas computacionais são inseguros e os ataques contra tais
sistemas, especialmente as aplicações web, tem sido um problema grave tanto para as
organizações que as criam, quanto a seus usuários. Com o intuito de resolver tal problema
as organizações têm gastado montantes nas equipas interna de segurança constituídas
por um número específico de especialistas.
poderão gerir suas contas, selecionar o tipo de teste, aceder a relatórios e gerir todos os
ter a capacidade de diagnosticar possíveis falhas que possam ocorrer em sistemas web.
X
1.5 Estrutura do Relatório
O presente Relatório está constituído por 10 capítulos dentre os quais são
destacados os seguintes:
XI
capítulo são: Objectivo do Módulo, Requisitos Funcionais, Identificação dos Atores,
Modelagem, Camada de Implementação, Camada de Negócio e Camada de Persistência.
XII
2 REQUISITOS DO SISTEMA
Requisito é o que um sistema ou componente deve possuir para satisfazer um
contrato, padrão ou especificação. De forma mais geral um requisito é uma condição
necessária para satisfazer um objetivo. Abaixo é apresentado tabelas com os requisitos
do sistema:
Requisito Descrição
XIII
2.2 Requisitos não Funcionais
Requisito Descrição
XIV
2.3 Requisitos de Interface
Requisito Descrição
XV
3 TECNOLOGIAS E FERRAMENTAS
Tecnologias Descrição
Embedded JavaScript templating (EJS) é uma engine
EJS de visualização transportar dados do back-end para o
front-end, incorporando JAVASCRIPT no HTML
Linguagem de tipagem dinâmica usada para
Javascript desenvolvimento de softwares, aplicado no lado do
servidor na construção do sistema.
Linguagem de programação de alto nível. Bastante
Python usado em Data science, machine learning e
desenvolvimento web.
É uma linguagem explicitamente projetada, destinada
a resolver problemas com linguagens e ferramentas
Go
existentes, enquanto aproveita nativamente as
arquiteturas de hardware modernas.
XVI
SQL (Structured Query Language): Linguagem de Consulta
Estruturada ou SQL, no projecto foi usado a linguagem
SQL para a construção da base de dados.
Tabela 4 Tecnologias de Desenvolvimento
Tecnologias Descrição
Unified Modeling Language, é linguagem
padrão utilizada para modelar e documentar as
UML
diversas fases do desenvolvimento de sistemas.
XVII
software. A seguir, são apresentadas as ferramentas utilizadas para o desenvolvimento
do projecto:
Servidores Descrição
Plataformas Descrição
XVIII
4 ARQUITETURA DO SISTEMA
A arquitetura de um sistema descreve a estrutura, comportamento e relações entre
as entidades a ele pertencentes. Ela é uma descrição, sistematização ou formalização das
interações entre as entidades e seu comportamento. Demonstra as formas como um
sistema pode trabalhar para executar tarefas. Assim como há diferentes tipos de
sistemas, há diferentes tipos de arquitetura de sistemas onde incluem:
Usuário Administrador
XIX
4.2 Arquitetura Física
Na figura abaixo é apresentado a arquitetura física do sistema que representa a
infraestrutura sobre a qual estará funcionando o projecto. Do lado direito pode - se
enxergar a comunicação entre os servidores web e base de dados, e a internet e o servidor
web, respectivamente. No lado esquerdo, pode - se visualizar o intercâmbio entre os
dispositivos finas(computadores ) e a internet, que é considerado como lado do cliente.
Servidor web
PC2 NODE.JS
INTERNET
PC1
Servidor de
Dados MYSQL
XX
5 MÓDULO DE GESTÃO DE UTILIZADORES
Identificação Requisitos
XXI
5.2.1 Documentação de Diagrama
Projecto: AngoHunt
Descrição sucinta: Este caso de uso é responsável pela inclusão de um novo usuário, seja
ele normal ou administrador, bem como alteração dos dados, consulta, atualização e
exclusão de usuários.
XXII
5.3 Identificação dos Atores
Os atores representam os papéis desempenhados pelos diversos usuários. Atores
podem ser pessoas que interagem com o sistema, um hardware que dispara uma
interação, ou um outro software que comunica com o sistema.
5.4 Modelagem
A modelagem é uma das principais atividades que levam à implementação de um
bom software. Utiliza vários modelos para projetar um determinado sistema. Os
melhores tipos de modelos são aqueles que permitem a escolha do grau de detalhamento
das informações, tal como é apresentado a seguir:
Usuário adminstrador
XXIII
5.5 Implementação
Camada de Implementação é uma lógica de interface que representa o código
responsável pela apresentação, controle da página e tela de navegação.
MVC (Model View Controller) é uma arquitetura de projeto onde seu objetivo é
separar o código da aplicação em três camadas fazendo com que cada área só trabalhe
com itens que competem à elas.
Model (M)
XXIV
View(V)
O view no padrão MVC, servirá apenas para exibir as informações enviadas pelo
controller, aqui não existirá nenhuma lógica ou regra de negócio, apenas a interface do
usuário.
Controller(C)
XXV
5.6 Camada de Apresentação
XXVI
5.7 Camada de Negócio
Esta última, origina uma nova tabela ao ser convertido ao modelo relacional como foi
apresentado na camada de persistência
XXVII
5.8 Camada de Persistência
XXVIII
A tabela atividade armazena as atividades de maior uso no sistema, a quantidade
de uso, tendo como referência os usuários que as realizaram.
XXIX
6 MÓDULO DE GESTÃO DE VULNERABILIDADES
Identificação Requisitos
XXX
6.2.1 Documentação de Diagrama
Projecto: AngoHunt
Descrição sucinta: Este caso de uso é responsável pela criação de relatórios específicos
para cada tipo de teste, de modo que usuário possa consultar relatórios com base nas
pesquisas que este realiza. Com este caso de uso, ainda é possível atualizar e excluir os
dados de cada relatório.
Consultar relatórios para ter uma noção mais abrangente do tipo de falha
que o sistema detectou.
Os técnicos da aplicação irão atualizar os relatórios
XXXI
6.3 Identificação dos Atores
Os atores representam os papéis desempenhados pelos diversos usuários. Atores
podem ser pessoas que interagem com o sistema, um hardware que dispara uma
interação, ou um outro software que comunica com o sistema.
XXXII
6.4 Modelagem
6.5 Implementação
Camada de Implementação é uma lógica de interface que representa o código
responsável pela apresentação, controle da página e tela de navegação.
XXXIII
MVC (Model View Controller) é uma arquitetura de projeto onde seu objetivo é
separar o código da aplicação em três camadas fazendo com que cada área só trabalhe
com itens que competem à elas.
Model (M)
View(V)
O view no padrão MVC, servirá apenas para exibir as informações enviadas pelo
controller, aqui não existirá nenhuma lógica ou regra de negócio, apenas a interface do
usuário.
Controller(C)
XXXIV
necessários para a comunicação entre o modelo e a visão. Abaixo apresentamos de forma
sucinta, as tecnologias que constituem cada uma das partes no presente módulo:
XXXV
teste definido pelo utilizador. Os resultados da pesquisa serão apresentados abaixo onde
inclui a possibilidade de gerar relatórios de acordo a pesquisa realizada.
Ainda é possível aceder ao local onde são guardados todos os relatórios gerados ao
pressionar o botão relatórios, a partir da qual o utilizador tem a possibilidade de submeter
os relatórios ao administrador, bem como, excluir aqueles que não achar conveniente.
De acordo a figura, a camada de negócio do módulo presente é composta por três (3)
entidades, nomeadamente users, relatório e atividade, cujas restrições de mapeamento
aplicadas são:
Entre a entidade users e atividade existe uma restrição do tipo muitos para muitos
(n:n), fazendo com que a camada a seguir contenha uma tabela a mais para o registro
normalizado dos dados, chamada “ tarefa” conforme mostrado na figura seguinte.
XXXVI
6.8 Camada de Persistência
XXXVII
armazenado com a devida data de criação, para que possa ser excluído caso o seu
conteúdo seja obsoleto com o tempo.
XXXVIII
7 CONCLUSÕES E RESULTADOS OBTIDOS
7.1 Conclusões
Ao findar da elaboração do trabalho, concluímos que com o scanner de
vulnerabilidades é possível reduzir, grandemente, o esforço aplicado pelos especialistas
em segurança cibernética, pois estas ferramentas ajudam a monitorar continuamente as
redes, aplicações e dispositivos, possibilitando as empresas a aprimorarem sua
infraestrutura a cada nova vulnerabilidade descoberta.
XXXIX
8 PERSPECTIVAS FUTURAS
XL
9 ANEXOS
XLI
10 REFERÊNCIAS BIBLIOGÁFICAS
DEVEMIDIA. Desenvolvimento em Camadas 3: Conceitos. Fonte:
https://www.devmedia.com.br. Acesso em 28 de 11 de 2022.
JACQUES. Padrão Camadas: Arquitetura em 3 camadas. Fonte:
http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/arqu/camadas.html. Acesso em
28 de 11 de 2022.
LIMA, A. Diferença entre Arquitetura de Sistema e Arquitetura de Software. Fonte:
https://acervolima.com. Acesso em 26 de 11 de 2022.
XLII