Difference between revisions of "M17"

From TocaWiki
Jump to: navigation, search
(Desenvolupament)
Line 278: Line 278:
 
[[Fitxer:super1.jpg|500px|thumb|center|Fragment 1]]
 
[[Fitxer:super1.jpg|500px|thumb|center|Fragment 1]]
 
Com es pot veure en la imatge anterior, s'envia un paquet que conté totes les dades de la capçalera TCP. En aquest cas els filtres no el rebutjarien, ja que la capçalera està completa. Fixem-nos que la capçalera no indica que es vulgui realitzar una connexió a la màquina (flag ACK=0 i flag SYN=0). Per tant, com que no intenta realitzar cap connexió els filtres tampoc el rebutjarien.  
 
Com es pot veure en la imatge anterior, s'envia un paquet que conté totes les dades de la capçalera TCP. En aquest cas els filtres no el rebutjarien, ja que la capçalera està completa. Fixem-nos que la capçalera no indica que es vulgui realitzar una connexió a la màquina (flag ACK=0 i flag SYN=0). Per tant, com que no intenta realitzar cap connexió els filtres tampoc el rebutjarien.  
[[Fitxer:super2.jpg|500px|thumb|center|Fragment 2]]
+
[[File:super2.jpg|500px|thumb|center|Fragment 2]]
 
El segon fragment, com es veu en la imatge anterior, conté les dades reals de la connexió que volem realitzar. Ara bé, els filtres veuran que el fragment té offset=1, per la qual cosa interpretaran que la connexió no s'està realitzant en aquest fragment ja que és hi ha un paquet previ que suposa que és qui fa la connexió i per això no el rebutjaran. El camp offset treballa en unitats de 64 bytes, per tant un offset=1 ens indica que el fragment comença a la posició 65 del paquet reensamblat.
 
El segon fragment, com es veu en la imatge anterior, conté les dades reals de la connexió que volem realitzar. Ara bé, els filtres veuran que el fragment té offset=1, per la qual cosa interpretaran que la connexió no s'està realitzant en aquest fragment ja que és hi ha un paquet previ que suposa que és qui fa la connexió i per això no el rebutjaran. El camp offset treballa en unitats de 64 bytes, per tant un offset=1 ens indica que el fragment comença a la posició 65 del paquet reensamblat.
[[Fitxer:Super3.jpg|500px|thumb|center|Fragment 3]]
+
[[File:Super3.jpg|500px|thumb|center|Fragment 3]]
 
Com que el segon fragment comença a la posició 65 del segon paquet, sobreescriu la capçalera TCP del primer fragment deixant únicament el port origen, port destí del primer fragment. Hem aconseguit un paquet TCP que realitza una connexió i que s'ha saltat els filtres de seguretat.
 
Com que el segon fragment comença a la posició 65 del segon paquet, sobreescriu la capçalera TCP del primer fragment deixant únicament el port origen, port destí del primer fragment. Hem aconseguit un paquet TCP que realitza una connexió i que s'ha saltat els filtres de seguretat.
 +
 
====Prevenció====
 
====Prevenció====
 
La prevenció d'aquest atac és l'ús de firewalls reensamblin els paquets abans d'analitzar les seves regles de connexió. Aquests firewalls són més cars i a l'haver de reensamblar els paquets, fan que la latència de la xarxa augmenti.
 
La prevenció d'aquest atac és l'ús de firewalls reensamblin els paquets abans d'analitzar les seves regles de connexió. Aquests firewalls són més cars i a l'haver de reensamblar els paquets, fan que la latència de la xarxa augmenti.

Revision as of 17:11, 9 May 2022

Introducció

Avui dia trobem un fet normal estar treballant en una xarxa on hi ha connectats milers d'ordinadors entre si, amb una gran quantitat de dades circulant per la xarxa. Accés a internet. Connectivitat amb altres organitzacions mitjançant el correu electrònic, comprar electrònicament, etc.. Tots aquests conceptes que avui dia ens resulten tant familiars, la seva funcionalitat va ser ideada al voltant de la dècada dels anys 60 i 70 del segle passat. Per la gent que ho va idear, aquestes funcionalitats no eren més que suposicions.
Molts anys després, aquestes bases inicials i teòriques segueixen funcionant tal i com es van dissenyar. Fa falta molt de temps per canviar les coses, i més per crear elements que han estat adaptats segons les necessitats. Per exemple la pila OSI, que havia de representar el model a seguir en les xarxes i finalment va prevaler el model TCP/IP ja que tot i els seus problemes a nivell teòric, ja es trobava en explotació. Aquest model d'evolució basat en la necessitat presenta el problema que encara que resulti adaptatiu, pot fallar en elements tant significatius com és la seguretat. I és que TCP/IP té més en compte la connectivitat que no pas la seguretat. La seguretat ha estat presa en consciència temps després, quan s'han posat al descobert fallades existents.
325px|thumb|Pila OSI i TCP/IP La seguretat és cosa de tots els usuaris, encara que hi hagi qui diu que és únicament cosa dels informàtics. L'ésser humà és reactiu, és a dir fins que no li passa alguna cosa per a que es generi la necessitat.
Per exemple, la idea que un usuari té d'un certificat passa per ser "alguna cosa que fa que la pàgina web sigui segura". A aquesta mateixa persona posteriorment d'explicar-li el que era un atac "man in the middle" se li va preguntar per que acceptava un certificat quan apareixia un error en pantalla. La seva resposta va ser contundent: "això ho he fet moltes vegades i mai passa res. A més si no accepto es tanca la pantalla". Això reflexa que alguna cosa no s'està fent del tot bé.
O es forma a la persona per a poder prendre aquest tipus de decisions, o se li està deixant acceptar una responsabilitat que a la qual no està qualificat.
Sembla que la seguretat acaba recaient en qui menys coneixement té sobre la mateixa. Fins i tot sovint els propis tècnics no estan degudament preparats. Han passat ja anys des de que es van publicar els primers resultats amb atacs que veurem a classe com ara ARP poisoning i encara resulta eficaç en la majoria de xarxes actuals. Sembla doncs que la seguretat es redueix a simples especulacions o paranoies d'alguns, que finalment no s'acaben produint mai.
Finalment si analitzem el que passa en moltes empreses, on cal que inverteixin recursos (personal, maquinari, diners...) en quelcom que no és tangible, la solució és clara: no s'inverteix. Sovint s'escolta allò de "si no posem solució pot arribar a passar que...". Aquesta frase queda oblidada, i finalment s'escolta allò de "ja vaig dir que podia passar, i ha passat".

