Você está na página 1de 46

Esse documento está licenciado pela licença Creative

Commons Atribuição-Uso Não-Comercial-Compatilhamento


pela mesma licença 3.0.
Para saber o que você pode fazer ou não com este arquivo,
leia este link antes de usá-lo:
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.pt

This document is licensed under Creative Commons


Attribution-Noncommercial-Share Alike 3.0 License.
Refer to: http://creativecommons.org/licenses/by-nc-sa/3.0/

Eduardo Fleury – Alguns direitos reservados – Some rights reserved


Linux, Windows e Segurança
Uma Visão Geral

Eduardo M. Fleury – fleury@br.ibm.com


Eng. de Software
IBM Linux Technology Center Brasil

Agosto / 2007
Quem sou eu?
Quem sou eu?
Sobre o que vou falar?

● Parte I - GNU/Linux

● Parte II - Software Livre

● Parte III - Segurança

● Parte IV - Windows x Linux


Parte I - GNU/Linux

● O que é?

● Como é distribuído?

● Principais Distribuições
GNU/Linux
O que é?

● Sistema Operacional UNIX-Like

● Um dos mais bem sucedidos exemplos de Software Livre

● Interoperável com outros SOs (MacOS, Windows, FreeBSD, etc)

● Confiável, adaptável.
GNU/Linux
O que é?
GNU/Linux
Como é distribuído?

● Componentes do Linux podem ser baixados na Internet:


– Kernel - http://kernel.org/
– Glibc, GCC, ... - http://www.gnu.org/
– Xorg - http://www.x.org/
– e assim por diante

● É trabalhoso e muito pouco produtivo instalar o GNU/Linux


a partir de cada um de seus componentes separados.
GNU/Linux
Como é distribuído?

● Surgem as Distribuições

● Solução completa, empacotada, pronta para o uso.

● Semelhantes
– Kernel, bibliotecas e toolchain

● Diferentes
– Ferramentas do sistema, gerenciamento de pacotes

● Questão de gosto pessoal


– Mesmos aplicativos
GNU/Linux
Principais Distribuições

Utilizam
RedHat Suse Fedora Mandriva
pacotes RPM

Debian e
Debian Ubuntu Kurumin
derivadas

Slackware e Derivadas Gentoo

GoboLinux
GNU/Linux
Principais Distribuições

Mostrar LinuxTimeFrame.jpg :-)

http://en.wikipedia.org/wiki/Image:LinuxDistroTimeline.png
Parte II - Software Livre

● Definição

● Ganhando dinheiro com Software Livre

● Vantagens
Software Livre
Definição

● “Livre” como em “Liberdade”

● As 4 liberdades da Free Software Fundation:


– Executar o programa para qualquer fim.

– Estudar e modificar o programa.

– Distribuir o programa para ajudar seus pares.

– Melhorar o programa e distribuir suas melhorias


ao público, ajudando toda a comunidade.
Software Livre
Definição

● Software Livre x Software Grátis?

● Software grátis popularmente utilizados:

– MSN
– Windows Media Player
– Internet Explorer
Software Livre
Ganhando dinheiro com Software Livre

● Serviços

● Agregando valor

● A experiência do Linux Technology Center (LTC)


Software Livre
Vantagens

● Conhecimento

● Privacidade

● Ciclo de desenvolvimento

● Segurança
Parte III - Segurança
● Fundamentos

● Principais ameaças
– Malware
– Exploração de Falhas

– Ataques de Rede
– Engenharia Social
Segurança
Fundamentos

● A regra mais importante de qualquer sistema de


segurança:

– “Sua proteção é tão frágil quanto o elo mais


fraco que a compõe”

● Qual o custo/benefício de um ataque?

– A proteção deve ser proporcional ao valor do


patrimônio.
Segurança
Principais Ameaças

● Malware - Vírus

– Programa malicioso que possui a capacidade de


se multiplicar e infectar um sistema sem o
consentimento ou conhecimento do usuário.

– Utilizam as mais variadas formas de propagação.


Segurança
Principais Ameaças

● Malware - Cavalos de Tróia

– Programas do tipo cliente/servidor que visam


possibilitar que um atacante (invasor) obtenha o
controle da máquina da vítima.
Segurança
Principais Ameaças

● Malware - Spyware

– Programas que fornecem a terceiros informações


do usuário, ameaçando a privacidade da vítima.
Segurança
Principais Ameaças

● Exploração de Falhas (Buffer Overflow, Format


Strings, etc).

– Exploram falhas de programação encontradas


nos softwares utilizados pela vítima.

– Através destas falhas o atacante é capaz de


alterar o funcionamento normal do programa
para obter o controle da máquina ou torná-la
indisponível.
Alguém está com sede?
Segurança
Principais Ameaças

● Ataques de Rede

– Exploram falhas e/ou limitações dos protocolos


de rede largamente utilizados.

– Ganharam importância com o advento da


Internet.

– Têm se tornado cada vez mais problemáticos


com o advento das redes sem fio (WiFi).
Segurança
Principais Ameaças

● Ataques de Rede – Sniffing

– O atacante que está na mesma rede que a


vítima (ex. mesmo colégio, mesma empresa).

– Configura sua máquina para que ela lhe mostre


todas as informações que estão trafegando pela
rede.

– Lê conversas de MSN, emails, etc. Pode roubar


senhas não cifradas.
Segurança
Principais Ameaças

● Ataques de Rede – Man-in-the-middle

– Pode ser usado em redes diferentes.

– Funciona em redes chaveadas (redes que usam


switches ao invés de hubs).

– O atacante intercepta a comunicação da vítima


com um servidor (ex. site do banco) e se coloca
entra o cliente e o servidor, de forma a “ouvir”
todo o tráfego e assim roubar dados.
Segurança
Principais Ameaças

● Ataques de Rede – DoS (Denial of Service)

– Têm por objetivo impedir que a máquina da


vítima ofereça os serviços normais.

– Utilizam inúmeras técnicas diferentes (tirar a


máquina do ar, afogar a máquina com pedidos
falsos, etc)

– Podem trazer prejuízos enormes (sites de venda


online, etc.)
Parte IV – Windows x Linux

● Controle de Usuários

● Controle de Permissões

● Distribuição de Binário x Distribuição dos Fontes

● Correção de falhas
Windows x Linux
Controle de Usuários

● Windows

– Versões mais novas diferenciam os privilégios de


cada tipo de usuário (Administrador, Usuário
Avançado, Usuário Básico, Visitante)

– Por padrão o Windows cria um único usuário com


poderes totais sobre a máquina.

– Quase todos usam contas do tipo


“Administrador” para o uso diário de seus
computadores.
Windows x Linux
Controle de Usuários

● Linux padrão
– Duas classes de usuário:
● Superusuário (“root”)
● Usuários comuns

– Usuários são colocados em “grupos”


● 1 grupo pode conter 1 ou mais usuários
● 1 usuário pode pertencer a 1 ou mais grupos

– Costume UNIX: uso do “root” apenas em casos


específicos.
Windows x Linux
Controle de Usuários

● Todo “processo” em execução na máquina


(Windows ou Linux) possui um usuário associado a
ele.

● Os privilégios que cada processo tem são definidos


por este usuário associado.

● Por padrão os processos executam com o mesmo


usuário que o iniciou.

● Existem exceções (Set UID e semelhantes).


Windows x Linux
Controle de Permissões

● Windows
– Versões profissionais possuem controle granular.

– Normalmente utiliza-se um modelo mais simples


(pastas compartilhadas).

● Linux
– Cada objeto possui propriedades básicas:
● “usuário” ao qual ele pertence
● “grupo” ao qual ele pertence

● “bits de permissão”
Windows x Linux
Controle de Permissões

● Linux – Bits de Permissão

– Cada arquivo possui 9 bits de permissão


associados a ele.
Windows x Linux
Controle de Permissões

● Linux – Bits de Permissão

– Exemplo
Windows x Linux
Controle de Permissões

● Vírus e Malwares em geral irão executar com


permissões iguais as do usuário.

● Resultado
– No Windows provavelmente estes programas
irão obter controle total da máquina.

– No Linux estes programas provavelmente terão


ação limitada ou nula.
Windows x Linux
Distribuição de Binário x Distribuição do Fonte

● Windows

– Fabricante compila e distribui o binário.

– Todos os Windows de uma mesma versão usam


exatamente o mesmo binário.

– Grande maioria das pessoas usa uma dentre as


duas ou três versões mais populares.
Windows x Linux
Distribuição de Binário x Distribuição do Fonte

● Linux
– As diversas distribuições recebem o fonte.

– Muitas distribuições fazem modificações no


código.

– Cada uma das distribuições compila suas


versões com um determinado conjunto de
parâmetros.

– Alguns usuários compilam seus próprios


programas e kernel.
Windows x Linux
Distribuição de Binário x Distribuição do Fonte

● Resultado:
– Formato dos binários utilizados no Windows é
muito previsível.

– Formato dos binários utilizados no Linux é


pouco previsível.

● Vírus e Exploits de falhas só funcionam se o binário


for igual ao esperado (ou muito semelhante).
Windows x Linux
Correção de Falhas

● Ciclo no Windows
– Falha é encontrada

– O fornecedor é convencido que uma falha existe.

– O fornecedor pesquisa e corrige a falha.

– O fornecedor fornece um Service Pack ou


atualização de segurança.

– Os usuários atualizam seus sistemas.


Windows x Linux
Correção de Falhas

● Ciclo no Linux (e outros Softwares Livres)

– Falha é encontrada.

– A comunidade tenta corrigir o problema.

– A correção é imediatamente disponibilizada ao


público.

– Os usuários atualizam seus sistemas.


Considerações Finais
● Falhas podem ocorrer em qualquer sistema

● Prevenção:
– Minimizar o potencial de estrago.

– Programação orientada à segurança.

● Correção:
– Manter o sistema sempre atualizado.

– Contribuir com a comunidade.


Considerações Finais
● Pesquisar, estudar, difundir o conhecimento.

● Dicas:
– Livro: Hacking: The Art of Exploitation
Jon Erickson
Considerações Finais
● Dicas:
– Conferências:
● Hackers 2 Hackers Conference
4th Edition – 08 e 09 / novembro – Brasília, DF
http://www.h2hc.org.br/

●Defcon
EUA
http://www.defcon.org/
Agradecimentos
● IBM
– Milene Antoniassi
– Rodrigo Rubira Branco

● EE Leandro Franceschini
– Prof. Clóvis
– Direção
– Todos os presentes :-)

● Todos aqueles que contribuíram com idéias e


sugestões.
Perguntas?
fleury <arroba> br <ponto> ibm <ponto> com

http://eduardofleury.com

“O uso da palavra “HACKER” para se referir ao


“violador de segurança” é uma confusão que vem
por parte dos meios de comunicação de massa.
Nós, Hackers, nos recusamos a reconhecer este
significado, e continuamos usando a palavra para
indicar “alguém que ama programar e que gosta de
ser hábil e engenhoso”.
Richard Stallman

Você também pode gostar