Exercícios Segurança da Informação 2019/2

Os exercícios são apresentados nos modelos de “exercícios de revisão” e “problemas”. Exercícios de revisão são questões que ajudam a revisar e consolidar conceitos-chave da aula. Problemas são questões mais elaboradas e que, possivelmente, envolvem investigação adicional.

Aula 1 (12-ago-2019). Apresentação do curso e motivação para os problemas de segurança da informação.

Problemas. A partir das informações dos relatórios de mercado apresentados e de outros que você pode buscar na Internet, tente responder as seguintes questões:

  • Qual o valor do mercado mundial de segurança da informação?
  • Qual o valor do mercado brasileiro de segurança da informação?
  • Qual o custo das perdas mundiais devido a crimes e fraudes cibernéticas?
  • Qual o custo das perdas mundiais devido a crimes e fraudes cibernéticas?
  • Descreva três casos importantes de vazamentos de dados, apresentando informações sobre o tipo de dados vazado, a quantidade de dados vazada, o número de indivíduos afetados e o impacto (incluindo, mas não apenas, financeiro) do vazamento para a organização responsável.

Aula 2 (14-ago-2019). Conceitos Básicos de Segurança. Apresentação de temas para projetos de pesquisa e desenvolvimento (primeira parte).

Exercícios de revisão.

  • Defina segurança de computadores.
  • O que é arquitetura de segurança OSI?
  • Qual é a diferença entre ameaças à segurança passivas e ativas? Dê três exemplos de cada tipo.
  • Defina brevemente o conceito de “serviço de segurança” e dê três exemplos de serviços de segurança.
  • Defina brevemente o conceito de “mecanismos de segurança” e dê três exemplos de mecanismos de segurança.

Problema. Considere um caixa eletrônico (ATM) no qual usuários fornecem um número de identificação pessoal (PIN) e um cartão para acessar sua conta bancária. Dê exemplos de requisitos de confidencialidade, integridade e disponibilidade associados ao sistema e, em cada caso, indique o grau de importância do requisito.
Para cada um dos seguintes ativos, atribua um nível de impacto baixo, moderado ou alto para a perda de confidencialidade, disponibilidade e integridade, respectivamente. Justifique suas respostas.
a. Uma organização que gerencia informações públicas em seu servidor Web.
b. Uma organização policial que gerencia informações investigativas extremamente sensíveis.
c. Uma organização financeira que gerencia informações administrativas rotineiras (informações não relacionadas com privacidade).
d. Um sistema de informação usado para grandes aquisições em uma empreiteira contém informações contratuais pré-licitação sensíveis, bem como informações administrativas rotineiras. Avalie o impacto para os dois conjuntos de dados separadamente e para o sistema de informação como um todo.
e. Uma usina de energia elétrica contém um sistema SCADA (Supervisory Control and Data Acquisition) que controla a distribuição de energia elétrica para uma grande instalação militar. O sistema SCADA contém dados de sensores adquiridos em tempo real, bem como informações administrativas rotineiras. Avalie o impacto para os dois conjuntos de dados separadamente e para o sistema de informação como um todo.

Aula 3 (19-ago-2019). Conceitos e regulação americana para segurança cibernética.

Exercícios de revisão.

  • O que é o FISMA? Quais as principais definições/decisões apresentadas pelo FISMA.
  • O que é o NIST e qual o seu papel dentro do modelo de segurança da Informação dos Estados Unidos?
  • O que é “controle” no contexto de segurança da informação? Como estão organizados/classificados os controles de segurança apresentados no padrão NIST SP 800-53? E no padrão NIST SP 800-12?
  • Discuta brevemente os oito “princípios” (elementos, cap. 2) de segurança da informação apresentados no padrão NIST SP 800-12.
  • Discuta a diferença entre “ameaça” e “vulnerabilidade” segundo o NIST SP 800-12.

Problema: Os padrões do NIST (FIPS e SP) definem requisitos para segurança da informação no âmbito do governo federal dos Estados Unidos – inclusive para fornecedores. Localize, na legislação correspondente, os trechos que transferem para o NIST essa responsabilidade. Adicionalmente, padrões do NIST também são usados na área da defesa. Localize os documentos do DoD que referenciam os padrões do NIST como “obrigatórios” para o setor de defesa. Problema avançado: explique como é realizada a “avaliação da conformidade”, ou seja, como se avalia se um órgão ou empresa atende aos requisitos de segurança da informação.

Aula 4 (26-ago-2019). Padronização e avaliação da conformidade na área de software.

