[PD1] - Improved the writing and structure of the risk assessment chapter
This commit is contained in:
parent
4ff3e7317f
commit
9b9c6993e2
1 changed files with 54 additions and 84 deletions
|
@ -18,6 +18,60 @@ Algumas notas sobre o projeto:
|
||||||
|
|
||||||
Nas secções seguintes iremos detalhar cada componente do sistema, bem como as funcionalidades implementadas.
|
Nas secções seguintes iremos detalhar cada componente do sistema, bem como as funcionalidades implementadas.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Análise de Risco
|
||||||
|
|
||||||
|
Esta análise de risco do sistema visa identificar as potenciais vulnerabilidades e ameaças que possam comprometer a segurança do sistema de mensagens. É essencial considerar os diversos fatores que podem impactar a integridade, confidencialidade e disponibilidade das mensagens trocadas entre os utilizadores.
|
||||||
|
|
||||||
|
### Potenciais Vulnerabilidades
|
||||||
|
|
||||||
|
1. **Comunicação Não Segura** - Se a comunicação entre os clientes e o servidor não foi cifrada, qualquer *man in the middle* consegue ler o conteúdo a ser transmitido.
|
||||||
|
|
||||||
|
1. **Armazenamento Inseguro de Chaves Privadas** - Se as chaves privadas dos utilizadores forem armazenadas de forma inadequada, como em arquivos desprotegidos, existe o risco de acesso não autorizado, comprometendo a segurança e autenticidade das mensagens.
|
||||||
|
|
||||||
|
1. **Autenticação Fraca** - Um sistema de autenticação vulnerável pode permitir que utilizadores mal-intencionados obtenham acesso não autorizado às contas dos utilizadores legítimos.
|
||||||
|
|
||||||
|
1. **Manipulação de Mensagens** - A ausência de mecanismos eficazes de controlo pode facilitar a manipulação do conteúdo das mensagens durante a transmissão, comprometendo sua integridade.
|
||||||
|
|
||||||
|
1. **Vulnerabilidades de *Software*** - Falhas de segurança no *software* desenvolvido e utilizado para implementar o sistema podem ser exploradas para obter acesso não autorizado ou comprometer a segurança dos dados.
|
||||||
|
|
||||||
|
### Possíveis Ameaças:
|
||||||
|
|
||||||
|
1. **Ataques de Intercetação de Dados** - Atacantes podem tentar intercetar a comunicação entre o cliente e o servidor para obter informações sensíveis, como chaves privadas ou conteúdo de mensagens.
|
||||||
|
|
||||||
|
1. **Ataques de *Denial of Service (DOS)*** - Um ataque de *DOS* pode tornar o servidor inacessível ao sobrecarregá-lo com um grande volume de solicitações, prejudicando a disponibilidade do serviço.
|
||||||
|
|
||||||
|
1. **Ataques de Engenharia Social:** - Atacantes podem tentar manipular os utilizadores legítimos para obter acesso às suas credenciais de acesso por meio de técnicas de engenharia social.
|
||||||
|
|
||||||
|
1. **Exploração de Vulnerabilidades de *Software*:** - Vulnerabilidades conhecidas ou desconhecidas no *software* utilizado podem ser exploradas para comprometer a segurança do sistema.
|
||||||
|
|
||||||
|
### Propriedades Requiridas:
|
||||||
|
|
||||||
|
1. **Autenticidade do Remetente** - O cliente deseja ter a garantia de que a mensagem recebida foi realmente enviada pelo remetente indicado.
|
||||||
|
|
||||||
|
1. **Confidencialidade das Mensagens** - O cliente quer assegurar que apenas ele possui a capacidade de decifrar as mensagens que lhe foram enviadas, garantindo assim a privacidade das comunicações.
|
||||||
|
|
||||||
|
1. **Servidor Malicioso** - Os clientes pretendem proteger-se contra a possibilidade de o servidor agir de forma maliciosa, garantindo que as suas interações sejam seguras e protegidas, necessitando de mecanismos que garantam a segurança das suas interações independentemente da confiabilidade do servidor, como a utilização de criptografia *end-to-end*.
|
||||||
|
|
||||||
|
1. **Comunicação Segura com o Servidor** - Os clientes exigem que a comunicação com o servidor seja segura, protegida contra acesso não autorizado e intercetação por partes não autorizadas, garantindo assim a integridade e confidencialidade dos dados transmitidos.
|
||||||
|
|
||||||
|
### Medidas de Mitigação:
|
||||||
|
|
||||||
|
1. **Protocolo de comunicação** - Utilizar um protocolo de comunicação que garanta a confidencialidade para proteger a comunicação entre o cliente e o servidor.
|
||||||
|
|
||||||
|
1. **Armazenamento Seguro de Chaves Privadas** - Adotar práticas seguras de armazenamento para proteger as chaves privadas dos utilizadores contra acesso não autorizado, como utilizar *passphrases* para proteger o acesso à *key store*.
|
||||||
|
|
||||||
|
1. **Fortalecimento da Autenticação** - Implementar métodos robustos de autenticação, como certificados digitais, para garantir a identidade dos utilizadores e proteger contra acesso não autorizado.
|
||||||
|
|
||||||
|
1. **Validação de Dados** - Implementar controles de validação de dados para garantir a integridade das mensagens e prevenir a manipulação de dados por partes não autorizadas, como, por exemplo, assinar "hashes" das mensagens enviadas.
|
||||||
|
|
||||||
|
1. **Atualizações de *Software*** - Manter o *software* utilizado atualizado para mitigar o risco de exploração de vulnerabilidades conhecidas e garantir a segurança do sistema.
|
||||||
|
|
||||||
|
Esta breve análise de risco destaca a importância de identificar e mitigar potenciais vulnerabilidades e ameaças para garantir a segurança do sistema desenvolvido. A implementação de medidas de segurança adequadas é essencial para proteger os dados e garantir o funcionamento seguro.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Certificates and Keys
|
## Certificates and Keys
|
||||||
|
|
||||||
Falar da criacao de certificados e chaves para o servidor e clientes e se calhar das fake ou entao no fim para falar da validacao e seguranca contra ataques
|
Falar da criacao de certificados e chaves para o servidor e clientes e se calhar das fake ou entao no fim para falar da validacao e seguranca contra ataques
|
||||||
|
@ -67,91 +121,7 @@ falar da fakeCA
|
||||||
|
|
||||||
[Commands used to generate the key stores](./certs/README.md)
|
[Commands used to generate the key stores](./certs/README.md)
|
||||||
|
|
||||||
## Análise de Risco do Projeto de Desenvolvimento I (PD1)
|
|
||||||
|
|
||||||
A análise de risco do sistema visa identificar potenciais vulnerabilidades e ameaças que possam comprometer a segurança do sistema de mensagens. É essencial considerar diversos fatores que podem impactar a integridade, confidencialidade e disponibilidade das mensagens trocadas entre os utilizadores.
|
|
||||||
|
|
||||||
### Vulnerabilidades Potenciais:
|
|
||||||
|
|
||||||
1. **Comunicação Não Segura:**
|
|
||||||
|
|
||||||
- Se a comunicação entre os clientes e o servidor não foi cifrada, qualquer `man in the middle` consegue ler o conteudo trocado
|
|
||||||
|
|
||||||
1. **Armazenamento Inseguro de Chaves Privadas:**
|
|
||||||
|
|
||||||
- Se as chaves privadas dos utilizadores forem armazenadas de forma inadequada, como em arquivos desprotegidos, há o risco de acesso não autorizado.
|
|
||||||
|
|
||||||
1. **Autenticação Fraca:**
|
|
||||||
|
|
||||||
- Um sistema de autenticação vulnerável pode permitir que utilizadores mal-intencionados obtenham acesso não autorizado às contas dos utilizadores legítimos.
|
|
||||||
|
|
||||||
1. **Manipulação de Mensagens:**
|
|
||||||
|
|
||||||
- A ausência de mecanismos eficazes de controle pode facilitar a manipulação do conteúdo das mensagens durante a transmissão, comprometendo sua integridade.
|
|
||||||
|
|
||||||
1. **Vulnerabilidades de ‘Software’:**
|
|
||||||
|
|
||||||
- Falhas de segurança no ‘software’ utilizado para implementar o sistema podem ser exploradas por indivíduos mal-intencionados para obter acesso não autorizado ou comprometer a segurança dos dados.
|
|
||||||
|
|
||||||
### Possíveis Ameaças:
|
|
||||||
|
|
||||||
1. **Ataques de Intercetação de Dados:**
|
|
||||||
|
|
||||||
- Atacantes podem tentar intercetar a comunicação entre o cliente e o servidor para obter informações sensíveis, como chaves privadas ou conteúdo de mensagens.
|
|
||||||
|
|
||||||
1. **Ataques de Negação de Serviço (DOS):**
|
|
||||||
|
|
||||||
- Um ataque de negação de serviço pode tornar o servidor inacessível ao sobrecarregá-lo com um grande volume de solicitações, prejudicando a disponibilidade do serviço.
|
|
||||||
|
|
||||||
1. **Ataques de Engenharia Social:**
|
|
||||||
|
|
||||||
- Atacantes podem tentar manipular os usuários legítimos para obter acesso às suas credenciais de acesso por meio de técnicas de engenharia social.
|
|
||||||
|
|
||||||
1. **Exploração de Vulnerabilidades de Software:**
|
|
||||||
|
|
||||||
- Vulnerabilidades conhecidas ou desconhecidas no software utilizado podem ser exploradas por indivíduos mal-intencionados para comprometer a segurança do sistema.
|
|
||||||
|
|
||||||
### Propriedades desejadas
|
|
||||||
|
|
||||||
1. **Autenticidade do Remetente:**
|
|
||||||
|
|
||||||
- O cliente deseja ter a garantia de que a mensagem recebida foi realmente enviada pelo remetente indicado.
|
|
||||||
|
|
||||||
1. **Confidencialidade das Mensagens:**
|
|
||||||
|
|
||||||
- O cliente quer assegurar que apenas ele possui a capacidade de decifrar as mensagens que lhe foram enviadas, garantindo assim a privacidade das comunicações.
|
|
||||||
|
|
||||||
1. **Servidor Malicioso**
|
|
||||||
|
|
||||||
- Os clientes desejam poder operar sob a premissa de que o servidor pode agir de forma maliciosa, portanto, eles procuram mecanismos que garantam a segurança das suas interações, independentemente da confiabilidade do servidor.
|
|
||||||
|
|
||||||
1. **Comunicação Segura com o Servidor:**
|
|
||||||
|
|
||||||
- Os clientes exigem que a comunicação com o servidor seja segura, protegida contra acesso não autorizado e intercetação por partes não autorizadas, garantindo assim a integridade e confidencialidade dos dados transmitidos.
|
|
||||||
|
|
||||||
### Medidas de Mitigação:
|
|
||||||
|
|
||||||
1. **Protocolo de comunicação:**
|
|
||||||
|
|
||||||
- Utilizar um protocolo de comunicação que garanta a confidencialidade para proteger a comunicação entre o cliente e o servidor.
|
|
||||||
|
|
||||||
1. **Armazenamento Seguro de Chaves Privadas:**
|
|
||||||
|
|
||||||
- Adotar práticas seguras de armazenamento para proteger as chaves privadas dos utilizadores contra acesso não autorizado, como utilizar "passphrases" para proteger o acesso à "key store".
|
|
||||||
|
|
||||||
1. **Fortalecimento da Autenticação:**
|
|
||||||
|
|
||||||
- Implementar métodos robustos de autenticação, como certificados digitais, para garantir a identidade dos utilizadores e proteger contra acesso não autorizado.
|
|
||||||
|
|
||||||
1. **Validação de Dados:**
|
|
||||||
|
|
||||||
- Implementar controles de validação de dados para garantir a integridade das mensagens e prevenir a manipulação de dados por partes não autorizadas, como, por exemplo, assinar "hashes" das mensagens enviadas.
|
|
||||||
|
|
||||||
1. **Atualizações de ‘Software’:**
|
|
||||||
|
|
||||||
- Manter o ‘software’ utilizado atualizado para mitigar o risco de exploração de vulnerabilidades conhecidas e garantir a segurança do sistema.
|
|
||||||
|
|
||||||
Em suma, a análise de risco do projeto PD1 destaca a importância de identificar e mitigar potenciais vulnerabilidades e ameaças para garantir a segurança do sistema de mensagens desenvolvido. A implementação de medidas de segurança adequadas é essencial para proteger os dados e garantir o funcionamento seguro do sistema.
|
|
||||||
|
|
||||||
## Decisoes tomadas
|
## Decisoes tomadas
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue