Desenvolvimento de Sistemas Seguros: A Importância da Segurança em Sistemas de Software

Este post foi escrito em colaboração com Eunice De Borba Correia 1 INTRODUÇÃO Hoje em dia, com quase tudo conectado à internet, a segurança dos sistemas de software virou uma grande preocupação. Ataques e acessos indevidos podem acontecer a qualquer momento, e por isso é tão importante que os sistemas já sejam pensados para se proteger desde o começo. Quando se fala em segurança, fala-se da proteção dos dados e do bom funcionamento do sistema em geral, mesmo diante de possíveis ameaças. Isso é ainda mais importante em áreas como os sistemas do governo, ecommerce ou qualquer serviço que lida com informações sensíveis e confidenciais. Ou seja, desenvolver sistemas usando técnicas seguras é algo essencial para garantir confiança e evitar prejuízos em todos os aspectos. 2 FUNDAMENTAÇÃO TEÓRICA A segurança no desenvolvimento de software deve ser pensada desde quando se inicia o projeto lá na arquitetura do sistema. Precisa-se planejar a segurança de forma estruturada para ajudar a prevenir falhas e a tornar o software mais resistente a ataques externos. E para isso, é fundamental aplicar princípios como autenticação forte, validação de entradas, revisões de código, testes de segurança e uso de bibliotecas confiáveis. Quando esses princípios são aplicados ao longo do ciclo de desenvolvimento, os riscos de vulnerabilidades diminuem consideravelmente (Elias, 2015). Nesse contexto, Elias (2015, p. 143) afirma que: Segurança de arquitetura consiste em planejar toda a construção de software pensando na adoção dos princípios básicos de segurança de software, como: diminuir a superfície de ataque; segurança por padrão; defesa em profundidade; falha segura e menor privilégio. Esses princípios tornam o sistema mais forte ao diminuir os pontos de entrada de ataques, garantindo comportamentos seguros por padrão e aplicando restrições de acesso adequadas. Ao seguir esse tipo de modelo, os desenvolvedores constroem aplicações mais confiáveis e resilientes diante de ameaças cada vez mais complexas (Elias, 2015). A segurança é considerada como um atributo de sistema de software, ela demonstra a capacidade que o software tem de se proteger de ataques externos, como acidentes ou intencionados de terceiros. Os ataques acontecem principalmente pela conexão da maioria dos computadores às redes de internet, sendo possível seu acesso por outras pessoas. Vários são os exemplos de ataques que podem acontecer, como os vírus, cavalos de troia, acesso não autorizado ao sistema, possibilitando que sejam modificados dados ou até mesmo o próprio sistema. A forma mais segura seria o não acesso à internet, porém é sabido que existem grandes benefícios do acesso à rede, não sendo considerado rentável a desconexão na maioria dos grandes sistemas (Sommerville, 2011). Segundo o autor, para vários sistemas a proteção é um aspecto imprescindível quando se fala de confiabilidade do sistema. Sistemas como: militares, comércio eletrônico e os que envolvem informações confidenciais, precisam ser projetados de forma que tenham um nível bastante elevado de proteção. O livro de Sommerville (2011), traz que são três as principais ameaças a proteção de qualquer sistema de rede: Ameaças à confidencialidade do sistema e seus dados. Essas ameaças podem divulgar informações para pessoas ou programas não autorizados a acessarem-nas. Ameaças à integridade do sistema e seus dados. Essas ameaças podem danificar o software ou corromper seus dados. Ameaças à disponibilidade do sistema e seus dados. Essas ameaças podem restringir, para usuários autorizados, acesso ao software ou a seus dados. (Sommerville, 2011, p.227, 228). O autor ainda pontua que as ameaças citadas acima são interdependentes por natureza. Por exemplo, caso o sistema fique indisponível quando atacado, não será possível realizar a atualização das informações que alteram com o tempo. Ou seja, a integridade do sistema pode ficar em risco. Caso aconteça um ataque bem-sucedido e a integridade fique comprometida, pode ser necessário parar o sistema para resolução do problema, o que impacta em sua disponibilidade (Sommerville, 2011). Sommerville (2011) afirma que o segredo para a segurança de sistemas é garantir que os acidentes não ocorram, mas caso aconteçam suas consequências sejam mínimas. E diz que isto pode ser alcançado das três maneiras a seguir, que juntas se complementam: • Prevenção de perigos: o sistema é construído voltado para que riscos sejam evitados. • Detecção e remoção de perigos: o sistema é projetado já com formas de detectar e remover os perigos antes que acidentes aconteçam. • Limitação de danos: o sistema possui recursos de proteção que limitem os danos que possam causar acidentes. 3 CONCLUSÃO Criar sistemas seguros não é apenas evitar problemas, mas também saber como lidar com eles, caso aconteçam. Um sistema bem desenvolvido precisa identificar os riscos, corrigir as falhas e minimizar os danos quando algo dá errado. A segurança está diretamente ligada à confiab

May 4, 2025 - 21:06
 0
Desenvolvimento de Sistemas Seguros: A Importância da Segurança em Sistemas de Software

Este post foi escrito em colaboração com Eunice De Borba Correia

1 INTRODUÇÃO

Hoje em dia, com quase tudo conectado à internet, a segurança dos sistemas de software virou uma grande preocupação. Ataques e acessos indevidos podem acontecer a qualquer momento, e por isso é tão importante que os sistemas já sejam pensados para se proteger desde o começo.

