sexta-feira, 17 de junho de 2011

Modelo OSI


A ISO foi uma das primeiras organizações a definir formalmente uma forma comum de conectar computadores. A sua arquitectura é chamada OSI como também pode ser chamada como camadas OSI ou Interconexão de Sistemas Abertos. Este é um modelo que divide as redes em sete camadas, de forma a obter camadas de abstracção.

Camadas do Modelo OSI

1 - Camada Física

Trata a transmissão dos bits brutos pelo canal de comunicação. A camada física define as características técnicas dos dispositivos eléctricos e ópticos (físicos) do sistema. Ela contém os equipamentos de cabeamento ou outros canais de comunicação que se comunicam directamente com o controlador da interface de rede. 


2 - Camada de Enlace ou Ligação de Dados

A camada de ligação de dados também é conhecida como camada de enlace ou link de dados. Esta camada detecta e, opcionalmente, corrige erros que possam acontecer no nível físico. É responsável pela transmissão e recepção (delimitação) de quadros e pelo controle de fluxo. Ela também estabelece um protocolo de comunicação entre sistemas directamente conectados.


3 - Camada de Rede

A camada de Rede é responsável pelo endereçamento dos pacotes de rede, também conhecidos por datagrama, associando endereços lógicos (IP) em endereços físicos (MAC), de forma que os pacotes de rede consigam chegar correctamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, baseada em factores como condições de tráfego da rede e prioridades. As rotas podem ser determinadas por tabelas estáticas, no inicio de cada conversação ou altamente dinâmicas.
Essa camada é usada quando a rede possui mais de um segmento e, com isso, há mais de um caminho para um pacote de dados percorrer da origem ao destino.
Funções da Camada:
  • Movimenta pacotes a partir de sua fonte original até seu destino através de um ou mais enlaces.
  • Define como dispositivos de rede descobrem uns aos outros e como os pacotes são roteados até seu destino final.


4 - Camada de Transporte


A camada de transporte é responsável por pegar os dados enviados pela camada de Sessão e dividi-los em pacotes que serão transmitidos para a camada de Rede. No receptor, a camada de Transporte é responsável por pegar os pacotes recebidos da camada de Rede, remontar o dado original e assim enviá-lo à camada de Sessão.
Isso inclui controle de fluxo, ordenação dos pacotes e a correção de erros, tipicamente enviando para o transmissor uma informação de recebimento, informando que o pacote foi recebido com sucesso.
A camada de Transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (camadas de 1 a 3). A camada 4, Transporte, faz a ligação entre esses dois grupos e determina a classe de serviço necessária como orientada a conexão e com controle de erro e serviço de confirmação ou, sem conexões e nem confiabilidade.
O objetivo final da camada de transporte é proporcionar serviço eficiente, confiável e de baixo custo. O hardware e/ou software dentro da camada de transporte e que faz o serviço é denominado entidade de transporte.

5 - Camada de Sessão

A camada de Sessão permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, essas aplicações definem como será feita a transmissão de dados e coloca marcações nos dados que estão a ser transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor.
  • Disponibiliza serviços como pontos de controles periódicos a partir dos quais a comunicação pode ser restabelecida em caso de pane na rede.
  • Abre portas para que várias aplicações possam escalonar o uso da rede e aproveitar melhor o tempo de uso. Por exemplo, um browser quando for fazer o download de várias imagens pode requisitá-las juntas para que a conexão não fique desocupada.


6 - Camada de Apresentação



A camada de Apresentação, também chamada camada de Tradução, converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando o dispositivo transmissor usa um padrão diferente do ASCII. Pode ter outros usos, como compressão de dados e criptografia.
Os dados recebidos da camada sete são comprimidos, e a camada 6 do dispositivo receptor fica responsável por descomprimir esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da camada 7 foram "encolhidos" e enviados à camada 5.


7 - Camada de Aplicação


A camada de aplicação corresponde às aplicações (programas) no topo da camada OSI que serão utilizados para promover uma interação entre a máquina destinatária e o usuário da aplicação. Esta camada também disponibiliza os recursos (protocolo) para que tal comunicação aconteça. Por exemplo, ao solicitar a recepção de e-mail através do aplicativo de e-mail, este entrará em contato com a camada de Aplicação do protocolo de rede efetuando tal solicitação (POP3, IMAP). Tudo nesta camada é relacionado ao software. Alguns protocolos utilizados nesta camada são: HTTP, SMTP, FTP, SSH, RTP, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping, etc.

