Buscar

Questões Formação Específicas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questão 1 
Questão 1.[footnoteRef:1] [1: Questão 25 – Enade 2017. ] 
Um provedor de serviços de segurança de redes e sistemas distribuídos enumerou três componentes de rede essenciais para a garantia da segurança dos dados corporativos: firewall de rede; sistemas de prevenção e detecção de intrusão; e gateways antivírus. 
Acerca desses componentes de rede, assinale a opção correta. 
A. Os gateways antivírus trabalham no nível da camada de rede e verificam o fluxo de dados em busca de assinaturas de vírus conhecidas. 
B. O firewall de rede deve ser configurado para detectar transferência de informação através de um canal camuflado (covert channel) baseado em túneis. 
C. Um firewall de camada de rede (network layer firewall) permite uma filtragem mais detalhada dos dados que um firewall de camada de aplicação (application layer firewall) ao custo de um pior desempenho. 
D. Os sistemas de prevenção de intrusão são vistos como uma extensão do firewall e são capazes de detectar anomalias de tráfego ou conteúdo malicioso antes que eles alcancem a rede. 
E. O sistema de detecção de intrusão é capaz de identificar ataques iniciados dentro da rede protegida e agir proativamente para neutralizar a ameaça. 
 
Justificativa: A alternativa D confere justamente a sistemas de prevenção de intrusão.
 
 
 
 
 
 
 
 
 
 
 
 
1. Introdução teórica 
 
Segurança da informação e segurança de redes 
 
O campo da segurança da informação tornou-se uma das áreas de maior crescimento na informática nos últimos anos. Mesmo empresas de porte pequeno podem ter severos prejuízos no caso de um incidente de segurança, como o vazamento de informações de clientes e o dano de registros contábeis, dentre outros. 
Existem diversos aspectos que devem ser levados em consideração ao pensarmos na segurança de uma rede de computadores. Um dos principais é garantir o isolamento entre a rede interna de um negócio e o “mundo exterior” (por exemplo, a internet). Ao se criar um isolamento entre as redes, garante-se um mínimo de segurança, na medida em que os computadores da rede interna vão estar menos expostos a ataques. Os firewalls trabalham com o objetivo de criar esse isolamento, controlando as conexões internas e as conexões externas. Os firewalls podem trabalhar tanto na camada de rede (as primeiras versões eram simples filtros de pacotes, seguidos posteriormente dos stateful firewalls) quanto na camada de aplicação (os chamados application 
firewalls), sendo que, nesse caso, eles podem identificar aspectos da comunicação em todas as camadas até a camada de aplicação e, por isso, são mais poderosos. Contudo, ainda existe uma série de outros problemas de segurança que não são cobertos apenas pelos firewalls. 
Mesmo que haja separação entre redes, existe a possibilidade de invasão. Indivíduos com intenções maliciosas podem tentar invadir uma rede para extrair informações ou para amealhar recursos computacionais (por exemplo, para a construção de botnets). Uma botnet é um tipo de aplicação computacional distribuída, normalmente construída com más intenções para utilizar recursos computacionais alheios para fins ilícitos. 
Para dificultar a detecção da comunicação com essas intenções, invasores podem utilizar 
“canais secretos” (covert channels). Segundo Fisch e White (1999), um covert channel é uma “transmissão de informação utilizando um canal que não é permitido segundo as políticas de segurança estabelecidas para um sistema”. 
Uma das técnicas que pode ser utilizada para detectar uma invasão é monitorar o tráfego dos dados na rede, buscando identificar anomalias (padrão de tráfego incomum). Uma anomalia não quer dizer, obrigatoriamente, que exista uma invasão ou um vírus, mas pode ser um indício, algo que deve ser investigado pela equipe de segurança. Sistemas de prevenção de intrusão buscam identificar e reportar essas anomalias de forma automática. 
Outro problema bastante conhecido refere-se aos vírus de computador. São ameaças antigas, que causavam problemas em sistemas computacionais desde a década de 1980. Boa parte desses vírus mais antigos era apenas uma “pegadinha” (de mau gosto) feita por pessoas sem intenções comerciais. Contudo, com o tempo, os vírus foram se tornando mais sofisticados e perigosos. 
Os primeiros vírus funcionavam de uma forma muito simples, “infectando” executáveis de outros programas. Um usuário, ao rodar o programa infectado, também rodava o código do vírus. O código do vírus infectava outros arquivos na máquina, que, se fossem compartilhados com outros usuários e executados, espalhariam o vírus para outras máquinas. 
Mais recentemente, algumas ameaças tornaram-se muito mais sofisticadas. Um exemplo são os chamados worms (que, em português, significa verme), programas capazes de utilizar vulnerabilidades dos sistemas operacionais para se replicar e se espalhar por uma rede de forma automática. 
 
Indicações bibliográficas 
 