Xarxes de dades i els seus dispositius

300px|thumb|Topologia d'alohanet 300px|thumb|Topologia d'arpanet 300px|thumb|Topologia token ring i ethernet 300px|thumb|Vampir utilitzat en ethernet Avui dia no es pot concebre que una empresa pugui treballar de forma normal si hi ha una fallada en les seves comunicacions de xarxa. Les infraestructures de xarxa s'han convertit en un punt neuràlgic per la gran quantitat de dades que absorbeixen.
La idea de les xarxes i dels seus protocols és la de comunicar. El seu objectiu és aconseguir que la xarxa sigui funcional. Les xarxes han evolucionat però el seu objectiu primordial és la funcionalitat. La resta queda com a secundari.
L'origen de les xarxes d'ordinadors és quasi tant antic com el dels propis ordinadors. Qui es preocuparia en aquella època de la seguretat quan el principal problema era aconseguir que les màquines es poguessin comunicar? L'important era que funcionés i en aquell entorn la confiança entre terminals es pressuposava. Els models de comunicació es van crear per cavallers i per a cavallers.
El concepte de hacker, privacitat o confidencialitat es trobaven a anys llum. La fiabilitat era el nucli sobre el que es recolzaven les comunicacions.
Una de les primeres grans xarxes va ser ARPANET. Teoritzada els anys 60 tenia com a objectiu la unió de diferents sistemes informàtics d'organitzacions nord-americanes. Les bases de la seva funcionalitat era:

  • Implementar un sistema de comunicacions descentralitzat on poguessin existir múltiples camins entre dos punts.
  • La segmentació dels missatges en fraccions que poguessin seguir camins diferents

La xarxa hauria de ser capaç de mantenir la comunicació encara que un segment fallés. Tornem a tenir la connectivitat com a prioritat.
Alhora que es dissenyava ARPANET, la Universitat de Hawai va idear un mecanisme per mantenir connectades diferents persones i centres disseminats entre el gran nombre d'illes de Hawai sense necessitat d'utilitzar un medi tipus punt a punt com ho feia ARPANET. La van anomenar ALOHANET.
La solució adoptada per ALOHANET va ser utilitzar un tecnologia ja existent, la radio. Això feia que les múltiples estacions de les illes haguessin de compartir un medi comú i amb l'inconvenient que en un medi com la radio, dues estacions no poden comunicar-se alhora.
La solució ideada per la universitat de Hawai donava la solució al problema. Es basava en la fiabilitat i en la cortesia, parlava qui volia i la resta esperava a que acabés. Si dos estacions parlaven a la vegada, es donaven per assabentades de l'error i una d'elles esperava a que l'altre realitzés la comunicació. Naixia el CSMA/CD. Aquest CSMA/CD evolucionarà fins a convertir-se en el nostre Ethernet.
Les xarxes tipus token i les xarxes ethernet van conviure durant un temps. Mentre una evitava les col·lisions de dades (token) altres els assumeix i intenten recuperar-se. Cada sistema tenia les seves avantatges i els seus inconvenients, i únicament el temps va fer prevaler una sobre les altres.
Tot aquest conjunt de tecnologies físiques requerien tenir una comptabilitat a nivell lògic. En aquest sentit com més senzill fos tot, més fàcil seria la compatibilitat, pero la seguretat tendeix a complicar les coses. Així en el primers plantejaments es va apostar per la senzillesa i sobretot per la rapidesa en tenir una implementació. En aquest sentit ARPANET ja era funcional, i tot i que de forma teòrica conté problemes, TCP/IP es va convertir en l'estàndard de xarxes.
Els sistemes per cable es van imposar als sistemes sense fil, tot i que més endavant van retornar amb força utilitzant-se dins les xarxes locals. En un principi, les xarxes contenien un nombre poc elevat de màquines i una topologia en forma de bus com la que utilitzava ethernet resultava suficient per les necessitats de la xarxa.
Tots els equips estaven connectats al un mateix cable central, que permetia un creixement moderats de la xarxa i tot amb un cost no gaire elevat.
Tot i això, a mida que creixia la xarxa les col·lisions eren més probables, el cable de bus es feia era més llarg i per tant tenia més atenuació de la senyal i el gran problema d'aquesta topologia: qualsevol problema en el cable central deixava la xarxa totalment desconnectada. I com més llarg, i per tant més equips pogués tenir la xarxa, més possibilitats hi havia de que fallés el cable central. Un canvi de tecnologia era necessari. El canvi tecnològic va arribar i va ser un canvi total en la forma de dissenyar les xarxes. S'elimina el cable central de bus i s'incorpora un element central aglutinador de totes les connexions de la xarxa. Es passa per tant d'una topologia de tipus bus a una topologia de tipus estrella.
L'element central s'anomena hub o concentrador. La incorporació d'aquest element on es connectaran tots els equips de la xarxa fa que tota la comunicació passi a través d'ell i que, en cas de fallada en algun punt de la xarxa, únicament l'equip que estigui connectat en aquell punt sigui l'afectat, passant desapercebut per la resta de la xarxa. A més, l'equip concentrador pot fer la funció de repetidor de la senyal, amb la qual cosa s'elimina el problema de la pèrdua d'intensitat de senyal que tenia el cable de bus.
Tot sembla perfecte, hem eliminat el problema d'atenuació de senyal, el problema de caiguda de la xarxa en cas que el cable de bus falli i a més hem aconseguit regenerar la senyal. Hi ha però un problema, ningú va pensar en la seguretat. Així heretant el funcionament de la xarxa de bus, on la informació arribava a tots els equips connectats al bus, el hub també reenviava la informació a tots els equips que a ell es trobaven connectat. Tornem a tenir un escenari que es basa en la confiança en la resta de les màquines de la xarxa. Quin ens garanteix que una màquina no utilitzi les dades que no eren per ell?. De fet, una xarxa on l'element central sigui un hub es considera una xarxa de confiança.
Tot i el problema de seguretat que plantejava l'ús de concentradors, el canvi es va produir principalment pel baix rendiment que donen quan la xarxa té un nombre elevat d'equips. El fet que un hub reenviï el trànsit a totes les màquines que es troben a ell connectades, fa incrementar el trànsit de forma exponencial. A més, com més equips hi hagi connectats a la xarxa més col·lisions es produeixen i per tant més reenviaments, i més trànsit. No era d'estranyar que aviat les xarxes amb concentradors saturessin i caiguessin. Calia un sistema que segmentés la xarxa i aïllés els problemes. Si els concentradors oferien una solució física dins la capa 1 de la pila OSI, calia escalar el problema a la capa 2, que ofereix la possibilitat de donar una adreça als equips, control de flux, control d'errors i en general mediatitzar la comunicació.
Els dispositius de capa 2 que apareixen com els switch o commutadors, ofereixen unes condicions de connectivitat més òptimes que les que aportaven els concentradors de la capa inferior. Generen la figura del domini de colisió. Bàsicament controlaven el problema:"Per què si vull enviar la informació a un equip li he d'enviar a tota la resta?". Un efecte col·lateral d'aquest canvi era la seguretat, però no era la base fonamental. Si el trànsit d'un equip era dirigit únicament a un equip, el trànsit total de la xarxa es veia reduït d'una forma molt clara. A més també es poden implementar controls de tempesta de broadcast o les implementacions de STP (Spanning Tree Protocol).