quinta-feira, 7 de abril de 2011

Funções Básicas de um Computador

A função de um computador é processar dados.
Para processa-los é preciso move-los até a unidade central de processamento, armazenar resultados
intermediários e finais em locais onde eles possam ser encontrados mais tarde e
controlar estas funções de transporte, armazenamento e processamento.
Portanto, tudo que um computador faz pode ser classificado como uma destas quatro acções elementares:
  • processar, 
  • armazenar, 
  • mover dados 
  • controlar estas atividades.



Por mais complexas que pareçam as ações executadas por um computador, elas nada mais são que combinações destas quatro funções básicas.
Tendo isto em vista, pode-se concluir que todo computador digital, por mais complexo que seja, pode ser concebido como uma combinação de um número finito de apenas dois dispositivos básicos, portas lógicas e células de memória, interligados por condutores elétricos.

Conversão de décimal para binário e vice-versa

Conversão de Decimal para Binário


Para converter  o número decimal 1985 em binário procedemos como segue:
Dividir o número decimal por 2 (dois), se o resultado for exacto, o valor é 0, se não for exacto, o valor é 1, lembrando que esse valor deve ser escrito da direita para a esquerda

Como por exemplo: 
 
     1985 / 2 = 992,5 = 1
      992 / 2 =  496  = 0
      496 / 2 =  248  = 0
      248 / 2 =  124  = 0
      124 / 2 =   62  = 0
       62 / 2 =   31  = 0
       31 / 2 =  15,5 = 1
       15 / 2 =  7,5  = 1
        7 / 2 =  3,5  = 1
        3 / 2 =  1,5  = 1
        1 / 2 =  0,5  = 1 
 
O resultado final é o seguinte número binário 11111000001.


Conversão de Binário para Decimal

1         1        1       1        1        0        0        0        0        0        1
2^10 * 1  2^9 * 1  2^8 *1  2^7 * 1  2^6 * 1  2^5 * 0  2^4 * 0  2^3 * 0  2^2 * 0  2^1 * 0  2^0 * 1
         +        +       +        +        +        +        +        +        +        +
 1024      512      256     128      64       0        0        0        0        0        1
                                              =
                                             1985

Da direita para a esquerda elevamos 2 à potência do índice e multiplicamos pelo dígito binário identificado. 
Desta forma o primeiro dígito binário que encontramos é o 1 no índice 0 , assim temos: 2^0 * 1. Após realizarmos essa operação para todos os zeros para todos os dígitos, somamos o resultado, sendo este o resultado final.

quinta-feira, 24 de março de 2011

Segurança de Rede

Segurança nas Redes actualmente, fazemos uma grande referência à Internet, pois é nesta rede mundial que os ataques aos nossos computadores acontecem frequentemente.


O que é  a Segurança?

Dizemos que uma casa está segura, quando as vulnerabilidades dela foram minimizadas. Mas será que é vulnerabilidade? Segundo a ISO (Organização Internacional para Padronização), no contexto da computação, é qualquer fraqueza que pode ser explorada para se violar um sistema ou as informações que nele contém.
Segurança de Rede, ou Segurança em Redes Informáticas, pode ser dividida, didacticamente, em três grandes áreas: a defesa contra catástrofes, a defesa contra falhas previsíveis e a defesa contra actividades não autorizadas.

Este tema envolve diferentes áreas, sedo elas:
  • Criptografia
  • Gestão de Chaves Públicas
  • Vulnerabilidade em Máquinas de Sistemas Distribuídos
  • Vulnerabilidade em Redes Locais e de Grande Escala
  • Firewalls
  • Sistemas de Detecção de Intrusões






Agora vou falar o que consiste cada área descrita em cima.



Criptografia


A Criptografia é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário, o que a torna difícil de ser lida por alguém não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com facilidade. 

Nos dias de hoje, como a grande parte dos dados são em formato digital, sendo representados por bits, este processo é basicamente feito por algoritmos que baralham os bits desses dados a partir de uma determinada chave ou par de chaves.

A criptoanálise - é o estudo das forma de esconder o significado de uma mensagem usando técnicas de cifragem, sendo acompanhado pelo estudo das formas de conseguir ler a mensagem quando não se é o destinatário.


Gestão de Chave Pública


