Verbos da Língua Inglesa - Observações preliminares
Notas sobre Segurança de Software
1. Orlando Junior Kurt1022[@]gmail.com
SEGURANÇA DE SOFTWARE
Segurança da informação é a proteção da informação e sistemas de informação contra
acesso, uso, divulgação, modificação, destruição e interrupção não autorizadas.
Por que desenvolver com segurança?
75% dos ataques ocorrem por falhas na aplicação;
O custo de correção de vulnerabilidade é maior após a implantação;
“É presumida a culpa do patrão ou comitente pelo ato culposo do empregado
ou preposto” (Súmula 341 - STF).
Necessidades da segurança
Reduzir riscos;
Reduzir fraudes;
Reduzir acessos indevidos.
Objetivos da segurança da informação
Assegurar a continuidade dos negócios da empresa;
Minimizar perdas financeiras ocorridas por meio de acessos não autorizados;
Permitir o uso compartilhado da informação de maneira segura;
Manter a irrevogabilidade dos dados;
Preservar o patrimônio da empresa;
Manter a segurança do corpo funcional;
Detectar as causas e origens do problema, em caso deste;
Os objetivos da segurança da informação só são conseguidos através de uma política
de segurança consistente. Uma política de segurança é um documento formal das
regras pelas quais é fornecido acesso aos recursos tecnológicos da empresa. Seu
principal propósito é informar aos usuários as suas obrigações para a proteção da
tecnologia da empresa e do acesso à informação.
Custo total de propriedade (TCO) é o cálculo estimado projetado para consumidores e
gerentes que avalia os custos direto e indireto relacionados à compra e à manutenção
de equipamentos ou serviços de tecnologia da informação.
Um software de qualidade é um software seguro
e confiável.
Um software seguro é um produto que protege a
confidencialidade, a integridade e a
disponibilidade das informações do cliente e a
integridade e a disponibilidade de recursos de
processamento sob controle do proprietário do
sistema ou do administrador.
2. Orlando Junior Kurt1022[@]gmail.com
Um software confiável é aquele que funciona corretamente conforme descrito em sua
especificação.
Tripé da Segurança
1. Confidencialidade é a proteção da informação contra acessos ou divulgação
não autorizada. É assegurada pelos controles de acesso e operações individuais
de cada usuário;
2. Integridade é a garantia da veracidade da informação, impossibilitando que a
informação corrompida, seja por manipulação não autorizada ou acidental. É
assegurada evitando-se a alteração ou o forjamento não detectado de
mensagens;
3. Disponibilidade é a exposição segura da informação, garantindo que ela estará
disponível ao usuário sempre que este necessitar. É assegurada pela proteção
dos serviços prestados pelo sistema de forma que eles não sejam degradados
ou se tornem indisponíveis sem autorização.
Autenticação é a garantia da correta identificação de quem acessa ou produz
informação. Deve assegurar ao receptor que a mensagem é procedente da origem
informada em seu conteúdo.
Autorização é a capacidade de validar a permissão das operações que um usuário
poderá executar no sistema.
Não-repúdio é a capacidade de confirmar a autoria do emissor da mensagem de modo
que ele não possa negar seu envio.
Enquanto recursos de segurança são as tecnologias que provêm segurança ao
software, recursos seguros diz respeito à correta utilização dessas tecnologias
conforme o cenário e as necessidades do software.
Modelar ameaças permite sistematicamente identificar e mensurar as ameaças que
são mais suscetíveis de afetar o sistema. Processo:
1. Identificar ativos;
2. Criar uma visão geral da arquitetura;
3. Orlando Junior Kurt1022[@]gmail.com
3. Decompor a aplicação;
4. Identificar as ameaças (STRIDE);
5. Documentar as ameaças;
6. Mensurar as ameaças (DREAD);
STRIDE (Como modelar as ameaças?)
S – Roubo de identidade (autenticação)
T – Adulteração de dados (integridade)
R – Repúdio (não-repúdio)
I – Divulgação não autorizada (confidencialidade)
D – Negação de Serviço (disponibilidade)
E – Elevação de privilégio (autorização)
DREAD (Como medir as ameaças?)
D – Dano potencial: quão grande é o dano se a vulnerabilidade é explorada?
R – Reprodutibilidade: quão fácil é reproduzir o ataque?
E – Exploração: quão experiente o atacante precisa ser para explorar a falha?
A – Usuários afetados: quantos usuários são afetados?
D – Descoberta: quão fácil é encontrar a vulnerabilidade?
Exemplo (modelagem de ameaças)
Ameaça Classificação D R E A D Risco
D – Negação de
Invasor nega serviço a um aplicativo 6 6 7 9 10 7,6
serviço
Elevação de privilégio, tirando vantagem do E - Elevação de
10 2 2 1 10 5
processo de solicitação de serviço de clientes privilégio
Manipulação dos dados da folha de
T - Adulteração 10 5 5 10 10 8
pagamento
Invasor carrega páginas web e códigos falsos T – Adulteração 7 7 7 10 10 8,2
Usuário mal-intencionado visualiza dados I – Divulgação
8 10 7 10 10 9
sobre a folha de pagamento não autorizada
Spoofing do computador que executa o S – Roubo de
10 2 2 8 10 6,4
processo de solicitação do processo de cliente identidade
Exemplo (árvore de ameaças)
Roubo de cookies
de autenticação
Obter um cookie de
autenticação para
falsificar identidade
ou
e e
Conexão não-criptografada
Espionagem Cross-Site Scripting
Os cookies de autenticação XSS Vulnerability
Atacante usa um Atacante possui
navegam sobre uma O aplicativo é vulnerável a
sniffer para monitorar meios e
conexão HTTP não- ataques XSS
o tráfego HTTP conhecimentos
criptografada