Tot i la clara millora de comunicacions que representa l'ús d'un switch davant de l'ús d'un hub, fins que el cost d'un i l'altre no es va anivellar no es va començar a implantar la utilització de commutadors en les xarxes.
Portar la informació des d'un sistema a un altre sense que arribés a tots era la clau, per tant es necessitava adreçar. Que els equips tinguessin algun element que els diferenciés a nivell de capa 2 era fonamental. L'especificació original de IEEE 802, oferia MAC com a mecanisme d'assignació universal d'adreces.
Amb aquesta informació un switch és capaç d'emmagatzemar en una taula les adreces MAC de les màquines que hi ha connectades a cada una de les seves boques. D'aquesta manera quan una trama de MAC A vagi dirigida a MAC B, el switch la transmetrà pel port corresponent a la màquina que té la MAC B. Si per casualitat, MAC B estigués en aquell moment transmetent cap a MAC C, els switch és capaç d'emmagatzemar la trama fins que acabi la transmissió de MAC B a MAC C. D'aquesta manera soluciona el problema de les colisions.
Amb tot, hi ha un problema que que ha estat assumit com a un mal menor: les trames broadcast. Quan d'un equip no en sabem la seva adreça MAC i necessitem establir una comunicació, hem de saber quina adreça MAC té. No ens quedarà un altre remei que preguntar a totes les màquines de la xarxa, mitjançant una trama broadcast, quina és la MAC d'aquella màquina.
Així doncs, com que l'existència d'aquestes trames en condicions de treball normals és habitual, s'assumeix com un mal menor la utilització de les mateixes, excepte en casos d'un ús desorbitat de les mateixes que pugui ocasionar una tempesta de broadcast que podria inutilitzar la xarxa comunicada amb un Switch.
L'aparició del switch va oferir velocitat i ample de banda,i de forma col·lateral una sensació de seguretat. El trànsit va dirigit d'un equip a un altre sense que ningú de l'entorn fos receptor de la comunicació. Per tant existeix la falsa creença que amb un switch és impossible obtenir el trànsit entre dues entitats.
Per tant fins ara s'han destil·lat una sèrie d'idees del tot el que hem vist:

  • La idea fonamental és la connectivitat: primer que funcioni i la resta vindrà després
  • Quan la idea és funcional, s'avança a millorar altres característiques: serveis, velocitat i ample de banda
  • Els protocols i idees precursores es dissenyen amb el propòsit que siguin funcionals
  • L'evolució de la tecnologia del hardware representa en essència la necessitat: que tot vagi més ràpid i es pugui unir una major quantitat de sistemes
  • La confiança és la base de la comunicació

Sniffing, Spoofing i Haijacking

Els primers sistemes ethernet, consistien en un bus en els que les màquines de la xarxa enviaven les seves dades. Si ho se sap on està el receptor de les nostres dades haurem d'enviar les dades a totes les màquines amb les que compartim el medi.
El procés d'avaluació és simple: "Aquesta informació és per a mi?" Si la resposta és afirmativa, processo la informació. En cas contrari la descarto. La peculiaritat radica en el fet que si un paquet de dades m'arriba i no és per mi, què em condiciona a que no la processi? Cavallerositat?

Sniffing

