Russia vs. Telegram
technical notes on the battle
$ whoami
Internet measurement fanatic
NOT a Telegram team member
One of the millions of Telegram users
Brief history
Pre-blocklist era
2007 May 23: court order for 4 (four) ISP to block access to “extremist” websites
2007 Jul 14: the 1st issue of the “Federal List of Extremist Materials”�by Ministry of Justice
Librarian’s resistance
Blocklist awakens
2012 Jul 10: Wikipedia strikes, Yandex & VK protest
2012 Jul 11: the internet restriction bill accepted by Duma (Parliament)
2012 Jul 28: the bill signed
What’s the blocklist like today?
XML file, signed by CN=Roskomnadzor with GOST, fetched by ISPs via SOAP, updated at least hourly.
ISPs control filtering equipment. Roskomnadzor monitors it.
Blocklist 2012 awards
8 Nov: Absurdopedia (Uncyclopedia)
11 Nov: Lurkmore memepedia, lib.rus.ec
17 Nov: Github repo with blocklist leak
18 Nov: Google’s https://….gstatic.com
Blacklisted resources in pre-Telegram era
“Revisor” — Roskomnadzor’s monitoring system
The law does not matter. The fine does.
2016 Jan: OpenWRT-based TP-Link MR3020, that was talking with C&C via https API without ca-certificates and via ssh without known_hosts
“Revisor” — complying with blackbox
No codified monitoring rules, just FAQ
Some ISPs reverse-engineer it
Some ISPs comply at best-effort
Some ISPs place it into a “sandbox”
Logo of Revisor-devoted Telegram chat @i_love_auditor
“Revisor” & DNS
ISPs are forced to comply with the black-box monitoring system
Stale IPs in dump.xml, “Revisor” using DNS… ⇒ ISPs feed A & AAAA from DNS directly to filters
“Revisor”-provoked so called “DNS-attacks”
2017 May 15: block IP from DNS? Bo-om!
Adding /32 from DNS to routing table?
2018 Mar 14: routers go on strike!
Telegram:�Policeman Enters The Game
Telegram? Why?
2017 Apr 7: St.Petersburg bombing
2017 Jun 26, FSB: “terrorists used TG”�RKN promises to block, counts days.
2017 Jun 28: Telegram added to the “Information Distributors Registry”
Telegram non-compliance
2017 Dec: Roskomsvoboda starts legal campaign Telegram vs. FSB
2018 Mar 20: court orders Telegram�to pass encryption keys to FSB
2018 Apr 16: RKN attempts to block
Civil cyber-war: leak of BGP-Blackholing letter
Mar 23: Mikhael Klimarev publishes leak
RKN plans ban of 15M IPs: 36 subnets�of Amazon, SoftLayer, … to block Zello.
Keywords: Null0, BGP, redistribute.
Civil cyber-war: April, 16th, TZ=MSK
11:39 RKN bans TG’s ~/19, no effect�17:58 bans Amazon’s ~/13, TG works�18:33 adds missing TG’s /24 ¯\_(ツ)_/¯�20:21 Google’s /12, Amazon’s /15…
1.8 M IPs banned, Telegram is ~fine
Civil cyber-war: that escalated quickly
Apr 16: ~ 1.8 M banned IPs
Apr 17: ~ 16 M
Apr 22: ~ 19 M, local peak
Civil cyber-war: IP space sanity checks? Ha!
Overlapping subnets in blocklist:�52.0/11 ∩ 52.28/15�34.192/10 ∩ 34.240/13�52.192/11 ∩ 52.208/13�…
Civil cyber-war: URL sanity checks? Ha!
Malformed URL in blocklist:
<![CDATA[http:// 46.101.189.65]]>
^ whitespace
Guess, what filter do?
Civil cyber-war: major services by mistake? Ha!
Civil cyber-war: fakenews? Sure!
G.DNS
Civil cyber-war: ISP non-compliance
Delayed compliance example, RIPE Atlas data
Civil cyber-war: lawful interception?
Sniffers used to hunt proxies?
28 Apr: public “tip”, 30 Apr: private tip
Unsecured SORMs, pumping 20 Gbit/s, leaking rpm repo, clickstream and PII?!
SORM: this incident was reported
Protest meetings because of app ban!
Civil cyber-war: Morse prank
D I G I T A L R E S I S T A N C E
Civil cyber-war: Morse prank
Countdown (cheap drama)
Civil cyber-war: Morse prank
“Truly, Popov!” – Radio Day greeting
Civil cyber-war: prank-effects�
Nice amplitude fade-out (thanks, RKN!)
“&.” TLD flash-blocking
15 M → 11 M banned IPs
Expired domains blocklist cleanup
Civil cyber-war: partial rollback
PCAP or it didn’t happen
Selective protocol throttling
TG speaks Socks5, MTProto, MTproto-dd
~7500 kbps: Socks5, HTTP xor RC4
~22 kbps: MTProto, obfs4, `nc urandom`
Camouflage matters!
Proxy-hunting: MTProto
pkt.len-based hunting was noticed
Rostelecom was part of the experiment
Any IP:Port may be killed by “knocking”
Reuters: “alike experiment happened”
Proxy-hunting: Socks5 in Moscow subway
Secret blocklist private to some ISPs?
> 4. IP unreachable via some ISPs
Some other blacklists exist… regional?…
…at least List of Extremist Materials
Block-race is still observed
And then things got worse
Roskomnadzor: The Phantom Menace
RKN deploys “anti-threat” equipment
That also acts as filter
RKN directly controls IP routing & DNS
Registry of “good” Internet Exchanges
so it goes
Thanks to!
Philipp Kulin, ValdikSS, Mikhael Klimarev,�Dmitry Nazarov,�Alex Rudenko,�Dmitry Belyavskiy,�Wartan Hachaturow,�Dmitry Moskin,�Dmitry Morozovsky,
Simone Basso, Maria Xynou, Moritz Bartl,�zapret-info, SPb CTF, Roskomsvoboda, Digital Resistance Measurement Squadron, “the one who is to blame”, “Revisor” fans,�NAG, RIPE Atlas, …
Thanks RKN & Durov for fun!
Questions?