Palestrante: Mauricio da Silva Marinho Administrador Especialista em Anlise de Sistemas Analista de TI no Ncleo de Riscos e Segurana de TI do BRB Requisitos de Segurana Software sem requisitos: O Software falha! Software sem requisitos de segurana: A organizao falha! Consequncias do software sem requisitos: o Baixa qualidade. o Forte acoplamento. o Retrabalho. o Escopo indefinido. o Custo elevado. o Problemas de usabilidade. o Objetivos no atendidos. o Insatisfao do cliente. o Vulnervel.
Requisitos de Segurana Consequncias do software vulnervel. Momentnea Indisponibilidade Comprometimento Da Continuidade Caractersticas do Software Seguro 3 Rs: o Reliability. O software funciona como esperado. o Resiliency. O software no viola qualquer poltica de segurana e pode resistir as aes de agentes ameaadores. o Recoverability. O software recupera-se diante de uma ameaa materializada. Impacto no Projeto Quase sempre requisitos de segurana no so bem vistos por implicarem impacto nos trs pilares no projeto. Custo Escopo Prazo Pessoas Fontes de Requisitos de Segurana no CDS Internas o Polticas o Padres o Guias e Manuais o Prticas e Procedimentos Externas o Regulaes o Conformidades o Requisitos Geogrficos Requisitos de Segurana e Risco Residual Aceitvel Tipos de Requisitos de Segurana Confiden- cialidade Integridade Disponi- bilidade Autenticao Autorizao Responsa- bilidade Conceitos Chave de Segurana de Software Requisitos so determinados para cada conceito-chave de segurana. Organizao, mtodo cientfico e inferncias. Requisitos de Confidencialidade Controles de Confiden- cialidade Escrita Secreta Mascara- mento Em claro Obscura Criptografia Hashing Estegano- grafia Marca dgua digital Requisitos de Confidencialidade Requisitos de confidencialidade precisam ser definidos ao longo do ciclo de vida da informao, da origem do dado at sua persistncia ou descarte, considerando os seguintes estados:
Em trnsito; Em processamento; Em storage (persistncia);
Requisitos de confidencialidade podem ser limitados no tempo. Requisitos de Confidencialidade Informaes pessoais de sade Entradas de senhas Persistncia de senhas Proteo de MITM Proteo de transferncia de arquivos Salva de logs Mascaramento Criptografia Hashing TLS FTPS Poltica Requisitos de Integridade Requisitos que buscam garantir confiabilidade e proteo contra modificaes no autorizadas. Integridade de sistema o Funciona como esperado (projetado) preciso. o Modificaes ocorrem apenas no cenrio projetado de autorizao (forma e responsabilidade). Integridade de dados o Os dados so preservados em seu ciclo de vida, permitindo alteraes apenas no cenrio autorizado. o No permite possibilidades de inconsistncias. Exemplo de violao de integridade: SQL Injection. o O sistema responde a requisies de modificao de dados em desacordo ao originalmente projetado. Requisitos de Integridade Requisitos de integridade precisam estar explicitamente definidos nas especificaes. Controles de segurana para confiabilidade: o Validao de entrada de dados. o Checagem de paridade de bits (trnsito). o Checagem de redundncia cclica (checksum preciso e completude). o Hashing (tambm atende a confidencialidade). Exemplos: o Todas as entradas querystring precisam ser validadas. o Todo deploy deve acompanhar um checksum. o Todos os atores no humanos precisam ser identificados e monitorados prevenindo o acesso quando no expressamente autorizado.
Requisitos de Disponibilidade Quase sempre requisitos associados s disciplinas de continuidade de negcio e recuperao de desastres. Vulnerabilidade causado por problemas no design e construo. Expe o software a riscos de destruio de ambientes, perda de dados e interrupo de servio (DoS). Devem ser explicitamente definidos na especificao. o MTD (Maximum Tolerable Downtime). o RTO (Recovery Time Objective). Requisitos de Disponibilidade Quase sempre requisitos associados s disciplinas de continuidade de negcio e recuperao de desastres. Vulnerabilidade causada por problemas no design e construo. Expe o software a riscos de destruio de ambientes, perda de dados e interrupo de servio (DoS). Devem ser explicitamente definidos na especificao (BIA, stress, performance test...). o MTD (Maximum Tolerable Downtime). o RTO (Recovery Time Objective). o SLA (explicitar o MTD e o RTO). Requisitos de Disponibilidade BIA (Business Impact Analysis) o Deve ser utilizado para determinar o impacto do software no negcio. o Deve ser mensurado quantitativamente (Ex: perda de receita por minuto de indisponibilidade). o Deve considerar o custo para restaurar as operaes ao estado original. o Tambm deve ser determinado qualitativamente (perda de credibilidade, danos imagem e reputao). Construes inseguras de cdigo (impacto na disponibilidade): o Ponteiros pendentes. o Gerenciamento inadequado de memria (ciclo de vida dos objetos). o Loop infinito. o Requisio excessiva de coletores de lixo, e outras, devem ser identificadas e refatoradas. Especificar disponibilidade em casas de nove.
Requisitos de Autenticao So aqueles que reunem elementos para assegurar a legitimidade e validade da identificao apresentada pela entidade requisitante. Deve ocorrer sob diferentes fatores (Autenticao multifator). o O qu voc sabe. o O qu voc tem. o O qu voc . Processos de autenticao precisam ser revisados e colocados a prove para que sejam analisados pela segurana de TI em busca de novos riscos
Requisitos de Autenticao Formas mais comuns de autenticao: o Anonymous Pblico o Basic Envio das credenciais em texto claro ou Base 64. o Digest Envia um hash do valor original (digest). Utiliza uma propriedade nica do hardware como salt para calcular o hash. o Integrated (NTLM) NT challange/response. Credenciais enviadas como um digest. Ex: autenticao standalone + Kerberos V5 (impersonation) o Client certificates Autoridade certificadora confivel. Ex: Ecommerce, Egovernment... o Formulrios Dados sensveis podem ser mascarados (shoulder surfing), mas as credenciais precisam ser transmitidas em canal criptografado. Requisitos de Autenticao Formas mais comuns de autenticao (Cont.): o Token Geralmente utilizado em conjunto com formulrios. Token enviado para o usurio que forneceu as credenciais. o Smart cards Fator de autenticao propriedade (o qu voc tem). Pode evitar o furto de credenciais o Biometria Fator de autenticao caracterstica (o qu voc ). Caractersticas podem mudar! OBS: o One Time Dynamic Passwords (OTP) requerem fatores de conhecimento e propriedade, dinamicamente modificando senhas e tokens. Ex: Ao informar as credenciais o usurio recebe um PIN dinmico, em intervalos de segundos,em um device RFID.
Requisitos de Autenticao Erros de autenticao biomtrica: o Erro tipo I - Falsa Rejeio (FRR False Rejection Rate). o Erro Tipo II - Falsa Aceitao (FAR False Acceptence Rate). FAR FRR Crossover Error Rate (CER) Utilizado para avaliar diferentes devices e tecnologias. Baixo CER, maior preciso. E R R O S
PRECISO Requisitos de Autenticao Exemplos de requisitos de autenticao. o O software deve se restringir intranet e o usurio no precisa prover credenciais uma vez que j esteja autenticado na rede. o O software precisa suportar single sign on com terceiros. o Usurios autenticados podem acessar Internet e intranet. o A poltica de autenticao exige o uso de pelo menos dois fatores de autenticao. Requisitos de Autorizao Relacionados aos privilgios de uma entidade autenticada. Identificar sujeitos e objetos. Modelos de controle de acesso: o DAC Discricionrio transferncia de privilgio, ACLs... o NDAC No discricionrio poltica de segurana imposta pelo sistema o MAC Mandatrio restrio pela sensibilidade da informao no objeto. Requer rtulos de sensitividade para todos os objetos. o RBAC Baseado em Role o Controle de Acesso Baseado em Recurso Quando a lista de usurios no conhecida (Ex: SOA). Requisitos de Autorizao Princpio do privilgio mnimo. Hierarquia de roles.
Privilgio Mnimo Privilgio Mximo Convidado Usurio convidado + privilgios de usurio Administrador Usurio + privilgios de Administrador Requisitos de Responsabilidade Auxiliam na construo do histrico das aes do usurio. Trilhas de auditoria. Investigaes forenses. Elementos: o Quem? o O qu? o Onde? o Quando? Requisitos de Responsabilidade Exemplos o Toda tentativa frustrada de logon deve ser registrada com timestamp endereo IP de orgem. o No update de preos, um snapshot antes e depois deve ser registrado com os seguintes campos auditveis: Identidade; Ao; Objeto; e Timestamp. o Logs de auditoria devem permitir append e nunca overwrite. o Logs de auditoria devem ser retidos em segurana por 3 anos. Elicitao de Necessidades de Proteo (PNE) Alm de conhecer as fontes de requisitos, importante conhecer as tcnicas de elicitao. o Brainstorming o Questionrios e entrevistas o Decomposio poltica o Classificao de dados o Matriz sujeito-objeto o Casos de uso
Elicitao de Necessidades de Proteo (PNE) Brainstorming o o mtodo mais rpido. o Idias so registradas sem crtica. o So classificadas segundo critrios de relevncia e possibilidade. o So pontuadas e priorizadas. o Derivam planos de ao. Elicitao de Necessidades de Proteo (PNE) Questionrios e entrevistas. o A efetividade deste processo est em como as questes sero empregadas (pblico-alvo). o Exemplos: Que tipo de dado ser transmitido e mantido pelo software? O dado sensvel ou confidencial? O software ir manipular informaes privadas ou credenciais? Quem so os usurios que iro alterar dados? Eles precisam ser auditados ou monitorados? Qual o MTD para o software? Existe necessidade de single sign on? Que papis ou perfis precisam ser estabelecidos para o CRUD? Elicitao de Necessidades de Proteo (PNE) Decomposio poltica o As definies polticas da organizao so fontes de requisitos. o Os objetivos e necessidades encontrados so decompostos para gerar requisitos de segurana. o Necessidades como gerenciamento de configurao, segregao de ambientes, separao de direitos, reviso de cdigo e outros, j podem existir na cultura organizacional. Elicitao de Necessidades de Proteo (PNE) Classificao de dados. o Tipos de dados. o Propriedade e custdia dos dados. o Sensibilidade dos dados (rtulos). o Roles Responsabilidades sobre os dados. o Ciclo de vida do dado.
Elicitao de Necessidades de Proteo (PNE) Rotulagem de dados. Dado Pblico? Protegido por roles? Alterao No Produz Dano? Alterao Produz Dano? Sem impacto Na perda? Com impacto Na perda? Confidencialidade Integridade Disponibilidade Pblico Confidenc. Baixa Alta Suporte Crtico Elicitao de Necessidades de Proteo (PNE) Matriz Sujeito Objeto o til para definio de roles. o Auxilia na reviso de direitos. o Definir nveis de anlise. Elicitao de Necessidades de Proteo (PNE) Casos de Uso e Desuso. o Determinam requisitos funcionais e de segurana. o Modela o comportamento do software diante da inteno do ator. Cria conta Autentica Pesquisa Autentica Obtm identidade Fora Bruta Rouba dados Cliente Hacker Matriz de Rastreabilidade Garante o escopo. Garante que os requisitos correspondem as necessidades. Auxilia no estudo do impacto de mudanas. Auxilia na definio de casos de teste. Auxilia nas inferncias de vulnerabilidades por conceitos-chave de segurana. Mais sobre Desenvolvimento Seguro Subsdios para processos de desenvolvimento seguro e modelos de maturidade: o OWASP CLASP o BSIMM Building Security in Maturity Model