300px|thumb|Tipus de sniffers 300px|thumb|Sniffer amb un switch Si la informació arriba al sistema, no hi ha cap mecanisme que m'impedeixi que la processi. Sniff és el fet de rastrejar i limitar aquesta cavallerositat. Eliminar aquest element que fa que elimini les dades que no van dirigides a mi és el mode promiscu.
Un sniffer és simplement l'eina que fa tot això: permet que el sistema es posi en mode promiscu. Addicionalment també incorpora una interfície que permet visualitzar les dades que rastreja.
Sovint un sniffer és considerat com un element maliciós dins una xarxa d'ordinadors. Això no sempre és cert ja que sovint ens podem trobar amb un equip que no tingui el comportament esperat dins la xarxa, i ens serà de molta utilitat poder rastrejar el trànsit que rep i envia l'equip per intentar trobar el problema.
Un altre cas on un sniffer no és cap element maliciós, el trobem en el cas d'estar en una xarxa d'estrella on l'element central és un hub. En aquest cas el trànsit de la xarxa li arriba directament a l'equip amb l'sniffer. Simplement el que hem de fer és interpretar-lo.
En una xarxa amb un element central que sigui un switch, no podrem realitzar aquest comportament d'una forma tant senzilla. En aquest cas, si volem monitoritzar el trànsit de xarxa d'algun equip haurem de configurar la possibilitat que tenen la majoria de switchs de replicar el trànsit de xarxa a través del port on estigui connectat l'equip amb l'sniffer.
Molt sovint aquesta configuració s'obvia i genera un important forat de seguretat dins la xarxa, doncs una persona malintencionada podria arribar a tenir accés a tot el trànsit de xarxa de forma senzilla.
El que està clar és que si no descuidem la configuració del nostre switch, estem complicant força el fet que algú pugui accedir al trànsit de la nostra xarxa. De totes maneres en base als protocols i dissenys inicials de les xarxes, la informació continua transmetent-se en clar, els protocols inicials no especificaven el contrari. Simplement cal fer-se passar pel destinatar-hi per arribar a tenir accés a ella. Aquí entra en joc el següent punt del tema: spoofing

Spoofing

300px|thumb|Spoofing En el sentit més estricte, spoofing fa referència al conjunt de tècniques enfocades a la suplantació. Per exemple, MAC Spoofing fa referència a la suplantació de l'adreça física d'un altre sistema. D'aquesta manera podríem obtenir una adreça IP reservada en un servidor DHCP, connectar-nos a una Wifi o accedir a un port concret d'un switch.
Així doncs spoofing no es pot considerar una tècnica concreta, sinó un conjunt d'elles: ARP Spoofing, DNS Spoofing o Web Spoofing.
Gairebé en cada capa TCP/IP pot existir una tècnica de suplantació. La tècnica de ARP Spoofing consisteix en reconduir el trànsit entre dues màquines a través d'un tercer. No s'ha de confondre amb la replicació de trànsit.
En el cas d'un switch en el que un trànsit va de A a B, es replica a través del port de monitoratge a C. En el cas de la reconducció el trànsit del l'equip A arribaria primer a C, i aquest el reconduirà a B. Encara que la diferència sembli subtil, hi ha un abisme entre una tècnica i l'altre.
Seguint amb l'exemple de spoofing anterior, què li impedeix a C alterar les dades abans de tornar-les a enviar a B?. Estem parlant de Hijacking

Hijacking

300px|thumb|Hijacking Per hijacking entenem el segrest de la informació per part d'un equip. De tècniques de Hijacking n'hi ha tantes o més que de spoofing, tot i que sovint es confonen.
Un exemple de Browser Hijacking és quan un navegador web es troba segrestat per una aplicació malintencionada de forma que la informació que rep l'usuari ve condicionada pels paràmetres de l'aplicació. Per exemple la modificació de la pàgina d'inici o l'accés a una pàgina enlloc d'una altra.
Un segon exemple el podrem trobar en una sessió telnet. A través de la tècnica d'ARP spoofing, un atacant pot redirigir el trànsit i veure el contingut de la sessió telnet.
Cal tenir en compte que per a que un atacant pugui realitzar alguna acció maliciosa cal que es trobi en mode promiscu. Si no pot processar la informació que no és específicament per ell, no podrà reconduir-la ni alterar-la.

Wireshark

thumb|Pantalla principal de wireshark Wireshark és una eina d'anàlisis de paquets de xarxa. Els captura en temps real i el visualitza en format inteligible. Wireshark inclou filtres, codificació de colors i altres característiques que permeten aprofundir en el trànsit de xarxa i inspeccionar paquets de forma individual. La primera pantalla que trobem quan iniciem el programa ens demana quina de les interfícies de xarxa de la nostra màquina volem capturar.
Un cop seleccionada la interfície la pantalla canviarà per mostrar-nos la pantalla principal del programa. En aquesta segona pantalla serà on treballarem i on podrem visualitzar gran part de la informació que ens pot proporcionar el programa. Bàsicament la pantalla es dividirà en tres parts:

  • Zona de paquets capturats

En aquesta zona apareixeran en temps real els paquets que son capturats en la interfície de xarxa.

  • Zona de detall del paquet

En aquesta zona podrem veure detalls sobre el paquet que hem seleccionat en la zona de paquets capturats

  • Zona de dades en brut

Aquí podem veure les dades en brut del paquet, és a dir, tal i com arriben a la targeta de xarxa.
A banda d'aquestes tres zones principals, en la pantalla principal del programa també trobem un menú superior i botons d'opcions, que ens permetran obtenir altre tipus d'informació sobre el trànsit capturat pel programa.
Finalment, trobarem també una barra on podrem escriure i crear filtres que s'aplicaran sobre el conjunt de paquets capturats pel programa i que es mostren en la zona de paquets capturats. Aquesta és una de les eines més importants i útils de wireshark, ja que el nombre de paquets capturats sovint és molt elevat i es fa gairebé impossible seguir les connexions des de la zona de paquets capturats. Amb la utilització de filtres podrem visualitzar únicament els paquets d'una connexió que ens interessi, o d'un tipus en concret.

Atacs

Un atac informàtic és un mètode pel qual un individu, mitjançant un sistema informàtic, intenta prendre el control, desestabilitzar o danyar un altre sistema informàtic (ordinador, xarxa privada, etcètera).

