Notas sobre Segurança de Software

3
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.

description

Desenvolvimento de Software Seguro

Transcript of Notas sobre Segurança de Software

Page 1: Notas sobre Segurança de Software

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.

Page 2: Notas sobre Segurança de Software

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;

Page 3: Notas sobre Segurança de Software

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

Invasor nega serviço a um aplicativo D – Negação de

serviço 6 6 7 9 10 7,6

Elevação de privilégio, tirando vantagem do processo de solicitação de serviço de clientes

E - Elevação de privilégio

10 2 2 1 10 5

Manipulação dos dados da folha de pagamento

T - Adulteração 10 5 5 10 10 8

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 sobre a folha de pagamento

I – Divulgação não autorizada

8 10 7 10 10 9

Spoofing do computador que executa o processo de solicitação do processo de cliente

S – Roubo de identidade

10 2 2 8 10 6,4

Exemplo (árvore de ameaças)

Roubo de cookies de autenticação

Obter um cookie de autenticação para

falsificar identidade

Conexão não-criptografada Os cookies de autenticação

navegam sobre uma conexão HTTP não-

criptografada

Espionagem Atacante usa um

sniffer para monitorar o tráfego HTTP

Cross-Site Scripting Atacante possui

meios e conhecimentos

XSS Vulnerability O aplicativo é vulnerável a

ataques XSS

e ou

e