Skip to main content
  1. Blog/

Le Autostrade di Internet

Alessio Barnini
Author
Alessio Barnini
Table of Contents

TL;DR
  • Internet non è una singola rete: è un insieme di reti indipendenti (Autonomous Systems) collegate da BGP
  • BGP decide il percorso tra AS diversi - IGP gestisce il routing interno, iBGP sincronizza i border router
  • Un attaccante può annunciare rotte false (BGP Hijacking) e dirottare traffico globale
  • Ogni IP appartiene a un ASN: saperlo leggere è un'abilità base di triage SOC
$ history
  • whois [IP]
  • whois [IP] | grep -i "origin|asn|orgname"

bgp autonomous systems

Internet non è una rete. È una rete di reti.

Questa distinzione non è filosofica - è tecnica, e capirla cambia il modo in cui leggi un log, classifichi un IP e valuti la severità di un alert.

Il problema che BGP risolve
#

Prima di BGP, ogni grande rete era un'isola. Google gestiva i propri server. TIM gestiva la propria infrastruttura. Amazon aveva i suoi datacenter. Tutte reti enormi, ma separate.

Il problema: come fai a fare in modo che il pacchetto che parte dal tuo portatile a Milano arrivi a un server Google a Dallas, passando attraverso reti di operatori diversi, in paesi diversi, gestiti da aziende che non si conoscono e non si fidano ciecamente l'una dell'altra?

BGP - Border Gateway Protocol - è la risposta. Non muove i pacchetti. Costruisce la mappa che tutti i router usano per decidere dove mandarli.

Autonomous Systems: le città-stato di Internet
#

Ogni grande rete indipendente è un Autonomous System (AS): un insieme di IP gestiti da un'unica entità che applica una propria politica di routing.

Un AS può essere un ISP (TIM, Fastweb), una multinazionale (Google, Amazon), un'università, una grande azienda. Ogni AS ha un identificativo unico mondiale: l'ASN (Autonomous System Number).

AS15169 - Google
AS16509 - Amazon AWS
AS13335 - Cloudflare
AS12874 - TIM Italia

Quando un pacchetto deve attraversare più AS per arrivare a destinazione, BGP costruisce il percorso - non qualsiasi percorso, ma quello che rispetta le politiche commerciali e tecniche di ogni AS lungo la strada.

I tre protocolli: IGP, eBGP, iBGP
#

Tre protocolli gestiscono il routing a livelli diversi:

ProtocolloAmbitoAnalogiaScopo
IGP (OSPF, RIP)Interno all'ASIl postino di quartiereMuove i pacchetti tra router dello stesso provider
eBGPTra AS diversiL'autostrada internazionaleScambia rotte tra aziende diverse
iBGPDentro lo stesso ASIl passaparola internoSincronizza i border router sulle rotte esterne

Il tuo pacchetto li attraversa tutti e tre in sequenza:

graph LR
    PC[Il tuo PC] -->|IGP locale| ISP[Router ISP]
    ISP -->|iBGP| Border[Border Router]
    Border -->|eBGP| Google[AS Google]

Il tuo PC non parla BGP. Manda tutto al gateway. Sono i border router degli ISP a scambiarsi annunci BGP, costruendo e aggiornando continuamente la mappa globale delle reti raggiungibili.

Come BGP costruisce la mappa
#

Ogni AS annuncia ai propri vicini i prefissi IP che gestisce. L'annuncio si propaga di AS in AS:

sequenceDiagram
    participant TIM as AS12874 TIM
    participant Transit as AS Transit
    participant Google as AS15169 Google

    TIM->>Transit: 88.0.0.0/8 raggiungibile da me
    Transit->>Google: 88.0.0.0/8 via TIM
    Google->>Transit: 8.8.0.0/14 raggiungibile da me
    Transit->>TIM: 8.8.0.0/14 via Transit

Ogni router costruisce la propria routing table: quando arriva un pacchetto per 8.8.8.8, consulta la tabella e lo instrada verso il prossimo hop. Non conosce l'intero percorso - conosce solo il passo successivo.

BGP Hijacking: quando qualcuno mente sulla mappa
#

BGP si basa sulla fiducia. Un AS che annuncia "io sono la strada per raggiungere 8.8.8.8" viene creduto - non esiste un meccanismo di verifica nativo nel protocollo.

Un attaccante che controlla un AS può annunciare una rotta falsa. Se l'annuncio è più specifico o più conveniente di quello legittimo, i router vicini iniziano a instradare il traffico verso di lui - senza che gli utenti finali se ne accorgano.

Esempio reale - 2018, MyEtherWallet:

Un AS ha annunciato rotte false per i server di Amazon Route 53. Il traffico DNS verso MyEtherWallet - un portafoglio crypto - finiva su server controllati dall'attaccante. Gli utenti risolvevano il dominio corretto, ricevevano un IP falso, e consegnavano le credenziali. Durata: circa due ore. Fondi sottratti: stimati in centinaia di migliaia di dollari.

MITRE ATT&CK: T1557 - Adversary-in-the-Middle.

Note

RPKI (Resource Public Key Infrastructure) è il meccanismo moderno per firmare gli annunci BGP e bloccare gli hijack. L'adozione è ancora parziale - molti AS storici non lo supportano.

ASN come strumento di triage SOC
#

Ogni IP pubblico appartiene a un AS. Quando vedi un IP sospetto nei log, la prima domanda è: a chi appartiene?

whois 45.33.32.156 | grep -i "origin\|asn\|orgname"
OrgName:        Linode, LLC
ASN:            AS63949
# output simulato

L'AS di appartenenza cambia immediatamente la valutazione:

Tipo ASValutazioneRagionamento
AS residenziale (Fastweb, TIM)Attenzione moderataUtente reale, potenzialmente compromesso
AS hosting (DigitalOcean, Linode, Vultr)Alto sospettoInfrastruttura tipica per C2, scanner, bot
AS CDN (Cloudflare, Akamai)Rumore normaleEdge node legittimo
AS aziendale sconosciutoVerifica necessariaControllare geolocalizzazione e reputazione

Un IP su Linode che ti manda richieste SSH alle 03:00 non è un utente che ha dimenticato la password. È un pattern.

Per approfondire gli AS online: BGPView.io permette di cercare ASN, prefissi annunciati e peer di qualsiasi AS nel mondo.


Per capire come i blocchi IP si suddividono in sottoreti, vedi IP Addressing e Subnetting. BGP usa TCP porta 179 per stabilire le sessioni tra peer - il modello di affidabilità è in TCP e modello OSI.

exit 0
#

BGP non è un protocollo che vedrai mai direttamente nei log di un server. Ma è lo strato sotto tutto il resto - la ragione per cui i pacchetti trovano la strada, e la ragione per cui, quando qualcuno mente sulla mappa, il traffico di milioni di utenti può finire nelle mani sbagliate senza che nessuno se ne accorga subito.

Imparare a leggere un ASN richiede cinque minuti. Non saperlo leggere può significare ore di analisi su un incidente che si sarebbe classificato in trenta secondi.


Comandi usati: whois Concetti correlati: ip-addressing-subnetting, tcp-reliability-osi

Related