Exercícios de revisão.

  • Liste três organismos de padronização relevantes para a área de Tecnologia da Informação. Dê um exemplo de padrão publicado porcada um destes organismos.
  • Explique como é definido o Tempo Coordenado Universal (UTC).
  • Explique a importância dos padrões metrológicos nos seguintes setores: Comércio, Indústria, Ciência.
  • Dê três exemplos de padrões da área de Segurança da Informação.
  • Explique o que é obscurantismo. Descreva cenários em que uma abordagem baseada em obscurantismo pode ser vantajosa. Explique por que nem sempre o obscurantismo é uma estratégia interessante para garantir segurança.
  • Explique o que é e para que serve a chamada “avaliação da conformidade”.
  • A que se aplicam os padrões da série 17000 da ISO/IEC?
  • Qual a diferença entre uma declaração de conformidade de primeira parte e uma de terceira parte? Em que cenários se aplicaria cada um destes tipos de declaração de conformidade?

Problemas.

  • Pesquise e descreva padrões para cada uma das seguintes áreas: peças mecânicas, radiodifusão, redes de comunicação, equipamentos médicos.
  • Descreva como funciona o processo de padronização de algoritmos criptográficos pelo NIST. Descreva as etapas do processo de padronização do SHA-3 (dica).

Aula 5 (28-ago-2019). Parte 1 – vulnerabilidades de software.

Exercícios de revisão.

  • Qual a diferença entre as bases CVE e CWE relacionadas a vulnerabilidades de software?
  • Qual a diferença entre as vulnerabilidades “Injeção de SQL” (CWE-89) e “Injeção de comando” (CWE-78).
  • Compare as vulnerabilidades “Cross-Site Scripting” (CWE-79) e “Cross-Site Request Forgery” (CWE-352).
  • Descreva brevemente cada uma das seguintes vulnerabilidades de software:
    • Buffer Overflow (CWE-120)
    • Integer Overflow (CWE-190)
    • Format String (CWE-134)

Problemas.

  • Defina o princípio do privilégio mínimo. Alguma das vulnerabilidades do CWE/SANS Top 25 está relacionada com o princípio? Qual?
  • Implemente uma aplicação web que realize uma consulta SQL a banco de dados a partir de entrada não-tratada de usuário. Mostre como é possível realizar uma injeção de SQL.
  • Implemente um programa em C onde seja possível mostrar problemas relacionados a vulnerabilidades de estouro de buffer e de estouro de inteiro.

Aula 5 (28-ago-2019). Parte 2 – software malicioso.

Exercícios de revisão.

  • Quais são os mecanismos gerais que um malware pode usar para se propagar?
    Quais são as categorias gerais de cargas úteis que um malware pode transportar?
    Quais são as fases de operação típicas de um vírus ou verme?
    Quais mecanismos um vírus pode usar para se esconder?
    Qual é a diferença entre vírus de código de máquina executável e vírus de macro?
    Quais são os meios que um verme pode usar para acessar sistemas remotos para se propagar?
    O que é uma “bomba lógica”?
    Qual é a diferença entre uma backdoor, um bot, um keylogger, um spyware e um rootkit? Eles podem estar presentes no mesmo malware?

Problemas.

  • Considere que você encontrou um cartão de memória USB no estacionamento do seu local de trabalho. Quais ameaças esse cartão poderia representar ao seu computador de trabalho se você o inserir nele e examinar seu conteúdo? Em particular, considere se cada um dos mecanismos de propagação de malware que discutimos poderia usar tal cartão de memória para transporte do malware. Quais medidas você poderia adotar para mitigar essas ameaças e determinar com segurança o conteúdo do cartão de memória?
  • Suponha que você perceba que o PC que usa em casa está respondendo muito lentamente a requisições de informações durante sua navegação em rede. Em seguida, você observa ainda mais que seu roteador de acesso à rede mostra altos níveis de atividade de rede, ainda que você tenha fechado o seu cliente de e-mail, navegador da Web e outros programas que acessam a rede. Quais tipos de malware poderiam causar esses sintomas? Discuta como o malware poderia ter conseguido acesso ao seu sistema. Quais providências você poderia tomar para verificar se isso ocorreu? Se você realmente identificar um malware no seu PC, como poderia retorná-lo a uma operação segura?
  • Suponha que você receba um e-mail que parece ter vindo de um gerente sênior em sua empresa, cujo assunto indica que ele se refere a preocupações com um projeto no qual você está trabalhando. Quando abre o e-mail, vê que ele pede que você leia o comunicado de imprensa revisado anexo, fornecido como documento PDF, para verificar se todos os detalhes estão corretos antes de a administração liberá-lo. Quando você tenta abrir o PDF, aparece uma caixa de diálogo denominada “Executar Arquivo” no programa de visualização, indicando que “o arquivo e sua aplicação de visualização estão configurados para ser executados por esse arquivo PDF”. Na seção dessa caixa de diálogo identificada como “Arquivo” há várias linhas em branco e finalmente o texto “Clique no botão ‘Abrir’ para ver esse documento”. Você também observa que há uma barra de rolamento vertical visível para essa região. Que tipo de ameaça isso poderia representar para o seu sistema computacional caso você realmente selecionasse o botão “Abrir”? Como você poderia verificar as suas suspeitas sem ameaçar o seu sistema? A que tipo de ataque esse tipo de mensagem está associado? Quantas pessoas provavelmente receberam esse e-mail específico?”

