Quando estamos criando um site, a escolha da melhor hospedagem de sites pode ser uma tarefa árdua e complicada.
As propagandas criadas pelos serviços de hospedagem acabam confundindo os clientes. Além disso, as diferentes formas de pagamento podem levar a se pagar mais caro por menos serviços.
Essa série de posts trata de segurança de software. Entretanto, antes de iniciar é preciso definir o que estamos chamando de segurança de software ou desenvolvimento de software seguro.
Em computação, quando se fala sem segurança logo se pensa em sistemas de antivírus, antispywares, firewall, infra estrutura de redes seguras, etc.
No entando, essa série de posts trata da segurança na perspectiva do desenvolvedor de software. Ou seja, quais as preocupações se deve ter ao desenvolver um software para que no final do desenvolvimento seja entregue um sistema que tenha uma menor probabilidade de apresentar falhas de segurança.
Com essa série de artigos vamos apresentar a importância do requisito não-funcional de segurança, definir o que é segurança de software e apresentar diversas técnicas para testar a segurança dos sistemas baseados em software.
Introdução
Os primeiros sistemas baseados em software foram construídos para funcionarem de forma isolada, possuíam interface simples, geralmente através da utilização de teclado em um terminal de comando. Além disso, esses sistemas eram construídos para um único hardware ou uma plataforma específica e eram operados por usuários que possuíam grande conhecimento no domínio da aplicação e, geralmente, algum conhecimento em computação.
Portanto, anteriormente não eram requeridas que esses sistemas tivessem algumas propriedades que atualmente são importantes.
Os sistema contemporâneos, por outro lado, frequentemente necessitam de outros sistemas para seu pleno funcionamento. Por exemplo, diversos sistemas utilizam o protocolo de autenticação OAuth2 (https://oauth.net/2/), disponibilizado como serviço por outros sistemas para realizar a autenticação de usuários. Alguns sistemas utilizam serviços de mapas terceirizados ou realizam integração com diferentes redes sociais.