Fundamentos de Engenharia de Software
1.1 Conceitos Básicos de segurança da informação
Os princípios básicos da segurança de softwares partem de cinco conceitos fundamentais:
Confidencialidade;
Integridade;
Disponibilidade;
Autenticidade;
Legalidade;
A confidencialidade é o princípio responsável pelo controle de acesso à informação apenas por pessoas ou entidades autorizadas para o devido acesso. Já a integridade garante que a informação mantenha todas suas características originais de acordo com a determinação do proprietário dessa informação. A disponibilidade é a propriedade que determina que a informação esteja sempre disponível para o acesso quando necessário, de maneira íntegra e fidedigna. A propriedade da autenticidade é responsável por garantir que a informação vem de origem informada, permitindo a comunicação segura e garantia de que a informação a qual tem acesso é correta e de fonte confiável. A legalidade é a propriedade que define se determinada informação, ou operação, está de acordo com as leis vigentes no país. As mesmas leis que regem um país podem ser completamente diferentes em outro, o que pode ocasionar uma série de problemas, caso o sistema de gestão não seja adaptável. É de extrema importância saber equilibrar o nível de segurança com a funcionalidade e facilidade de uso do software, pois o mais importante para a empresa é o negócio, e a segurança existe para proteger o negócio da empresa, e não atrapalhá-lo.
1.2 Visão Geral sobre o teste de segurança
Trata-se de um teste realista ao nível de segurança das infra-estruturas e da informação que estas detêm. No teste de segurança são testadas vulnerabilidades técnicas e conceituais das infra- estruturas alvo. O objetivo principal é simular de forma controlada um ataque real que normalmente é executado por criminosos. Desta maneira é possível ter o conhecimento total do que poderia acontecer caso esse ataque realmente existisse, garantindo assim a