Quando se fala em segurança, fala-se da proteção dos dados e do bom funcionamento do sistema em geral, mesmo diante de possíveis ameaças. Isso é ainda mais importante em áreas como os sistemas do governo, ecommerce ou qualquer serviço que lida com informações sensíveis e confidenciais. Ou seja, desenvolver sistemas usando técnicas seguras é algo essencial para garantir confiança e evitar prejuízos em todos os aspectos.

2 FUNDAMENTAÇÃO TEÓRICA

A segurança no desenvolvimento de software deve ser pensada desde quando se inicia o projeto lá na arquitetura do sistema. Precisa-se planejar a segurança de forma estruturada para ajudar a prevenir falhas e a tornar o software mais resistente a ataques externos. E para isso, é fundamental aplicar princípios como autenticação forte, validação de entradas, revisões de código, testes de segurança e uso de bibliotecas confiáveis. Quando esses princípios são aplicados ao longo do ciclo de desenvolvimento, os riscos de vulnerabilidades diminuem consideravelmente (Elias, 2015).

Nesse contexto, Elias (2015, p. 143) afirma que:

Segurança de arquitetura consiste em planejar toda a construção de software pensando na adoção dos princípios básicos de segurança de software, como: diminuir a superfície de ataque; segurança por padrão; defesa em profundidade; falha segura e menor privilégio.

Esses princípios tornam o sistema mais forte ao diminuir os pontos de entrada de ataques, garantindo comportamentos seguros por padrão e aplicando restrições de acesso adequadas. Ao seguir esse tipo de modelo, os desenvolvedores constroem aplicações mais confiáveis e resilientes diante de ameaças cada vez mais complexas (Elias, 2015).

A segurança é considerada como um atributo de sistema de software, ela demonstra a capacidade que o software tem de se proteger de ataques externos, como acidentes ou intencionados de terceiros. Os ataques acontecem principalmente pela conexão da maioria dos computadores às redes de internet, sendo possível seu acesso por outras pessoas. Vários são os exemplos de ataques que podem acontecer, como os vírus, cavalos de troia, acesso não autorizado ao sistema, possibilitando que sejam modificados dados ou até mesmo o próprio sistema. A forma mais segura seria o não acesso à internet, porém é sabido que existem grandes benefícios do acesso à rede, não sendo considerado rentável a desconexão na maioria dos grandes sistemas (Sommerville, 2011).

Segundo o autor, para vários sistemas a proteção é um aspecto imprescindível quando se fala de confiabilidade do sistema. Sistemas como: militares, comércio eletrônico e os que envolvem informações confidenciais, precisam ser projetados de forma que tenham um nível bastante elevado de proteção.

O livro de Sommerville (2011), traz que são três as principais ameaças a proteção de qualquer sistema de rede:

  1. Ameaças à confidencialidade do sistema e seus dados. Essas ameaças podem divulgar informações para pessoas ou programas não autorizados a acessarem-nas.
  2. Ameaças à integridade do sistema e seus dados. Essas ameaças podem danificar o software ou corromper seus dados.
  3. Ameaças à disponibilidade do sistema e seus dados. Essas ameaças podem restringir, para usuários autorizados, acesso ao software ou a seus dados. (Sommerville, 2011, p.227, 228).

O autor ainda pontua que as ameaças citadas acima são interdependentes por natureza. Por exemplo, caso o sistema fique indisponível quando atacado, não será possível realizar a atualização das informações que alteram com o tempo. Ou seja, a integridade do sistema pode ficar em risco. Caso aconteça um ataque bem-sucedido e a integridade fique comprometida, pode ser necessário parar o sistema para resolução do problema, o que impacta em sua disponibilidade (Sommerville, 2011).

Sommerville (2011) afirma que o segredo para a segurança de sistemas é garantir que os acidentes não ocorram, mas caso aconteçam suas consequências sejam mínimas. E diz que isto pode ser alcançado das três maneiras a seguir, que juntas se complementam:

• Prevenção de perigos: o sistema é construído voltado para que riscos sejam evitados.
• Detecção e remoção de perigos: o sistema é projetado já com formas de detectar e remover os perigos antes que acidentes aconteçam.
• Limitação de danos: o sistema possui recursos de proteção que limitem os danos que possam causar acidentes.

3 CONCLUSÃO

Criar sistemas seguros não é apenas evitar problemas, mas também saber como lidar com eles, caso aconteçam. Um sistema bem desenvolvido precisa identificar os riscos, corrigir as falhas e minimizar os danos quando algo dá errado.

A segurança está diretamente ligada à confiabilidade do sistema. Por isso, ela deve ser uma parte importante do processo de desenvolvimento, e não algo deixado para depois. Aplicar as técnicas de segurança desde o início é a melhor forma de garantir que o sistema funcione bem e esteja protegido contra ameaças.

4 REFERÊNCIAS BIBLIOGRÁFICAS

SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson, 2011. E-book. Disponível em: https://plataforma.bvirtual.com.br. Acesso em: 29 abr. 2025.

ELIAS, W. Segurança no desenvolvimento de software. In: CAPRINO, Willian Okuhara; CABRAL, Carlos. Trilhas em segurança da informação: caminhos e ideias para a proteção de dados. 1. ed. Rio de Janeiro: Brasport, 2015. P. 135-152. E-book. Disponível em: https://plataforma.bvirtual.com.br. Acesso em: 02 maio 2025.