A criptografia de chave pública (ou criptografia assimétrica) é um método de criptografia que utiliza um par de chaves: uma chave pública e uma chave privada. A chave pública é distribuída livremente para todos os correspondentes via email ou outras formas, enquanto a chave privada deve ser conhecida apenas pelo seu dono.

Num algoritmo de criptografia assimétrica, uma mensagem cifrada com a chave pública pode somente ser decifrada pela sua chave privada correspondente.

Os algoritmos de chave pública podem ser utilizados para autenticidade e confidencialidade. Para confidencialidade, a chave pública é usada para cifrar mensagens, sendo apenas o dono da chave privada pode decifra-la. Para autenticidade, a chave privada é usada para cifrar mensagens, com isso garante-se que apenas o dono da chave privada poderia ter cifrado a mensagem que foi decifrada com a 'chave pública'.

Passo 1: Alice envia sua chave pública para Bob

Passo 2: Bob cifra a mensagem com a chave pública de Alice e envia para Alice, que recebe e decifra o texto utilizando sua chave privada.




Vulnerabilidade em Máquinas de Sistemas Distribuídos


A vulnerabilidade em Máquinas de Sistemas Distribuídos consiste:
  • Identificação do sistema operativo:
  • Banners nos servidores
  • IP Finguerprinting: pilha IP (nmape ring)
  • Inventariação de serviços activos
    • Portos tcp: envio de pedidos SYN ou FIN
    • Portos udp(mais difícil –não há resposta)
  • Deficiências de Administração
  • Cenários absurdos !!!
  • Land attack: mesmo porto e IP de origem e destino –entra em ciclo -> firewall
  • Teardrop attack: confusão nos inícios dos segmentos dos pacotes IP -crash-> firewall
  • Sobre fragmentação PingofDeath-crash
  • SYN flooding: excessivas pedidos de ligações TCP sem ACK


Vulnerabilidade em Redes Locais e de Grande Escala

 Vulnerabilidade em Redes Locais e de Grande Escala consiste em:

  • Levantamento da arquitectura da rede 
  • Servidor DNS !!!
  • “personificação de serviços ou máquinas”
  • Uso de nomes enganadores (whitehouse.orgvswhitehouse.gov)
  • DNS Spoofing: envenenamento da cache do DNS 
  • MAC spoofing: DHCP falso
  • Confidencialidade de interacção entre redes 
  • Captura de Passwords:
    • Uso de passwords únicas (one time password–OTP)
  • Desafio e resposta: só o receptor sabe a resposta (MS-CHAP, cartões SIM telemovel)
  • Credenciais cifradas com pwpessoais –(domínio windows2000)
  • PROBLEMA: ataques com diccionários 
  • Captura em redes sem fios(GSM, GPRS, UMTS, 802.11, DECT, Bluetooth, IRDa, ...)
  • Impossível limitar o acesso físico à rede 
  • SOLUÇÂO: cifra de conteúdos.... 
  • Redes 802.11 (WirelessLAN)
  • Comunicação AP–móvelde 2 tipos:
    • Mensagens de controlo –não confidencial
    • Mensagens de dados –wep  (wire dequivalente privacy)
  • WEP: chave prépartilhada –cifra contínua RC4
  • Problema: a chave ésempre a mesma !!!
 
 
Firewall
 
 
 
Firewall - é o nome dado ao dispositivo de uma rede de computadores que tem por objectivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comummente associados a redes TCP/IP.
 
Objectivos do Firewall:

  • Protecção por isolamento de máquinas
  • Controlo de interacções entre máquinas 
  • Definição de regras e aplicações