Tipus atacs

Els atacs informàtics els podem classificar en dos grans grups:

  • Segons l'ús que fan de la informació
  • Segons l'objectiu buscat en l'atac

Segons informació

  • Passius

Registren l'ús de recursos i/o accedeixen a informació del sistema

  • Actius

Produeixen canvis en la informació

Segons objectiu

  • Reconeixement de sistemes
  • Vulnerabilitat en els sistemes
  • Robatori d'informació
  • Modificació de missatges transmesos
  • Anàlisis del trànsit
  • Suplantació d'identitat
  • Modificació del transit i taules d'enrutament
  • Connexió no autoritzada a equips
  • Malware
  • Atacs a sistemes criptogràfics
  • Atacs de denegació de servei

Fases d'un atac informàtic

Un atac informàtic, generalment passa per aquestes cinc etapes:

  • Descobriment i exploració del sistema informàtic
  • Cerca de vulnerabilitats a l'equip
  • Explotació i aprofitament de les vulnerabilitats detectades
  • Corrupció del sistema per deixar portes obertes (canvi de passwords)
  • Eliminat de proves reveladores de l'atac (logs)

Atacs switch

ARP Spoofing

Pràctica 1

MAC Flooding

Tipus d'atac

L'atac MAC Flooding el podem classificar dins dels atacs passius, com un atac per accedir a la informació d'altres equips.

Objectiu

El MAC Flooding és un mètode d'atac que intenta comprometre la seguretat dels commutadors de xarxa. Els commutadors mantenen una taula anomenada MAC table. Aquesta taula MAC consisteix en una relació entre les adreces MAC dels equips connectats al commutador i el port en el que estan connectats. Aquesta taula és la que permet als commutadors redirigir el trànsit únicament al port on es troba el destinatari. Fet que els distingeix del hub, que redirigeixen el trànsit per tots els ports, fent que aquest sigui accessible per tots els equips que estan connectats a ell.
L'objectiu de l'atac MAC Flooding és aquesta taula MAC.

Desenvolupament

La intenció de l'atac és enviar una gran quantitat de trames ethernet. Aquestes trames contindran com adreça MAC origen diferents equips, normalment generades a l'atzar. En conseqüència el commutador anirà emmagatzemant en la seva taula MAC les adreces origen d'aquestes trames. Arribarà un moment en el que aquestes adreces MAC ocuparan tota la capacitat de la taula d'adreces MAC. En aquest moment les adreces MAC dels equips legítims de la xarxa es faran fora de la taula i aquesta quedarà totalment plena d'adreces MAC falsejades. En aquest moment el commutador no podrà entregar qualsevol dada que li arribi per la xarxa al seu legítim destinatari. En conseqüència els commutadors, en casos com aquests, es comporten com a un hub per tal d'assegurar la connectivitat de la xarxa. I al fer-ho, estan enviant la informació per tots els ports del commutador. L'atacant ja té accés a les dades de la xarxa.

Prevenció

Hi ha quatre maneres bàsiques de prevenir un atac MAC FLooding

  • Port security

Activar la seguretat de port en el switch. Amb aquest mètode podem limitar el nombre d'adreces MAC que pot emmagatzemar un port d'un commutador. D'aquesta manera impedirem que encara que rebem un atac MAC Flooding la taula MAC del commutador ocupi tota la seva capacitat.

  • Adreces estàtiques

Si configurem el commutador per a que utilitzi adreces MAC dinàmiques, l'atac queda neutralitzat. Ara bé, no utilitzar adreces MAC dinàmiques comporta una gran feina per a l'administrador de sistemes. I per a cada canvi que es produeixi en la xarxa, caldrà modificar la configuració de tots els equips.

  • Autentificar amb un servidor AAA

Un servidor AAA és aquell que implementa un protocol AAA, com per exemple un servidor Radius, un LDAP, EAP, etc...Aquest tipus de servidor, abans d'autoritzar un equip en la xarxa en verifica la seva identitat. Mes informació

Doble etiquetatge VLAN

Tipus d'atac

Aquest atac el podem classificar dins dels atacs passius, com un atac que modifica el trànsit de xarxa. Aquest atac s'acostuma a utilitzar com a pas previ a un atac de denegació de servei

Objectiu

L'objectiu d'aquest atac és saltar d'una VLAN a una altra i poden accedir a màquines que en un principi son inabastables. Com s'ha dit anteriorment, aquest tipus d'atac és previ a la realització d'un atac de denegació de servei, doncs un cop s'ha aconseguit saltar la VLAN i accedir a la víctima, es produeix l'atac en si mateix.

Desenvolupament

Recordem breument la teoria de VLANs. Les VLAN aïllen màquines que es troben connectades a un mateix commutador en xarxes lògiques que entre elles són independents. Les VLAN tenen les següents característiques:

  • Enllaços d'accés

Aquest tipus d'enllaços transmeten les dades de la VLAN en la qual està configurat el port al que pertanyen. Les dades que poguessin arribar de VLAN diferents serien descartats.

  • Enllaços troncals

thumb|VLAN Hopping Aquest tipus d'enllaç normalment uneix commutadors i permet el pas de paquets de diferents VLANs. Aquests paquets d'han de trobar etiquetats segons la normativa IEEE802.1q, que permet especificar amb una etiqueta la VLAN a la qual pertany el paquet. A aquest tipus d'enllaç se li ha d'especificar quina és la VLAN nativa i quines són les VLAN a les que permet el pas de dades. Aquest tipus d'atac aprofita el fet que la majoria de commutadors realitzen únicament una desencapsulació 802.1q, el que permet a l'atacant introduir una segona etiqueta 802.1q dins el paquet. L'atac d'etiquetatge doble es desenvolupa seguint aquestes tres passes. Suposarem que la VLAN nativa és la 10:

  1. L'atacant envia una trama 802.1q amb doble etiqueta al switch. L'encapçalament extern porta l'etiqueta de la VLAN de l'atacant, l'encapçalament intern porta l'etiqueta de la VLAN de la víctima.
  2. La trama arriba al switch, que observa que la trama va destinada a la VLAN 10, que és la nativa. El switch reenviarà la trama a tots els ports que pertanyin a la VLAN 10. En el port d'enllaç troncal, no es torna a etiqueta la trama ja que pertany a la VLAN nativa. En aquest punt, l'etiqueta de la VLAN 20 segueix intacta, el primer switch no l'ha inspeccionat.
  3. El segon switch observa únicament l'etiqueta interna que tenia originàriament el paquet que va enviar l'atacant, i per tant veu que la trama va dirigida a la VLAN 20. El segon switch enviarà doncs, la trama a la VLAN 20 segons el que li indiqui la seva taula d'adreces MAC.

