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