Segurança na Internet

Liane M. R. Tarouco
UFRGS
liane@penta.ufrgs.br

Situação  atual
· Cada vez mais pessoas, com formação mais heterogênea, tem acesso à Internet
· Recursos valiosos são armazenados para uso sem intermediação humana; programas acessam 
· programas
· Ampliadas facilidades de acesso e administração de sistemas remotamente facilitam obtenção de  controle total de um sistema conectado à Internet
· Rotinas disponíveis para criptoanálise (quebradores de senhas)
· Literatura e conferências eletrônicas ensinam como quebrar a segurança de sistemas

A Internet não é intrinsecamente segura

• Protocolos sem proteção contra monitoração
• Autenticação fraca
• Problemas:
– IP spoofing
– Redirecionamento de tráfego
– Obstrução de acesso
– NIS
– Email fraudulento
– Monitoração

Abordagem básica
• O custo de proteger contra um ataque deve ser menor do que o valor da perda se um ataque é 
realizado 
– O que vai ser protegido?
–  Vale a pena?
– Contra que tipo de ataque?
– Quais os ataques prováveis ?

• Implementar mecanismos de proteção de modo eficiente e com custo aceitável
• Revisar  o processo continuamente e aperfeiçoar os mecanismos de proteção cada vez que um 
ataque é percebido

Identificando os alvos
· Hardware: cpu, placas, teclados, terminais, estações de trabalho, PC, impressoras, unidade de disco, linhas, servidores de terminais, modems, repetidores, pontes e roteadores
· Software: programas fonte, programas objeto, utilitários, programas de diagnóstico, sistemas operacionais, programas de  comunicação
· Dados: durante a execução, armazenado on-line, arquivados off-line, backups, trilhas de auditoria, BD, em trânsito na rede
· Pessoas: usuários, administradores
· Documentação: sobre programas, hardware, sistemas, procedimentos administrativos locais
· Suprimentos: papel, formulários, fitas de impressão, meio magnético 

Identificando os ataques
• Acesso não autorizado
• Revelar informação
• Impedir o acesso  ao serviço

Identificando  os pontos frágeis
• Pontos de acesso
• Enlaces
• Linhas discadas
• Servidores de terminais
• Sistemas mal configurados
• Bugs de software
• Acesso por pessoal interno
• Servidores genéricos

Mecanismos de defesa
• Auditoria
• Autenticação
• Registro (notarização)
• Assinatura digital

Assinatura digital = dados agregados ou transformação criptográfica de uma unidade de dados que 
permite ao seu receptor provar a origem e integridade da unidade de dados e proteger contra 
falsificação inclusive pelo receptor 

Análise de riscos
As formas de ataque podem incluir:
• VIRUS
• CAVALO DE TROIA
• BOMBA LÓGICA


Exemplo: The WORM
• 2/nov/1988
• Copiava a si mesmo de máquina a máquina
• carregava as várias máquinas infectadas preterindo o atendimento a outros usuários
• MIT,  NASA, US ARmy Ballistic Research Lab desconectaram-se da rede
• Roberto Morris - 5 anos de prisao $ 250.000 jan/90

Active X control crashes Windos 95
• Information page with a link to a page which loads the control:
•  http:25/07/97/www.halcyon.com/mclain/ActiveX/
• uote from the page:
• Exploder is an Active X control which demonstrates security problems with Microsoft's Internet 
Explorer. 
Exploder performs a clean shutdown of Win95 and will turn off the power on machines that 
have a power conservation BIOS (green machines).

Microsoft Internet Information Server v 1.0  ".bat" Security Bug
•  .bat and .cmd BUG is well-known in Netscape server and described in WWW  security FAQ Q59
– undocumented remote administration feature
• IIS Web server maps .bat and .cmd extensions to cmd.exe
1) IIS Web server allows a hacker to execute his "batch file" by typing      
/scripts/abracadabra.bat?&COMMAND1+?&COMMAND2+?&...+?&COMMANDn
In a similar situation with the Netscape server, only single command  can be executed.
2) There is no file abracadabra.bat in /scripts directory, but .bat      extension is mapped to C:\WINNT35\System32\cmd.exe
In a similar situation with the Netscape server, actual .bat file must  exist.
3) In case a hacker enters a command like "time" or "date" as     COMMAND[N], nothing will be logged by IIS Web server.
In a similar situation with the Netscape server, the error log will  have a record about remote IP and command you trying to execute.                                   
4. Workaround
Disable .BAT and .CMD file extensions for external CGI scripts in file mapping feature of IIS Web server.

