Faculdade de Tecnologia Senac Curso de Análise e Desenvolvimento de Sistemas Segurança de Sistemas Edécio Fernando Iepsen (edeciofernando@gmail.com)
Segurança em Desenvolvimento de Software Segurança do ambiente de desenvolvimento Segurança da aplicação desenvolvida Garantia de segurança da aplicação desenvolvida
Segurança do ambiente de desenvolvimento Espaço físico restrito Separação entre ambiente de desenvolvimento, teste e construção (build) Gerência de configuração dos fontes Criar processos de desenvolvimento Equipe de testes capacitada e equipada
Segurança da aplicação desenvolvida Relação entre segurança da aplicação e normas de boa programação Necessita de um ambiente de desenvolvimento seguro Boa especificação de segurança Realização de testes apropriados
Garantia de segurança da aplicação Fornecer garantia para o cliente sobre a segurança da aplicação Aproximar o cliente dos testes do sistema Especificar a segurança de forma clara e objetiva Construir conforme esta especificação
Normas de Segurança A segurança das informações, em função de sua grande importância para a sociedade moderna, deu origem a diversos grupos de pesquisa, cujos trabalhos, muitas vezes, são traduzidos em padrões de segurança, ou mesmo projetos legislativos: Orange Book TCSEC (Trusted Computer Security Evaluation Criteria) Commom Criteria (Commom Criteria for Information Tecnology Security Evolution) CobiT
Orange Book Primeiro padrão para avaliação de segurança (1980) Bastante aceito porém continha alguns problemas estruturais: fixava atributos de segurança em níveis estáticos
Common Criteria Norma ou padrão de indústria criado a partir de diversos padrões anteriores com o objetivo de gerar uma norma internacional no assunto (ISO/IEC 15.408) Tem por objetivo fornecer um conjunto de critérios fixos que permitem especificar a segurança de uma aplicação Estabelece que qualquer sistema para ser considerado seguro, precisa ter seu Security Target (objetivo ou alvo de segurança)
Security Target Especificação de segurança Indica quais aspectos de segurança foram considerados importantes e porque o foram para aquele sistema em particular.
Níveis de garantia de segurança do Common Criteria Sete níveis de garantia de segurança Maior número de testes a cada nível Os níveis são denominados EAL (Evalution Assurance Level): EAL-1 a EAL-7 Apenas os níveis EAL-1 a EAL-4 são reconhecidos pela ISO, pois os níveis EAL-5 a EAL-7 são considerados muito rígidos
Etapas do Commom Criteria 1. Desenvolvimento do sistema conforme a norma 2. Teste do sistema em um laboratório credenciado 3. Obtenção do selo de certificação
Especificação da Segurança da Aplicação Não há um parâmetro único Identificação da necessidade de segurança do cliente No geral, a necessidade de segurança atende dois motivos Legislação ou políticas de segurança Ameaças ao negócio da empresa
Ameaças x Estratégia Identificar ameaças e legislações Relacionar para cada ameaça/legislação uma estratégia de segurança Definir formas de teste da segurança
Ameaças Qualquer situação que ponha em risco o sistema É impossível levantar todas as ameaças a que um sistema está submetido Focar em um grupo de ameaças e garantir o seu tratamento pelo sistema. Agente x Mecanismo x Ativo
Agente Alguém que vai ganhar algo com a eventual exploração dos dados da empresa Classificação do agente pode se dar de acordo com as categorias: Acesso ao sistema Conhecimento do sistema Capacidade do agente
Mecanismos Cross-site Scripting: Ataque que usa uma aplicação web para atingir um outro visitante/usuário. By-pass de controle de Acesso: Agente com acesso ao sistema utiliza funções externas a este visando burlar o controle de acesso. Força bruta: Usada para quebrar senhas e criptografia. Tentativa e erro. Estouro de buffer: Muito comum e incrivelmente destrutível. Quebra de autenticidade: Apoderar-se da conta de um usuário ou do administrador, através de ferramentas de sniffer ou de engenharia social. Command/SQL Injection: Informações enviadas para a construção de queries (consultas SQL) e interações com o banco de dados não são devidamente validadas e checadas.
Ativos São as informações importantes de um sistema, aquilo que pode ser de interesse do agente em termos de leitura, alteração ou até destruição.
Motivação O Agente pode ter uma ou mais motivações para um ataque Financeira: Interesse em retorno financeiro. Imagem: Interesse em destacar suas habilidades. Dano: Busca por vingança ou prejuízo de empresa para a qual já trabalhou ou empresa concorrente Aprendizado: Estudo de ferramentas de ataque