Dopo aver visto Hacker principianti: errori da non fare ho pensato di approfondire un tema che può essere interessante: come un attacco hacker impatta sull'ambiente e come renderlo ecosostenibile (anche con un po' di ironia).
Non che la sostenibilità ambientale sia la priorità di tale azione, probabilmente, è interessante comunque fare alcune valutazioni sui dati in gioco, facendo due conti.
Un dato di partenza: secondo legambiente.it in media 1 MB di dati (nel caso in esame, inviata tramite email) equivale ad una lampadina da 60W accesa per 25 minuti! L'equivalente di circa 20g di CO2 (questo dato in realtà è una stima molto variabile, come vediamo dopo).
Altri riferimenti sono anche questi:
uno standard metro cubo di gas metano (Smc) corrisponde a 10,69 kWh.
1 kg di metano produce 2.75 kg di CO2.
Un metro cubo di metano produce 1,8 kg di CO2.
Da quanto detto prima, 1 MB consuma: 60 W * 25/60 h = 25 Wh = 90kJ = 0,09 MJ. Valore che possiamo convertire in quello che vogliamo (es. metano, quindi CO2 equivalente).
Prima ho detto che i dati sulle emissioni sono variabili, infatti dipende: se nello specifico parliamo di un attacco hacker, dipende da come è alimentato il server (o meglio, i server):
- energia rinnovabile
- energia non rinnovabile
- misto: alfa * E_R + (1-alfa) * E_NR
Fatta questa premessa, vediamo ora più in dettaglio l'impatto ambientale di alcuni attacchi hacker, in base a come questi avvengono, li classifichiamo dal meno ecosostenibile al più ecosostenibile. Facciamo riferimento a uso delle risorse non rinnovabile (energia elettrica per alimentare i vari server), altrimenti com'è ovvio, le considerazioni possono variare caso per caso.
- attacco DoS (o in genere, DDoS): che sia distribuito (tramite Botnet) oppure no, lo scopo è quello di saturare le risorse del sistema bersaglio, ad esempio dal numero elevatissimo di richieste di pacchetti (es. ping, ICMP). Vediamo alcuni numeri di riferimento:
- larghezza di banda di un server: in genere 1-2 Gbps, quindi ad esempio consideriamo 1000/8=125MB/s; abbiamo detto prima che 1 MB equivale ad un consumo di circa 90kJ... Moltiplihiamo per 125, abbiamo 11,25MJ ogni secondo!! Un attacco DoS o DDoS di questa entità, che dura mezz'ora, consumerebbe 11,25 * 1800s = 20,25 GJ. Un valore enorme e assolutamente inefficiente dal punto di vista ecologico, specie se i server impiegati (bersaglio, attaccante ed eventuali componenti della Botnet) fanno uso di risorse non rinnovabili per l'alimentazione elettrica
- sfruttare altre vulnerabilità HTTP 5xx: si apre un mondo perché ovviamente dipende dal caso singolo, quindi:
- potenziali vulnerabilità nei plugin, tecniche di phishing per furto dati... Potenzialmente 100% ecosostenibile, quando applicabile (ma non è questo un caso interessante da analizzare)
- errore 500 causato da limite memoria PHP: in genere come valore di riferimento prendiamo 256MB di memoria PHP del server; come parallelismo consideriamola equivalente alla memoria RAM. Ogni richiesta che il server deve elaborare occupa memoria PHP (variabile a seconda dei casi, si amplifica se la singola richiesta esegue ricerche nel database, a maggior motivo se si tratta di ricerche combinate di più termini, all'interno di un database pesante); una scheda completamente caricata non avrebbe più bisogno di ulteriore memoria, che tende quindi a decrescere (funzioni di PHP memory_get_usage() e memory_get_peak_usage()); tuttavia, se persistenti o in aumento, queste richieste saturano le risorse del sistema in modo - generalmente - più ecosostenibile rispetto ad un attacco DoS o DDoS che fa uso dell'ampiezza di banda; il valore non è esattamente al secondo ma dipende dal tempo di caricamento, ovvero per quanto tempo la memoria PHP rimane occupata. Nota quindi una stima del valore equivalente al secondo, moltiplicato per la durata dell'attacco potremmo calcolare il totale di energia consumata, in modo analogo a quanto fatto per l'ampiezza di banda.
- altri errori 5xx, errore 508: l'errore "Loop Detected - Resource Limit is Reached" può essere semplicemente generato da un numero come 50-100 richieste allo stesso server (script che apre N volte una pagina o pagine differenti dello stesso dominio); una vulnerabilità diciamo "più mirata" rispetto ai precedenti attacchi, che solitamente richiede quindi inferiori risorse
- attacco di persona: presentarsi all'azienda con una pistola acquistata a "km 0" ed esigere il furto di dati (o ciò che si vuole fare). Meglio ancora se nell'altra mano tenete una piantina ornamentale, che poi lasciate all'interno dell'azienda (si scherza)
- non fare alcun attacco hacker: la scelta forse più saggia da fare e anche l'ambiente ringrazia 😉
Considerazioni a riguardo? Avevate un'idea indicativa di questi dati, quanta elettricità e CO2 equivalente può consumare una certa quantità di byte? Quindi, se mai vorrete fare un attacco hacker, considerate anche il tema dell'ecosostenibilità!