Il problema del leak del software di Piracy Shield

English version below

Qualche giorno fa, come sappiamo, il software di piracy shield è stato pubblicato su github. O almeno una parte di esso.

Appena letta la notizia su TorrentFreak ero molto preoccupato: se il leak avesse riguardato tutto il “sistema machine to machine” e se esso avesse presentato dei bug, avrebbero potuto essere sfruttati da dei malintenzionati che riuscissero a raggiungere il server di Agcom per bloccare vasti pezzi, anche critici, dell’Internet italiana. Certamente il server in questione è raggiungibile attraverso una VPN, ma ci sono oltre 300 soggetti che hanno le chiavi della VPN, per cui un elemento di rischio comunque c’era.

Fortunatamente il leak non riguarda tutto il software, e quindi si può tirare un sospiro di sollievo, ma solo fino a un certo punto.

Prima riflessione: La Lega Serie A ha emanato un comunicato con un tono un po’ sopra le righe che a un certo punto dice “con buona pace dei tentativi di sabotaggio dei criminali che gestiscono le IPTV illecite e dei loro amici.”
Stante che il software pubblicato era nella disponibilità dei titolari dei diritti e dei loro incaricati, viene da chiedersi dove si annidino gli “amici dei criminali” cui fa rifrimento il comunicato…
Il perimetro di trust è evidentemente troppo ampio.

Seconda riflessione: chi ha pubblicato quel codice ha scelto di pubblicarne solo una parte, ma evidentemente lo ha a disposizione.
Piracy Shield è una bomba nucleare per l’Internet Italiana: basta pigiare un bottone e … puf … tutto si blocca.
Perchè il leak è stato solo parziale ?
Se ci fosse un bug nel codice, quanto varrebbe come vulnerabilità nel mercato degli 0-days ? .
(Il mercato degli 0 days è un mercato underground che vende vulnerabilità non divulgate in precedenza)

Terza riflessione: chi ha pubblicato quel codice ha a disposizione solo il codice o potrebbe avere avuto accesso anche alla configurazione delle VPN che consentono di raggiungere il server ?
Se è vero che il perimetro di trust è troppo ampio come dimostrato dal leak, ciò dovrebbe determinare una riflessione: Esistono persone che avevano accesso al codice e alla configurazione delle VPN ?
Queste persone non potrebbero più essere considerate trusted e conseguentemente bisognerebbe procedere ad una riconfigurazione della VPN, segmentando le informazioni in modo tale che nessuno possa ricostruire il tutto e, nel frattempo, valutare approfonditamente il rischio di mantenere operaiva e innescata una bomba il cui sistema di controllo potrebbe essere compromesso.

Quarta riflessione: Quanto sta funzionando PiracyShield ? Come ho scritto al Commissario, non è sufficiente avere sgombrato un marciapiede per dire di avere sconfitto sosta selvaggia. Non basta dire “ho bloccato ‘mille’ indirizzi IP” (‘mille’ qui da leggersi come l’Ing. Cane) per convincersi di avere sconfitto la piaga della pirateria. Se tappo anche metà dei buchi di uno scolapasta, l’acqua esce comunque.
Aldilà delle minimizzazioni, quindi, un danno dal leak in tutta evidenza c’è, ed è un nuovo enorme foro nello scolapaste: Il leak insegna ai pirati come evitare di essere bloccati!
Questo è il pezzo di codice incriminato:

def check_unwanteds(self, value):
        result = self.whois.get_text(value)

        result = result.lower()

        if 'cloudflare' in result or 'namecheap' in result or 'amazon' in result or 'google' in result:
            return True

        return False

Come si vede, basta che un pirata si appoggi ad uno di questi fornitori oppure nella registrazione dell’assegnazione di un proprio indirizzo IP scriva una delle quattro parole magiche (manca Akamai, ndr.) ed ecco che PIracy Shield eviterà di bloccarlo.

Forse i pirati non se ne sono accorti o forse se ne sono già accorti sperimentalmente e sfruttano già la cosa.