· FISCH, E. A.; WHITE, G. B. Secure computers and networks: analysis, design, and implementation. Boca Raton: CRC Press, 1999. 
· HUBER, N. Patching holes in enterprise grade firewalls and writing netfilter modules. 2018. 
Disponível em <https://blog.securityinnovation.com/firewall>. Acesso em 21 mar. 2019. 
· KUROSE, J. F.; ROSS, K. W. Redes de computadores e a internet: uma abordagem Top-Down. 
5. ed. São Paulo: Addison Wesley, 2010. 
· TANENBAUM, A. S.; WETHERALL, D. Redes de computadores. São Paulo: Pearson, 2011. 
· TORRES, G. Redes de computadores. Rio de Janeiro: Novaterra, 2013. 
 
 
 
 
 
 
Questão 2 
Questão 2.[footnoteRef:2] [2: Questão 26 – Enade 2017. ] 
Estruturas de dados, tais como filas e pilhas, são utilizadas em diversas aplicações para automação industrial por meio de linguagens de programação textuais. O texto estruturado (ST) é uma das opções de linguagem de programação definidas pela norma IEC 61131-3. O trecho de código a seguir foi implementado nesse contexto. 
 
#define MAX 1000 struct eventos { 	char ocorrencia[200]; 
 	char dataHora[50]; 
}; 
struct eventos eve[MAX]; int inicio = 0; int fim = 0; 
int processaEvento (struct eventos *recuperado) { 
 	if(inicio == fim) { 
 	 	return -1; 
 	} 
 	else { 
 	 	inicio++; 
 	 	copiaEvento (recuperado, eve[inicio - 1]); 
 	 	return 0; 
 	} 
} 
int insereEvento (struct eventos *novo) { 	if(fim == MAX) { 	 	return -1; 
 	} 
 	else { 
 	 	copiaEvento (eve[fim], novo); 	 	fim++; 
 	 	return 0; 
 	} 
} 
 
É correto afirmar que a estrutura de dados e a funcionalidade desse código trata-se de
A. uma fila que processa primeiro os eventos mais antigos. 
B. uma pilha que processa primeiro os eventos mais antigos. 
C. uma pilha que processa primeiro os eventos mais recentes. 
D. uma pilha que processa os eventos na ordem escolhida pelo operador. 
E. uma fila que processa os eventos de acordo com seu respectivo grau de prioridade. 
Justificativa: Os métodos implementados seguem a filosofia FIFO – primeiro a entrar é o primeiro a sair – inclui no fim da estrutura de dados e retira do início. Todo o código caracteriza um FILA. Nenhum dos dois métodos define prioridade de retirada ou inclusão. Sendo assim, a alternativa correta é A.
 
 
 
 
 
 
 
 
 
 
 
1. Introdução teórica 
 
Estruturas de dados: filas 
 
A solução de muitos problemas na programação de computadores passa pela escolha de uma estrutura de dados adequada, o que garante não apenas uma solução correta, mas um desempenho adequado tanto do ponto de vista de processamento quanto do ponto de vista de uso da memória disponível. 
Uma das estruturas de dados típicas é a fila. Essa estrutura comporta-se de forma similar às filas de pessoas que encontramos em estabelecimentos como bancos e restaurantes. As pessoas vão chegando e se alinhando, de forma que aquela que está há mais tempo na fila, que foi a primeira a chegar, é a primeira a ser atendida, assim que isso for possível (supondo que todos sejam educados e ninguém “fure a fila”, passando na frente). Cada vez que uma pessoa nova chega, ela deve entrar no final da fila, esperando pacientementea sua vez. 
A estrutura de dados tipo fila comporta-se de maneira similar: os primeiros elementos que são adicionados na fila são os primeiros a serem retirados, o que faz com que a fila seja classificada como uma estrutura do tipo FIFO – First In, First Out, ou, o primeiro que entra é o primeiro que sai. 
Na computação, filas são úteis em muitas situações. Por exemplo, quando dispomos de uma capacidade limitada de recursos de processamento, mas uma quantidade arbitrária de requisições (que podem ocorrer de forma assíncrona). Nesses casos, a forma mais “democrática” de compartilhar os recursos disponíveis é utilizar uma fila simples, fazendo com que as requisições sejam processadas na ordem em que chegaram. No entanto, em algumas situações, isso pode não ser a melhor opção, especialmente nas situações em que exista necessidade de adicionar algum tipo de prioridade nas requisições. 
Quando há a necessidade de algumas requisições passarem na frente de outras, devemos criar um sistema de prioridades. Além disso, em alguns casos, pode ser necessário formar mais de uma fila, dependendo do tipo de problema que se queira resolver e da forma como vai ser feito o processamento das requisições. 
Existem inúmeros exemplos de aplicações de filas em problemas na área de computação. Em sistemas operacionais, por exemplo, as informações sobre os processos são armazenadas nos chamados blocos descritores de processo (Process Control Blocks). Esses blocos podem ser armazenados em filas, que correspondem aos estados dos processos em execução. 
 
Indicações bibliográficas 
 
· CELES, W.; CERQUEIRA, R.; RANGEL, J. R. Introdução à estrutura de dados. Rio de Janeiro: Campus, 2004. 
· KNUTH, D. E. The art of computer programming. Upper Saddle River: Addison-Wesley, 1997, v. 1. 
· WIRTH, N. Algorithms + Data Structures = Programs. Englewood Cliffs: Prentice-Hall, 1976.

Continue navegando