Com podeu veure aquest tipus d'atac és unidireccional, i únicament funciona quan l'atacant es connecta a un port de la mateixa VLAN que la VLAN natica del port troncal.

Prevenció

El millor mètode per evitar aquest tipus d'atacs és assegurar la VLAN nativa dels ports troncals sigui diferent que la VLAN de qualsevol port d'usuari. De fet, es considera una pràctica recomanada de seguretat la utilització d'una VLAN fixe per a tots els ports troncals de la xarxa.

Switch spoofing

Tipus d'atac

L'atac Switch Spoofing el classifiquem dins dels atacs passius, ja que no modifica informació de la xarxa. D'altra banda és una atac que suplanta identitat, fa una connexió no autoritzada de l'equip.

Objectiu

L'objectiu d'aquest atac és aconseguir que el nostre equip sigui identificat com un commutador amb un enllaç troncal amb un altre commutador. D'aquesta manera aconseguirem que el transit de les VLAN ens arribi a la nostra màquina. D'aquesta manera podrem executar un atac MiTM o un ataca de força bruta contra una altra màquina de la xarxa.

Desenvolupament

El desenvolupament d'aquest atac es fa a través d'un software que simuli que la màquina atacant és un commutador que vol negociar un enllaç troncal amb el commutador víctima. El software enviarà els paquets DTP necessaris per a poder realitzar aquesta negociació. Quan a un commutador no li modifiquem la configuració que té de fàbrica, aquesta és la següent:

  • Administrative mode: dynamic auto Implica que està disposat a negociar un enllaç troncal de forma dinàmica
  • Operational mode: static access El switch opera en mode access
  • Negotiation of trunking: On El protocol dinàmic d'enllaç troncal està activat i per tant es pot negociar
  • Operational Trunking Encapsulation: native La VLAN nativa pot ser troncal
  • Access Mode VLAN: 1 Quan un enllaç és en mode access, la VLAN és 1
  • Trunking Native Mode VLAN: 1 Quan l'enllaç és troncal la VLAN nativa és 1

Per tant un port d'un commutador per defecte permet el protocol DTP, negociacions sobre els ports troncals i la VLAN 1 com a VLAN nativa. I amb aquest tipus de configuració, l'atac resulta possible.

Prevenció

Per a intentar evitar aquest atac, cal tenir configurat el commutador i tots els ports sense utilitzar de la següent manera:

  • El port ha d'estar configurat manualment com a port d'accés
  • El port ha d'estar dins una VLAN que no estigui utilitzada per ningú i que no porti a cap destí
  • DTP ha d'estar deshabilitat en el port
  • La VLAN nativa utilitzada és una VLAN que no està sent utilitzada enlloc més i no porta enlloc
  • El port està administrativament deshabilitat
  • No utilitzar mai la VLAN1 per res, a no ser que es vulgui integrar amb altres dispositius.


Atacs router

Els atacs a en router fan referència a atacs on principalment s'intenta aprofitar vulnerabilitats del protocol IP, i per tant de l'encaminament dels paquets, per a realitzar atacs principalment de denegació de servei.
Abans de parlar dels atacs cal recordar com funciona la fragmentació de paquets IP.

Fragmentació de paquets IP

Com s'ha comentat anterior ment el protocol IP és l'encarregat de l'encaminament dels paquets, és a dir, defineix la trajectoria que seguiran els paquets des del seu origen fins a la seva destinació. No és un protocol fiable ni orientat a connexió, o sigui que no garanteix el control de fluxe, la recuperació en cas d'error ni que els paquets arribin al seu destí.
A l'hora de passar a una capa inferior els paquets IP s'encapsulen en trames que, en funció del tipus de xarxa, tindran una longitud determinada. El tamany d'aquestes trames, anomenat MTU, pot variar d'una xarxa a una altra en funció del medi físic utilitzat.
Per tant, el protocol IP ha de tenir en compte que cas dispositiu podrà transmetre trames amb una longitud superior al MTU establert per la xarxa per la qual passa. La fragmentació divideix el datagrames IP en fragments de menor longitud. El reensamblat és l'operació contraria.

Fragmentació en xarxes Ethernet

LA MTU per defecte en una xarxa Ethernet és de 1500 bytes. Així doncs, un paquet IP de més gran de 1500 bytes haurà de ser fragmentat en dos o més paquets.
Per a que un paquet pugui ser reconstruït en l'equip destí, aquest ha de tenir aquesta informació:

  • Cada fragment ha d'estar associat a un altre utilitzant un identificador de fragment anomenat identificador IP o ID fragment.
  • Informació sobre la seva posició en el paquet no fragmentat
  • Informació sobre la longitud de les dades transportades en el fragment
  • Cada fragment ha de saber si existeixen més fragments a continuació seu o no. Ho indica el flag MF(more fragments)

Tota aquesta informació anirà en la capçalera IP, col·locada dins el datagrama IP.
En la capçalera IP, que normalment serà de 20 bytes, estarà continguda la informació necessària per a poder dirigir el datagrama IP des del seu origen fins al seu destí.