Perímetro Protegido <-----------Redes Perigosas------------->FireWall

  • Componentes de uma FireWall 
    • Filtros
    • Gateway 
    • DeMilitarizedZone(DMZ) 
  • DMZ: Servidores públicos 
    • Correio electrónico
    • HTTP
    • FTP
    • NEWS
  • Filtros: aplicam regras sobre portos TCP/UDP 
  • Gateway: aplica regras de encaminhamento 
  • NAT (Network Address Translation)
  • PAT (Port Address Translation)
  • NAPT (Network Addressand Port Translation)
  • Encapsulamento (tunneling)

  • Vantagens
    –Impedir visibilidade exterior (IP masquerading)
    –Impedir visibilidade dos serviços (portforwarding)
 
 
  • Modelo de intervenção: 
    • Filtro de datagramas (packetfilter)
    • Filtro aplicacional (applicationgateway) 
    • Filtro de circuitos (circuitgateway) 
 
  • Filtro de datagramas (packet filter) 
    • Endereço IP (de origem ou destino)
    • Protocolos e portos de transporte
    • Sentido da criação de circuitos virtuais
    • Operações ICMP (ping, tracert, ...)
    • Opções do cabeçalho IP 
  • Fáceis de realizar, sensíveis a alguns ataques (fragmentação IP)
  • Filtro aplicacional (application gateway) 
    • Controlo de acesso de utilizadores
    • Análise e alteração de conteúdos
    • Registo de operações
  • Filtro de circuitos (circuit gateway) 
    • Redireccionamento de circuitos
    • Balanceamento de tráfego
    • Autorização de circuitos virtuais
  • Serviços oferecidos: 
    • Autorização
    • Controlo de operação e conteúdos
    • Redireccionamento
    • Comunicação segura
    • Protecção contra ataques à prestação de serviços
    • Ocultação de sistemas
SISTEMAS DE DETECÇÃO DE INTRUSÃO
 
  • Intrusion Detection Systems (IDS) 
    • Detectar e contrariar intrusões 
    • Alarmística
  • Intrusão: 
    • Conjunto de acções para comprometer a integridade, confidencialidade ou disponibilidade de um recurso, executando um ou mais ataques
  • Defesa contra intrusão
    • Coleccionar dados (assinaturas)
    • Registo dos comportamentos anómalos
    • Reporte desses comportamentos  
  •  Acções :
    • Reforço da segurança
    • Correcção das falhas
    • Potes de mel (honeypots)

Os IDS podem ser Classificados como:

  • Método de detecção:
    • Baseada em conhecimento
    • Baseada em comportamento
  • Fontes de eventos
    • Máquinas
    • Redes
    • Híbridos
  • Instantes de detecção
    • Tempo real
    • À posteriori
  • Reactividade
    • Activos
    • Passivos
  • Tipo de análise
    • Singular
    • Cooperativa 
  • Limitações 
    • Ambientes diversificados (falsos positivos)
    • Escalabilidade
    • Falta de taxionomia universal
  • Evolução:
    • Sistemas de Prevenção de Intrusão (IPS)
 


Fonte: PowerPoint
 






quinta-feira, 10 de fevereiro de 2011

Dispositivos de Redes

Router

 Router- é um dispositivo usado para a comutação de protocolos, comunicação entre diferentes redes possibilitando a comunicação entre dois ou mais computadores distantes. Este dispositivo opera na camada 3 do Modelo OSI. E tem como principal característica seleccionar a rota mais apropriada para encaminhar os pacotes recebidos, isto é, escolhe o melhor caminho disponível na rede para determinado destino.







Switch

Switch - é um dispositivo utilizado para reencaminhar módulos entre os diversos nós. Possuem portas como também os Hubs e a sua principal diferença entre estes os dois é que  o Switch segmenta a rede internamente, sendo que a cada porta corresponde a um domínio de colisão diferente, o que significa que não há colisão entre pacotes de segmentos diferentes; e o Hubs, as portas partilham o mesmo domínio de colisão.





Modem


Modem- é a junção das palavras modulador e demodulador. Este dispositivo modula um sinal digitam em uma onda analógica, pronta a ser transmitida pela linha telefónica, e que demodula o sinal analógico e reconverte para o formato digital original. Quando o sinal é recebido, um outro modem reverte o processo. Ambos os modems devem estar a trabalhar de acordo com os mesmos padrões.






Servidor


Servidor- é um sistema que fornece serviços a uma rede de computadores. Essas redes podem ter diversas naturezas, como por exemplo, arquivos e correios electrónicos. Os que acedem os serviços de um servidor chama-se de Clientes. 
 









 
Firewall

Firewall- é um dispositivo de rede que tem por objectivo aplicar uma política de segurança a um determinado ponto de controle da rede. Tem como função regularizar o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra.










 HUB


Hub- é o processo pelo qual se transmite ou difunde determinada informação, tendo como principais características que a mesma informação está sendo enviada para muitos receptores ao mesmo tempo. Sendo utilizado em rádio, telecomunicações e em informática.


Placa de rede


Placa de rede- é um dispositivo de hardware responsável pela comunicação entre os computadores de uma rede. Permite a conversa entre os computadores na rede. Sua função é controlar todo o envio e recebimento de dados através da rede.