terça-feira, 23 de junho de 2009

11 - Segurança - Wassily

Os recursos do computador precisam ser protegidos contra acesso não-autorizado, destruição ou alteração maliciosa e introdução acidental a inconsistência.

                    Formas de acesso malicioso


• Leitura não autorizada de dados (ou roubo de informações)
• Modificação não-autorizada de dados
• Impedimento de uso legítimo do sistema (ou negação de serviço)

Para proteção do sistema, é necessario tomar medidas de segurança em 4 níveis:


Físico: Instalações contendo sistemas computadorizados precisam ser fisicamente protegidas contra a entrada armada ou sorrateira de intruosos


Humano: Evitar que usuário tenha a chance de autorizar um usários que podem dar acesso a intrusos.


Rede: A interceptação do enorme fluxo de dados nos sistemas modernos pode ser prejudicial, e a interrupção das comunicações poderia constituir um ataque de negação de serviço (denial of service) remoto, diminuindo o uso dos usuários e a confiança do sistema


Sitesma operacional: Precisa se proteger contra brechas de segurança acidentais ou propositais.

                                               

                    Autentificação do usuário


-Identificar os programas e processos em execução, inicialmente identificando cada usuário do sistema.

Formas:
Senha – se senha fornecida pelo usuário combinar com a senha armazenada no sistema, o sistema considera que o usuário é legítimo. Usadas para proteger objetos no sistema computadorizado, na ausência de esquemas de proteção mais complexos.


Vulnerabilidades da senha – podem ser adivinhadas, expostas de forma acidental, farejadas, ou transferidas de usuários autorizados para não autorizados.


Senhas criptografadas – O sistema contém uma função (algorítmo de criptografia) bem difícil de inverter, mas simples de calcular. A função é encarregada de codificar todas as senhas. Mesmo que a senha seja vista, não poderá ser decodificada a menos que se conheça o código usado na decodificação. Há porém uma falha, já que o sistema não tem mais o controle sobre as senhas. Qualquer um com uma cópia do arquivo de senhas pode executar rápidas rotinas de criptografia contra ela. 

-Novas versões do UNIX armazena as entradas de senha criptografadas em um arquivo que só pode ser lido pelo superusuário
-Muitos sistemas como o próprio UNIX tratam apenas os primeiros caracteres significativos da senha.

Senhas de única vez – Quando a sessão é iniciada, o sistema seleciona aleatoriamente e apresenta uma parte de um par de senhas; o usuário precisa fornecer a outra parte. A senha é diferente em cada ocasião, e qualquer um que capture a senha de uma sessão e tente reutilizá-la em outra sessão falhará. 


Biometria – Leitores de impressão digital lêem os padrões de sulcos do seu dedo e os convertem em uma sequência de números. O software pode então digitalizar um dedo no aparelho e comparar suas características com aquelas sequências armazenadas. 

                    Ameaças ao programa

Cavalo de tróia – em sistemas que permitem que programas escritos por usuários sejam executados por outros usuários, caso os programas sejam executados com direitos de acesso do usuário executando, outros usuários podem abusar desses direitos. Um segmento de código que abusa do seu ambiente é um cavalo de Tróia.


Porta de armadilha – projetista de um programa ou sistema pode deixar um furo no software onde somente ele é capaz de usar.


Estouro de pilha e buffer – o ataque explora um bug de um programa. O atacante envia mais dados do que o programa estava esperando, e por tentativa e erro, ou examinando o código fonte do atacado, determina a vulnerabilidade.

 

                    Ameaças ao sistema

 
Worm – Uso do mecanismo de procriação para arruinar o desempenho do sistema. Verme procria cópias de si mesmo usando os recursos do sistema e talvez vloqueando todos os acessos.


Vírus – Se espalham em outros programas. Fragmentado de código embutido em um programa legítmo. 


Negação de serviço – Visa interromper o uso legítmo de um sistema ou instalação.                            

                   Segurança de sistemas e instalações

-Sondar o sistema periodicamente em busca de furos na segurança.

Detecção de intrusões

Possui grande variedade de técnicas, que variam por diversos eixos:
• Momento em que detecção ocorre
• Tipos de entradas examinadas para detectar a atividade intrusiva
• Intervalo de capacidades de resposta

Auditoria e logging – Elementos relevantes à segurança são registrados em uma trilha de auditoria e depois comparados com assinaturas de ataque ou analisados em busca do comportamento anômalo. 

Tripwire – ferramenta para monitorar os sistemas de arquivos em busca de arquivos acrescentados, excluidos ou alterados, e alertar os administradores de sistemas sobre essas modificações.

Monitoração de chamadas de sistema – Monitora as chamadas de sistema de um processo para detectar, em tempo real, quando um processo está desviando do seu comportamento esperado de chamada de sistema. 

                    CRIPTOGRAFIA
 
- A criptografia é usada para restringir os emissores e receptores em potencial de uma mensagem. É baseada em segredos, chamados chaves, que são distribuidos seletivamente aos computadores em uma rede e usados para processar mensagens. Permite ao destinatário de uma mensagem verificar se a mensagem foi criada por algum computador que possui ou uma certa chave, ou origem da mensagem.

Codificação -É um meio de restringir os possíveis receptores de uma mensagem. Um algorítmo de codificação permite ao emissor de uma mensagem garantir que somente um computador possuindo uma chave certa possa ler a mensagem

                    Classificações da segurança do computador


• A - Nível mais alto, equivalente a B3 arquitetonicamente, mas utiliza especificações de projeto formais e técnicas de verificação, concedendo um alto grau de garantia que a TCB foi implementada de maneira correta.
• B – Todas as características da C2, e rótulo de sensibilidade a cada objeto
• C – Proteção discricionária e contabilidade dos usuários e suas ações
• D – Classificação de nível mais baixo, proteção mínima


Um comentário:

Bibliográfia utilizada

SILBERSCHATZ, Abraham - Sistemas Operacionais com Java, 7ª ed. rev. atual. - Rio de Janeiro: Elsevier Campus, 2008



TANENBAUM, Andrew S. - Sistemas Operacionais Modernos, 2ª ed. - São Paulo: Prentice Hall, 2003




STALLINGS, william - Operating Systems: Internals and Design Principles, Sixth Edition, 2009.