Si la MTU d'Ethernet és de 1500 bytes, si descomptem els 20 bytes de la capçalera IP ens queda que una trama Ethernet d'un datagrama IP pot contenir 1480 bytes d'informació. 500px|thumb|center|Datagrama IP dins una trama Ethernet Darrera la capçalera IP, s'encapsulen les dades. Aquestes poden ser tant d'un protocol IP com TCP, UDP o ICMP. Si per exemple aquestes fóssin TCP, inclourien la capçalera TCP i les dades TCP.
500px|thumb|center|Trama Ethernet d'un paquet ICMP de 4028 bytes En la figura anterior veiem una trama ICMP la longitud de la qual és de 4028 bytes. Dins una xarxa Ethernet haurà de fragmentar-se en paquets de 1500 bytes. El primer d'ells contindrà les capçaleres IP del datagrama i de la trama ICMP. 500px|thumb|center|Primer dels datagrames IP, amb les capçaleres IP i ICMP Així el primer dels datagrames IP contindrà en els primers 20 bytes la capçalera IP, i en els 8 següents que ja serien de dades la capçalera ICMP del paquet ICMP que ha fragmentat. Fixeu-vos que la capçalera IP indica el protocol del paquet que està transmetent, l'identificador de paquet que serà comú en tots els fragments, l'indicador de si segueixen més fragments, l'offset del paquet i la longitud de les dades enviades.
Per la seva banda, la capçalera ICMP indica el tipus de petició ICMP, en aquest cas request. 500px|thumb|center|Detall del primer datagrama IP enviat El segon dels paquets únicament contindrà en els seus primers 20 bytes la capçalera IP del segon datagrama IP en el que s'ha fragmentat el paquet inicial ICMP. Els següents 1480 bytes, seran dades del segon fragment del paquet ICMP. 500px|thumb|center|Contingut del segon paquet Veiem que els valors del camp protocol, id de fragment, offset i indicador de més fragments es mantenen. Ha canviat únicament l'offset per indicar que les dades transmeses es troben a partir de la posició 1480 del primer byte del paquet original. 500px|thumb|center|Dades del segon datagrama IP L'últim dels fragments contindrà la resta de dades del paquet original, que en aquest cas no arriben al màxim de 1500 bytes. 500px|thumb|center|Dades del tercer paquet Veiem que en aquest cas l'indicador de més fragments té el valor 0 i que la longitud i l'offset del paquet han variat. 500px|thumb|center|Contingut del tercer paquet

Fragments petits

Tipus d'atac

Aquest atac és de tipus passiu, ja que no modifica cap informació del sistema: s'aprofita de vulnerabilitats del protocol. És un atac per intentar enganyar els sistemes de comunicació i aconseguir dur,a continuació, un altre atac

Objectiu

L'objectiu d'aquest atac és aprofitar una característica del protocol TCP per aconseguir saltar els filtres IP que utilitzen molts firewalls antics. Un cop superat aquest filtre, es pot dur a terme una connexió no permesa a algun servei de la màquina víctima.

Desenvolupament

Segons el RFC (Request For Comment) 791 (IP), tots els nodes d'internet (routers) han de ser capaços de transmetre paquets de 68 bytes sense fragmentar-los.
El tamany mínim d'una capçalera IP sense opcions és de 20 bytes, el tamany màxim de la capçalera IP amb totes les opcions és de 60 bytes.
El tamany mínim de dades que pot contenir un paquet IP és de 8 bytes.
Per tant, si generem un paquet de 68 bytes de dades no serà fragmentat i podrem enviar-lo fins a la màquina destí que haguem triat.
La idea de l'atac és aconseguir un paquet suficientment petit per a que hi hagi dades de la capçalera TCP que s'incloguin en un segon fragment del paquet. D'aquesta manera les regles de filtrat dels firewalls no seran complides i el paquet no serà rebutjat. Anem a veure un exemple: En aquest exemple s'enviarà un primer fragment de 68 bytes, on 60 seran la capçalera IP i 8 bytes seran de dades, i contindran els primers 8 bytes de la capçalera TCP. Aquest 8 bytes són suficients per determinar el port origen i el port destí, pero els flags de connexió estaran en un suposat segon paquet.
Els filtres del firewall intentaran eliminar les peticions de connexió (flag SYN=1 i ACK=0), però en aquest primer paquet no podran saber si està realitzant una connexió o no, i per tant el deixaran passar a ell i als possibles fragments posteriors que el segueixen. 500px|thumb|center|Fragment 1 Com podeu veure en el fragment 1 únicament s'especifica el port origen i el port destí. Com que no sabem si demana realitzar una connexió, les regles del firewall no el bloquejaran ni a ell ni als fragments d'ell que vinguin a continuació. 500px|thumb|center|Fragment 2 El fragment 2, és el que conté els camps que especifiquen la connexió al port, però com que el firewall ja ha deixat passar el primer fragment i els hipotètics conseqüents, aquest és permès i es realitza la connexió al port destí especificat al fragment 1. 500px|thumb|center|Fragment reensamblat Finalment el fragment reensamblat ens mostra el que seria un paquet sense fragmentar que fa la connexió al port destí.

Prevenció

La principal manera d'impedir aquest atac és especificar a la configuració del router o del firewall un tamany mínim del primer fragment de connexió TCP, de manera que els flags de connexió estiguin inclosos en aquest primer fragment. D'aquesta manera sempre es sabrà en el moment de rebre el primer fragment si s'esta intentant realitzar una connexió al port o no, i en cas necesaari podrem descartar el fragment.

Fragments sobreposats

Tipus d'atac

De la mateixa manera que l'atac de paquets petit, aquest atac és de tipus passiu ja que explota vulnerabilitats de protocols pero no modifica les dades que es transmeten.

Objectiu

