Questo documento è un paper scritto per il convengo Net&SystemSecurity 2006 tenutosi a Pisa dove AreaNetworking è stata rappresentata da Gianluca Lini.
Sommario
La QoS può essere uno strumento utile alla Sicurezza Informatica? Se analizziamo il trend della QoS[HS], scopriamo che l’ultima frontiera a cui si è affacciata è prorio la Sicurezza. Il Control Plane Policing rappresenta lo strumento utilizzato in Cisco IOS per implementare delle policy a protezione della CPU dei router. Nella presentazione si cercherà, nel tempo a disposizione, di focalizzare l’attenzione sull’architettura di un router Cisco GSR 12000 e 7600, evidenziandone le differenze principali a livello HW e si forniranno delle regole base per il deployment del CoPP in un ambiente di produzione.
Un attacco di tipo Denial-of-service (DoS), che si può tradurre letteralmente in negazione del servizio, cerca di consumare le risorse di un sistema che fornisce un servizio, fino a renderlo non piu in grado di erogare il servizio stesso. Attacchi prodotti da più sorgenti in contemporanea, capaci quindi di amplificare il fenomeno e potenzialmente maggiormente efficaci vengono definiti Distributed DoS (DDoS).
Router Operational Planes
Se analizziamo l’architettura di un router possiamo individuare tre livelli funzionali: il data plane (DP), il management plane (MP) e il control plane (CP).
- DP: gestisce il flusso di dati in arrivo alle interfacce ed ha come obiet tivo la minimizzazione del tempo di inoltro al next-hop (o minor tempo di attraversamento).
- MP: gestisce la configurazione e il monitoring attraverso la command-line interface (CLI) dell’IOS di Cisco o da remoto.
- CP: utilizza i protocolli di rete per stabilire i percorsi di inoltro del traffico usati dal DP.
Sia MP che CP sono processi attivi sulla route processor (RP), dove si eseguono le funzioni computazionalmente più intensive e che devono essere eseguite al di fuori del data switching path (processor level). Il percorso che dal DP porta alla RP viene detto punt path. In ingresso ad una interfaccia troveremo quindi pacchetti che verranno forwardati velocemente attraverso il DP e altri destinati all’MP o al CP che attraverseranno il più lento punt path verso la RP. Attacchi di tipo DDoS diretti verso un’infrastruttura di rete cercheranno quindi di interrompere i processi di MP o CP per causare il maggior disservizio possibile, ad esempio cercando di inibire il corretto scambio di informazioni necessario a mantenere attivi i routing protocol (CP), tra due o piu router. Una perdita di queste informazioni causa l’iniziazione dei processi di ricalcolo per il percorso di inoltro dei dati, il router perdendo le informazioni inerenti ai routing protocols crede che le sue rotte siano perse, che consumano molta CPU. Quindi i routers sotto attacco mostreranno percentuali di utilizzazione della CPU molto alte, esaurimento di risorse della RP (i.e. packet buffer, memoria dei processi), e ad un indiscriminato scarto di pacchetti (packet drops) a causa della congestione del punt path[LLO06].
Scarto che può contribuire alla perdita dei Layer 2 keepalives e degli aggiornamenti sul Layer 3 e conseguentemente la ulteriore perdita di link e di route.
Oggi le funzioni di forwarding del DP vengono gestite da hardware dedicato, ASIC, con elevate capacità in termini di pacchetti/s [pps]. Un router Cisco 7600 è capace di gestire 30Mpps o 48Mpps a seconda della modalità, la CPU R7K usata come RP, con clock di 600MHz gestisce 500/600 Kpps pacchetti che attraversano il router gestiti in software (interrupt level), le prestazioni decadono fino a 20 Kpps per i pacchetti che seguono il punt path.
CoPP: Control Plane Policing
La funzionalità CoPP introdotta in IOS tratta il traffico destinato alla RP come se fosse destinato ad una interfaccia: la Control Plane Interface (CPI), che appare al router e al S.O. come una generica interfaccia del sistema e quindi può accettare una policy che si applica a tutto il traffico destinato ad essa, quello diretto al CP. L’obiettivo della policy sarà quello di classificare il traffico critico per il CP affinchè venga processato per primo e penalizzare il rimanente, CP QoS, pertanto è necessaria un’ottima conoscenza del traffico destinato al CP. La policy si configura utilizzando la Modular QoS (MQC) CLI, class-map per la categorizzazione del traffico, policy-map per limitarlo e quindi si applica in input alla CPI. Una CPI centralizzata es- porrebbe comunque a problemi con le bande comunemente gestite, il traffico in ingresso ad una 10Gb/s potrebbe facilmente utilizzare la soglia consentita dalla policy applicata alla CPI, le altre interfacce potrebbero vedersi quin- di scartare dei pacchetti man mano che la banda riservata dalla policy alla CPI diminuisce.
Nella famiglia di router Cisco GSR 12000 si usa un distributed CoPP, si può applicare una policing per slot, mentre nella famiglia 6500/7600, che ha differenze architetturali significative, è implementato un Centralized CoPP with distributed implementation.[Web]
Riferimenti bibliografici
[HS]: Hattingh and Szigeti. End-to-End QoS Network Design: Quality of Service in LANs, WANs, and VPNs. Ciscopress.
[LLO06]: Lee, Lim, and Ong. Building Resilient IP Networks. Ciscopress, 2006.
[Web]: Infrastructure protection on cisco ios software-based platforms.