1 / 16

Segurança em Redes - Código Seguro

Segurança em Redes - Código Seguro. Introdução. A necessidade de sistemas seguros Segurança Preventiva Princípios de segurança a seguir Modelagem das ameaças Técnicas seguras de codificação. A necessidade de sistemas seguros.

coby
Download Presentation

Segurança em Redes - Código Seguro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Segurança em Redes - Código Seguro

  2. Introdução • A necessidade de sistemas seguros • Segurança Preventiva • Princípios de segurança a seguir • Modelagem das ameaças • Técnicas seguras de codificação

  3. A necessidade de sistemas seguros • Sistema seguro: um sistema que protege a confidencialidade, integridade e disponibilidade das informações dos clientes, e a integridade e disponibilidade dos recursos de processamento sob controle do proprietário ou administrador do sistema.

  4. A necessidade de sistemas seguros • Vulnerabilidade: um defeito em um sistema que torna impossível – mesmo com a sua utilização adequada – evitar que um invasor usurpe privilégios no sistema do usuário, regule sua operação, comprometa os dados ou receba confiança não concedida.

  5. A necessidade de sistemas seguros • Segurança na Web • Conexão total: do desktop à cafeteira • Computação confiável • Presunção de funcionamento (ex. Telefone, e-mail) • Problema: custo da segurança • Jogo multiplayer X controle de marca-passo • Segurança X confiabilidade (ex. recall, cartão+senha)

  6. A necessidade de sistemas seguros • A vantagem do invasor e o dilema do defensor • O defensor deve defender todos os pontos, o invasor pode escolher o mais fraco • O defensor pode se defender somente de ataques conhecidos, o invasor pode investigar vulnerabilidades desconhecidas • O defensor deve estar constantemente vigilante, o invasor pode atacar a qualquer momento • O defensor deve jogar de acordo com as regras, o invasor pode jogar sujo

  7. Segurança preventiva • Segurança é entediante • A segurança é um desativador de funcionalidades • A segurança é difícil de medir • Não é a principal habilidade ou interesse dos projetistas e desenvolvedores • Não significa criar algo novo e animador

  8. Segurança preventiva • Como fazer • Aprimoramento do processo (projeto, desenvolvimento, testes, distribuição/manutenção) • Questões de segurança nas entrevistas • Modelagem de ameaças • Revisões pela equipe de segurança • Testes específicos (ex. mutação dos dados) • Diretrizes seguras de codificação • Campanha de segurança • Realimentação • ...

  9. Segurança na plataforma Java • Java cryptography extension (JCE) • Java authentication and authorization service (JAAS) • Java secure socket extension (JSSE)

  10. Java • Java cryptography extension (JCE) • Framework para: • Criptografia • Simétrica • Assimétrica • Bloco • Fluxo • Geração e acordo de chaves • Código de autenticação de mensagens (MAC) • Objetivos • Assinatura digital • Funções de resumo (message digest)

  11. Java • Java authentication and authorization service (JAAS) • Serviços de autenticação e controle de acesso sobre usuários • Tecnologia PAM (Pluggable Authentication Module) • Suporte à autorização por usuário

  12. Java • Java secure socket extension (JSSE) • Comunicações seguras pela Internet • Versão Java de SSL (secure sockets layer) e TLS (transport layer security) • Criptografia, autenticação de servidor, integridade de mensagem e autenticação de cliente (opcional)

  13. Java • Buffer overflow: linguagem faz verificação de limites; tipo string • Acesso à arquivos: somente verificações básicas de segurança (ex. Pode testar se a aplicação, no contexto corrente, pode ler ou escrever em um arquivo; não se pode acessar ou mudar permissões ou ACL de arquivos)

  14. Java • Validação de entradas: falta uma classe para expressões regulares • Overflow/underflow e conversões numéricas: o/u não geram exceção; cuidar conversões entre tipos primitivos com casting • Ataques a recursos: não há suporte a limitação de recursos (ex. Alocação de memória)

  15. Java • Validação de origem: validar fortemente a origem de requisições a serviços privilegiados

  16. Cartilha de segurança do CERT.br • cartilha.cert.br

More Related