Novell HTTP server
If you are running the Novell HTTP server, please disable the CGI's  it comes with it until you 
understand (fully understand) what the  security risks are.
• The CGI in question is convert.bas (yes, cgi's in basic, stop laughing).
• A remote user can read any file on the remote file system using this CGI.  
• This means that if you are running the Novell HTTP server and have the 'out of box' CGI's, you are 
breached.
• Exploit code:
• http:25/07/97/victim.com/scripts/convert.bas?../../anything/you/want/to/view

BOMBA LÓGICA

• Programa que causa dano quando verifica determinada condição
– data
– ausência de algum nome de um arquivo ou banco de dados

A segurança da Internet depende muito da segurança do UNIX 
• Sistema operacional mais usado na Internet
– servidores
– estações de trabalho (PC com LINUX)
• Tendência a dominar o cenário em termos dos servidores genéricos
Sistema Operacional UNIX tem lacunas de segurança, assim como outros sistemas operacionais, 
mas é mais conhecido em seus detalhes intrínsecos

Por que o UNIX não é  tão seguro?
• Projetado por programadores para uso por programadores
• Ambiente orientado à cooperação e não ao isolamento e manutenção de privacidade
• Compartilhar recursos era a ênfase, em vez de segmentar ambientes de trabalho
• Novas facilidades para acesso e administração remota foram adicionadas tornando a segurança ainda mais dificil de controlar

Ferramentas de ataque
• remote login (pode dispensar password)
• remote command execution
• network file system (exporta diretórios sem restrições)
• correio eletrônico com processamento de mensagens
• programas rodando com mais privilégios do que o necessário
• scripts e programas com SUID para o root
• qualquer código ou script que seja enviado a um computador para execução local (um browser 
WWW, um editor de texto)
Aumento de funcionalidades --> maior vulnerabilidade

Níveis de segurança
Classificação de sistemas definida pelo governo americano

D1: Sistema inteiro não é confiável, sem autenticação, sem direitos de acesso
C1: Algum nível de proteção 
         Direitos de acesso e permissões
         Administrador tem poderes absolutos
C2: C1 mais níveis de autorização
       Auditoria
B1: Objetos sob controle não podem ser alterados pelo seu proprietário
B2: Requer que cada objeto do sistema seja rotulado e controla o acesso
B3: Domínios de segurança; rotas seguras
A: Estrito controle sobre projeto; verificação matemática; embarque protegido

Crack
• ftp.cert.org  /pub/tools/crack
• dicionários alternativos
– black.ox.ac.uk
– /wordlists

Como proteger?
• Firewalls (paredes corta fogo)
• Sistemas que intermediam toda a comunicação com a Internet

Paredes “corta-fogo”
• Proteção contra a entrada do “fogo de ataque”
• Acesso intermediado
• Computador de entrada da rede rigorosamente controlado

DES-Data Encryption Standard
• Transforma texto plano em texto crifrado usando um algortimo (público) e uma chave
• O texto cifrado pode ser decodificado mediante o uso da mesma  chave
• Legislação americana proibe exportação de produtos usando DES com chaves adequadas


Kerberos

Sistema de segurança desenvolvido pelo MIT-Massachusetts Institute of Technology para o 
projeto Athena que utiliza o conceito de algoritmo de chave pública

Usado na Internet, adotado pela OSF (Open Software Foundation) como parte do DCE 
(Distributed Computing Environment). Vários fornecedores, como IBM, DEC, HP, Sun 
planejam tornar Kerberos parte de seus sistemas operacionais UNIX.

Kerberos está baseado em 3 componentes para assegurar a segurança da rede:

•    um banco de dados
•    um servidor de autenticação
•    um servidor garantidor de  tiquetes (TGS=Ticket Granting Server)

Todos os três componentes ficam em um servidor seguro que é conectado à rede.

Dispositivos biométricos
Métodos automatizados para verificar ou reconhecer a identidade de um pessoa viva com base em 
características fisiológicas, como impressão digital ou padrão da iris ou com base em algum aspecto de seu 
comportamento, tal como escrita manual ou padrão de toque digitação.

Dados biométricos
• Verificação de identidade
    aceitar x rejeitar

• Reconhecimento de identidade
     procurar num conjunto de dados
     armazenados

• Custo, conforto, precisão, aceitabilidade

Comportamento dos usuários
· Brechas na segurança de um sistema não constituem licença para agir de forma ilegal se aproveitando de tais lacunas
· Acesso não autorizado constitui violação das regras na Internet, não importa quão fragil seja a 
segurança de um computador ou rede
· Legislação sobre acesso não autorizado começa a aparecer em varios países
· USA Computer Fraud and Abuse Act  of 1986, Title 188 U.S.C. section 1030 -- crime acessar 
sem autorização computadores governamen-tais e de instituições financeiras

Responsabilidade civil
• Projeto de lei em tramitação no congresso
Art. 4o. Toda rede de computadores cujo acesso é oferecido ao público, ou a uma comunidade 
restrita, mediante remuneração de qualquer natureza, deverá ter um administrador de rede 
legalmente constituído.

Art. 5o. O administrador de rede é responsável pelos serviços de rede, pela segurança do 
controle de acesso e pela proteção do equipamento do usuário contra operações invasivas de 
terceiros, intencionais ou não, nos termos contratuais estabelecidos com o usuário, respeitadas 
as disposições da Lei No. 8.078, de 11 de setembro de 1990, que "dispõe sobre a proteção do 
consumidor e dá outras providências".

Responsabilidades
• O projeto ainda estabelece em seu artigo 8o que:
Art. 8o. O administrador da rede e o provedor de cada  serviço são solidariamente responsáveis 
pela segurança, integridade e sigilo das informações armazenadas em bases de dados à consulta 
ou manuseio por usuários da rede.
• Punições, que envolvem inclusive cadeia, tal como evidencia, entre outros o artigo 32:
Art. 32. Os administradores de redes integradas de computadores, os provedores de serviços e 
de informações que, no exercício da função, provocam desvio nas finalidades estabelecidas para 
o funcionamento da rede, incorrem na pena de reclusão de 1 (um) a 2 (dois) anos, e multa.

Termo de compromisso
• Usuários são responsáveis individualmente 
     pelos recursos  alocados a eles.

O que fazer quando ocorre um ataque
• Comunicação com o responsável
– postmast@atacante.dominio.x
– whois para localizar responsavel pelo domínio
– controle do domínio .br na FAPESP
• Ajuda especializada
– fechar brechas
– limpar o sistema (contra cavalos de Troia)
– implantar proteção adicional
• CERTs locais devem ser criados
– na empresa
– na rede estadual ou no provedor
– nacional

CERT/CC
• Computer Emergency Response Team/Coordination Center
• DARPA-Defense Research Projects Agency
• SEI-Software Engineering Institute - CMU
• Clearing house para identificação e resolução de vulnerabilidades
• Coordenar soluções
• 24-hour hot-line
• FTP cert.org
• www.cert.org
• cert@cert.sei.cmu.edu

Listas de discussão
• Lista para tratar de assuntos ligados a seguranca em ambiente Unix e Redes em Geral.
– Política de segurança
–  Prevenção 
–  Contingência
– Acesso não autorizado
– Ameaças
– Ferramentas de adminstração
– Firewalls
• ftp:25/07/97/ftp.pangeia.com.br/pub/sec/docs/CheckList
• forma de cadastramento:
• Mail para: majordomo@pangeia.com.br
• no corpo da mensagem: SUBSCRIBE seguranca

CERT Advisory - March 17,  1994
SunOS /usr/ucb/rdist Vulnerability
I.   Description
     A security vulnerability exists in /usr/ucb/rdist that can be used to gain unauthorized privileges.  
Under some circumstances /usr/ucb/rdist can be used to create setuid root programs.
II.  Impact
     This vulnerability allows a local user to gain root access.
III. Solutions
   A. If rdist is not being used, change the permissions on the file :
          # chmod 700 /usr/ucb/rdist
   B. Obtain and install the appropriate patches according to the instructions included with the 
patches.
         Module           Patch ID        Filename
         rdist            100383-06       100383-06.tar.Z


                                 

 COPS-Computer Oracle and Password Program
Ferramenta de verificação de segurança para ambientes UNIX
• Verifica se arquivos importantes não  estão em modo inapropriado
• Verifica password fáceis
• Verifica identidade de usuário ou grupo duplicada, campos inválidos no arquivo passwd
• Verifica o diretório home de todos os usuários e seus arquivos .cshrc  .login  .profile  .rhosts
• Verifica todos os comandos nos arquivos /etc/rc e arquivos cron sobre possibilidade de escrita
• Verifica rotas problemáticas, arquivos NFS exportados para o mundo etc...
• Inclui um expert system que verifica se um dado usuário (normalmente o root) pode estar vulnerável
• Verifica as alterações no status setuid
• ftp ftp.uu.net ou wsmr-simtel120.army.mil 

SATAN
April 5, 1995 - liberado para o público

SATAN é uma ferramenta para auxiliar administradores de sistemas. 

.Reconhece vários problemas de segurança e relata sua descoberta, sem, contudo, explorá-los.

Para cada tipo de problema encontrado, pode ser apresentado um tutorial explicando o que pode 
ser feito sobre o problema e qual seria seu impacto: corrigir um erro num arquivo de configuração, 
instalar a correção de um bug, usar algum meio para restringir acesso ou simplimente desabilitar o 
serviço.
       
A lista dos problemas mais frequentemente encontrados:

   NFS file systems exported to arbitrary hosts
   NFS file systems exported to unprivileged programs
   NFS file systems exported via the portmapper
   NIS password file access from arbitrary hosts
   Old (i.e. before 8.6.10) sendmail versions
   REXD access from arbitrary hosts
   X server access control disabled
   arbitrary files accessible via TFTP
   remote shell access from arbitrary hosts
   writable anonymous FTP home directory           

Conclusões
• Segurança pode e deve ser adquirida
• Investimento no estudo das técnicas inerentes aos sistemas em uso em cada instituição
• Implantação dos mecanismos de proteção previstos (RFC 2196 - Site Security Handbook)
• Verificação periódica é necessária para verificar se mecanismos de segurança estão sendo efetivos