Quinta riflessione: Attorno a Piacy Shield ci sono numerose polemiche e discussioni basate su posizioni di principio, senza dati!
Il modo migliore per mettere a tacere queste polemiche sarebbe pubblicare i risultati dell’azione che tanto sta costando agli operatori
L’efficacia di Piracy Shield, il suo obiettivo, dovrebbe essere aumentare i ricavi della filiera dei contenuti leciti, tutelando con essi i posti di lavoro che ne dipendono.
Le stime dei titolari parlano di 300M di ricavi annui e 9400 posti di lavoro. A due mesi dall’entrata in funzione del sistema, quanto sono aumentati i ricavi degli operatori legittimii? e quanti nuovi posti di lavoro sono stati creati ?
I risultati della lotta contro la piaga dell’evasione fiscale sono sempre annunciati a tutta pagina: “Recuperati x miliardi dal contrasto all’evasione”
In una situazione normale da una operazione di successo ci si aspetterebbe di leggere pari comunicati: “Recuperati x milioni dal contrasto alla pirateria con Piracy Shield”
Ma sinora non è accaduto.
Tante polemiche verrebbero zittite!
Se invece i risultati non fossero positivi, bisognerebbe iniziare una riflessione su come procedere nel doveroso contrasto alla pirateria.

Alcune conclusioni:

Come ho scritto in precedenza, la storia della musica insegna che il contrasto alla pirateria (doveroso) si fa anche con le offerte legali. Spotify ha dimostrato che gli utenti vogliono avere l’accesso ad una sola fonte. Avere abbonamenti spezzettati per varie parti di sport mi pare un limite che fa lievitare i costi per gli appassionati. Forse una offerta legale più accessibile, prevedere un obbligo di cross licensing, potrebbe aiutare.
Guardare solo agli ISP come strumento di inibizione dell’accesso degli utenti soffre dei problemi illustrati dal Presidente (di AGCOM alla Camera ndr).
Forse i titolari dei diritti potrebbero investire per fare meccanismi di tracciamento di chi mette online contenuti piratati alla fonte.

Ci sono molti IP address che sono stati cancellati dall’Internet italiana. Anche se adesso non sono più usati da pirati, sono cancellati. Andati per sempre.
Da quanto ho letto in giro, ce ne sarebbero anche 15 di Akamai, che non essendo in whitelist è esposta ad altre cancellazioni errate.
Dato che non possono sapere che in Italia alcuni loro IP sono stati bloccati, non hanno fatto ricorso nei 5 giorni previsti. Punto. l’IP address è obliterato.
Può sembrare un piccolo problema per gli utenti, ma è già successo di webmaster che hanno avuto assegnato da un inconsapevole cloud provider internazionale un IP address bannato. L’irreversibilità dei ban degli IP address dopo il quinto giorno è un nonsenso.
Nel Regno Unito i blocchi avvengono solo per la durata degli eventi. Ciò minimizza la probabilità di avere IP address zombie.
Alternativamente, così come i titolari dei diritti, sotto la propria reponsabilità, hanno la facoltà di cancellare indirizzi dei pirati, gli ISP sotto la propria responsabilità, dovrebbero avere la possibilità di ripristinarli. Gli ISP non sono nemici in questa partita. Non sono controparte. Sono partner
.

ENGLISH VERSION

A few days ago, as we know, Piracy shield’s source code was published on github. Or at least a part of it.

As soon as I read the news on TorrentFreak, I was very worried: if the leak had affected the whole “machine-to-machine system” and if it had bugs, they could have been exploited by malicious people who managed to reach Agcom’s server to block vast, even critical, pieces of the Italian Internet. Certainly the server is reachable through a VPN, but there are more than 300 individuals who have the keys to the VPN, so an element of risk nonetheless was there.

Fortunately, the leak does not affect all software, and so one can breathe a sigh of relief, but only up to a point.

First thought: The Lega Serie A issued a statement with a somewhat over-the-top tone that at one point says “nothwistanding the sabotage attempts of the criminals who run illicit IPTVs and their friends.”
Given that the published software was in the availability of the rightholders and their appointees, one wonders who the “friends of criminals” referred to in the statement lurk…
The perimeter of trust is evidently too wide.