L'objectiu d'aquest atac és aconseguir realitzar una connexió a un servei on en principi no està permesa la connexió. Per tant, l'objectiu és saltar-se la seguretat d'un equip per a poder realitzar un hipotètic segon atac.

Desenvolupament

Aquest atac té la mateixa base que l'atac de fragments petits, però intenta saltar la protecció de mida mínima de paquets. En aquest cas el primer dels fragments que s'envia conté tots els flags de connexió de la capçalera TCP, la vulnerabilitat es troba en la utilització de l'offset de les capçaleres per a sobreescriure la capçalera del primer fragment.
500px|thumb|center|Fragment 1 Com es pot veure en la imatge anterior, s'envia un paquet que conté totes les dades de la capçalera TCP. En aquest cas els filtres no el rebutjarien, ja que la capçalera està completa. Fixem-nos que la capçalera no indica que es vulgui realitzar una connexió a la màquina (flag ACK=0 i flag SYN=0). Per tant, com que no intenta realitzar cap connexió els filtres tampoc el rebutjarien.

Fragment 2

El segon fragment, com es veu en la imatge anterior, conté les dades reals de la connexió que volem realitzar. Ara bé, els filtres veuran que el fragment té offset=1, per la qual cosa interpretaran que la connexió no s'està realitzant en aquest fragment ja que és hi ha un paquet previ que suposa que és qui fa la connexió i per això no el rebutjaran. El camp offset treballa en unitats de 64 bytes, per tant un offset=1 ens indica que el fragment comença a la posició 65 del paquet reensamblat.

Fragment 3

Com que el segon fragment comença a la posició 65 del segon paquet, sobreescriu la capçalera TCP del primer fragment deixant únicament el port origen, port destí del primer fragment. Hem aconseguit un paquet TCP que realitza una connexió i que s'ha saltat els filtres de seguretat.

Prevenció

La prevenció d'aquest atac és l'ús de firewalls reensamblin els paquets abans d'analitzar les seves regles de connexió. Aquests firewalls són més cars i a l'haver de reensamblar els paquets, fan que la latència de la xarxa augmenti.

IP Spoofing

Veure a la pràctica 3

IP Flooding

Veure a la pràctica 3

Atacs en xarxes sense fil

Les xarxes sense fil cada vegada han tingut més projecció dins el món de les comunicacions. Centrant-nos en el món dels computadors, les xarxes més àmpliament utilitzades són les xarxes WIFI. Com bé sabem, aquestes xarxes comparteixen el medi de transmissió de dades: l’aire. Per tant, realitzant un atac man in the middle pot resultar molt senzill, doncs les dades ens passen per davant constantment. Només cal escoltar-les. Evidentment, aquesta situació resultat molt insegura: qualsevol persona pot arribar a capturar les nostres dades que viatgen per la xarxa. Per solucionar aquesta problemàtica apareixen les encriptacions de dades dins la xarxa. Aquestes encriptacions es produeixen entre client i punt d’accés, i per tant les dades viatgen pel medi totalment encriptades i en principi qui aconsegueixi escoltar-les no podrà interpretar-les a no ser que disposi de la clau per desxifrar-les. Existeixen tres encriptacions bàsiques: WEP, WAP i WAP2.

WEP (Privacitat equivalent al cablejat)

WEP va ser desenvolupat per a xarxes sense fil i aprovat com a estàndard de seguretat WIFI el 1999. Tenia com a objectiu oferir el mateix nivell de seguretat que les xarxes cablejades. Tot i això existeixen molts problemes de seguretat que la fan fàcil de trencar i difícil de configurar.

Tot i les tasques per a intentar millorar el sistema WEP, segueix sent una solució altament vulnerable. Els sistemes que utilitzin aquest protocol haurien de ser actualitzats o canviats.

WEP va ser oficialment abandonat per l'aliança WIFI el 2004.

WPA (Accés protegit WIFI)

WAP va ser utilitzat com a millora del WEP mentre es desenvolupava l'estàndard de seguretat sense fil 802.11i. Un any abans que WEP fos oficialment abandonat, WPA ja estava altament adoptat.
La majoria de les aplicacions WPA modernes utilitzen una clau prèviament compartida (PSK), coneguda normalment com a WPA Personal, i el protocol d'Integritat de Clau Temporal o TKIP per a l'encriptació. WPA Enterprise utilitza un servidor d'autenticació per a la generació de claus i certificats.

Tot i que WPA també s'ha demostrat que és un sistema bastant vulnerable a la intrusió, aquestes no es realitzen tant pel propi sistema WPA sino pel sistema de configuració de WIFI segura (WPS), un sistema auxilitar desenvolupat per a simplificar la vinculació de dispositius a punts d'accés.

WPA2

La millora més important introduïda dins el sistema WPA2 de seguretat és l'encriptació mitjançant l'Estàndard de Xifrat Avançat (AES). Aquest sistema d'encriptació està aprovat pel govern dels EUA per xifrar la informació classificada d'alt secret. Per tant, podem suposar que és suficientment bo com pre protegir una xarxa domèstica. Lamentablement, la possibilitat d'atacs través de la configuració de WIFI segura (WPS), segueix sent alta en els actuals punts d'accés WPA2. Encara que forçar l'accés a una xarxa segura WPA/WPA2 pot comportar vàries hores de computació, segueix sent un problema de seguretat real.
Es recomana deshabilitar WPS, i seria bo ajustar el firmware del punt d'accés per a no oferir WPS, per excloure definitivament aquest tipus d'atacs.

Millor mètode de seguretat WIFI

Aquesta és la classificació bàsica de millor a pitjor del mètodes moderns de seguretat WIFI disponibles en els routers actuals (posteriors a 2006):

  1. WPA2 + AES
  2. WPA + AES
  3. WPA + TKIP/AES
  4. WPA + TKIP
  5. WEP
  6. Xarxa oberta

El millor és desactivar la configuració de wifi segura (WPS) i configurar el router amb WPA2+AES.