Aula 6 (09-set-2019). Ataques DDoS

Exercícios de revisão.

  • Defina o que é um ataque de negação de serviço (DoS).
  • Quais tipos de recursos são visados em tais ataques?
  • Qual é a meta de um ataque de inundação?
  • Quais tipos de pacotes são comumente usados para ataques de inundação?
  • Por que muitos ataques de DoS usam pacotes com endereços de origem falsificados?
  • Defina um ataque de negação de serviço distribuído (DDoS).
  • Qual arquitetura um DDoS normalmente usa?
  • Defina o que é um ataque de reflexão.
  • Defina o que é um ataque de amplificação.
  • Quais defesas são possíveis contra ataques de inundação não envolvendo endereços de origem falsificados? Esses ataques podem ser inteiramente evitados?
  • Quais defesas são possíveis contra ataques de falsificação de TCP SYN?
  • Quais defesas são possíveis para impedir que os sistemas de uma organização sejam usados como intermediários em um ataque de amplificação?
  • Quais providências devem ser tomadas quando um ataque de DoS é detectado?

Problemas.

  • Para implementar o ataque de inundação DoS clássico, o atacante deve gerar um volume de pacotes suficientemente grande para ultrapassar a capacidade do enlace até a organização visada. Considere um ataque que usa pacotes de requisição de eco (ping) ICMP de 500 bytes de tamanho (sem contar o custo adicional de enquadramento). Quantos desses pacotes por segundo o atacante deve enviar para inundar uma organização-alvo usando um enlace de 0,5 Mbps? Quantos por segundo se o atacante usar um enlace de 2 Mbps? E com um enlace de 10 Mbps?
  • Usando um ataque de falsificação de TCP SYN, o atacante visa inundar a tabela de requisições de conexão TCP em um sistema, de modo que ele não consiga responder a requisições de conexão legítimas. Considere um sistema servidor com uma tabela para 256 requisições de conexão. Esse sistema tentará reenviar o pacote SYN-ACK cinco vezes quando não receber um pacote ACK em resposta, em intervalos de 30 segundos, antes de remover a requisição de sua tabela. Considere que nenhuma contramedida adicional é usada contra esse ataque e que o atacante preencheu essa tabela com uma inundação inicial de requisições de conexão. A que taxa o atacante deve continuar a enviar requisições de conexão TCP a esse sistema de modo a garantir que a tabela permaneça cheia? Supondo que o pacote TCP SYN tenha 40 bytes de tamanho (sem contar o custo adicional de enquadramento), quanta largura de banda o atacante consome para dar continuidade a esse ataque?
  • Para implementar um ataque de amplificação de DNS, o atacante deve acionar a criação de um volume suficientemente grande de pacotes de resposta DNS vindos do intermediário para ultrapassar a capacidade do enlace até a organização visada. Considere um ataque no qual os pacotes de resposta DNS tenham 500 bytes de tamanho (sem contar o adicional de quadro). Quantos desses pacotes por segundo o atacante deve acionar para inundar uma organização visada usando um enlace de 0,5 Mbps? Um enlace de 2 Mbps? Ou um enlace de 10 Mbps? Se o pacote de requisição DNS até o intermediário tiver 60 bytes de tamanho, quanta largura de banda o atacante consome para enviar a taxa de pacotes de requisição DNS necessária para cada um desses três casos?

Aulas 7 a 15. Criptografia

Exercícios de revisão.

  • Quais são as componentes essenciais de uma cifra simétrica?
  • Quantas chaves são necessárias para duas pessoas se comunicarem usando uma cifra simétrica?
  • Quais são os dois principais requisitos para a utilização segura de cifração simétrica?
  • Liste três abordagens para autenticação de mensagens.
  • O que é um código de autenticação de mensagens?
  • Quais propriedades uma função de hash deve ter para ser útil para a autenticação de mensagens?
  • Quais são os principais componentes de um criptossistema de chave pública?
  • Liste e defina brevemente três usos de um criptossistema de chave pública.
  • Qual é a diferença entre uma chave privada e uma chave secreta?
  • O que é uma assinatura digital?
  • O que é um certificado de chave pública?
  • Como a criptografia de chave pública pode ser usada para distribuir uma chave secreta?