Second thought: whoever published that code chose to publish only part of it, but it’s evident they have it all.
Piracy Shield is a nuclear bomb for the Italian Internet: just push a button and … poof … everything crashes.
Why was the leak only partial ?
If there was a bug in the code, how much would it be worth as a vulnerability in the 0-days market ? .
(The 0-days market is an underground market that sells previously undisclosed vulnerabilities.)

Third thought: whoever published that code did only have access to the code, or could they also have had access to the configuration of the VPNs that allow the server to be reached ?
If it is true that the trust perimeter is too wide as demonstrated by the leak, this should lead to a reflection: Are there people who had access to the code and the configuration of the VPNs ?
These people could no longer be considered trusted, and consequently a reconfiguration of the VPN would have to be carried out, segmenting the information so that no one could reconstruct it and, in the meantime, thoroughly assessing the risk of keeping operational and triggering a bomb whose control system could be compromised.

Fourth thought: How well is PiracyShield working ? As I wrote to the Commissioner, it is not enough to have cleared a sidewalk to say you have defeated wild parking. It is not enough to say “I blocked ‘one thousand’ IP addresses” to convince oneself that piracy has been defeated. If one closes even half the holes in a colander, water still comes out.
The leak has caused at least one big harm: The leak teaches pirates how to avoid being blocked!
This is the offending piece of code:

def check_unwanteds(self, value):
        result = self.whois.get_text(value)

        result = result.lower()

        if 'cloudflare' in result or 'namecheap' in result or 'amazon' in result or 'google' in result:
            return True

        return False

As you can see, all it takes for a pirate to escape the blocking is using one of these providers or, in the whois record of their IP addresses, just write one of the four magic words (BTW, why is Akamai missing? ).

Maybe the pirates haven’t noticed or maybe they have already noticed experimentally and are already exploiting it.

Fifth thought: Piacy Shield is a controversial topic, with lots of discussion based on principles, without any supporting data!
The best way to put these controversies to rest would be to publish the results of the action that is costing ISPs so much.
The goal of Piracy Shield should be to increase the revenues of the lawful content supply chain, protecting the jobs that depend on it.
Rightholders’ estimates tell of EUR300M in annual revenues and 9400 jobs. Two months after the system went into operation, how much have the revenues of legitimate operators increased ? and how many new jobs have been created ?
The results of the fight against tax cheating are always announced in full-page newspaper titles: “X billions recovered by the fight against tax cheating.”
In a normal situation one would expect to read equal announcements, “x millions recovered in the fight against piracy thanks to Piracy Shield”
But so far this has not happened.
So much controversy would be silenced!
If, on the other hand, the results were not positive, one would have to start thinking about how to proceed the fight against piracy.

Some conclusions:

As I have written before, the history of music teaches that countering piracy is also done with legal offerings. Spotify has shown that users want access to only one source. Having split subscriptions for various parts of sports seems to me a limitation that drives up costs for fans. Perhaps a more affordable legal offering, and a provision for mandatory cross licensing, might help.
Looking only to ISPs as a tool to inhibit user access suffers from the problems illustrated by the president (of AGCOM in the House of representatives).
Perhaps rights holders could invest in making mechanisms to track the source of those who put pirated content online.

There are many IP addresses that have been deleted from the Italian Internet. Even though they are no longer used by pirates now, they are deleted. Gone forever.
From what I have read around, there would be 15 from Akamai, which not being whitelisted is exposed to other erroneous deletions.
Since they cannot know that some of their IP addresses were blocked in Italy, they did not appeal within the 5 days. Period. The IP addresses are gone.
This may seem like a small problem for users, but it has already happened to webmasters who have had a banned IP address assigned by an unwitting international cloud provider. The irreversibility of IP address bans after the fifth day is nonsense.
In the UK, bans occur only for the duration of events. This minimizes the probability of having zombie IP addresses.
Alternatively, just as rights holders under their own reponsibility have the power to delete pirate addresses, ISPs under their own responsibility should have the power to restore them. ISPs are not enemies in this game. They are partners.

If you like this post, please consider sharing it.

Leave a Comment

Your email address will not be published. Required fields are marked *