Problemas.

  • Suponha que alguém sugira o seguinte modo de confirmar que você e ele estão de posse da mesma chave secreta. Você cria uma cadeia de bits aleatória do comprimento da chave, calcula a operação de XOR sobre ela e a chave, e envia o resultado pelo canal. O seu parceiro aplica XOR ao bloco entrante e à chave (que deve ser a mesma chave que você tem) e a envia de volta. Você verifica e, se o que receber for a sua cadeia aleatória original, você verificou que o seu parceiro tem a mesma chave secreta, embora nenhum dos dois tenha transmitido a chave em momento algum. Há uma falha nesse esquema?
  • Neste problema compararemos os serviços de segurança que são providos por assinatura digital (DS) e códigos de autenticação de mensagem (MAC). Consideramos que Oscar pode observar todas as mensagens enviadas de Alice para Bob e vice-versa. Oscar não conhece qualquer das chaves, exceto a chave pública no caso da DS. Diga se e como (i) DS e (ii) MAC protegem contra cada ataque. O valor de auth(x) é computado com uma DS ou com um algoritmo MAC, respectivamente.
    a. (Integridade de mensagem) Alice envia uma mensagem x = “Transfira $1.000 para Mark” às claras e também envia auth(x) a Bob. Oscar intercepta a mensagem e substitui “Mark” por “Oscar”. Bob detectará isso?
    b. (Repetição) Alice envia uma mensagem x = “Transfira $1.000 para Oscar” às claras e também envia auth(x) a Bob. Oscar observa a mensagem e a assinatura e as envia 100 vezes a Bob. Bob detectará isso?
    c. (Autenticação de remetente com terceiro trapaceiro) Oscar afirma que enviou alguma mensagem x com um valor de auth(x) válido a Bob, mas Alice afirma o mesmo. Bob pode esclarecer a questão em qualquer dos casos?
    d. (Autenticação com trapaça de Bob) Bob afirma que recebeu uma mensagem x com assinatura válida auth(x) de Alice (por exemplo, “Transfira $1.000 de Alice para Bob”), mas Alice afirma que nunca enviou tal mensagem. Alice pode esclarecer essa questão em qualquer dos casos?
  • 2.6 Suponha que H(m) seja uma função de hash resistente a colisão que mapeia uma mensagem de comprimento de bits arbitrário para um valor de hash de n bits. É verdade que, para todas as mensagens x, x’ com x ≠ x’, temos ? Explique a sua resposta.

Aula 16 (09-set-2019). Autenticação de Usuário

Exercícios de revisão.

  • Em termos gerais, quais são os quatro meios de autenticação da identidade de um usuário?
  • Liste e descreva brevemente as principais ameaças ao sigilo de senhas.
  • Cite duas técnicas comumente usadas para proteger um arquivo de senhas.
  • Liste e descreva brevemente quatro técnicas comuns para selecionar ou atribuir senhas.
  • Explique a diferença entre um cartão de memória simples e um smart card.
  • Liste e descreva brevemente as principais características físicas usadas para identificação biométrica.
  • No contexto da autenticação biométrica de usuários, explique os termos registro, verificação e identificação.
  • Defina as expressões taxa de falsa correspondência e taxa de falsa não correspondência, e explique a utilização de um limiar em relação a essas duas taxas.
  • Descreva o conceito geral de um protocolo de desafio/resposta.

Problemas.

  • Uma tentativa anterior de forçar usuários a usar senhas menos previsíveis envolvia senhas fornecidas por computador. As senhas tinham oito caracteres de comprimento e eram tiradas do conjunto de caracteres formado por letras minúsculas e dígitos. Cada senha era geradas por um gerador de números pseudoaleatórios com 2^15 possíveis valores iniciais. Usando a tecnologia da época, o tempo exigido para pesquisar todas as cadeias de caracteres de comprimento oito em um alfabeto de 36 caracteres era de 112 anos. Infelizmente, isso não reflete verdadeiramente a real segurança do sistema. Explique o problema.
  • Considere que senhas sejam selecionadas como combinações de quatro caracteres provenientes de um alfabeto de 26 caracteres. Suponha que um adversário consiga testar senhas à taxa de uma por segundo.
    a. Considerando que não haja qualquer realimentação para o adversário até que cada tentativa seja concluída, qual é o tempo esperado para descobrir a senha correta?
    b. Considerando que a realimentação ao adversário sinalize um erro a cada caractere incorreto digitado, qual é o tempo esperado para descobrir a senha correta?
  • Dissemos que a inclusão de sal no esquema de senha do UNIX aumenta a dificuldade de adivinhação por um fator 4.096. Porém, o sal é armazenado na forma de texto às claras juntamente com a senha em texto cifrado correspondente. Por conseguinte, esses dois caracteres são conhecidos pelo atacante e não precisam ser adivinhados. Por que se afirma que o sal aumenta a segurança?